Files
squeow/squeow_sw/build/stm32g4xx_hal_i2c.lst
2023-07-02 17:09:41 +02:00

25798 lines
1.5 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/ccbUHtu7.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 "stm32g4xx_hal_i2c.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_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 .LFB392:
1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ******************************************************************************
3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @file stm32g4xx_hal_i2c.c
4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @author MCD Application Team
5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C HAL module driver.
6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral:
8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * + Initialization and de-initialization functions
9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * + IO operation functions
10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * + Peripheral State and Errors functions
11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *
12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ******************************************************************************
13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @attention
14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *
15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * Copyright (c) 2019 STMicroelectronics.
16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * All rights reserved.
17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *
18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * This software is licensed under terms that can be found in the LICENSE file
19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in the root directory of this software component.
20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *
22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ******************************************************************************
23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** @verbatim
24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ==============================================================================
25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ##### How to use this driver #####
26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ==============================================================================
27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** The I2C HAL driver can be used as follows:
29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example:
ARM GAS /tmp/ccbUHtu7.s page 2
31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_HandleTypeDef hi2c;
32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the HAL_I2C_MspInit() API:
34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (##) Enable the I2Cx interface clock
35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (##) I2C pins configuration
36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs
37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain
38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process
39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority
40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel
41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process
42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for
43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the transmit or receive channel
44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using
45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) Configure the DMA handle parameters
46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel
47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the DMA Tx or Rx channel
50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres
52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure
53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the HAL_I2C_Init(), configures also the low level H
55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized HAL_I2C_MspInit(&hi2c) API.
56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function HAL_I2C_IsDeviceRead
58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *** Polling mode IO operation ***
62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** =================================
63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using HAL_I2C_Master_Transmit(
65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using HAL_I2C_Master_Receive()
66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Transmit()
67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Receive()
68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *** Polling mode IO MEM operation ***
70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** =====================================
71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using HAL_I2C_Mem_W
73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using HAL_I2C_Mem_
74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *** Interrupt mode IO operation ***
77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ===================================
78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Trans
80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Receiv
83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Transmi
86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
ARM GAS /tmp/ccbUHtu7.s page 3
88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Receive_
89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation ***
101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ==========================================================
102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition
104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** when a direction change during transfer
105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer
107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Option field values are defined through I2C_XFEROPTIONS and are listed below:
108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functional is same as associated interfac
109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** no sequential mode
110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** and data to transfer without a final stop condition
112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a
113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** start condition, address and data to transfer without a final stop cond
114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** an then permit a call the same master sequential interface several time
115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (like HAL_I2C_Master_Seq_Transmit_IT() then HAL_I2C_Master_Seq_Transmit
116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA() then HAL_I2C_Master_Seq_Transmit_D
117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart
118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** transfer
120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases
121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart
122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** transfer
124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases
125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re
126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** after several call of the same master sequential interface several time
127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (link with option I2C_FIRST_AND_NEXT_FRAME).
128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Usage can, transfer several bytes one by one using
129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT
130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT
131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA
132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA
133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** with option I2C_FIRST_AND_NEXT_FRAME then I2C_NEXT_FRAME.
134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit
135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Receive sequence permit to call the opposite interface Receive or Tra
136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio
137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c
138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** each call of the same master sequential
139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** interface.
140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave
141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** each bytes using
142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT
143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT
144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA
ARM GAS /tmp/ccbUHtu7.s page 4
145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA
146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** with option I2C_FIRST_FRAME then I2C_OTHER_FRAME.
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to
148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** generation of STOP condition.
149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Different sequential I2C interfaces are listed below:
151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using
152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT() or using HAL_I2C_Master_Seq_Transmit_DMA()
153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_MasterTxCpltCallback() is execut
154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_MasterTxCpltC
155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using
156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Master_Seq_Receive_IT() or using HAL_I2C_Master_Seq_Receive_DMA()
157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_MasterRxCpltCallback() is executed
158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Abort a master IT or DMA I2C process communication with Interrupt using HAL_I2C_Master_A
160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using HAL_I2C_EnableListen_IT()
163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_DisableListen_IT()
164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) When address slave I2C match, HAL_I2C_AddrCallback() is executed and users can
165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code to check the Address Match Code and the transmission direction reques
166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (Write/Read).
167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) At Listen mode end HAL_I2C_ListenCpltCallback() is executed and users can
168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ListenCpltCallback()
169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using
170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Transmit_IT() or using HAL_I2C_Slave_Seq_Transmit_DMA()
171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_SlaveTxCpltCallback() is execute
172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCa
173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using
174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Receive_IT() or using HAL_I2C_Slave_Seq_Receive_DMA()
175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_SlaveRxCpltCallback() is executed a
176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *** Interrupt mode IO MEM operation ***
183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** =======================================
184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address
186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Mem_Write_IT()
187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Mem_Read_IT()
191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *** DMA mode IO operation ***
197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ==============================
198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Master_Transmit_DMA()
201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
ARM GAS /tmp/ccbUHtu7.s page 5
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Master_Receive_DMA()
205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Slave_Transmit_DMA()
209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Slave_Receive_DMA()
213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *** DMA mode IO MEM operation ***
224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** =================================
225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Mem_Write_DMA()
228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_Mem_Read_DMA()
232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *** I2C HAL driver macros list ***
239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ==================================
240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver.
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE: Enable the I2C peripheral
244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE: Disable the I2C peripheral
245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode
246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not
247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt
249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *** Callback registration ***
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** =============================================
253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1
255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks.
256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Use Functions HAL_I2C_RegisterCallback() or HAL_I2C_RegisterAddrCallback()
257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to register an interrupt callback.
258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
ARM GAS /tmp/ccbUHtu7.s page 6
259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Function HAL_I2C_RegisterCallback() allows to register following callbacks:
260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** and a pointer to the user callback function.
273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : HAL_I2C_RegisterAddrCall
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Use function HAL_I2C_UnRegisterCallback to reset a callback to the default
277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** weak function.
278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle,
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** and the Callback ID.
280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** This function allows to reset following callbacks:
281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : HAL_I2C_UnRegisterAddrCallback().
294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** By default, after the HAL_I2C_Init() and when the state is HAL_I2C_STATE_RESET
296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions:
297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** examples HAL_I2C_MasterTxCpltCallback(), HAL_I2C_MasterRxCpltCallback().
298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are
299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** reset to the legacy weak functions in the HAL_I2C_Init()/ HAL_I2C_DeInit() only when
300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** these callbacks are null (not registered beforehand).
301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the HAL_I2C_Init()/ HAL_I2C_DeInit()
302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Callbacks can be registered/unregistered in HAL_I2C_STATE_READY state only.
305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** in HAL_I2C_STATE_READY or HAL_I2C_STATE_RESET state,
307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** using HAL_I2C_RegisterCallback() before calling HAL_I2C_DeInit()
310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** or HAL_I2C_Init() function.
311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or
313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks
314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** are set to the corresponding weak functions.
315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 7
316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** @endverbatim
320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #include "stm32g4xx_hal.h"
324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @addtogroup STM32G4xx_HAL_Driver
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @{
327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @defgroup I2C I2C
330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C HAL module driver
331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @{
332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define
340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @{
341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR (10000U) /*!< 10 s */
344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY (25U) /*!< 25 ms */
345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR (25U) /*!< 25 ms */
346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE (25U) /*!< 25 ms */
347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF (25U) /*!< 25 ms */
348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_TIMEOUT_TC (25U) /*!< 25 ms */
349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR (25U) /*!< 25 ms */
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS (25U) /*!< 25 ms */
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG (25U) /*!< 25 ms */
352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define MAX_NBYTE_SIZE 255U
354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define SLAVE_ADDR_SHIFT 7U
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define SLAVE_ADDR_MSK 0x06U
356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | \
359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)HAL_I2C_STATE_BUSY_RX) & \
360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)(~((uint32_t)HAL_I2C_STATE_READY))))
361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*!< Mask State define, keep only RX and TX bits */
362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE))
363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*!< Default Value */
364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER))
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*!< Master Busy TX, combinaison of State LSB and Mode enum */
367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER))
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*!< Master Busy RX, combinaison of State LSB and Mode enum */
370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE))
372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*!< Slave Busy TX, combinaison of State LSB and Mode enum */
ARM GAS /tmp/ccbUHtu7.s page 8
373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE))
375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*!< Slave Busy RX, combinaison of State LSB and Mode enum */
376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM))
378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*!< Memory Busy TX, combinaison of State LSB and Mode enum */
379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM))
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*!< Memory Busy RX, combinaison of State LSB and Mode enum */
382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */
385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_XFER_TX_IT (uint16_t)(0x0001U) /*!< Bit field can be combinated with
386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */
387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_XFER_RX_IT (uint16_t)(0x0002U) /*!< Bit field can be combinated with
388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */
389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT (uint16_t)(0x8000U) /*!< Bit field can be combinated with @ref I2
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** and @ref I2C_XFER_RX_IT */
391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT (uint16_t)(0x0010U) /*!< Bit definition to manage addition of glo
393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** and NACK treatment */
394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT (uint16_t)(0x0020U) /*!< Bit definition to manage only STOP evene
395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT (uint16_t)(0x0040U) /*!< Bit definition to manage only Reload of
396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */
398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME (0xFFFF0000U)
399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @}
401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private macro -------------------------------------------------------------*/
404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Macro to get remaining data to transfer on DMA side */
405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #define I2C_GET_DMA_REMAIN_DATA(__HANDLE__) __HAL_DMA_GET_COUNTER(__HANDLE__)
406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @{
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma);
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma);
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma);
417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma);
418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private functions to handle IT transfer */
422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c);
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c);
425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode);
429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 9
430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private functions to handle IT transfer */
431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart);
434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart);
437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t ITSources);
441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t ITSources);
443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t ITSources);
445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t ITSources);
447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart);
451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart);
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart);
455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart);
457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart);
459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */
461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private function to treat different error callback */
465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c);
466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private function to flush TXDR register */
468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c);
469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private function to handle start, restart or stop a transfer */
471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Request);
473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Private function to Convert Specific options */
475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @}
478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @{
484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
ARM GAS /tmp/ccbUHtu7.s page 10
487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Initialization and Configuration functions
488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *
489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** @verbatim
490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ===============================================================================
491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ##### Initialization and de-initialization functions #####
492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ===============================================================================
493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and
494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** deinitialize the I2Cx peripheral:
495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures
497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with
500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the selected configuration:
501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Clock Timing
502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Own Address 1
503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Addressing mode (Master, Slave)
504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Dual Addressing mode
505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Own Address 2
506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Own Address 2 Mask
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) General call mode
508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Nostretch mode
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration
511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** of the selected I2Cx peripheral.
512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** @endverbatim
514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @{
515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters
519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle.
520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the I2C handle allocation */
527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c == NULL)
528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET)
543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 11
544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Allocate lock resource and initialize it */
545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED;
546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init the I2C Callback settings */
549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback
550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback
551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback
552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback
553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback
554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback
559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL)
561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */
563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c);
567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c);
570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable the selected I2C peripheral */
576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*---------------------------- I2Cx TIMINGR Configuration ------------------*/
579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK;
581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Own Address1 before set the Own Address1 configuration */
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN;
585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and ack own address1 mode */
587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1);
590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else /* I2C_ADDRESSINGMODE_10BIT */
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1);
594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/
597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Configure I2Cx: Addressing Master mode */
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 = (I2C_CR2_ADD10);
ARM GAS /tmp/ccbUHtu7.s page 12
601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK);
604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE;
608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \
611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/
614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode);
616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the selected I2C peripheral */
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral.
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the I2C handle allocation */
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c == NULL)
638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */
648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL)
652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */
654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c);
ARM GAS /tmp/ccbUHtu7.s page 13
658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c);
661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Release Lock */
669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Initialize the I2C MSP.
676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file
687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP.
692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file
703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Register a User I2C Callback
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * To be used instead of the weak predefined callback
710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered
713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * This parameter can be one of the following values:
714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
ARM GAS /tmp/ccbUHtu7.s page 14
715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pCallback pointer to the Callback function
726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb
729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** pI2C_CallbackTypeDef pCallback)
730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (pCallback == NULL)
734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update the error code */
736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process locked */
741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** switch (CallbackID)
746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback;
749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback;
753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback;
757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback;
761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback;
765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback;
769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
ARM GAS /tmp/ccbUHtu7.s page 15
772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback;
773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback;
777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback;
781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** default :
792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update the error code */
793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return error status */
796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** switch (CallbackID)
803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** default :
813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update the error code */
814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return error status */
817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update the error code */
824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return error status */
827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 16
829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Release Lock */
831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return status;
833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Unregister an I2C Callback
837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback
838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered
841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * This parameter can be one of the following values:
842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * This parameter can be one of the following values:
843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal
857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process locked */
861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** switch (CallbackID)
866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb
869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb
873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba
877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba
881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac
885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
ARM GAS /tmp/ccbUHtu7.s page 17
886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** default :
912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update the error code */
913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return error status */
916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** switch (CallbackID)
923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** default :
933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update the error code */
934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return error status */
937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** break;
939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 18
943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update the error code */
944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return error status */
947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Release Lock */
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return status;
953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback
957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback
958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function
961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC
964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (pCallback == NULL)
968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update the error code */
970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process locked */
975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AddrCallback = pCallback;
980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update the error code */
984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return error status */
987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Release Lock */
991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return status;
993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback
997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal
998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
ARM GAS /tmp/ccbUHtu7.s page 19
1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process locked */
1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */
1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update the error code */
1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return error status */
1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Release Lock */
1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return status;
1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @}
1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Data transfers functions
1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *
1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** @verbatim
1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ===============================================================================
1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ##### IO operation functions #####
1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ===============================================================================
1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data
1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** transfers.
1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#) There are two modes of transfer:
1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode.
1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** The status of all data processing is returned by the same function
1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** after finishing transfer.
1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts
1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup.
1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** The end of the data processing will be indicated through the
1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** using DMA mode.
1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#) Blocking mode functions are :
1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit()
1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive()
ARM GAS /tmp/ccbUHtu7.s page 20
1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit()
1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive()
1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write()
1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read()
1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady()
1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are :
1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT()
1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT()
1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT()
1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT()
1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT()
1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT()
1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT()
1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT()
1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT()
1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT()
1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT()
1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT()
1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT()
1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are :
1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA()
1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA()
1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA()
1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA()
1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA()
1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA()
1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA()
1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA()
1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA()
1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA()
1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback()
1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback()
1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback()
1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback()
1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback()
1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback()
1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback()
1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback()
1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback()
1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback()
1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** @endverbatim
1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @{
1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode.
1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
1110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
ARM GAS /tmp/ccbUHtu7.s page 21
1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout)
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TXIS flag is set */
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Write data to TXDR */
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
ARM GAS /tmp/ccbUHtu7.s page 22
1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TCR flag is set */
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOPF flag is set */
1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag */
1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear Configuration Register 2 */
1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode.
1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS /tmp/ccbUHtu7.s page 23
1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout)
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 24
1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Read data from RXDR */
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TCR flag is set */
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOPF flag is set */
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag */
1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear Configuration Register 2 */
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
ARM GAS /tmp/ccbUHtu7.s page 25
1342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode.
1347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
1350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
1351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
1353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
1355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Timeout)
1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable Address Acknowledge */
1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ADDR flag */
1393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If 10bit addressing mode is selected */
1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
1397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until ADDR flag is set */
ARM GAS /tmp/ccbUHtu7.s page 26
1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ADDR flag */
1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */
1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK)
1412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TXIS flag is set */
1421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Write data to TXDR */
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
1433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until AF flag is set */
1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_AF, RESET, Timeout, tickstart) != HAL_OK)
1439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Flush TX register */
1446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear AF flag */
1449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOP flag is set */
1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
ARM GAS /tmp/ccbUHtu7.s page 27
1456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP flag */
1461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
1465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
1481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
1485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode
1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
1493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
1495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
1498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Timeout)
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
1501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
1505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init tickstart for timeout management*/
ARM GAS /tmp/ccbUHtu7.s page 28
1513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
1514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
1524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable Address Acknowledge */
1526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ADDR flag */
1537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK)
1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Store Last receive data if any */
1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
1557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Read data from RXDR */
1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
1566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 29
1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Read data from RXDR */
1572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
1575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
1579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOP flag is set */
1582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP flag */
1590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
1594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
1601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
1610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
1618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt
1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
1621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
1624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
1625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
1626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
ARM GAS /tmp/ccbUHtu7.s page 30
1627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t Size)
1629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
1631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
1637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
1651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
1664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
1665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_WRIT
1666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
1673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* possible to enable all of these */
1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
1679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 31
1684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
1689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt
1690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
1692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
1695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
1696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
1697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
1699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t Size)
1700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
1702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
1708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
1718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
1722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
1735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
1737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 32
1741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
1744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
1746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* possible to enable all of these */
1747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
1750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
1756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
1760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt
1761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
1763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
1764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
1765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
1766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable Address Acknowledge */
1779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
1782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
1794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* possible to enable all of these */
1797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
ARM GAS /tmp/ccbUHtu7.s page 33
1798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
1800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
1802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
1806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
1810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt
1811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
1814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
1815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
1816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable Address Acknowledge */
1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
1832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
1844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
1846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* possible to enable all of these */
1847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
1850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
1852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 34
1855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
1856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
1860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA
1861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
1863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
1866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
1867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
1868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
1869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t Size)
1871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
1873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
1880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
1883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
1890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
1894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
1907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
1909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
1911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
ARM GAS /tmp/ccbUHtu7.s page 35
1912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the DMA error callback */
1914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
1915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
1917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
1918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
1921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
1923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
1927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
1932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
1940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
1942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART
1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
1944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update XferCount value */
1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
1947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
1954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
1956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
1958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
1959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
1963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
1968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 36
1969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
1973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
1976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
1979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
1981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
1982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
1991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* possible to enable all of these */
1993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
1996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
1999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
2007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA
2008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
2010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
2013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
2014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
2015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
2016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
2017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t Size)
2018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
2020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 37
2026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
2037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
2041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
2046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
2051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
2054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
2056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
2059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the DMA error callback */
2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
2065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
2066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
2069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
2070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
2078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 38
2083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
2089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART *
2090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
2091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update XferCount value */
2093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
2094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
2101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
2102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
2103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
2105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
2106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
2110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
2114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
2126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
2128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
2138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* possible to enable all of these */
ARM GAS /tmp/ccbUHtu7.s page 39
2140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
2146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA
2155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
2157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
2158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
2159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
2160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
2162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
2180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
2185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
2187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
2190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the DMA error callback */
2192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
2196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
ARM GAS /tmp/ccbUHtu7.s page 40
2197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
2199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
2200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
2201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
2205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
2209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable Address Acknowledge */
2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
2228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
2232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
2233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
2237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
2250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
ARM GAS /tmp/ccbUHtu7.s page 41
2254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
2258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA
2259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
2261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
2262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
2263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
2264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
2265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
2284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
2289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
2291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the DMA error callback */
2296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
2301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
2303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
2304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
2305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
2309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
ARM GAS /tmp/ccbUHtu7.s page 42
2311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
2313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable Address Acknowledge */
2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
2332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
2333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
2336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
2337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
2341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
2354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
2361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address
2362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
2364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddress Internal memory address
2367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
ARM GAS /tmp/ccbUHtu7.s page 43
2368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
2369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
2370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
2371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
2372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
2373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
2374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Ti
2375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
2379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
2394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
2396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
2405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
2411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
2422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 44
2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
2427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** do
2430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TXIS flag is set */
2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Write data to TXDR */
2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
2441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
2442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
2444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
2445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
2447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TCR flag is set */
2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
2450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** } while (hi2c->XferCount > 0U);
2469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
2471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
2472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag */
2478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
2479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear Configuration Register 2 */
2481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
ARM GAS /tmp/ccbUHtu7.s page 45
2482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
2490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
2498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address
2499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
2501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddress Internal memory address
2504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
2506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
2507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
2508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
2509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
2510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
2511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Tim
2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
2531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
2533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
ARM GAS /tmp/ccbUHtu7.s page 46
2539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
2542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
2545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
2548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
2555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** do
2570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until RXNE flag is set */
2572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK)
2573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Read data from RXDR */
2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
2579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
2581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
2582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
2584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
2585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
2587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TCR flag is set */
2589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
2590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 47
2596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
2598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** } while (hi2c->XferCount > 0U);
2608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
2610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
2611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag */
2617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
2618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear Configuration Register 2 */
2620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
2621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
2629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
2636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
2637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
2639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddress Internal memory address
2642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
2644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
2645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
2646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
2647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
2648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
2652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 48
2653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
2654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
2674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
2680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
2684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
2689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
2694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar
2698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** != HAL_OK)
2699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
2707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS /tmp/ccbUHtu7.s page 49
2710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
2714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* possible to enable all of these */
2717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
2722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
2730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
2731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddress Internal memory address
2736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
2738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
2739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
2740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
2741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
2742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
2746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
2748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
2764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init tickstart for timeout management*/
ARM GAS /tmp/ccbUHtu7.s page 50
2767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
2768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
2778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
2783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart
2792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
2807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
2809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* possible to enable all of these */
2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
2813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
2815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
2822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address
2823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS /tmp/ccbUHtu7.s page 51
2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
2825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddress Internal memory address
2828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
2831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
2832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
2833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
2834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
2838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
2857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
2861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
2867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
2876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
ARM GAS /tmp/ccbUHtu7.s page 52
2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar
2885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** != HAL_OK)
2886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the DMA error callback */
2899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
2903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
2907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
2908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
2912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
2916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
2927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
2929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update XferCount value */
2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
2932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
ARM GAS /tmp/ccbUHtu7.s page 53
2938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
2939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
2940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
2941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
2943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
2944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
2948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
2952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
2955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
2961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
2963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
2965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address.
2970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
2972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddress Internal memory address
2975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
2977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be read
2978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
2979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
2980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
2981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
2985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
2988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
ARM GAS /tmp/ccbUHtu7.s page 54
2995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
3001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
3004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Init tickstart for timeout management*/
3007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
3008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
3011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
3014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart
3032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
3042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the DMA error callback */
3044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
3051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
ARM GAS /tmp/ccbUHtu7.s page 55
3052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
3053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
3057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
3061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
3072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_RE
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update XferCount value */
3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
3083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
3084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
3092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
3105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
ARM GAS /tmp/ccbUHtu7.s page 56
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
3113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Checks if target device is ready for communication.
3114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @note This function is used with Memory devices
3115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Trials Number of trials
3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
3122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
3124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Timeout)
3125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
3127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0UL;
3129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** FlagStatus tmp1;
3131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** FlagStatus tmp2;
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
3136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
3138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
3144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** do
3147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Generate Start */
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress);
3150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
3152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/
3153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
3154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
3156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while ((tmp1 == RESET) && (tmp2 == RESET))
3159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS /tmp/ccbUHtu7.s page 57
3166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
3168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */
3182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET)
3183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag */
3191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Device is ready */
3194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
3200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
3210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
3211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/
3213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if the maximum allowed number of trials has been reached */
3217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_Trials == Trials)
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Generate Stop */
3220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
3221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
ARM GAS /tmp/ccbUHtu7.s page 58
3223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag */
3229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Trials */
3233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Trials++;
3234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** } while (I2C_Trials < Trials);
3235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
3237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
3240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
3250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
3254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
3255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
3258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
3261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
3262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
3264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
3265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
3269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
3272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
ARM GAS /tmp/ccbUHtu7.s page 59
3280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** do not generate Restart Condition */
3303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
3330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
3333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
ARM GAS /tmp/ccbUHtu7.s page 60
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
3341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
3345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
3348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
3349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
3351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
3352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin
3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
3357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
3360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
3372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** do not generate Restart Condition */
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
ARM GAS /tmp/ccbUHtu7.s page 61
3394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
3412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
3415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the DMA error callback */
3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
3425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
3434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
3445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update XferCount value */
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
ARM GAS /tmp/ccbUHtu7.s page 62
3451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
3457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
3461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
3465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* possible to enable all of these */
3495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
3501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 63
3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
3510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
3516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
3517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
3519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
3520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8
3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
3525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
3527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
3539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** do not generate Restart Condition */
3558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
3560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
ARM GAS /tmp/ccbUHtu7.s page 64
3565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
3577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
3585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
3586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
3588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
3592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
3596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with DMA
3597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
3600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
3603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
3604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
3606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
3607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
3611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
3612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
3615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 65
3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
3627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** do not generate Restart Condition */
3646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
3648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the DMA error callback */
3672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
3676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
3677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
ARM GAS /tmp/ccbUHtu7.s page 66
3679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
3680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
3681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
3685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update XferCount value */
3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
3711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
3712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
3715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
3716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
3720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
3724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
3735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
ARM GAS /tmp/ccbUHtu7.s page 67
3736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Slave Address */
3738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
3739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
3741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
3748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* possible to enable all of these */
3750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
3756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
3760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
3764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
3765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
3768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
3769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
3770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
3772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
3773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
3774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t XferOptions)
3775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
3777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
3780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
3782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
3789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 68
3793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
3794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
3796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable associated Interrupts */
3798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
3799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
3802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
3804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
3810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA RX */
3812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
3813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
3816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
3822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable Address Acknowledge */
3826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
3827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
3829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
3836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
3838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
3839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
3840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
3848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* REnable ADDR interrupt */
3849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
ARM GAS /tmp/ccbUHtu7.s page 69
3850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
3852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
3860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
3861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
3864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
3865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
3866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
3868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
3869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t
3870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t XferOptions)
3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
3875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
3878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
3880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
3889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
3890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
3892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
3893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
3894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable associated Interrupts */
3896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
3897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
3899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
3904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
ARM GAS /tmp/ccbUHtu7.s page 70
3907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
3908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA RX */
3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
3911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
3914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
3919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
3921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
3923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
3926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
3930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA TX */
3932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
3933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
3936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Nothing to do */
3943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
3946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable Address Acknowledge */
3950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
3951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
3953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
3958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
3960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
3963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 71
3964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the DMA error callback */
3965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
3969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
3972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
3973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
3974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
3978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
3979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
3982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
3985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update XferCount value */
3993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset XferSize */
3996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = 0;
3997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
3999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
4001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
4005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
4008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
4014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
ARM GAS /tmp/ccbUHtu7.s page 72
4021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
4024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
4025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
4033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
4042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
4046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
4047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
4049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si
4051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t XferOptions)
4052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
4054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
4066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
4068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
4072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable associated Interrupts */
4075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
ARM GAS /tmp/ccbUHtu7.s page 73
4078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA TX */
4089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
4099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable Address Acknowledge */
4103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
4106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
4111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT)
4113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* REnable ADDR interrupt */
4126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
4127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
4129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 74
4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
4138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param pData Pointer to data buffer
4142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Amount of data to be sent
4143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
4145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
4147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t XferOptions)
4148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
4152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
4164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable associated Interrupts */
4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
4176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA TX */
4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 75
4192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
4196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
4198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
4200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
4203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
4207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA RX */
4209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
4210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
4213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Nothing to do */
4220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
4223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable Address Acknowledge */
4227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare transfer parameters */
4230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
4232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
4237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
4239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
4240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the DMA error callback */
4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
4243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
4245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
ARM GAS /tmp/ccbUHtu7.s page 76
4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR,
4250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
4251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
4255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
4259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
4260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
4262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update XferCount value */
4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
4271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset XferSize */
4273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = 0;
4274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C state */
4278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update I2C error code */
4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
4285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT)
4291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
4298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
4302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
ARM GAS /tmp/ccbUHtu7.s page 77
4306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* REnable ADDR interrupt */
4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
4308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
4310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt.
4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
4322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
4326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
4329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the Address Match interrupt */
4331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
4334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
4338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt.
4343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C
4345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
4346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
4348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
4350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmp;
4351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */
4353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
4354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
4357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
4358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
4360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable the Address Match interrupt */
4362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
ARM GAS /tmp/ccbUHtu7.s page 78
4363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
4365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_BUSY;
4369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt.
4374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
4377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
4379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
4381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
4383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
4389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
4394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
4396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
4397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Do nothing */
4401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */
4404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
4405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */
4407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe
4408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP);
4409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
4411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** process unlock */
4416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
4417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
4419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 79
4420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wrong usage of abort function */
4423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */
4424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @}
4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
4433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @{
4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request.
4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c)
4443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
4447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/
4449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferISR != NULL)
4450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources);
4452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request.
4457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
4462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
4464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
4465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmperror;
4466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/
4468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && \
4469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR;
4472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear BERR flag */
4474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
4475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 80
4477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/
4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && \
4479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR;
4482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear OVR flag */
4484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
4485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/
4488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && \
4489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO;
4492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ARLO flag */
4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
4495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
4499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */
4501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_
4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, tmperror);
4504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback.
4509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
4514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
4517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
4520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback.
4525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
4530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
4533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 81
4534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
4536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback.
4540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
4545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
4548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
4551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback.
4556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
4561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
4564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
4567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Slave Address Match callback.
4572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE
4575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code
4576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
4579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
4582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(TransferDirection);
4583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(AddrMatchCode);
4584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file
4587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
ARM GAS /tmp/ccbUHtu7.s page 82
4591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Listen Complete callback.
4592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
4597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
4600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file
4603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback.
4608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
4613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
4616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file
4619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback.
4624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
4629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
4632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file
4635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C error callback.
4640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
4645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
ARM GAS /tmp/ccbUHtu7.s page 83
4648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file
4651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C abort callback.
4656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
4659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
4661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(hi2c);
4664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file
4667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @}
4672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
4675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions
4676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *
4677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** @verbatim
4678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ===============================================================================
4679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions #####
4680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ===============================================================================
4681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** [..]
4682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral
4683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** and the data flow.
4684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** @endverbatim
4686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @{
4687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Return the I2C handle state.
4691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL state
4694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c)
4696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return I2C handle state */
4698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return hi2c->State;
4699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode.
4703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for I2C module
ARM GAS /tmp/ccbUHtu7.s page 84
4705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL mode
4706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c)
4708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return hi2c->Mode;
4710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Return the I2C error code.
4714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval I2C Error Code
4717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c)
4719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return hi2c->ErrorCode;
4721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @}
4725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @}
4729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
4732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @{
4733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt.
4737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
4740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
4741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
4742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
4744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t ITSources)
4745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t devaddress;
4747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
4748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
4750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
4753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
4754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
4756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set corresponding Error Code */
4759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
4760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
4761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
ARM GAS /tmp/ccbUHtu7.s page 85
4762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Flush TX register */
4764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
4765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
4767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
4768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
4770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
4771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Read data from RXDR */
4773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
4774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
4776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
4777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
4779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
4780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
4782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
4783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Write data to TXDR */
4785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
4786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
4788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
4789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
4791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
4792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \
4794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
4795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
4797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
4799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
4801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
4803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
4804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
4809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
4811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
4812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
4816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
4817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 86
4819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
4823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
4824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
4826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
4827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
4831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
4833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \
4837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
4838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
4840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
4842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
4844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
4845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Generate Stop */
4847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
4848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
4852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
4853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
4859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
4861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Nothing to do */
4866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
4869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
4870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Master complete process */
4872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags);
4873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
ARM GAS /tmp/ccbUHtu7.s page 87
4876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
4879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
4882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt.
4883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
4885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
4886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
4887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
4888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
4889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
4890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t ITSources)
4891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
4893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
4894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process locked */
4896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if STOPF is set */
4899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
4900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
4901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Slave complete process */
4903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, tmpITFlags);
4904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
4907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
4908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check that I2C transfer finished */
4910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
4911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Mean XferCount == 0*/
4912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* So clear Flag NACKF only */
4913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
4914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
4916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
4917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
4918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Listen complete process */
4920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
4921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)
4923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
4925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Flush TX register */
4928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
4929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Last Byte is Transmitted */
4931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
4932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
ARM GAS /tmp/ccbUHtu7.s page 88
4933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
4937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
4941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
4943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
4944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
4947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
4948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
4950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
4953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
4957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
4958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
4960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Read data from RXDR */
4962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
4963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
4965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
4966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
4968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
4969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && \
4972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
4973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
4975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
4976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && \
4979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
4980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, tmpITFlags);
4982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
4984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
4985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */
4987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */
4988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if all Data have already been sent */
4989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */
ARM GAS /tmp/ccbUHtu7.s page 89
4990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
4991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Write data to TXDR */
4993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
4994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
4996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
4997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
4999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
5000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
5004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Last Byte is Transmitted */
5006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Nothing to do */
5014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
5020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA.
5024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
5026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
5029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t ITSources)
5032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t devaddress;
5034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
5035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Locked */
5037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
5043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set corresponding Error Code */
5046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
ARM GAS /tmp/ccbUHtu7.s page 90
5047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
5049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
5050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
5051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
5052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Flush TX register */
5054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \
5057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable TC interrupt */
5060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI);
5061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Recover Slave address */
5065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
5066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
5068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
5072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
5077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
5079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */
5087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
5088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update XferCount value */
5090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
5091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable DMA Request */
5093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 91
5104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
5105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
5108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
5109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
5113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \
5119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
5122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
5126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
5127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Generate Stop */
5129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
5130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
5134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
5135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
5141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Master complete process */
5149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
5150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Nothing to do */
5154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
5160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 92
5161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA.
5164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
5166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
5169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t ITSources)
5172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
5174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
5175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
5176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process locked */
5178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if STOPF is set */
5181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Slave complete process */
5185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags);
5186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check that I2C transfer finished */
5192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
5193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Mean XferCount == 0 */
5194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* So clear Flag NACKF only */
5195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) ||
5196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
5197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Split check of hdmarx, for MISRA compliance */
5199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
5200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)
5202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U)
5204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** treatdmanack = 1U;
5206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Split check of hdmatx, for MISRA compliance */
5211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
5212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET)
5214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx) == 0U)
5216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** treatdmanack = 1U;
ARM GAS /tmp/ccbUHtu7.s page 93
5218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (treatdmanack == 1U)
5223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
5225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
5226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
5227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Listen complete process */
5229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags);
5230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM
5232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
5234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Flush TX register */
5237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Last Byte is Transmitted */
5240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
5246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
5252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
5253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Store current hi2c->State, solve MISRA2012-Rule-13.5 */
5259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpstate = hi2c->State;
5260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
5262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
5264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN
5268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Do nothing */
5274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 94
5275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
5278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Only Clear NACK Flag, no DMA treatment is pending */
5284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && \
5288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
5289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags);
5291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Nothing to do */
5295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
5301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques
5305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
5307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
5308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
5309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddress Internal memory address
5310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
5311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
5312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Tickstart Tick start value
5313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
5314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
5316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
5317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart)
5318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
5320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If Memory address size is 8Bit */
5328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
5329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Memory Address */
5331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
ARM GAS /tmp/ccbUHtu7.s page 95
5332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If Memory address size is 16Bit */
5334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send MSB of Memory Address */
5337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
5338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send LSB of Memory Address */
5346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TCR flag is set */
5350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK)
5351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
5356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request
5360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
5362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
5363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
5364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddress Internal memory address
5365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
5366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
5367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Tickstart Tick start value
5368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
5369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
5371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
5372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart)
5373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
5375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If Memory address size is 8Bit */
5383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
5384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send Memory Address */
5386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If Memory address size is 16Bit */
ARM GAS /tmp/ccbUHtu7.s page 96
5389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send MSB of Memory Address */
5392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
5393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Send LSB of Memory Address */
5401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until TC flag is set */
5405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK)
5406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
5411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C Address complete process callback.
5415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
5416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
5418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint8_t transferdirection;
5422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t slaveaddrcode;
5423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t ownadd1code;
5424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t ownadd2code;
5425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
5427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(ITFlags);
5428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */
5430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
5431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c);
5433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
5434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
5435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
5436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If 10bits addressing mode is selected */
5438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
5439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((slaveaddrcode & SLAVE_ADDR_MSK) == ((ownadd1code >> SLAVE_ADDR_SHIFT) & SLAVE_ADDR_MSK))
5441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** slaveaddrcode = ownadd1code;
5443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AddrEventCount++;
5444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
5445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 97
5446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset Address Event counter */
5447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AddrEventCount = 0U;
5448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ADDR flag */
5450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Slave Addr callback */
5456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** slaveaddrcode = ownadd2code;
5466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable ADDR Interrupts */
5468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
5469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Slave Addr callback */
5474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */
5482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable ADDR Interrupts */
5485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
5486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Slave Addr callback */
5491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Else clear address flag only */
5499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ADDR flag */
5502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
ARM GAS /tmp/ccbUHtu7.s page 98
5503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C Master sequential complete process.
5511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
5512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
5513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c)
5515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset I2C handle mode */
5517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */
5520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */
5521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
5526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts */
5528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
5536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
5538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
5541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
5545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
5546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts */
5548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
5556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
5558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 99
5560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C Slave sequential complete process.
5564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
5565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
5566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c)
5568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
5570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset I2C handle mode */
5572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
5575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
5576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable DMA Request */
5578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
5579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
5581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable DMA Request */
5583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
5584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Do nothing */
5588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
5591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */
5593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
5594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts */
5597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
5605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
5607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
5611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */
5613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
5614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts */
ARM GAS /tmp/ccbUHtu7.s page 100
5617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
5625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
5627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Nothing to do */
5632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C Master complete process.
5637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
5638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
5640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmperror;
5644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
5645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __IO uint32_t tmpreg;
5646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag */
5648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
5649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
5651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
5660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Do nothing */
5664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear Configuration Register 2 */
5667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
5668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset handle parameters */
5670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
5671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET)
ARM GAS /tmp/ccbUHtu7.s page 101
5674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
5676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set acknowledge error code */
5679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Fetch Last receive data if any */
5683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) && (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET))
5684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Read data from RXDR */
5686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpreg = (uint8_t)hi2c->Instance->RXDR;
5687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(tmpreg);
5688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Flush TX register */
5691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
5694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
5695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE))
5698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
5701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */
5703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
5709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c);
5718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c);
5720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
ARM GAS /tmp/ccbUHtu7.s page 102
5731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
5732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
5734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
5738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
5744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c);
5753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
5755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
5767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
5769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Nothing to do */
5775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C Slave complete process.
5780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
5781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
5783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
5787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
ARM GAS /tmp/ccbUHtu7.s page 103
5788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
5789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag */
5791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
5792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
5794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
5795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
5797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
5800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
5802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Do nothing */
5807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Address Acknowledge */
5810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
5811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear Configuration Register 2 */
5813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
5814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Flush TX register */
5816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
5819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
5820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable DMA Request */
5822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
5823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
5825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx);
5827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
5830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable DMA Request */
5832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
5833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
5835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx);
5837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Do nothing */
5842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Store Last receive data if any */
ARM GAS /tmp/ccbUHtu7.s page 104
5845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)
5846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
5848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
5849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Read data from RXDR */
5851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
5852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
5854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
5855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
5857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
5859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
5860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */
5864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
5872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
5874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
5877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
5879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
5880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Listen complete process */
5882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
5883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
5886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the Sequential Complete callback, to inform upper layer of the end of Transfer */
5888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
5898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
5900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
ARM GAS /tmp/ccbUHtu7.s page 105
5902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
5916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
5918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
5921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
5931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
5933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C Listen complete process.
5939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
5940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
5942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset handle parameters */
5946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
5951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Store Last receive data if any */
5953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET)
5954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Read data from RXDR */
5956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
5957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Increment Buffer pointer */
ARM GAS /tmp/ccbUHtu7.s page 106
5959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr++;
5960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
5962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
5964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
5965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable all Interrupts*/
5972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
5973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACK Flag */
5975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
5978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
5981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
5983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
5984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
5985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C interrupts error process.
5990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
5991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param ErrorCode Error code to handle.
5992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
5993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
5994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode)
5995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
5997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmppreviousstate;
5998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset handle parameters */
6000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = 0U;
6003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set new error code */
6005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode;
6006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Interrupts */
6008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_LISTEN) ||
6009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
6010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
6011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */
6013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */
ARM GAS /tmp/ccbUHtu7.s page 107
6016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
6017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
6018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable all interrupts */
6022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If state is an abort treatment on going, don't change state */
6025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* This change will be do later */
6026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT)
6027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */
6029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
6032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA TX transfer if any */
6035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmppreviousstate = hi2c->PreviousState;
6036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \
6037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
6038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
6040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY)
6045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
6047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
6049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA TX */
6054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
6055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
6057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
6058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA RX transfer if any */
6066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if ((hi2c->hdmarx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_RX) || \
6067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
6068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
6070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 108
6073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY)
6075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
6077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
6079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Abort DMA RX */
6084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
6085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
6087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
6088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C Error callback treatment.
6103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
6104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c)
6107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
6109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
6119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
6120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
6121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 109
6130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
6133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #else
6134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
6135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief I2C Tx data register flush process.
6141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
6142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c)
6145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
29 .loc 1 6145 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.
6146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If a pending TXIS flag is set */
6147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */
6148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET)
34 .loc 1 6148 3 view .LVU1
35 .loc 1 6148 7 is_stmt 0 view .LVU2
36 0000 0368 ldr r3, [r0]
37 0002 9A69 ldr r2, [r3, #24]
38 .loc 1 6148 6 view .LVU3
39 0004 12F0020F tst r2, #2
40 0008 01D0 beq .L2
6149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U;
41 .loc 1 6150 5 is_stmt 1 view .LVU4
42 .loc 1 6150 26 is_stmt 0 view .LVU5
43 000a 0022 movs r2, #0
44 000c 9A62 str r2, [r3, #40]
45 .L2:
6151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Flush TX register if not empty */
6154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
46 .loc 1 6154 3 is_stmt 1 view .LVU6
47 .loc 1 6154 7 is_stmt 0 view .LVU7
48 000e 0368 ldr r3, [r0]
49 0010 9A69 ldr r2, [r3, #24]
50 .loc 1 6154 6 view .LVU8
51 0012 12F0010F tst r2, #1
52 0016 03D1 bne .L1
6155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE);
53 .loc 1 6156 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:
6157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 110
6158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
58 .loc 1 6158 1 is_stmt 0 view .LVU10
59 0020 7047 bx lr
60 .cfi_endproc
61 .LFE392:
63 .section .text.I2C_TransferConfig,"ax",%progbits
64 .align 1
65 .syntax unified
66 .thumb
67 .thumb_func
69 I2C_TransferConfig:
70 .LVL1:
71 .LFB404:
6159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback.
6162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hdma DMA handle
6163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma)
6166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable DMA Request */
6171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
6174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
6175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable STOP interrupt */
6177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
6178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
6180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update Buffer pointer */
6183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
6184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the XferSize to transfer */
6186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
6187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
6189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
6196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
6197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
6198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
ARM GAS /tmp/ccbUHtu7.s page 111
6203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable TC interrupts */
6205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
6206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback.
6212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hdma DMA handle
6213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma)
6216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
6220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
6222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable DMA Request */
6224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Last Byte is Transmitted */
6227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
6228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
6229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
6233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
6234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
6235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback.
6240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hdma DMA handle
6241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma)
6244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable DMA Request */
6249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
6252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
6253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable STOP interrupt */
6255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
6256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
6258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 112
6260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update Buffer pointer */
6261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
6262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Set the XferSize to transfer */
6264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
6265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
6267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable the DMA channel */
6274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr,
6275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
6276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable TC interrupts */
6283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
6284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief DMA I2C slave receive process complete callback.
6290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hdma DMA handle
6291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma)
6294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
6298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U) && \
6300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
6301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable DMA Request */
6303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
6306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
6307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
6311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
6312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
6313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
ARM GAS /tmp/ccbUHtu7.s page 113
6317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief DMA I2C communication error callback.
6318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hdma DMA handle
6319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
6322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable Acknowledge */
6327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
6328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief DMA I2C communication abort callback
6335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure).
6336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hdma DMA handle.
6337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
6340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset AbortCpltCallback */
6345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
6346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
6350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout. It waits
6359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * until a flag is no longer in the specified status.
6360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
6362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check.
6363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Status The actual Flag status (SET or RESET).
6364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
6365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Tickstart Tick start value
6366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
6367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
6369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart)
6370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
6372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check for the Timeout */
ARM GAS /tmp/ccbUHtu7.s page 114
6374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
6389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag.
6393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
6395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
6396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Tickstart Tick start value
6397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
6398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart)
6401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
6403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if an error is detected */
6405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check for the Timeout */
6411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
6427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag.
ARM GAS /tmp/ccbUHtu7.s page 115
6431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
6433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
6434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Tickstart Tick start value
6435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
6436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart)
6439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
6441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if an error is detected */
6443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check for the Timeout */
6449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
6462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag.
6466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
6468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
6469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Tickstart Tick start value
6470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
6471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Tickstart)
6474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
6476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if an error is detected */
6478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if a STOPF is detected */
6484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
6485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if an RXNE is pending */
6487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Store Last receive data if any */
ARM GAS /tmp/ccbUHtu7.s page 116
6488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U))
6489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return HAL_OK */
6491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* The Reading of data from RXDR will be done in caller function */
6492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
6493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
6497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
6500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag */
6507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear Configuration Register 2 */
6510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
6511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check for the Timeout */
6523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_OK;
6535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief This function handles errors detection during an I2C Communication.
6539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
6541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Timeout Timeout duration
6542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Tickstart Tick start value
6543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval HAL status
6544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
ARM GAS /tmp/ccbUHtu7.s page 117
6545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Ti
6546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
6548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
6549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t error_code = 0;
6550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart = Tickstart;
6551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmp1;
6552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2;
6553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_AF))
6555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear NACKF Flag */
6557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Wait until STOP Flag is set or timeout occurred */
6560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */
6561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (status == HAL_OK))
6562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check for the Timeout */
6564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
6567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp1 = (uint32_t)(hi2c->Instance->CR2 & I2C_CR2_STOP);
6569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = hi2c->Mode;
6570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* In case of I2C still busy, try to regenerate a STOP manually */
6572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET) && \
6573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
6574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE))
6575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Generate Stop */
6577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
6578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Update Tick with new reference */
6580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tickstart = HAL_GetTick();
6581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
6584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check for the Timeout */
6586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((HAL_GetTick() - tickstart) > I2C_TIMEOUT_STOPF)
6587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
6596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 118
6602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* In case STOP Flag is detected, clear it */
6603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (status == HAL_OK)
6604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear STOP Flag */
6606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_AF;
6610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
6612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Refresh Content of Status register */
6615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** itflag = hi2c->Instance->ISR;
6616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Then verify if an additional errors occurs */
6618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if a Bus error occurred */
6619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_BERR))
6620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_BERR;
6622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear BERR flag */
6624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
6625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
6627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if an Over-Run/Under-Run error occurred */
6630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_OVR))
6631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_OVR;
6633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear OVR flag */
6635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
6636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
6638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check if an Arbitration Loss error occurred */
6641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_ARLO))
6642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_ARLO;
6644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear ARLO flag */
6646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
6647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** status = HAL_ERROR;
6649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (status != HAL_OK)
6652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Flush TX register */
6654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
6655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Clear Configuration Register 2 */
6657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
6658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 119
6659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode |= error_code;
6660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Process Unlocked */
6664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return status;
6668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar
6672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
6673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed.
6674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed.
6675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * This parameter must be a value between 0 and 255.
6676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation.
6677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * This parameter can be one of the following values:
6678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode .
6679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode.
6680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode.
6681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation.
6682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * This parameter can be one of the following values:
6683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition.
6684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0).
6685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request.
6686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request.
6687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
6690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t Request)
6691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
72 .loc 1 6691 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 6691 1 is_stmt 0 view .LVU12
78 0000 10B4 push {r4}
79 .LCFI0:
80 .cfi_def_cfa_offset 4
81 .cfi_offset 4, -4
82 0002 019C ldr r4, [sp, #4]
6692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
6693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
83 .loc 1 6693 3 is_stmt 1 view .LVU13
6694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
84 .loc 1 6694 3 view .LVU14
6695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
85 .loc 1 6695 3 view .LVU15
6696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
6698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \
86 .loc 1 6698 3 view .LVU16
87 .loc 1 6698 52 is_stmt 0 view .LVU17
88 0004 C1F30901 ubfx r1, r1, #0, #10
ARM GAS /tmp/ccbUHtu7.s page 120
89 .LVL2:
90 .loc 1 6698 68 view .LVU18
91 0008 41EA0241 orr r1, r1, r2, lsl #16
6699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
92 .loc 1 6699 87 view .LVU19
93 000c 1943 orrs r1, r1, r3
6698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
94 .loc 1 6698 19 view .LVU20
95 000e 2143 orrs r1, r1, r4
6698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
96 .loc 1 6698 12 view .LVU21
97 0010 21F00041 bic r1, r1, #-2147483648
98 .LVL3:
6700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U));
6701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* update CR2 register */
6703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, \
99 .loc 1 6703 3 is_stmt 1 view .LVU22
100 0014 0268 ldr r2, [r0]
101 .LVL4:
102 .loc 1 6703 3 is_stmt 0 view .LVU23
103 0016 5368 ldr r3, [r2, #4]
104 .LVL5:
105 .loc 1 6703 3 view .LVU24
106 0018 640D lsrs r4, r4, #21
107 001a 04F48064 and r4, r4, #1024
108 001e 44F07F74 orr r4, r4, #66846720
109 0022 44F45834 orr r4, r4, #221184
110 0026 44F47F74 orr r4, r4, #1020
111 002a 44F00304 orr r4, r4, #3
112 002e 23EA0403 bic r3, r3, r4
113 0032 0B43 orrs r3, r3, r1
114 0034 5360 str r3, [r2, #4]
6704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
6705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | \
6706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_CR2_START | I2C_CR2_STOP)), tmp);
6707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
115 .loc 1 6707 1 view .LVU25
116 0036 5DF8044B ldr r4, [sp], #4
117 .LCFI1:
118 .cfi_restore 4
119 .cfi_def_cfa_offset 0
120 .LVL6:
121 .loc 1 6707 1 view .LVU26
122 003a 7047 bx lr
123 .cfi_endproc
124 .LFE404:
126 .section .text.I2C_Enable_IRQ,"ax",%progbits
127 .align 1
128 .syntax unified
129 .thumb
130 .thumb_func
132 I2C_Enable_IRQ:
133 .LVL7:
134 .LFB405:
6708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
ARM GAS /tmp/ccbUHtu7.s page 121
6710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts.
6711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
6713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
6714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
6717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
135 .loc 1 6717 1 is_stmt 1 view -0
136 .cfi_startproc
137 @ args = 0, pretend = 0, frame = 0
138 @ frame_needed = 0, uses_anonymous_args = 0
139 @ link register save eliminated.
6718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpisr = 0U;
140 .loc 1 6718 3 view .LVU28
6719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->XferISR == I2C_Master_ISR_DMA) || \
141 .loc 1 6720 3 view .LVU29
142 .loc 1 6720 12 is_stmt 0 view .LVU30
143 0000 436B ldr r3, [r0, #52]
144 .loc 1 6720 6 view .LVU31
145 0002 1A4A ldr r2, .L20
146 0004 9342 cmp r3, r2
147 0006 15D0 beq .L7
148 .loc 1 6720 45 discriminator 1 view .LVU32
149 0008 194A ldr r2, .L20+4
150 000a 9342 cmp r3, r2
151 000c 12D0 beq .L7
6721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
6722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
6724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
6726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
6727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
6730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
6732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
6733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
6736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable STOP interrupts */
6738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= (I2C_IT_STOPI | I2C_IT_TCI);
6739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT)
6742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable TC interrupts */
6744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
6745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
ARM GAS /tmp/ccbUHtu7.s page 122
152 .loc 1 6749 5 is_stmt 1 view .LVU33
153 .loc 1 6749 8 is_stmt 0 view .LVU34
154 000e 11F4004F tst r1, #32768
155 0012 28D1 bne .L17
6718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
156 .loc 1 6718 12 view .LVU35
157 0014 0023 movs r3, #0
158 .L12:
159 .LVL8:
6750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, and ADDR interrupts */
6752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
6753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
160 .loc 1 6755 5 is_stmt 1 view .LVU36
161 .loc 1 6755 8 is_stmt 0 view .LVU37
162 0016 11F0010F tst r1, #1
163 001a 01D0 beq .L13
6756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
6758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
164 .loc 1 6758 7 is_stmt 1 view .LVU38
165 .loc 1 6758 14 is_stmt 0 view .LVU39
166 001c 43F0F203 orr r3, r3, #242
167 .LVL9:
168 .L13:
6759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
169 .loc 1 6761 5 is_stmt 1 view .LVU40
170 .loc 1 6761 8 is_stmt 0 view .LVU41
171 0020 11F0020F tst r1, #2
172 0024 01D0 beq .L14
6762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
6764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
173 .loc 1 6764 7 is_stmt 1 view .LVU42
174 .loc 1 6764 14 is_stmt 0 view .LVU43
175 0026 43F0F403 orr r3, r3, #244
176 .LVL10:
177 .L14:
6765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
178 .loc 1 6767 5 is_stmt 1 view .LVU44
179 .loc 1 6767 8 is_stmt 0 view .LVU45
180 002a 2029 cmp r1, #32
181 002c 0ED1 bne .L11
6768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable STOP interrupts */
6770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
182 .loc 1 6770 7 is_stmt 1 view .LVU46
183 .loc 1 6770 14 is_stmt 0 view .LVU47
184 002e 43F02003 orr r3, r3, #32
185 .LVL11:
186 .loc 1 6770 14 view .LVU48
ARM GAS /tmp/ccbUHtu7.s page 123
187 0032 0BE0 b .L11
188 .LVL12:
189 .L7:
6723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
190 .loc 1 6723 5 is_stmt 1 view .LVU49
6723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
191 .loc 1 6723 8 is_stmt 0 view .LVU50
192 0034 11F4004F tst r1, #32768
193 0038 03D1 bne .L15
6729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
194 .loc 1 6729 5 is_stmt 1 view .LVU51
6729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
195 .loc 1 6729 8 is_stmt 0 view .LVU52
196 003a 1029 cmp r1, #16
197 003c 0BD0 beq .L16
6718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
198 .loc 1 6718 12 view .LVU53
199 003e 0023 movs r3, #0
200 0040 00E0 b .L9
201 .L15:
6726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
202 .loc 1 6726 14 view .LVU54
203 0042 B823 movs r3, #184
204 .L9:
205 .LVL13:
6735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
206 .loc 1 6735 5 is_stmt 1 view .LVU55
6735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
207 .loc 1 6735 8 is_stmt 0 view .LVU56
208 0044 2029 cmp r1, #32
209 0046 08D0 beq .L18
210 .L10:
6741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
211 .loc 1 6741 5 is_stmt 1 view .LVU57
6741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
212 .loc 1 6741 8 is_stmt 0 view .LVU58
213 0048 4029 cmp r1, #64
214 004a 09D0 beq .L19
215 .L11:
6771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable interrupts only at the end */
6775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */
6776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* all interrupts requested done */
6777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr);
216 .loc 1 6777 3 is_stmt 1 view .LVU59
217 004c 0168 ldr r1, [r0]
218 .LVL14:
219 .loc 1 6777 3 is_stmt 0 view .LVU60
220 004e 0A68 ldr r2, [r1]
221 0050 1343 orrs r3, r3, r2
222 .LVL15:
223 .loc 1 6777 3 view .LVU61
224 0052 0B60 str r3, [r1]
6778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
225 .loc 1 6778 1 view .LVU62
ARM GAS /tmp/ccbUHtu7.s page 124
226 0054 7047 bx lr
227 .LVL16:
228 .L16:
6732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
229 .loc 1 6732 14 view .LVU63
230 0056 9023 movs r3, #144
231 0058 F4E7 b .L9
232 .LVL17:
233 .L18:
6738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
234 .loc 1 6738 7 is_stmt 1 view .LVU64
6738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
235 .loc 1 6738 14 is_stmt 0 view .LVU65
236 005a 43F06003 orr r3, r3, #96
237 .LVL18:
6738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
238 .loc 1 6738 14 view .LVU66
239 005e F3E7 b .L10
240 .L19:
6744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
241 .loc 1 6744 7 is_stmt 1 view .LVU67
6744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
242 .loc 1 6744 14 is_stmt 0 view .LVU68
243 0060 43F04003 orr r3, r3, #64
244 .LVL19:
6744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
245 .loc 1 6744 14 view .LVU69
246 0064 F2E7 b .L11
247 .LVL20:
248 .L17:
6752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
249 .loc 1 6752 14 view .LVU70
250 0066 B823 movs r3, #184
251 0068 D5E7 b .L12
252 .L21:
253 006a 00BF .align 2
254 .L20:
255 006c 00000000 .word I2C_Master_ISR_DMA
256 0070 00000000 .word I2C_Slave_ISR_DMA
257 .cfi_endproc
258 .LFE405:
260 .section .text.I2C_Disable_IRQ,"ax",%progbits
261 .align 1
262 .syntax unified
263 .thumb
264 .thumb_func
266 I2C_Disable_IRQ:
267 .LVL21:
268 .LFB406:
6779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts.
6782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * the configuration information for the specified I2C.
6784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
6785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
ARM GAS /tmp/ccbUHtu7.s page 125
6787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
6788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
269 .loc 1 6788 1 is_stmt 1 view -0
270 .cfi_startproc
271 @ args = 0, pretend = 0, frame = 0
272 @ frame_needed = 0, uses_anonymous_args = 0
273 @ link register save eliminated.
6789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpisr = 0U;
274 .loc 1 6789 3 view .LVU72
6790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
275 .loc 1 6791 3 view .LVU73
276 .loc 1 6791 6 is_stmt 0 view .LVU74
277 0000 11F0010F tst r1, #1
278 0004 09D0 beq .L29
6792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable TC and TXI interrupts */
6794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI;
279 .loc 1 6794 5 is_stmt 1 view .LVU75
280 .LVL22:
6795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
281 .loc 1 6796 5 view .LVU76
282 .loc 1 6796 24 is_stmt 0 view .LVU77
283 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
284 .loc 1 6796 8 view .LVU78
285 000a 03F02803 and r3, r3, #40
286 000e 282B cmp r3, #40
287 0010 01D0 beq .L32
6797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
6799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
288 .loc 1 6799 14 view .LVU79
289 0012 F223 movs r3, #242
290 0014 02E0 b .L23
291 .L32:
6794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
292 .loc 1 6794 12 view .LVU80
293 0016 4223 movs r3, #66
294 0018 00E0 b .L23
295 .LVL23:
296 .L29:
6789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
297 .loc 1 6789 12 view .LVU81
298 001a 0023 movs r3, #0
299 .LVL24:
300 .L23:
6800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
301 .loc 1 6803 3 is_stmt 1 view .LVU82
302 .loc 1 6803 6 is_stmt 0 view .LVU83
303 001c 11F0020F tst r1, #2
304 0020 09D0 beq .L24
6804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable TC and RXI interrupts */
ARM GAS /tmp/ccbUHtu7.s page 126
6806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI;
305 .loc 1 6806 5 is_stmt 1 view .LVU84
306 .loc 1 6806 12 is_stmt 0 view .LVU85
307 0022 43F0440C orr ip, r3, #68
308 .LVL25:
6807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
309 .loc 1 6808 5 is_stmt 1 view .LVU86
310 .loc 1 6808 24 is_stmt 0 view .LVU87
311 0026 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
312 .loc 1 6808 8 view .LVU88
313 002a 02F02802 and r2, r2, #40
314 002e 282A cmp r2, #40
315 0030 10D0 beq .L31
6809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
6811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
316 .loc 1 6811 7 is_stmt 1 view .LVU89
317 .loc 1 6811 14 is_stmt 0 view .LVU90
318 0032 43F0F403 orr r3, r3, #244
319 .LVL26:
320 .L24:
6812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
321 .loc 1 6815 3 is_stmt 1 view .LVU91
322 .loc 1 6815 6 is_stmt 0 view .LVU92
323 0036 11F4004F tst r1, #32768
324 003a 0DD1 bne .L33
325 .L25:
6816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */
6818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
6819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
326 .loc 1 6821 3 is_stmt 1 view .LVU93
327 .loc 1 6821 6 is_stmt 0 view .LVU94
328 003c 1029 cmp r1, #16
329 003e 0ED0 beq .L34
330 .L26:
6822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
6824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
6825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
331 .loc 1 6827 3 is_stmt 1 view .LVU95
332 .loc 1 6827 6 is_stmt 0 view .LVU96
333 0040 2029 cmp r1, #32
334 0042 0FD0 beq .L35
335 .L27:
6828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable STOP interrupts */
6830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
6831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 127
6832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT)
336 .loc 1 6833 3 is_stmt 1 view .LVU97
337 .loc 1 6833 6 is_stmt 0 view .LVU98
338 0044 4029 cmp r1, #64
339 0046 10D0 beq .L36
340 .L28:
6834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Enable TC interrupts */
6836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
6837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Disable interrupts only at the end */
6840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */
6841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* all disable interrupts request are not done */
6842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr);
341 .loc 1 6842 3 is_stmt 1 view .LVU99
342 0048 0168 ldr r1, [r0]
343 .LVL27:
344 .loc 1 6842 3 is_stmt 0 view .LVU100
345 004a 0A68 ldr r2, [r1]
346 004c 22EA0303 bic r3, r2, r3
347 .LVL28:
348 .loc 1 6842 3 view .LVU101
349 0050 0B60 str r3, [r1]
6843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
350 .loc 1 6843 1 view .LVU102
351 0052 7047 bx lr
352 .LVL29:
353 .L31:
6806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
354 .loc 1 6806 12 view .LVU103
355 0054 6346 mov r3, ip
356 0056 EEE7 b .L24
357 .LVL30:
358 .L33:
6818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
359 .loc 1 6818 5 is_stmt 1 view .LVU104
6818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
360 .loc 1 6818 12 is_stmt 0 view .LVU105
361 0058 43F0B803 orr r3, r3, #184
362 .LVL31:
6818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
363 .loc 1 6818 12 view .LVU106
364 005c EEE7 b .L25
365 .L34:
6824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
366 .loc 1 6824 5 is_stmt 1 view .LVU107
6824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
367 .loc 1 6824 12 is_stmt 0 view .LVU108
368 005e 43F09003 orr r3, r3, #144
369 .LVL32:
6824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
370 .loc 1 6824 12 view .LVU109
371 0062 EDE7 b .L26
372 .L35:
6830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 128
373 .loc 1 6830 5 is_stmt 1 view .LVU110
6830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
374 .loc 1 6830 12 is_stmt 0 view .LVU111
375 0064 43F02003 orr r3, r3, #32
376 .LVL33:
6830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
377 .loc 1 6830 12 view .LVU112
378 0068 ECE7 b .L27
379 .L36:
6836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
380 .loc 1 6836 5 is_stmt 1 view .LVU113
6836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
381 .loc 1 6836 12 is_stmt 0 view .LVU114
382 006a 43F04003 orr r3, r3, #64
383 .LVL34:
6836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
384 .loc 1 6836 12 view .LVU115
385 006e EBE7 b .L28
386 .cfi_endproc
387 .LFE406:
389 .section .text.I2C_ConvertOtherXferOptions,"ax",%progbits
390 .align 1
391 .syntax unified
392 .thumb
393 .thumb_func
395 I2C_ConvertOtherXferOptions:
396 .LVL35:
397 .LFB407:
6844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
6846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functional XferOptions.
6847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @param hi2c I2C handle.
6848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** * @retval None
6849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** */
6850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c)
6851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
398 .loc 1 6851 1 is_stmt 1 view -0
399 .cfi_startproc
400 @ args = 0, pretend = 0, frame = 0
401 @ frame_needed = 0, uses_anonymous_args = 0
402 @ link register save eliminated.
6852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */
6853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
6854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */
6855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME)
403 .loc 1 6855 3 view .LVU117
404 .loc 1 6855 11 is_stmt 0 view .LVU118
405 0000 C36A ldr r3, [r0, #44]
406 .loc 1 6855 6 view .LVU119
407 0002 AA2B cmp r3, #170
408 0004 04D0 beq .L40
6856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME;
6858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */
6860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
6861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */
ARM GAS /tmp/ccbUHtu7.s page 129
6862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */
6863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME)
409 .loc 1 6863 8 is_stmt 1 view .LVU120
410 .loc 1 6863 16 is_stmt 0 view .LVU121
411 0006 C36A ldr r3, [r0, #44]
412 .loc 1 6863 11 view .LVU122
413 0008 B3F52A4F cmp r3, #43520
414 000c 03D0 beq .L41
415 .L37:
6864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME;
6866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** else
6868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Nothing to do */
6870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
416 .loc 1 6871 1 view .LVU123
417 000e 7047 bx lr
418 .L40:
6857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
419 .loc 1 6857 5 is_stmt 1 view .LVU124
6857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
420 .loc 1 6857 23 is_stmt 0 view .LVU125
421 0010 0023 movs r3, #0
422 0012 C362 str r3, [r0, #44]
423 0014 7047 bx lr
424 .L41:
6865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
425 .loc 1 6865 5 is_stmt 1 view .LVU126
6865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
426 .loc 1 6865 23 is_stmt 0 view .LVU127
427 0016 4FF00073 mov r3, #33554432
428 001a C362 str r3, [r0, #44]
6870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
429 .loc 1 6870 3 is_stmt 1 view .LVU128
430 .loc 1 6871 1 is_stmt 0 view .LVU129
431 001c F7E7 b .L37
432 .cfi_endproc
433 .LFE407:
435 .section .text.I2C_IsErrorOccurred,"ax",%progbits
436 .align 1
437 .syntax unified
438 .thumb
439 .thumb_func
441 I2C_IsErrorOccurred:
442 .LVL36:
443 .LFB403:
6546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
444 .loc 1 6546 1 is_stmt 1 view -0
445 .cfi_startproc
446 @ args = 0, pretend = 0, frame = 0
447 @ frame_needed = 0, uses_anonymous_args = 0
6546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
448 .loc 1 6546 1 is_stmt 0 view .LVU131
449 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
450 .LCFI2:
ARM GAS /tmp/ccbUHtu7.s page 130
451 .cfi_def_cfa_offset 24
452 .cfi_offset 4, -24
453 .cfi_offset 5, -20
454 .cfi_offset 6, -16
455 .cfi_offset 7, -12
456 .cfi_offset 8, -8
457 .cfi_offset 14, -4
458 0004 0446 mov r4, r0
6547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
459 .loc 1 6547 3 is_stmt 1 view .LVU132
460 .LVL37:
6548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t error_code = 0;
461 .loc 1 6548 3 view .LVU133
6548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t error_code = 0;
462 .loc 1 6548 27 is_stmt 0 view .LVU134
463 0006 0368 ldr r3, [r0]
6548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t error_code = 0;
464 .loc 1 6548 12 view .LVU135
465 0008 9F69 ldr r7, [r3, #24]
466 .LVL38:
6549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart = Tickstart;
467 .loc 1 6549 3 is_stmt 1 view .LVU136
6550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmp1;
468 .loc 1 6550 3 view .LVU137
6551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2;
469 .loc 1 6551 3 view .LVU138
6552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
470 .loc 1 6552 3 view .LVU139
6554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
471 .loc 1 6554 3 view .LVU140
6554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
472 .loc 1 6554 6 is_stmt 0 view .LVU141
473 000a 17F01007 ands r7, r7, #16
474 .LVL39:
6554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
475 .loc 1 6554 6 view .LVU142
476 000e 4CD0 beq .L59
477 0010 0E46 mov r6, r1
478 0012 9046 mov r8, r2
6557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
479 .loc 1 6557 5 is_stmt 1 view .LVU143
480 0014 1022 movs r2, #16
481 .LVL40:
6557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
482 .loc 1 6557 5 is_stmt 0 view .LVU144
483 0016 DA61 str r2, [r3, #28]
6561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
484 .loc 1 6561 5 is_stmt 1 view .LVU145
6547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
485 .loc 1 6547 21 is_stmt 0 view .LVU146
486 0018 0025 movs r5, #0
487 .LVL41:
488 .L45:
6561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
489 .loc 1 6561 64 is_stmt 1 view .LVU147
6561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
490 .loc 1 6561 13 is_stmt 0 view .LVU148
ARM GAS /tmp/ccbUHtu7.s page 131
491 001a 2368 ldr r3, [r4]
492 001c 9869 ldr r0, [r3, #24]
6561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
493 .loc 1 6561 64 view .LVU149
494 001e 10F0200F tst r0, #32
495 0022 3BD1 bne .L52
6561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
496 .loc 1 6561 64 discriminator 1 view .LVU150
497 0024 002D cmp r5, #0
498 0026 39D1 bne .L52
6564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
499 .loc 1 6564 7 is_stmt 1 view .LVU151
6564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
500 .loc 1 6564 10 is_stmt 0 view .LVU152
501 0028 B6F1FF3F cmp r6, #-1
502 002c F5D0 beq .L45
6566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
503 .loc 1 6566 9 is_stmt 1 view .LVU153
6566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
504 .loc 1 6566 15 is_stmt 0 view .LVU154
505 002e FFF7FEFF bl HAL_GetTick
506 .LVL42:
6566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
507 .loc 1 6566 29 view .LVU155
508 0032 A0EB0800 sub r0, r0, r8
6566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
509 .loc 1 6566 12 view .LVU156
510 0036 B042 cmp r0, r6
511 0038 01D8 bhi .L46
6566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
512 .loc 1 6566 53 discriminator 1 view .LVU157
513 003a 002E cmp r6, #0
514 003c EDD1 bne .L45
515 .L46:
6568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = hi2c->Mode;
516 .loc 1 6568 11 is_stmt 1 view .LVU158
6568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = hi2c->Mode;
517 .loc 1 6568 33 is_stmt 0 view .LVU159
518 003e 2168 ldr r1, [r4]
6568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = hi2c->Mode;
519 .loc 1 6568 43 view .LVU160
520 0040 4B68 ldr r3, [r1, #4]
6568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = hi2c->Mode;
521 .loc 1 6568 16 view .LVU161
522 0042 03F48043 and r3, r3, #16384
523 .LVL43:
6569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
524 .loc 1 6569 11 is_stmt 1 view .LVU162
6569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
525 .loc 1 6569 16 is_stmt 0 view .LVU163
526 0046 94F84220 ldrb r2, [r4, #66] @ zero_extendqisi2
527 004a D2B2 uxtb r2, r2
528 .LVL44:
6572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
529 .loc 1 6572 11 is_stmt 1 view .LVU164
6572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
530 .loc 1 6572 16 is_stmt 0 view .LVU165
ARM GAS /tmp/ccbUHtu7.s page 132
531 004c 8869 ldr r0, [r1, #24]
6572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
532 .loc 1 6572 14 view .LVU166
533 004e 10F4004F tst r0, #32768
534 0052 02D0 beq .L49
6572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
535 .loc 1 6572 66 discriminator 1 view .LVU167
536 0054 0BB9 cbnz r3, .L49
6573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE))
537 .loc 1 6573 38 view .LVU168
538 0056 202A cmp r2, #32
539 0058 18D1 bne .L62
540 .LVL45:
541 .L49:
6583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
542 .loc 1 6583 59 is_stmt 1 view .LVU169
6583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
543 .loc 1 6583 18 is_stmt 0 view .LVU170
544 005a 2368 ldr r3, [r4]
545 005c 9B69 ldr r3, [r3, #24]
6583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
546 .loc 1 6583 59 view .LVU171
547 005e 13F0200F tst r3, #32
548 0062 DAD1 bne .L45
6586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
549 .loc 1 6586 13 is_stmt 1 view .LVU172
6586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
550 .loc 1 6586 18 is_stmt 0 view .LVU173
551 0064 FFF7FEFF bl HAL_GetTick
552 .LVL46:
6586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
553 .loc 1 6586 32 view .LVU174
554 0068 A0EB0800 sub r0, r0, r8
6586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
555 .loc 1 6586 16 view .LVU175
556 006c 1928 cmp r0, #25
557 006e F4D9 bls .L49
6588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
558 .loc 1 6588 15 is_stmt 1 view .LVU176
6588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
559 .loc 1 6588 19 is_stmt 0 view .LVU177
560 0070 636C ldr r3, [r4, #68]
6588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
561 .loc 1 6588 31 view .LVU178
562 0072 43F02003 orr r3, r3, #32
563 0076 6364 str r3, [r4, #68]
6589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
564 .loc 1 6589 15 is_stmt 1 view .LVU179
6589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
565 .loc 1 6589 27 is_stmt 0 view .LVU180
566 0078 2023 movs r3, #32
567 007a 84F84130 strb r3, [r4, #65]
6590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
568 .loc 1 6590 15 is_stmt 1 view .LVU181
6590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
569 .loc 1 6590 26 is_stmt 0 view .LVU182
570 007e 0023 movs r3, #0
ARM GAS /tmp/ccbUHtu7.s page 133
571 0080 84F84230 strb r3, [r4, #66]
6593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
572 .loc 1 6593 15 is_stmt 1 view .LVU183
6593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
573 .loc 1 6593 15 view .LVU184
574 0084 84F84030 strb r3, [r4, #64]
6593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
575 .loc 1 6593 15 view .LVU185
6595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
576 .loc 1 6595 15 view .LVU186
577 .LVL47:
6595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
578 .loc 1 6595 22 is_stmt 0 view .LVU187
579 0088 0125 movs r5, #1
580 008a E6E7 b .L49
581 .LVL48:
582 .L62:
6577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
583 .loc 1 6577 13 is_stmt 1 view .LVU188
6577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
584 .loc 1 6577 27 is_stmt 0 view .LVU189
585 008c 4B68 ldr r3, [r1, #4]
586 .LVL49:
6577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
587 .loc 1 6577 33 view .LVU190
588 008e 43F48043 orr r3, r3, #16384
589 0092 4B60 str r3, [r1, #4]
6580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
590 .loc 1 6580 13 is_stmt 1 view .LVU191
6580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
591 .loc 1 6580 25 is_stmt 0 view .LVU192
592 0094 FFF7FEFF bl HAL_GetTick
593 .LVL50:
6580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
594 .loc 1 6580 25 view .LVU193
595 0098 8046 mov r8, r0
596 .LVL51:
6580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
597 .loc 1 6580 25 view .LVU194
598 009a DEE7 b .L49
599 .LVL52:
600 .L52:
6603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
601 .loc 1 6603 5 is_stmt 1 view .LVU195
6603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
602 .loc 1 6603 8 is_stmt 0 view .LVU196
603 009c 002D cmp r5, #0
604 009e 40D1 bne .L60
6606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
605 .loc 1 6606 7 is_stmt 1 view .LVU197
606 00a0 2022 movs r2, #32
607 00a2 DA61 str r2, [r3, #28]
6609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
608 .loc 1 6609 16 is_stmt 0 view .LVU198
609 00a4 0427 movs r7, #4
6611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
610 .loc 1 6611 12 view .LVU199
ARM GAS /tmp/ccbUHtu7.s page 134
611 00a6 0125 movs r5, #1
612 .LVL53:
6611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
613 .loc 1 6611 12 view .LVU200
614 00a8 00E0 b .L43
615 .LVL54:
616 .L59:
6547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
617 .loc 1 6547 21 view .LVU201
618 00aa 0025 movs r5, #0
619 .LVL55:
620 .L43:
6615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
621 .loc 1 6615 3 is_stmt 1 view .LVU202
6615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
622 .loc 1 6615 16 is_stmt 0 view .LVU203
623 00ac 2268 ldr r2, [r4]
6615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
624 .loc 1 6615 10 view .LVU204
625 00ae 9369 ldr r3, [r2, #24]
626 .LVL56:
6619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
627 .loc 1 6619 3 is_stmt 1 view .LVU205
6619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
628 .loc 1 6619 6 is_stmt 0 view .LVU206
629 00b0 13F4807F tst r3, #256
630 00b4 05D0 beq .L54
6621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
631 .loc 1 6621 5 is_stmt 1 view .LVU207
6621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
632 .loc 1 6621 16 is_stmt 0 view .LVU208
633 00b6 47F00107 orr r7, r7, #1
634 .LVL57:
6624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
635 .loc 1 6624 5 is_stmt 1 view .LVU209
636 00ba 4FF48071 mov r1, #256
637 00be D161 str r1, [r2, #28]
6626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
638 .loc 1 6626 5 view .LVU210
639 .LVL58:
6626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
640 .loc 1 6626 12 is_stmt 0 view .LVU211
641 00c0 0125 movs r5, #1
642 .LVL59:
643 .L54:
6630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
644 .loc 1 6630 3 is_stmt 1 view .LVU212
6630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
645 .loc 1 6630 6 is_stmt 0 view .LVU213
646 00c2 13F4806F tst r3, #1024
647 00c6 06D0 beq .L55
6632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
648 .loc 1 6632 5 is_stmt 1 view .LVU214
6632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
649 .loc 1 6632 16 is_stmt 0 view .LVU215
650 00c8 47F00807 orr r7, r7, #8
651 .LVL60:
ARM GAS /tmp/ccbUHtu7.s page 135
6635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
652 .loc 1 6635 5 is_stmt 1 view .LVU216
653 00cc 2268 ldr r2, [r4]
654 00ce 4FF48061 mov r1, #1024
655 00d2 D161 str r1, [r2, #28]
6637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
656 .loc 1 6637 5 view .LVU217
657 .LVL61:
6637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
658 .loc 1 6637 12 is_stmt 0 view .LVU218
659 00d4 0125 movs r5, #1
660 .LVL62:
661 .L55:
6641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
662 .loc 1 6641 3 is_stmt 1 view .LVU219
6641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
663 .loc 1 6641 6 is_stmt 0 view .LVU220
664 00d6 13F4007F tst r3, #512
665 00da 24D0 beq .L56
6643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
666 .loc 1 6643 5 is_stmt 1 view .LVU221
6643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
667 .loc 1 6643 16 is_stmt 0 view .LVU222
668 00dc 47F00207 orr r7, r7, #2
669 .LVL63:
6646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
670 .loc 1 6646 5 is_stmt 1 view .LVU223
671 00e0 2368 ldr r3, [r4]
672 .LVL64:
6646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
673 .loc 1 6646 5 is_stmt 0 view .LVU224
674 00e2 4FF40072 mov r2, #512
675 00e6 DA61 str r2, [r3, #28]
6648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
676 .loc 1 6648 5 is_stmt 1 view .LVU225
677 .LVL65:
6651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
678 .loc 1 6651 3 view .LVU226
6648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
679 .loc 1 6648 12 is_stmt 0 view .LVU227
680 00e8 0125 movs r5, #1
681 .LVL66:
682 .L57:
6654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
683 .loc 1 6654 5 is_stmt 1 view .LVU228
684 00ea 2046 mov r0, r4
685 00ec FFF7FEFF bl I2C_Flush_TXDR
686 .LVL67:
6657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
687 .loc 1 6657 5 view .LVU229
688 00f0 2268 ldr r2, [r4]
689 00f2 5368 ldr r3, [r2, #4]
690 00f4 23F0FF73 bic r3, r3, #33423360
691 00f8 23F48B33 bic r3, r3, #71168
692 00fc 23F4FF73 bic r3, r3, #510
693 0100 23F00103 bic r3, r3, #1
694 0104 5360 str r3, [r2, #4]
ARM GAS /tmp/ccbUHtu7.s page 136
6659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
695 .loc 1 6659 5 view .LVU230
6659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
696 .loc 1 6659 9 is_stmt 0 view .LVU231
697 0106 636C ldr r3, [r4, #68]
6659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
698 .loc 1 6659 21 view .LVU232
699 0108 3B43 orrs r3, r3, r7
700 010a 6364 str r3, [r4, #68]
6660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
701 .loc 1 6660 5 is_stmt 1 view .LVU233
6660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
702 .loc 1 6660 17 is_stmt 0 view .LVU234
703 010c 2023 movs r3, #32
704 010e 84F84130 strb r3, [r4, #65]
6661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
705 .loc 1 6661 5 is_stmt 1 view .LVU235
6661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
706 .loc 1 6661 16 is_stmt 0 view .LVU236
707 0112 0023 movs r3, #0
708 0114 84F84230 strb r3, [r4, #66]
6664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
709 .loc 1 6664 5 is_stmt 1 view .LVU237
6664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
710 .loc 1 6664 5 view .LVU238
711 0118 84F84030 strb r3, [r4, #64]
712 .L58:
6664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
713 .loc 1 6664 5 discriminator 1 view .LVU239
6667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
714 .loc 1 6667 3 discriminator 1 view .LVU240
6668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
715 .loc 1 6668 1 is_stmt 0 discriminator 1 view .LVU241
716 011c 2846 mov r0, r5
717 011e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
718 .LVL68:
719 .L60:
6609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
720 .loc 1 6609 16 view .LVU242
721 0122 0427 movs r7, #4
722 0124 C2E7 b .L43
723 .LVL69:
724 .L56:
6651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
725 .loc 1 6651 3 is_stmt 1 view .LVU243
6651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
726 .loc 1 6651 6 is_stmt 0 view .LVU244
727 0126 002D cmp r5, #0
728 0128 F8D0 beq .L58
729 012a DEE7 b .L57
730 .cfi_endproc
731 .LFE403:
733 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits
734 .align 1
735 .syntax unified
736 .thumb
737 .thumb_func
ARM GAS /tmp/ccbUHtu7.s page 137
739 I2C_WaitOnTXISFlagUntilTimeout:
740 .LVL70:
741 .LFB400:
6401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
742 .loc 1 6401 1 is_stmt 1 view -0
743 .cfi_startproc
744 @ args = 0, pretend = 0, frame = 0
745 @ frame_needed = 0, uses_anonymous_args = 0
6401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
746 .loc 1 6401 1 is_stmt 0 view .LVU246
747 0000 70B5 push {r4, r5, r6, lr}
748 .LCFI3:
749 .cfi_def_cfa_offset 16
750 .cfi_offset 4, -16
751 .cfi_offset 5, -12
752 .cfi_offset 6, -8
753 .cfi_offset 14, -4
754 0002 0446 mov r4, r0
755 0004 0D46 mov r5, r1
756 0006 1646 mov r6, r2
6402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
757 .loc 1 6402 3 is_stmt 1 view .LVU247
758 .LVL71:
759 .L66:
6402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
760 .loc 1 6402 50 view .LVU248
6402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
761 .loc 1 6402 10 is_stmt 0 view .LVU249
762 0008 2368 ldr r3, [r4]
763 000a 9B69 ldr r3, [r3, #24]
6402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
764 .loc 1 6402 50 view .LVU250
765 000c 13F0020F tst r3, #2
766 0010 1DD1 bne .L71
6405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
767 .loc 1 6405 5 is_stmt 1 view .LVU251
6405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
768 .loc 1 6405 9 is_stmt 0 view .LVU252
769 0012 3246 mov r2, r6
770 0014 2946 mov r1, r5
771 0016 2046 mov r0, r4
772 0018 FFF7FEFF bl I2C_IsErrorOccurred
773 .LVL72:
6405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
774 .loc 1 6405 8 view .LVU253
775 001c C8B9 cbnz r0, .L69
6411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
776 .loc 1 6411 5 is_stmt 1 view .LVU254
6411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
777 .loc 1 6411 8 is_stmt 0 view .LVU255
778 001e B5F1FF3F cmp r5, #-1
779 0022 F1D0 beq .L66
6413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
780 .loc 1 6413 7 is_stmt 1 view .LVU256
6413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
781 .loc 1 6413 13 is_stmt 0 view .LVU257
782 0024 FFF7FEFF bl HAL_GetTick
ARM GAS /tmp/ccbUHtu7.s page 138
783 .LVL73:
6413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
784 .loc 1 6413 27 view .LVU258
785 0028 801B subs r0, r0, r6
6413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
786 .loc 1 6413 10 view .LVU259
787 002a A842 cmp r0, r5
788 002c 01D8 bhi .L67
6413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
789 .loc 1 6413 51 discriminator 1 view .LVU260
790 002e 002D cmp r5, #0
791 0030 EAD1 bne .L66
792 .L67:
6415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
793 .loc 1 6415 9 is_stmt 1 view .LVU261
6415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
794 .loc 1 6415 13 is_stmt 0 view .LVU262
795 0032 636C ldr r3, [r4, #68]
6415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
796 .loc 1 6415 25 view .LVU263
797 0034 43F02003 orr r3, r3, #32
798 0038 6364 str r3, [r4, #68]
6416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
799 .loc 1 6416 9 is_stmt 1 view .LVU264
6416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
800 .loc 1 6416 21 is_stmt 0 view .LVU265
801 003a 2023 movs r3, #32
802 003c 84F84130 strb r3, [r4, #65]
6417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
803 .loc 1 6417 9 is_stmt 1 view .LVU266
6417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
804 .loc 1 6417 20 is_stmt 0 view .LVU267
805 0040 0023 movs r3, #0
806 0042 84F84230 strb r3, [r4, #66]
6420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
807 .loc 1 6420 9 is_stmt 1 view .LVU268
6420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
808 .loc 1 6420 9 view .LVU269
809 0046 84F84030 strb r3, [r4, #64]
6420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
810 .loc 1 6420 9 view .LVU270
6422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
811 .loc 1 6422 9 view .LVU271
6422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
812 .loc 1 6422 16 is_stmt 0 view .LVU272
813 004a 0120 movs r0, #1
814 004c 00E0 b .L65
815 .L71:
6426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
816 .loc 1 6426 10 view .LVU273
817 004e 0020 movs r0, #0
818 .L65:
6427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
819 .loc 1 6427 1 view .LVU274
820 0050 70BD pop {r4, r5, r6, pc}
821 .LVL74:
822 .L69:
ARM GAS /tmp/ccbUHtu7.s page 139
6407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
823 .loc 1 6407 14 view .LVU275
824 0052 0120 movs r0, #1
825 0054 FCE7 b .L65
826 .cfi_endproc
827 .LFE400:
829 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
830 .align 1
831 .syntax unified
832 .thumb
833 .thumb_func
835 I2C_WaitOnFlagUntilTimeout:
836 .LVL75:
837 .LFB399:
6370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
838 .loc 1 6370 1 is_stmt 1 view -0
839 .cfi_startproc
840 @ args = 4, pretend = 0, frame = 0
841 @ frame_needed = 0, uses_anonymous_args = 0
6370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
842 .loc 1 6370 1 is_stmt 0 view .LVU277
843 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
844 .LCFI4:
845 .cfi_def_cfa_offset 24
846 .cfi_offset 4, -24
847 .cfi_offset 5, -20
848 .cfi_offset 6, -16
849 .cfi_offset 7, -12
850 .cfi_offset 8, -8
851 .cfi_offset 14, -4
852 0004 0646 mov r6, r0
853 0006 8846 mov r8, r1
854 0008 1746 mov r7, r2
855 000a 1D46 mov r5, r3
6371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
856 .loc 1 6371 3 is_stmt 1 view .LVU278
857 .LVL76:
858 .L74:
6371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
859 .loc 1 6371 41 view .LVU279
6371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
860 .loc 1 6371 10 is_stmt 0 view .LVU280
861 000c 3468 ldr r4, [r6]
862 000e A469 ldr r4, [r4, #24]
863 0010 38EA0404 bics r4, r8, r4
864 0014 0CBF ite eq
865 0016 0124 moveq r4, #1
866 0018 0024 movne r4, #0
6371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
867 .loc 1 6371 41 view .LVU281
868 001a BC42 cmp r4, r7
869 001c 18D1 bne .L79
6374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
870 .loc 1 6374 5 is_stmt 1 view .LVU282
6374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
871 .loc 1 6374 8 is_stmt 0 view .LVU283
872 001e B5F1FF3F cmp r5, #-1
ARM GAS /tmp/ccbUHtu7.s page 140
873 0022 F3D0 beq .L74
6376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
874 .loc 1 6376 7 is_stmt 1 view .LVU284
6376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
875 .loc 1 6376 13 is_stmt 0 view .LVU285
876 0024 FFF7FEFF bl HAL_GetTick
877 .LVL77:
6376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
878 .loc 1 6376 27 view .LVU286
879 0028 069B ldr r3, [sp, #24]
880 002a C01A subs r0, r0, r3
6376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
881 .loc 1 6376 10 view .LVU287
882 002c A842 cmp r0, r5
883 002e 01D8 bhi .L75
6376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
884 .loc 1 6376 51 discriminator 1 view .LVU288
885 0030 002D cmp r5, #0
886 0032 EBD1 bne .L74
887 .L75:
6378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
888 .loc 1 6378 9 is_stmt 1 view .LVU289
6378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
889 .loc 1 6378 13 is_stmt 0 view .LVU290
890 0034 736C ldr r3, [r6, #68]
6378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
891 .loc 1 6378 25 view .LVU291
892 0036 43F02003 orr r3, r3, #32
893 003a 7364 str r3, [r6, #68]
6379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
894 .loc 1 6379 9 is_stmt 1 view .LVU292
6379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
895 .loc 1 6379 21 is_stmt 0 view .LVU293
896 003c 2023 movs r3, #32
897 003e 86F84130 strb r3, [r6, #65]
6380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
898 .loc 1 6380 9 is_stmt 1 view .LVU294
6380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
899 .loc 1 6380 20 is_stmt 0 view .LVU295
900 0042 0023 movs r3, #0
901 0044 86F84230 strb r3, [r6, #66]
6383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
902 .loc 1 6383 9 is_stmt 1 view .LVU296
6383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
903 .loc 1 6383 9 view .LVU297
904 0048 86F84030 strb r3, [r6, #64]
6383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
905 .loc 1 6383 9 view .LVU298
6384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
906 .loc 1 6384 9 view .LVU299
6384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
907 .loc 1 6384 16 is_stmt 0 view .LVU300
908 004c 0120 movs r0, #1
909 004e 00E0 b .L76
910 .L79:
6388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
911 .loc 1 6388 10 view .LVU301
ARM GAS /tmp/ccbUHtu7.s page 141
912 0050 0020 movs r0, #0
913 .L76:
6389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
914 .loc 1 6389 1 view .LVU302
915 0052 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
6389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
916 .loc 1 6389 1 view .LVU303
917 .cfi_endproc
918 .LFE399:
920 .section .text.I2C_RequestMemoryWrite,"ax",%progbits
921 .align 1
922 .syntax unified
923 .thumb
924 .thumb_func
926 I2C_RequestMemoryWrite:
927 .LVL78:
928 .LFB382:
5318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
929 .loc 1 5318 1 is_stmt 1 view -0
930 .cfi_startproc
931 @ args = 8, pretend = 0, frame = 0
932 @ frame_needed = 0, uses_anonymous_args = 0
5318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
933 .loc 1 5318 1 is_stmt 0 view .LVU305
934 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
935 .LCFI5:
936 .cfi_def_cfa_offset 24
937 .cfi_offset 4, -24
938 .cfi_offset 5, -20
939 .cfi_offset 6, -16
940 .cfi_offset 7, -12
941 .cfi_offset 8, -8
942 .cfi_offset 14, -4
943 0004 82B0 sub sp, sp, #8
944 .LCFI6:
945 .cfi_def_cfa_offset 32
946 0006 0446 mov r4, r0
947 0008 9046 mov r8, r2
948 000a 1D46 mov r5, r3
949 000c 089E ldr r6, [sp, #32]
950 000e 099F ldr r7, [sp, #36]
5319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
951 .loc 1 5319 3 is_stmt 1 view .LVU306
952 0010 194B ldr r3, .L89
953 .LVL79:
5319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
954 .loc 1 5319 3 is_stmt 0 view .LVU307
955 0012 0093 str r3, [sp]
956 0014 4FF08073 mov r3, #16777216
957 0018 EAB2 uxtb r2, r5
958 .LVL80:
5319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
959 .loc 1 5319 3 view .LVU308
960 001a FFF7FEFF bl I2C_TransferConfig
961 .LVL81:
5322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
962 .loc 1 5322 3 is_stmt 1 view .LVU309
ARM GAS /tmp/ccbUHtu7.s page 142
5322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
963 .loc 1 5322 7 is_stmt 0 view .LVU310
964 001e 3A46 mov r2, r7
965 0020 3146 mov r1, r6
966 0022 2046 mov r0, r4
967 0024 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
968 .LVL82:
5322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
969 .loc 1 5322 6 view .LVU311
970 0028 F8B9 cbnz r0, .L84
5328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
971 .loc 1 5328 3 is_stmt 1 view .LVU312
5328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
972 .loc 1 5328 6 is_stmt 0 view .LVU313
973 002a 012D cmp r5, #1
974 002c 0ED1 bne .L82
5331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
975 .loc 1 5331 5 is_stmt 1 view .LVU314
5331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
976 .loc 1 5331 9 is_stmt 0 view .LVU315
977 002e 2368 ldr r3, [r4]
5331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
978 .loc 1 5331 28 view .LVU316
979 0030 5FFA88F2 uxtb r2, r8
5331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
980 .loc 1 5331 26 view .LVU317
981 0034 9A62 str r2, [r3, #40]
982 .L83:
5350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
983 .loc 1 5350 3 is_stmt 1 view .LVU318
5350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
984 .loc 1 5350 7 is_stmt 0 view .LVU319
985 0036 0097 str r7, [sp]
986 0038 3346 mov r3, r6
987 003a 0022 movs r2, #0
988 003c 8021 movs r1, #128
989 003e 2046 mov r0, r4
990 0040 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
991 .LVL83:
5350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
992 .loc 1 5350 6 view .LVU320
993 0044 A8B9 cbnz r0, .L88
994 .L81:
5356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
995 .loc 1 5356 1 view .LVU321
996 0046 02B0 add sp, sp, #8
997 .LCFI7:
998 .cfi_remember_state
999 .cfi_def_cfa_offset 24
1000 @ sp needed
1001 0048 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1002 .LVL84:
1003 .L82:
1004 .LCFI8:
1005 .cfi_restore_state
5337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1006 .loc 1 5337 5 is_stmt 1 view .LVU322
ARM GAS /tmp/ccbUHtu7.s page 143
5337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1007 .loc 1 5337 9 is_stmt 0 view .LVU323
1008 004c 2368 ldr r3, [r4]
5337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1009 .loc 1 5337 28 view .LVU324
1010 004e 4FEA1822 lsr r2, r8, #8
5337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1011 .loc 1 5337 26 view .LVU325
1012 0052 9A62 str r2, [r3, #40]
5340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1013 .loc 1 5340 5 is_stmt 1 view .LVU326
5340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1014 .loc 1 5340 9 is_stmt 0 view .LVU327
1015 0054 3A46 mov r2, r7
1016 0056 3146 mov r1, r6
1017 0058 2046 mov r0, r4
1018 005a FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1019 .LVL85:
5340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1020 .loc 1 5340 8 view .LVU328
1021 005e 30B9 cbnz r0, .L85
5346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1022 .loc 1 5346 5 is_stmt 1 view .LVU329
5346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1023 .loc 1 5346 9 is_stmt 0 view .LVU330
1024 0060 2368 ldr r3, [r4]
5346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1025 .loc 1 5346 28 view .LVU331
1026 0062 5FFA88F2 uxtb r2, r8
5346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1027 .loc 1 5346 26 view .LVU332
1028 0066 9A62 str r2, [r3, #40]
1029 0068 E5E7 b .L83
1030 .L84:
5324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1031 .loc 1 5324 12 view .LVU333
1032 006a 0120 movs r0, #1
1033 006c EBE7 b .L81
1034 .L85:
5342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1035 .loc 1 5342 14 view .LVU334
1036 006e 0120 movs r0, #1
1037 0070 E9E7 b .L81
1038 .L88:
5352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1039 .loc 1 5352 12 view .LVU335
1040 0072 0120 movs r0, #1
1041 0074 E7E7 b .L81
1042 .L90:
1043 0076 00BF .align 2
1044 .L89:
1045 0078 00200080 .word -2147475456
1046 .cfi_endproc
1047 .LFE382:
1049 .section .text.I2C_RequestMemoryRead,"ax",%progbits
1050 .align 1
1051 .syntax unified
ARM GAS /tmp/ccbUHtu7.s page 144
1052 .thumb
1053 .thumb_func
1055 I2C_RequestMemoryRead:
1056 .LVL86:
1057 .LFB383:
5373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
1058 .loc 1 5373 1 is_stmt 1 view -0
1059 .cfi_startproc
1060 @ args = 8, pretend = 0, frame = 0
1061 @ frame_needed = 0, uses_anonymous_args = 0
5373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
1062 .loc 1 5373 1 is_stmt 0 view .LVU337
1063 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1064 .LCFI9:
1065 .cfi_def_cfa_offset 24
1066 .cfi_offset 4, -24
1067 .cfi_offset 5, -20
1068 .cfi_offset 6, -16
1069 .cfi_offset 7, -12
1070 .cfi_offset 8, -8
1071 .cfi_offset 14, -4
1072 0004 82B0 sub sp, sp, #8
1073 .LCFI10:
1074 .cfi_def_cfa_offset 32
1075 0006 0446 mov r4, r0
1076 0008 9046 mov r8, r2
1077 000a 1D46 mov r5, r3
1078 000c 089E ldr r6, [sp, #32]
1079 000e 099F ldr r7, [sp, #36]
5374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1080 .loc 1 5374 3 is_stmt 1 view .LVU338
1081 0010 184B ldr r3, .L100
1082 .LVL87:
5374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1083 .loc 1 5374 3 is_stmt 0 view .LVU339
1084 0012 0093 str r3, [sp]
1085 0014 0023 movs r3, #0
1086 0016 EAB2 uxtb r2, r5
1087 .LVL88:
5374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1088 .loc 1 5374 3 view .LVU340
1089 0018 FFF7FEFF bl I2C_TransferConfig
1090 .LVL89:
5377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1091 .loc 1 5377 3 is_stmt 1 view .LVU341
5377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1092 .loc 1 5377 7 is_stmt 0 view .LVU342
1093 001c 3A46 mov r2, r7
1094 001e 3146 mov r1, r6
1095 0020 2046 mov r0, r4
1096 0022 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1097 .LVL90:
5377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1098 .loc 1 5377 6 view .LVU343
1099 0026 F8B9 cbnz r0, .L95
5383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1100 .loc 1 5383 3 is_stmt 1 view .LVU344
ARM GAS /tmp/ccbUHtu7.s page 145
5383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1101 .loc 1 5383 6 is_stmt 0 view .LVU345
1102 0028 012D cmp r5, #1
1103 002a 0ED1 bne .L93
5386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1104 .loc 1 5386 5 is_stmt 1 view .LVU346
5386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1105 .loc 1 5386 9 is_stmt 0 view .LVU347
1106 002c 2368 ldr r3, [r4]
5386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1107 .loc 1 5386 28 view .LVU348
1108 002e 5FFA88F2 uxtb r2, r8
5386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1109 .loc 1 5386 26 view .LVU349
1110 0032 9A62 str r2, [r3, #40]
1111 .L94:
5405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1112 .loc 1 5405 3 is_stmt 1 view .LVU350
5405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1113 .loc 1 5405 7 is_stmt 0 view .LVU351
1114 0034 0097 str r7, [sp]
1115 0036 3346 mov r3, r6
1116 0038 0022 movs r2, #0
1117 003a 4021 movs r1, #64
1118 003c 2046 mov r0, r4
1119 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1120 .LVL91:
5405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1121 .loc 1 5405 6 view .LVU352
1122 0042 A8B9 cbnz r0, .L99
1123 .L92:
5411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1124 .loc 1 5411 1 view .LVU353
1125 0044 02B0 add sp, sp, #8
1126 .LCFI11:
1127 .cfi_remember_state
1128 .cfi_def_cfa_offset 24
1129 @ sp needed
1130 0046 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1131 .LVL92:
1132 .L93:
1133 .LCFI12:
1134 .cfi_restore_state
5392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1135 .loc 1 5392 5 is_stmt 1 view .LVU354
5392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1136 .loc 1 5392 9 is_stmt 0 view .LVU355
1137 004a 2368 ldr r3, [r4]
5392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1138 .loc 1 5392 28 view .LVU356
1139 004c 4FEA1822 lsr r2, r8, #8
5392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1140 .loc 1 5392 26 view .LVU357
1141 0050 9A62 str r2, [r3, #40]
5395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1142 .loc 1 5395 5 is_stmt 1 view .LVU358
5395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 146
1143 .loc 1 5395 9 is_stmt 0 view .LVU359
1144 0052 3A46 mov r2, r7
1145 0054 3146 mov r1, r6
1146 0056 2046 mov r0, r4
1147 0058 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1148 .LVL93:
5395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1149 .loc 1 5395 8 view .LVU360
1150 005c 30B9 cbnz r0, .L96
5401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1151 .loc 1 5401 5 is_stmt 1 view .LVU361
5401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1152 .loc 1 5401 9 is_stmt 0 view .LVU362
1153 005e 2368 ldr r3, [r4]
5401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1154 .loc 1 5401 28 view .LVU363
1155 0060 5FFA88F2 uxtb r2, r8
5401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1156 .loc 1 5401 26 view .LVU364
1157 0064 9A62 str r2, [r3, #40]
1158 0066 E5E7 b .L94
1159 .L95:
5379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1160 .loc 1 5379 12 view .LVU365
1161 0068 0120 movs r0, #1
1162 006a EBE7 b .L92
1163 .L96:
5397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1164 .loc 1 5397 14 view .LVU366
1165 006c 0120 movs r0, #1
1166 006e E9E7 b .L92
1167 .L99:
5407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1168 .loc 1 5407 12 view .LVU367
1169 0070 0120 movs r0, #1
1170 0072 E7E7 b .L92
1171 .L101:
1172 .align 2
1173 .L100:
1174 0074 00200080 .word -2147475456
1175 .cfi_endproc
1176 .LFE383:
1178 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
1179 .align 1
1180 .syntax unified
1181 .thumb
1182 .thumb_func
1184 I2C_WaitOnSTOPFlagUntilTimeout:
1185 .LVL94:
1186 .LFB401:
6439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
1187 .loc 1 6439 1 is_stmt 1 view -0
1188 .cfi_startproc
1189 @ args = 0, pretend = 0, frame = 0
1190 @ frame_needed = 0, uses_anonymous_args = 0
6439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
1191 .loc 1 6439 1 is_stmt 0 view .LVU369
ARM GAS /tmp/ccbUHtu7.s page 147
1192 0000 70B5 push {r4, r5, r6, lr}
1193 .LCFI13:
1194 .cfi_def_cfa_offset 16
1195 .cfi_offset 4, -16
1196 .cfi_offset 5, -12
1197 .cfi_offset 6, -8
1198 .cfi_offset 14, -4
1199 0002 0546 mov r5, r0
1200 0004 0C46 mov r4, r1
1201 0006 1646 mov r6, r2
6440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1202 .loc 1 6440 3 is_stmt 1 view .LVU370
1203 .LVL95:
1204 .L103:
6440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1205 .loc 1 6440 51 view .LVU371
6440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1206 .loc 1 6440 10 is_stmt 0 view .LVU372
1207 0008 2B68 ldr r3, [r5]
1208 000a 9B69 ldr r3, [r3, #24]
6440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1209 .loc 1 6440 51 view .LVU373
1210 000c 13F0200F tst r3, #32
1211 0010 1AD1 bne .L109
6443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1212 .loc 1 6443 5 is_stmt 1 view .LVU374
6443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1213 .loc 1 6443 9 is_stmt 0 view .LVU375
1214 0012 3246 mov r2, r6
1215 0014 2146 mov r1, r4
1216 0016 2846 mov r0, r5
1217 0018 FFF7FEFF bl I2C_IsErrorOccurred
1218 .LVL96:
6443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1219 .loc 1 6443 8 view .LVU376
1220 001c B0B9 cbnz r0, .L107
6449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1221 .loc 1 6449 5 is_stmt 1 view .LVU377
6449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1222 .loc 1 6449 11 is_stmt 0 view .LVU378
1223 001e FFF7FEFF bl HAL_GetTick
1224 .LVL97:
6449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1225 .loc 1 6449 25 view .LVU379
1226 0022 801B subs r0, r0, r6
6449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1227 .loc 1 6449 8 view .LVU380
1228 0024 A042 cmp r0, r4
1229 0026 01D8 bhi .L105
6449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1230 .loc 1 6449 49 discriminator 1 view .LVU381
1231 0028 002C cmp r4, #0
1232 002a EDD1 bne .L103
1233 .L105:
6451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1234 .loc 1 6451 7 is_stmt 1 view .LVU382
6451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS /tmp/ccbUHtu7.s page 148
1235 .loc 1 6451 11 is_stmt 0 view .LVU383
1236 002c 6B6C ldr r3, [r5, #68]
6451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1237 .loc 1 6451 23 view .LVU384
1238 002e 43F02003 orr r3, r3, #32
1239 0032 6B64 str r3, [r5, #68]
6452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1240 .loc 1 6452 7 is_stmt 1 view .LVU385
6452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1241 .loc 1 6452 19 is_stmt 0 view .LVU386
1242 0034 2023 movs r3, #32
1243 0036 85F84130 strb r3, [r5, #65]
6453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1244 .loc 1 6453 7 is_stmt 1 view .LVU387
6453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1245 .loc 1 6453 18 is_stmt 0 view .LVU388
1246 003a 0023 movs r3, #0
1247 003c 85F84230 strb r3, [r5, #66]
6456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1248 .loc 1 6456 7 is_stmt 1 view .LVU389
6456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1249 .loc 1 6456 7 view .LVU390
1250 0040 85F84030 strb r3, [r5, #64]
6456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1251 .loc 1 6456 7 view .LVU391
6458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1252 .loc 1 6458 7 view .LVU392
6458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1253 .loc 1 6458 14 is_stmt 0 view .LVU393
1254 0044 0120 movs r0, #1
1255 .L104:
6462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1256 .loc 1 6462 1 view .LVU394
1257 0046 70BD pop {r4, r5, r6, pc}
1258 .LVL98:
1259 .L109:
6461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1260 .loc 1 6461 10 view .LVU395
1261 0048 0020 movs r0, #0
1262 004a FCE7 b .L104
1263 .L107:
6445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1264 .loc 1 6445 14 view .LVU396
1265 004c 0120 movs r0, #1
1266 004e FAE7 b .L104
1267 .cfi_endproc
1268 .LFE401:
1270 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
1271 .align 1
1272 .syntax unified
1273 .thumb
1274 .thumb_func
1276 I2C_WaitOnRXNEFlagUntilTimeout:
1277 .LVL99:
1278 .LFB402:
6474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
1279 .loc 1 6474 1 is_stmt 1 view -0
ARM GAS /tmp/ccbUHtu7.s page 149
1280 .cfi_startproc
1281 @ args = 0, pretend = 0, frame = 0
1282 @ frame_needed = 0, uses_anonymous_args = 0
6474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
1283 .loc 1 6474 1 is_stmt 0 view .LVU398
1284 0000 70B5 push {r4, r5, r6, lr}
1285 .LCFI14:
1286 .cfi_def_cfa_offset 16
1287 .cfi_offset 4, -16
1288 .cfi_offset 5, -12
1289 .cfi_offset 6, -8
1290 .cfi_offset 14, -4
1291 0002 0446 mov r4, r0
1292 0004 0D46 mov r5, r1
1293 0006 1646 mov r6, r2
6475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1294 .loc 1 6475 3 is_stmt 1 view .LVU399
1295 .LVL100:
1296 .L111:
6475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1297 .loc 1 6475 50 view .LVU400
6475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1298 .loc 1 6475 10 is_stmt 0 view .LVU401
1299 0008 2368 ldr r3, [r4]
1300 000a 9B69 ldr r3, [r3, #24]
6475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1301 .loc 1 6475 50 view .LVU402
1302 000c 13F0040F tst r3, #4
1303 0010 49D1 bne .L121
6478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1304 .loc 1 6478 5 is_stmt 1 view .LVU403
6478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1305 .loc 1 6478 9 is_stmt 0 view .LVU404
1306 0012 3246 mov r2, r6
1307 0014 2946 mov r1, r5
1308 0016 2046 mov r0, r4
1309 0018 FFF7FEFF bl I2C_IsErrorOccurred
1310 .LVL101:
6478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1311 .loc 1 6478 8 view .LVU405
1312 001c 0146 mov r1, r0
1313 001e 0028 cmp r0, #0
1314 0020 43D1 bne .L119
6484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1315 .loc 1 6484 5 is_stmt 1 view .LVU406
6484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1316 .loc 1 6484 9 is_stmt 0 view .LVU407
1317 0022 2368 ldr r3, [r4]
1318 0024 9A69 ldr r2, [r3, #24]
6484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1319 .loc 1 6484 8 view .LVU408
1320 0026 12F0200F tst r2, #32
1321 002a 13D1 bne .L122
6523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1322 .loc 1 6523 5 is_stmt 1 view .LVU409
6523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1323 .loc 1 6523 11 is_stmt 0 view .LVU410
ARM GAS /tmp/ccbUHtu7.s page 150
1324 002c FFF7FEFF bl HAL_GetTick
1325 .LVL102:
6523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1326 .loc 1 6523 25 view .LVU411
1327 0030 801B subs r0, r0, r6
6523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1328 .loc 1 6523 8 view .LVU412
1329 0032 A842 cmp r0, r5
1330 0034 01D8 bhi .L117
6523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1331 .loc 1 6523 49 discriminator 1 view .LVU413
1332 0036 002D cmp r5, #0
1333 0038 E6D1 bne .L111
1334 .L117:
6525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1335 .loc 1 6525 7 is_stmt 1 view .LVU414
6525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1336 .loc 1 6525 11 is_stmt 0 view .LVU415
1337 003a 636C ldr r3, [r4, #68]
6525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1338 .loc 1 6525 23 view .LVU416
1339 003c 43F02003 orr r3, r3, #32
1340 0040 6364 str r3, [r4, #68]
6526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1341 .loc 1 6526 7 is_stmt 1 view .LVU417
6526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1342 .loc 1 6526 19 is_stmt 0 view .LVU418
1343 0042 2023 movs r3, #32
1344 0044 84F84130 strb r3, [r4, #65]
6529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1345 .loc 1 6529 7 is_stmt 1 view .LVU419
6529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1346 .loc 1 6529 7 view .LVU420
1347 0048 0023 movs r3, #0
1348 004a 84F84030 strb r3, [r4, #64]
6529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1349 .loc 1 6529 7 view .LVU421
6531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1350 .loc 1 6531 7 view .LVU422
6531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1351 .loc 1 6531 14 is_stmt 0 view .LVU423
1352 004e 0121 movs r1, #1
1353 .L112:
6535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1354 .loc 1 6535 1 view .LVU424
1355 0050 0846 mov r0, r1
1356 0052 70BD pop {r4, r5, r6, pc}
1357 .LVL103:
1358 .L122:
6488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1359 .loc 1 6488 7 is_stmt 1 view .LVU425
6488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1360 .loc 1 6488 12 is_stmt 0 view .LVU426
1361 0054 9A69 ldr r2, [r3, #24]
6488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1362 .loc 1 6488 10 view .LVU427
1363 0056 12F0040F tst r2, #4
ARM GAS /tmp/ccbUHtu7.s page 151
1364 005a 02D0 beq .L114
6488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1365 .loc 1 6488 68 discriminator 1 view .LVU428
1366 005c 228D ldrh r2, [r4, #40]
6488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1367 .loc 1 6488 60 discriminator 1 view .LVU429
1368 005e 002A cmp r2, #0
1369 0060 F6D1 bne .L112
1370 .L114:
6496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1371 .loc 1 6496 9 is_stmt 1 view .LVU430
6496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1372 .loc 1 6496 13 is_stmt 0 view .LVU431
1373 0062 9A69 ldr r2, [r3, #24]
6496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1374 .loc 1 6496 12 view .LVU432
1375 0064 12F0100F tst r2, #16
1376 0068 1AD0 beq .L115
6498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
1377 .loc 1 6498 11 is_stmt 1 view .LVU433
1378 006a 1022 movs r2, #16
1379 006c DA61 str r2, [r3, #28]
6499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1380 .loc 1 6499 11 view .LVU434
6499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1381 .loc 1 6499 27 is_stmt 0 view .LVU435
1382 006e 0423 movs r3, #4
1383 0070 6364 str r3, [r4, #68]
1384 .L116:
6507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1385 .loc 1 6507 9 is_stmt 1 view .LVU436
1386 0072 2368 ldr r3, [r4]
1387 0074 2022 movs r2, #32
1388 0076 DA61 str r2, [r3, #28]
6510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1389 .loc 1 6510 9 view .LVU437
1390 0078 2168 ldr r1, [r4]
1391 007a 4B68 ldr r3, [r1, #4]
1392 007c 23F0FF73 bic r3, r3, #33423360
1393 0080 23F48B33 bic r3, r3, #71168
1394 0084 23F4FF73 bic r3, r3, #510
1395 0088 23F00103 bic r3, r3, #1
1396 008c 4B60 str r3, [r1, #4]
6512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1397 .loc 1 6512 9 view .LVU438
6512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1398 .loc 1 6512 21 is_stmt 0 view .LVU439
1399 008e 84F84120 strb r2, [r4, #65]
6513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1400 .loc 1 6513 9 is_stmt 1 view .LVU440
6513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1401 .loc 1 6513 20 is_stmt 0 view .LVU441
1402 0092 0023 movs r3, #0
1403 0094 84F84230 strb r3, [r4, #66]
6516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1404 .loc 1 6516 9 is_stmt 1 view .LVU442
6516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 152
1405 .loc 1 6516 9 view .LVU443
1406 0098 84F84030 strb r3, [r4, #64]
6516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1407 .loc 1 6516 9 view .LVU444
6518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1408 .loc 1 6518 9 view .LVU445
6518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1409 .loc 1 6518 16 is_stmt 0 view .LVU446
1410 009c 0121 movs r1, #1
1411 009e D7E7 b .L112
1412 .L115:
6503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1413 .loc 1 6503 11 is_stmt 1 view .LVU447
6503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1414 .loc 1 6503 27 is_stmt 0 view .LVU448
1415 00a0 0023 movs r3, #0
1416 00a2 6364 str r3, [r4, #68]
1417 00a4 E5E7 b .L116
1418 .L121:
6534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1419 .loc 1 6534 10 view .LVU449
1420 00a6 0021 movs r1, #0
1421 00a8 D2E7 b .L112
1422 .L119:
6480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1423 .loc 1 6480 14 view .LVU450
1424 00aa 0121 movs r1, #1
1425 00ac D0E7 b .L112
1426 .cfi_endproc
1427 .LFE402:
1429 .section .text.HAL_I2C_MspInit,"ax",%progbits
1430 .align 1
1431 .weak HAL_I2C_MspInit
1432 .syntax unified
1433 .thumb
1434 .thumb_func
1436 HAL_I2C_MspInit:
1437 .LVL104:
1438 .LFB331:
681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
1439 .loc 1 681 1 is_stmt 1 view -0
1440 .cfi_startproc
1441 @ args = 0, pretend = 0, frame = 0
1442 @ frame_needed = 0, uses_anonymous_args = 0
1443 @ link register save eliminated.
683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1444 .loc 1 683 3 view .LVU452
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1445 .loc 1 688 1 is_stmt 0 view .LVU453
1446 0000 7047 bx lr
1447 .cfi_endproc
1448 .LFE331:
1450 .section .text.HAL_I2C_Init,"ax",%progbits
1451 .align 1
1452 .global HAL_I2C_Init
1453 .syntax unified
1454 .thumb
ARM GAS /tmp/ccbUHtu7.s page 153
1455 .thumb_func
1457 HAL_I2C_Init:
1458 .LVL105:
1459 .LFB329:
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the I2C handle allocation */
1460 .loc 1 525 1 is_stmt 1 view -0
1461 .cfi_startproc
1462 @ args = 0, pretend = 0, frame = 0
1463 @ frame_needed = 0, uses_anonymous_args = 0
527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1464 .loc 1 527 3 view .LVU455
527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1465 .loc 1 527 6 is_stmt 0 view .LVU456
1466 0000 0028 cmp r0, #0
1467 0002 59D0 beq .L130
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the I2C handle allocation */
1468 .loc 1 525 1 view .LVU457
1469 0004 10B5 push {r4, lr}
1470 .LCFI15:
1471 .cfi_def_cfa_offset 8
1472 .cfi_offset 4, -8
1473 .cfi_offset 14, -4
1474 0006 0446 mov r4, r0
533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
1475 .loc 1 533 3 is_stmt 1 view .LVU458
534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
1476 .loc 1 534 3 view .LVU459
535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
1477 .loc 1 535 3 view .LVU460
536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
1478 .loc 1 536 3 view .LVU461
537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
1479 .loc 1 537 3 view .LVU462
538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
1480 .loc 1 538 3 view .LVU463
539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
1481 .loc 1 539 3 view .LVU464
540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1482 .loc 1 540 3 view .LVU465
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1483 .loc 1 542 3 view .LVU466
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1484 .loc 1 542 11 is_stmt 0 view .LVU467
1485 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1486 .loc 1 542 6 view .LVU468
1487 000c 002B cmp r3, #0
1488 000e 43D0 beq .L135
1489 .LVL106:
1490 .L126:
573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1491 .loc 1 573 3 is_stmt 1 view .LVU469
573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1492 .loc 1 573 15 is_stmt 0 view .LVU470
1493 0010 2423 movs r3, #36
1494 0012 84F84130 strb r3, [r4, #65]
576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 154
1495 .loc 1 576 3 is_stmt 1 view .LVU471
1496 0016 2268 ldr r2, [r4]
1497 0018 1368 ldr r3, [r2]
1498 001a 23F00103 bic r3, r3, #1
1499 001e 1360 str r3, [r2]
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1500 .loc 1 580 3 view .LVU472
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1501 .loc 1 580 39 is_stmt 0 view .LVU473
1502 0020 6368 ldr r3, [r4, #4]
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1503 .loc 1 580 7 view .LVU474
1504 0022 2268 ldr r2, [r4]
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1505 .loc 1 580 47 view .LVU475
1506 0024 23F07063 bic r3, r3, #251658240
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1507 .loc 1 580 27 view .LVU476
1508 0028 1361 str r3, [r2, #16]
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1509 .loc 1 584 3 is_stmt 1 view .LVU477
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1510 .loc 1 584 7 is_stmt 0 view .LVU478
1511 002a 2268 ldr r2, [r4]
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1512 .loc 1 584 17 view .LVU479
1513 002c 9368 ldr r3, [r2, #8]
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1514 .loc 1 584 24 view .LVU480
1515 002e 23F40043 bic r3, r3, #32768
1516 0032 9360 str r3, [r2, #8]
587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1517 .loc 1 587 3 is_stmt 1 view .LVU481
587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1518 .loc 1 587 17 is_stmt 0 view .LVU482
1519 0034 E368 ldr r3, [r4, #12]
587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1520 .loc 1 587 6 view .LVU483
1521 0036 012B cmp r3, #1
1522 0038 33D0 beq .L136
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1523 .loc 1 593 5 is_stmt 1 view .LVU484
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1524 .loc 1 593 75 is_stmt 0 view .LVU485
1525 003a A368 ldr r3, [r4, #8]
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1526 .loc 1 593 9 view .LVU486
1527 003c 2268 ldr r2, [r4]
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1528 .loc 1 593 63 view .LVU487
1529 003e 43F40443 orr r3, r3, #33792
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1530 .loc 1 593 26 view .LVU488
1531 0042 9360 str r3, [r2, #8]
1532 .L128:
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1533 .loc 1 598 3 is_stmt 1 view .LVU489
ARM GAS /tmp/ccbUHtu7.s page 155
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1534 .loc 1 598 17 is_stmt 0 view .LVU490
1535 0044 E368 ldr r3, [r4, #12]
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1536 .loc 1 598 6 view .LVU491
1537 0046 022B cmp r3, #2
1538 0048 31D0 beq .L137
1539 .L129:
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1540 .loc 1 603 3 is_stmt 1 view .LVU492
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1541 .loc 1 603 7 is_stmt 0 view .LVU493
1542 004a 2268 ldr r2, [r4]
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1543 .loc 1 603 17 view .LVU494
1544 004c 5368 ldr r3, [r2, #4]
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1545 .loc 1 603 23 view .LVU495
1546 004e 43F00073 orr r3, r3, #33554432
1547 0052 43F40043 orr r3, r3, #32768
1548 0056 5360 str r3, [r2, #4]
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1549 .loc 1 607 3 is_stmt 1 view .LVU496
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1550 .loc 1 607 7 is_stmt 0 view .LVU497
1551 0058 2268 ldr r2, [r4]
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1552 .loc 1 607 17 view .LVU498
1553 005a D368 ldr r3, [r2, #12]
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1554 .loc 1 607 24 view .LVU499
1555 005c 23F40043 bic r3, r3, #32768
1556 0060 D360 str r3, [r2, #12]
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1557 .loc 1 610 3 is_stmt 1 view .LVU500
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1558 .loc 1 610 37 is_stmt 0 view .LVU501
1559 0062 2369 ldr r3, [r4, #16]
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1560 .loc 1 610 66 view .LVU502
1561 0064 6269 ldr r2, [r4, #20]
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1562 .loc 1 610 54 view .LVU503
1563 0066 1343 orrs r3, r3, r2
611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1564 .loc 1 611 38 view .LVU504
1565 0068 A169 ldr r1, [r4, #24]
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1566 .loc 1 610 7 view .LVU505
1567 006a 2268 ldr r2, [r4]
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1568 .loc 1 610 79 view .LVU506
1569 006c 43EA0123 orr r3, r3, r1, lsl #8
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1570 .loc 1 610 24 view .LVU507
1571 0070 D360 str r3, [r2, #12]
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 156
1572 .loc 1 615 3 is_stmt 1 view .LVU508
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1573 .loc 1 615 36 is_stmt 0 view .LVU509
1574 0072 E369 ldr r3, [r4, #28]
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1575 .loc 1 615 65 view .LVU510
1576 0074 216A ldr r1, [r4, #32]
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1577 .loc 1 615 7 view .LVU511
1578 0076 2268 ldr r2, [r4]
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1579 .loc 1 615 53 view .LVU512
1580 0078 0B43 orrs r3, r3, r1
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1581 .loc 1 615 23 view .LVU513
1582 007a 1360 str r3, [r2]
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1583 .loc 1 618 3 is_stmt 1 view .LVU514
1584 007c 2268 ldr r2, [r4]
1585 007e 1368 ldr r3, [r2]
1586 0080 43F00103 orr r3, r3, #1
1587 0084 1360 str r3, [r2]
620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1588 .loc 1 620 3 view .LVU515
620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1589 .loc 1 620 19 is_stmt 0 view .LVU516
1590 0086 0020 movs r0, #0
1591 0088 6064 str r0, [r4, #68]
621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1592 .loc 1 621 3 is_stmt 1 view .LVU517
621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1593 .loc 1 621 15 is_stmt 0 view .LVU518
1594 008a 2023 movs r3, #32
1595 008c 84F84130 strb r3, [r4, #65]
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1596 .loc 1 622 3 is_stmt 1 view .LVU519
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1597 .loc 1 622 23 is_stmt 0 view .LVU520
1598 0090 2063 str r0, [r4, #48]
623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1599 .loc 1 623 3 is_stmt 1 view .LVU521
623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1600 .loc 1 623 14 is_stmt 0 view .LVU522
1601 0092 84F84200 strb r0, [r4, #66]
625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1602 .loc 1 625 3 is_stmt 1 view .LVU523
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1603 .loc 1 626 1 is_stmt 0 view .LVU524
1604 0096 10BD pop {r4, pc}
1605 .LVL107:
1606 .L135:
545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1607 .loc 1 545 5 is_stmt 1 view .LVU525
545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1608 .loc 1 545 16 is_stmt 0 view .LVU526
1609 0098 80F84030 strb r3, [r0, #64]
569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
ARM GAS /tmp/ccbUHtu7.s page 157
1610 .loc 1 569 5 is_stmt 1 view .LVU527
1611 009c FFF7FEFF bl HAL_I2C_MspInit
1612 .LVL108:
569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1613 .loc 1 569 5 is_stmt 0 view .LVU528
1614 00a0 B6E7 b .L126
1615 .L136:
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1616 .loc 1 589 5 is_stmt 1 view .LVU529
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1617 .loc 1 589 56 is_stmt 0 view .LVU530
1618 00a2 A368 ldr r3, [r4, #8]
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1619 .loc 1 589 9 view .LVU531
1620 00a4 2268 ldr r2, [r4]
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1621 .loc 1 589 44 view .LVU532
1622 00a6 43F40043 orr r3, r3, #32768
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1623 .loc 1 589 26 view .LVU533
1624 00aa 9360 str r3, [r2, #8]
1625 00ac CAE7 b .L128
1626 .L137:
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1627 .loc 1 600 5 is_stmt 1 view .LVU534
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1628 .loc 1 600 9 is_stmt 0 view .LVU535
1629 00ae 2368 ldr r3, [r4]
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1630 .loc 1 600 25 view .LVU536
1631 00b0 4FF40062 mov r2, #2048
1632 00b4 5A60 str r2, [r3, #4]
1633 00b6 C8E7 b .L129
1634 .LVL109:
1635 .L130:
1636 .LCFI16:
1637 .cfi_def_cfa_offset 0
1638 .cfi_restore 4
1639 .cfi_restore 14
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1640 .loc 1 529 12 view .LVU537
1641 00b8 0120 movs r0, #1
1642 .LVL110:
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1643 .loc 1 626 1 view .LVU538
1644 00ba 7047 bx lr
1645 .cfi_endproc
1646 .LFE329:
1648 .section .text.HAL_I2C_MspDeInit,"ax",%progbits
1649 .align 1
1650 .weak HAL_I2C_MspDeInit
1651 .syntax unified
1652 .thumb
1653 .thumb_func
1655 HAL_I2C_MspDeInit:
1656 .LVL111:
1657 .LFB332:
ARM GAS /tmp/ccbUHtu7.s page 158
697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
1658 .loc 1 697 1 is_stmt 1 view -0
1659 .cfi_startproc
1660 @ args = 0, pretend = 0, frame = 0
1661 @ frame_needed = 0, uses_anonymous_args = 0
1662 @ link register save eliminated.
699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1663 .loc 1 699 3 view .LVU540
704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1664 .loc 1 704 1 is_stmt 0 view .LVU541
1665 0000 7047 bx lr
1666 .cfi_endproc
1667 .LFE332:
1669 .section .text.HAL_I2C_DeInit,"ax",%progbits
1670 .align 1
1671 .global HAL_I2C_DeInit
1672 .syntax unified
1673 .thumb
1674 .thumb_func
1676 HAL_I2C_DeInit:
1677 .LVL112:
1678 .LFB330:
635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the I2C handle allocation */
1679 .loc 1 635 1 is_stmt 1 view -0
1680 .cfi_startproc
1681 @ args = 0, pretend = 0, frame = 0
1682 @ frame_needed = 0, uses_anonymous_args = 0
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1683 .loc 1 637 3 view .LVU543
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1684 .loc 1 637 6 is_stmt 0 view .LVU544
1685 0000 A8B1 cbz r0, .L141
635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the I2C handle allocation */
1686 .loc 1 635 1 view .LVU545
1687 0002 10B5 push {r4, lr}
1688 .LCFI17:
1689 .cfi_def_cfa_offset 8
1690 .cfi_offset 4, -8
1691 .cfi_offset 14, -4
1692 0004 0446 mov r4, r0
643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1693 .loc 1 643 3 is_stmt 1 view .LVU546
645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1694 .loc 1 645 3 view .LVU547
645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1695 .loc 1 645 15 is_stmt 0 view .LVU548
1696 0006 2423 movs r3, #36
1697 0008 80F84130 strb r3, [r0, #65]
648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1698 .loc 1 648 3 is_stmt 1 view .LVU549
1699 000c 0268 ldr r2, [r0]
1700 000e 1368 ldr r3, [r2]
1701 0010 23F00103 bic r3, r3, #1
1702 0014 1360 str r3, [r2]
660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1703 .loc 1 660 3 view .LVU550
1704 0016 FFF7FEFF bl HAL_I2C_MspDeInit
ARM GAS /tmp/ccbUHtu7.s page 159
1705 .LVL113:
663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
1706 .loc 1 663 3 view .LVU551
663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
1707 .loc 1 663 19 is_stmt 0 view .LVU552
1708 001a 0020 movs r0, #0
1709 001c 6064 str r0, [r4, #68]
664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1710 .loc 1 664 3 is_stmt 1 view .LVU553
664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1711 .loc 1 664 15 is_stmt 0 view .LVU554
1712 001e 84F84100 strb r0, [r4, #65]
665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1713 .loc 1 665 3 is_stmt 1 view .LVU555
665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1714 .loc 1 665 23 is_stmt 0 view .LVU556
1715 0022 2063 str r0, [r4, #48]
666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1716 .loc 1 666 3 is_stmt 1 view .LVU557
666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1717 .loc 1 666 14 is_stmt 0 view .LVU558
1718 0024 84F84200 strb r0, [r4, #66]
669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1719 .loc 1 669 3 is_stmt 1 view .LVU559
669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1720 .loc 1 669 3 view .LVU560
1721 0028 84F84000 strb r0, [r4, #64]
669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1722 .loc 1 669 3 view .LVU561
671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1723 .loc 1 671 3 view .LVU562
672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1724 .loc 1 672 1 is_stmt 0 view .LVU563
1725 002c 10BD pop {r4, pc}
1726 .LVL114:
1727 .L141:
1728 .LCFI18:
1729 .cfi_def_cfa_offset 0
1730 .cfi_restore 4
1731 .cfi_restore 14
639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
1732 .loc 1 639 12 view .LVU564
1733 002e 0120 movs r0, #1
1734 .LVL115:
672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1735 .loc 1 672 1 view .LVU565
1736 0030 7047 bx lr
1737 .cfi_endproc
1738 .LFE330:
1740 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits
1741 .align 1
1742 .global HAL_I2C_Master_Transmit
1743 .syntax unified
1744 .thumb
1745 .thumb_func
1747 HAL_I2C_Master_Transmit:
1748 .LVL116:
ARM GAS /tmp/ccbUHtu7.s page 160
1749 .LFB333:
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
1750 .loc 1 1119 1 is_stmt 1 view -0
1751 .cfi_startproc
1752 @ args = 4, pretend = 0, frame = 0
1753 @ frame_needed = 0, uses_anonymous_args = 0
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
1754 .loc 1 1119 1 is_stmt 0 view .LVU567
1755 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
1756 .LCFI19:
1757 .cfi_def_cfa_offset 32
1758 .cfi_offset 4, -32
1759 .cfi_offset 5, -28
1760 .cfi_offset 6, -24
1761 .cfi_offset 7, -20
1762 .cfi_offset 8, -16
1763 .cfi_offset 9, -12
1764 .cfi_offset 10, -8
1765 .cfi_offset 14, -4
1766 0004 82B0 sub sp, sp, #8
1767 .LCFI20:
1768 .cfi_def_cfa_offset 40
1769 0006 0F46 mov r7, r1
1770 0008 0A9E ldr r6, [sp, #40]
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1771 .loc 1 1120 3 is_stmt 1 view .LVU568
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1772 .loc 1 1122 3 view .LVU569
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1773 .loc 1 1122 11 is_stmt 0 view .LVU570
1774 000a 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2
1775 .LVL117:
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1776 .loc 1 1122 11 view .LVU571
1777 000e C9B2 uxtb r1, r1
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1778 .loc 1 1122 6 view .LVU572
1779 0010 2029 cmp r1, #32
1780 0012 40F0A380 bne .L154
1781 0016 0446 mov r4, r0
1782 0018 9046 mov r8, r2
1783 001a 9946 mov r9, r3
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1784 .loc 1 1125 5 is_stmt 1 view .LVU573
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1785 .loc 1 1125 5 view .LVU574
1786 001c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
1787 .LVL118:
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1788 .loc 1 1125 5 is_stmt 0 view .LVU575
1789 0020 012B cmp r3, #1
1790 0022 00F09F80 beq .L155
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1791 .loc 1 1125 5 is_stmt 1 discriminator 2 view .LVU576
1792 0026 4FF0010A mov r10, #1
1793 002a 80F840A0 strb r10, [r0, #64]
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 161
1794 .loc 1 1125 5 discriminator 2 view .LVU577
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1795 .loc 1 1128 5 discriminator 2 view .LVU578
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1796 .loc 1 1128 17 is_stmt 0 discriminator 2 view .LVU579
1797 002e FFF7FEFF bl HAL_GetTick
1798 .LVL119:
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1799 .loc 1 1128 17 discriminator 2 view .LVU580
1800 0032 0546 mov r5, r0
1801 .LVL120:
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1802 .loc 1 1130 5 is_stmt 1 discriminator 2 view .LVU581
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1803 .loc 1 1130 9 is_stmt 0 discriminator 2 view .LVU582
1804 0034 0090 str r0, [sp]
1805 0036 1923 movs r3, #25
1806 0038 5246 mov r2, r10
1807 003a 4FF40041 mov r1, #32768
1808 003e 2046 mov r0, r4
1809 .LVL121:
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1810 .loc 1 1130 9 discriminator 2 view .LVU583
1811 0040 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1812 .LVL122:
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1813 .loc 1 1130 8 discriminator 2 view .LVU584
1814 0044 0028 cmp r0, #0
1815 0046 40F08F80 bne .L156
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1816 .loc 1 1135 5 is_stmt 1 view .LVU585
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1817 .loc 1 1135 21 is_stmt 0 view .LVU586
1818 004a 2123 movs r3, #33
1819 004c 84F84130 strb r3, [r4, #65]
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1820 .loc 1 1136 5 is_stmt 1 view .LVU587
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1821 .loc 1 1136 21 is_stmt 0 view .LVU588
1822 0050 1023 movs r3, #16
1823 0052 84F84230 strb r3, [r4, #66]
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1824 .loc 1 1137 5 is_stmt 1 view .LVU589
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1825 .loc 1 1137 21 is_stmt 0 view .LVU590
1826 0056 0023 movs r3, #0
1827 0058 6364 str r3, [r4, #68]
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1828 .loc 1 1140 5 is_stmt 1 view .LVU591
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
1829 .loc 1 1140 21 is_stmt 0 view .LVU592
1830 005a C4F82480 str r8, [r4, #36]
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
1831 .loc 1 1141 5 is_stmt 1 view .LVU593
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
1832 .loc 1 1141 21 is_stmt 0 view .LVU594
1833 005e A4F82A90 strh r9, [r4, #42] @ movhi
ARM GAS /tmp/ccbUHtu7.s page 162
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1834 .loc 1 1142 5 is_stmt 1 view .LVU595
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1835 .loc 1 1142 21 is_stmt 0 view .LVU596
1836 0062 6363 str r3, [r4, #52]
1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1837 .loc 1 1146 5 is_stmt 1 view .LVU597
1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1838 .loc 1 1146 13 is_stmt 0 view .LVU598
1839 0064 638D ldrh r3, [r4, #42]
1840 0066 9BB2 uxth r3, r3
1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1841 .loc 1 1146 8 view .LVU599
1842 0068 FF2B cmp r3, #255
1843 006a 0AD9 bls .L148
1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1844 .loc 1 1148 7 is_stmt 1 view .LVU600
1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1845 .loc 1 1148 22 is_stmt 0 view .LVU601
1846 006c FF22 movs r2, #255
1847 006e 2285 strh r2, [r4, #40] @ movhi
1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1848 .loc 1 1149 7 is_stmt 1 view .LVU602
1849 0070 414B ldr r3, .L162
1850 0072 0093 str r3, [sp]
1851 0074 4FF08073 mov r3, #16777216
1852 0078 3946 mov r1, r7
1853 007a 2046 mov r0, r4
1854 007c FFF7FEFF bl I2C_TransferConfig
1855 .LVL123:
1856 0080 18E0 b .L150
1857 .L148:
1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1858 .loc 1 1154 7 view .LVU603
1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1859 .loc 1 1154 28 is_stmt 0 view .LVU604
1860 0082 628D ldrh r2, [r4, #42]
1861 0084 92B2 uxth r2, r2
1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1862 .loc 1 1154 22 view .LVU605
1863 0086 2285 strh r2, [r4, #40] @ movhi
1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1864 .loc 1 1155 7 is_stmt 1 view .LVU606
1865 0088 3B4B ldr r3, .L162
1866 008a 0093 str r3, [sp]
1867 008c 4FF00073 mov r3, #33554432
1868 0090 D2B2 uxtb r2, r2
1869 0092 3946 mov r1, r7
1870 0094 2046 mov r0, r4
1871 0096 FFF7FEFF bl I2C_TransferConfig
1872 .LVL124:
1873 009a 0BE0 b .L150
1874 .L152:
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1875 .loc 1 1191 11 view .LVU607
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1876 .loc 1 1191 32 is_stmt 0 view .LVU608
ARM GAS /tmp/ccbUHtu7.s page 163
1877 009c 628D ldrh r2, [r4, #42]
1878 009e 92B2 uxth r2, r2
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1879 .loc 1 1191 26 view .LVU609
1880 00a0 2285 strh r2, [r4, #40] @ movhi
1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1881 .loc 1 1192 11 is_stmt 1 view .LVU610
1882 00a2 0023 movs r3, #0
1883 00a4 0093 str r3, [sp]
1884 00a6 4FF00073 mov r3, #33554432
1885 00aa D2B2 uxtb r2, r2
1886 00ac 3946 mov r1, r7
1887 00ae 2046 mov r0, r4
1888 00b0 FFF7FEFF bl I2C_TransferConfig
1889 .LVL125:
1890 .L150:
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1891 .loc 1 1159 28 view .LVU611
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1892 .loc 1 1159 16 is_stmt 0 view .LVU612
1893 00b4 638D ldrh r3, [r4, #42]
1894 00b6 9BB2 uxth r3, r3
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1895 .loc 1 1159 28 view .LVU613
1896 00b8 002B cmp r3, #0
1897 00ba 33D0 beq .L161
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1898 .loc 1 1162 7 is_stmt 1 view .LVU614
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1899 .loc 1 1162 11 is_stmt 0 view .LVU615
1900 00bc 2A46 mov r2, r5
1901 00be 3146 mov r1, r6
1902 00c0 2046 mov r0, r4
1903 00c2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1904 .LVL126:
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1905 .loc 1 1162 10 view .LVU616
1906 00c6 0028 cmp r0, #0
1907 00c8 50D1 bne .L157
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1908 .loc 1 1167 7 is_stmt 1 view .LVU617
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1909 .loc 1 1167 35 is_stmt 0 view .LVU618
1910 00ca 626A ldr r2, [r4, #36]
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1911 .loc 1 1167 11 view .LVU619
1912 00cc 2368 ldr r3, [r4]
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1913 .loc 1 1167 30 view .LVU620
1914 00ce 1278 ldrb r2, [r2] @ zero_extendqisi2
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1915 .loc 1 1167 28 view .LVU621
1916 00d0 9A62 str r2, [r3, #40]
1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1917 .loc 1 1170 7 is_stmt 1 view .LVU622
1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1918 .loc 1 1170 11 is_stmt 0 view .LVU623
ARM GAS /tmp/ccbUHtu7.s page 164
1919 00d2 636A ldr r3, [r4, #36]
1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1920 .loc 1 1170 21 view .LVU624
1921 00d4 0133 adds r3, r3, #1
1922 00d6 6362 str r3, [r4, #36]
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
1923 .loc 1 1172 7 is_stmt 1 view .LVU625
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
1924 .loc 1 1172 11 is_stmt 0 view .LVU626
1925 00d8 638D ldrh r3, [r4, #42]
1926 00da 9BB2 uxth r3, r3
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
1927 .loc 1 1172 22 view .LVU627
1928 00dc 013B subs r3, r3, #1
1929 00de 9BB2 uxth r3, r3
1930 00e0 6385 strh r3, [r4, #42] @ movhi
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1931 .loc 1 1173 7 is_stmt 1 view .LVU628
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1932 .loc 1 1173 11 is_stmt 0 view .LVU629
1933 00e2 238D ldrh r3, [r4, #40]
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1934 .loc 1 1173 21 view .LVU630
1935 00e4 013B subs r3, r3, #1
1936 00e6 9BB2 uxth r3, r3
1937 00e8 2385 strh r3, [r4, #40] @ movhi
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1938 .loc 1 1175 7 is_stmt 1 view .LVU631
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1939 .loc 1 1175 16 is_stmt 0 view .LVU632
1940 00ea 628D ldrh r2, [r4, #42]
1941 00ec 92B2 uxth r2, r2
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1942 .loc 1 1175 10 view .LVU633
1943 00ee 002A cmp r2, #0
1944 00f0 E0D0 beq .L150
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1945 .loc 1 1175 35 discriminator 1 view .LVU634
1946 00f2 002B cmp r3, #0
1947 00f4 DED1 bne .L150
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1948 .loc 1 1178 9 is_stmt 1 view .LVU635
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1949 .loc 1 1178 13 is_stmt 0 view .LVU636
1950 00f6 0095 str r5, [sp]
1951 00f8 3346 mov r3, r6
1952 00fa 0022 movs r2, #0
1953 00fc 8021 movs r1, #128
1954 00fe 2046 mov r0, r4
1955 0100 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1956 .LVL127:
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1957 .loc 1 1178 12 view .LVU637
1958 0104 A0BB cbnz r0, .L158
1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1959 .loc 1 1183 9 is_stmt 1 view .LVU638
1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 165
1960 .loc 1 1183 17 is_stmt 0 view .LVU639
1961 0106 638D ldrh r3, [r4, #42]
1962 0108 9BB2 uxth r3, r3
1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1963 .loc 1 1183 12 view .LVU640
1964 010a FF2B cmp r3, #255
1965 010c C6D9 bls .L152
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1966 .loc 1 1185 11 is_stmt 1 view .LVU641
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1967 .loc 1 1185 26 is_stmt 0 view .LVU642
1968 010e FF22 movs r2, #255
1969 0110 2285 strh r2, [r4, #40] @ movhi
1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1970 .loc 1 1186 11 is_stmt 1 view .LVU643
1971 0112 0023 movs r3, #0
1972 0114 0093 str r3, [sp]
1973 0116 4FF08073 mov r3, #16777216
1974 011a 3946 mov r1, r7
1975 011c 2046 mov r0, r4
1976 011e FFF7FEFF bl I2C_TransferConfig
1977 .LVL128:
1978 0122 C7E7 b .L150
1979 .L161:
1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1980 .loc 1 1200 5 view .LVU644
1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1981 .loc 1 1200 9 is_stmt 0 view .LVU645
1982 0124 2A46 mov r2, r5
1983 0126 3146 mov r1, r6
1984 0128 2046 mov r0, r4
1985 012a FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
1986 .LVL129:
1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
1987 .loc 1 1200 8 view .LVU646
1988 012e 08BB cbnz r0, .L159
1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1989 .loc 1 1206 5 is_stmt 1 view .LVU647
1990 0130 2368 ldr r3, [r4]
1991 0132 2022 movs r2, #32
1992 0134 DA61 str r2, [r3, #28]
1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
1993 .loc 1 1209 5 view .LVU648
1994 0136 2168 ldr r1, [r4]
1995 0138 4B68 ldr r3, [r1, #4]
1996 013a 23F0FF73 bic r3, r3, #33423360
1997 013e 23F48B33 bic r3, r3, #71168
1998 0142 23F4FF73 bic r3, r3, #510
1999 0146 23F00103 bic r3, r3, #1
2000 014a 4B60 str r3, [r1, #4]
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2001 .loc 1 1211 5 view .LVU649
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2002 .loc 1 1211 17 is_stmt 0 view .LVU650
2003 014c 84F84120 strb r2, [r4, #65]
1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2004 .loc 1 1212 5 is_stmt 1 view .LVU651
ARM GAS /tmp/ccbUHtu7.s page 166
1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2005 .loc 1 1212 17 is_stmt 0 view .LVU652
2006 0150 0023 movs r3, #0
2007 0152 84F84230 strb r3, [r4, #66]
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2008 .loc 1 1215 5 is_stmt 1 view .LVU653
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2009 .loc 1 1215 5 view .LVU654
2010 0156 84F84030 strb r3, [r4, #64]
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2011 .loc 1 1215 5 view .LVU655
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2012 .loc 1 1217 5 view .LVU656
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2013 .loc 1 1217 12 is_stmt 0 view .LVU657
2014 015a 00E0 b .L147
2015 .LVL130:
2016 .L154:
1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2017 .loc 1 1221 12 view .LVU658
2018 015c 0220 movs r0, #2
2019 .LVL131:
2020 .L147:
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2021 .loc 1 1223 1 view .LVU659
2022 015e 02B0 add sp, sp, #8
2023 .LCFI21:
2024 .cfi_remember_state
2025 .cfi_def_cfa_offset 32
2026 @ sp needed
2027 0160 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
2028 .LVL132:
2029 .L155:
2030 .LCFI22:
2031 .cfi_restore_state
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2032 .loc 1 1125 5 view .LVU660
2033 0164 0220 movs r0, #2
2034 .LVL133:
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2035 .loc 1 1125 5 view .LVU661
2036 0166 FAE7 b .L147
2037 .LVL134:
2038 .L156:
1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2039 .loc 1 1132 14 view .LVU662
2040 0168 0120 movs r0, #1
2041 016a F8E7 b .L147
2042 .L157:
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2043 .loc 1 1164 16 view .LVU663
2044 016c 0120 movs r0, #1
2045 016e F6E7 b .L147
2046 .L158:
1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2047 .loc 1 1180 18 view .LVU664
2048 0170 0120 movs r0, #1
ARM GAS /tmp/ccbUHtu7.s page 167
2049 0172 F4E7 b .L147
2050 .L159:
1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2051 .loc 1 1202 14 view .LVU665
2052 0174 0120 movs r0, #1
2053 0176 F2E7 b .L147
2054 .L163:
2055 .align 2
2056 .L162:
2057 0178 00200080 .word -2147475456
2058 .cfi_endproc
2059 .LFE333:
2061 .section .text.HAL_I2C_Master_Receive,"ax",%progbits
2062 .align 1
2063 .global HAL_I2C_Master_Receive
2064 .syntax unified
2065 .thumb
2066 .thumb_func
2068 HAL_I2C_Master_Receive:
2069 .LVL135:
2070 .LFB334:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2071 .loc 1 1238 1 is_stmt 1 view -0
2072 .cfi_startproc
2073 @ args = 4, pretend = 0, frame = 0
2074 @ frame_needed = 0, uses_anonymous_args = 0
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2075 .loc 1 1238 1 is_stmt 0 view .LVU667
2076 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
2077 .LCFI23:
2078 .cfi_def_cfa_offset 32
2079 .cfi_offset 4, -32
2080 .cfi_offset 5, -28
2081 .cfi_offset 6, -24
2082 .cfi_offset 7, -20
2083 .cfi_offset 8, -16
2084 .cfi_offset 9, -12
2085 .cfi_offset 10, -8
2086 .cfi_offset 14, -4
2087 0004 82B0 sub sp, sp, #8
2088 .LCFI24:
2089 .cfi_def_cfa_offset 40
2090 0006 0F46 mov r7, r1
2091 0008 0A9E ldr r6, [sp, #40]
1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2092 .loc 1 1239 3 is_stmt 1 view .LVU668
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2093 .loc 1 1241 3 view .LVU669
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2094 .loc 1 1241 11 is_stmt 0 view .LVU670
2095 000a 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2
2096 .LVL136:
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2097 .loc 1 1241 11 view .LVU671
2098 000e C9B2 uxtb r1, r1
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2099 .loc 1 1241 6 view .LVU672
ARM GAS /tmp/ccbUHtu7.s page 168
2100 0010 2029 cmp r1, #32
2101 0012 40F0A280 bne .L172
2102 0016 0446 mov r4, r0
2103 0018 9046 mov r8, r2
2104 001a 9946 mov r9, r3
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2105 .loc 1 1244 5 is_stmt 1 view .LVU673
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2106 .loc 1 1244 5 view .LVU674
2107 001c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
2108 .LVL137:
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2109 .loc 1 1244 5 is_stmt 0 view .LVU675
2110 0020 012B cmp r3, #1
2111 0022 00F09E80 beq .L173
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2112 .loc 1 1244 5 is_stmt 1 discriminator 2 view .LVU676
2113 0026 4FF0010A mov r10, #1
2114 002a 80F840A0 strb r10, [r0, #64]
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2115 .loc 1 1244 5 discriminator 2 view .LVU677
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2116 .loc 1 1247 5 discriminator 2 view .LVU678
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2117 .loc 1 1247 17 is_stmt 0 discriminator 2 view .LVU679
2118 002e FFF7FEFF bl HAL_GetTick
2119 .LVL138:
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2120 .loc 1 1247 17 discriminator 2 view .LVU680
2121 0032 0546 mov r5, r0
2122 .LVL139:
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2123 .loc 1 1249 5 is_stmt 1 discriminator 2 view .LVU681
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2124 .loc 1 1249 9 is_stmt 0 discriminator 2 view .LVU682
2125 0034 0090 str r0, [sp]
2126 0036 1923 movs r3, #25
2127 0038 5246 mov r2, r10
2128 003a 4FF40041 mov r1, #32768
2129 003e 2046 mov r0, r4
2130 .LVL140:
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2131 .loc 1 1249 9 discriminator 2 view .LVU683
2132 0040 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2133 .LVL141:
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2134 .loc 1 1249 8 discriminator 2 view .LVU684
2135 0044 0028 cmp r0, #0
2136 0046 40F08E80 bne .L174
1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2137 .loc 1 1254 5 is_stmt 1 view .LVU685
1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2138 .loc 1 1254 21 is_stmt 0 view .LVU686
2139 004a 2223 movs r3, #34
2140 004c 84F84130 strb r3, [r4, #65]
1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2141 .loc 1 1255 5 is_stmt 1 view .LVU687
ARM GAS /tmp/ccbUHtu7.s page 169
1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2142 .loc 1 1255 21 is_stmt 0 view .LVU688
2143 0050 1023 movs r3, #16
2144 0052 84F84230 strb r3, [r4, #66]
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2145 .loc 1 1256 5 is_stmt 1 view .LVU689
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2146 .loc 1 1256 21 is_stmt 0 view .LVU690
2147 0056 0023 movs r3, #0
2148 0058 6364 str r3, [r4, #68]
1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2149 .loc 1 1259 5 is_stmt 1 view .LVU691
1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2150 .loc 1 1259 21 is_stmt 0 view .LVU692
2151 005a C4F82480 str r8, [r4, #36]
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
2152 .loc 1 1260 5 is_stmt 1 view .LVU693
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
2153 .loc 1 1260 21 is_stmt 0 view .LVU694
2154 005e A4F82A90 strh r9, [r4, #42] @ movhi
1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2155 .loc 1 1261 5 is_stmt 1 view .LVU695
1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2156 .loc 1 1261 21 is_stmt 0 view .LVU696
2157 0062 6363 str r3, [r4, #52]
1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2158 .loc 1 1265 5 is_stmt 1 view .LVU697
1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2159 .loc 1 1265 13 is_stmt 0 view .LVU698
2160 0064 638D ldrh r3, [r4, #42]
2161 0066 9BB2 uxth r3, r3
1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2162 .loc 1 1265 8 view .LVU699
2163 0068 FF2B cmp r3, #255
2164 006a 0AD9 bls .L166
1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2165 .loc 1 1267 7 is_stmt 1 view .LVU700
1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2166 .loc 1 1267 22 is_stmt 0 view .LVU701
2167 006c FF22 movs r2, #255
2168 006e 2285 strh r2, [r4, #40] @ movhi
1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2169 .loc 1 1268 7 is_stmt 1 view .LVU702
2170 0070 414B ldr r3, .L180
2171 0072 0093 str r3, [sp]
2172 0074 4FF08073 mov r3, #16777216
2173 0078 3946 mov r1, r7
2174 007a 2046 mov r0, r4
2175 007c FFF7FEFF bl I2C_TransferConfig
2176 .LVL142:
2177 0080 18E0 b .L168
2178 .L166:
1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2179 .loc 1 1273 7 view .LVU703
1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2180 .loc 1 1273 28 is_stmt 0 view .LVU704
2181 0082 628D ldrh r2, [r4, #42]
ARM GAS /tmp/ccbUHtu7.s page 170
2182 0084 92B2 uxth r2, r2
1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2183 .loc 1 1273 22 view .LVU705
2184 0086 2285 strh r2, [r4, #40] @ movhi
1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2185 .loc 1 1274 7 is_stmt 1 view .LVU706
2186 0088 3B4B ldr r3, .L180
2187 008a 0093 str r3, [sp]
2188 008c 4FF00073 mov r3, #33554432
2189 0090 D2B2 uxtb r2, r2
2190 0092 3946 mov r1, r7
2191 0094 2046 mov r0, r4
2192 0096 FFF7FEFF bl I2C_TransferConfig
2193 .LVL143:
2194 009a 0BE0 b .L168
2195 .L170:
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2196 .loc 1 1311 11 view .LVU707
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2197 .loc 1 1311 32 is_stmt 0 view .LVU708
2198 009c 628D ldrh r2, [r4, #42]
2199 009e 92B2 uxth r2, r2
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2200 .loc 1 1311 26 view .LVU709
2201 00a0 2285 strh r2, [r4, #40] @ movhi
1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2202 .loc 1 1312 11 is_stmt 1 view .LVU710
2203 00a2 0023 movs r3, #0
2204 00a4 0093 str r3, [sp]
2205 00a6 4FF00073 mov r3, #33554432
2206 00aa D2B2 uxtb r2, r2
2207 00ac 3946 mov r1, r7
2208 00ae 2046 mov r0, r4
2209 00b0 FFF7FEFF bl I2C_TransferConfig
2210 .LVL144:
2211 .L168:
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2212 .loc 1 1278 28 view .LVU711
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2213 .loc 1 1278 16 is_stmt 0 view .LVU712
2214 00b4 638D ldrh r3, [r4, #42]
2215 00b6 9BB2 uxth r3, r3
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2216 .loc 1 1278 28 view .LVU713
2217 00b8 002B cmp r3, #0
2218 00ba 32D0 beq .L179
1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2219 .loc 1 1281 7 is_stmt 1 view .LVU714
1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2220 .loc 1 1281 11 is_stmt 0 view .LVU715
2221 00bc 2A46 mov r2, r5
2222 00be 3146 mov r1, r6
2223 00c0 2046 mov r0, r4
2224 00c2 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
2225 .LVL145:
1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2226 .loc 1 1281 10 view .LVU716
ARM GAS /tmp/ccbUHtu7.s page 171
2227 00c6 0028 cmp r0, #0
2228 00c8 4FD1 bne .L175
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2229 .loc 1 1287 7 is_stmt 1 view .LVU717
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2230 .loc 1 1287 38 is_stmt 0 view .LVU718
2231 00ca 2368 ldr r3, [r4]
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2232 .loc 1 1287 48 view .LVU719
2233 00cc 5A6A ldr r2, [r3, #36]
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2234 .loc 1 1287 12 view .LVU720
2235 00ce 636A ldr r3, [r4, #36]
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2236 .loc 1 1287 23 view .LVU721
2237 00d0 1A70 strb r2, [r3]
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2238 .loc 1 1290 7 is_stmt 1 view .LVU722
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2239 .loc 1 1290 11 is_stmt 0 view .LVU723
2240 00d2 636A ldr r3, [r4, #36]
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2241 .loc 1 1290 21 view .LVU724
2242 00d4 0133 adds r3, r3, #1
2243 00d6 6362 str r3, [r4, #36]
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
2244 .loc 1 1292 7 is_stmt 1 view .LVU725
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
2245 .loc 1 1292 11 is_stmt 0 view .LVU726
2246 00d8 228D ldrh r2, [r4, #40]
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
2247 .loc 1 1292 21 view .LVU727
2248 00da 013A subs r2, r2, #1
2249 00dc 92B2 uxth r2, r2
2250 00de 2285 strh r2, [r4, #40] @ movhi
1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2251 .loc 1 1293 7 is_stmt 1 view .LVU728
1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2252 .loc 1 1293 11 is_stmt 0 view .LVU729
2253 00e0 638D ldrh r3, [r4, #42]
2254 00e2 9BB2 uxth r3, r3
1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2255 .loc 1 1293 22 view .LVU730
2256 00e4 013B subs r3, r3, #1
2257 00e6 9BB2 uxth r3, r3
2258 00e8 6385 strh r3, [r4, #42] @ movhi
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2259 .loc 1 1295 7 is_stmt 1 view .LVU731
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2260 .loc 1 1295 16 is_stmt 0 view .LVU732
2261 00ea 638D ldrh r3, [r4, #42]
2262 00ec 9BB2 uxth r3, r3
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2263 .loc 1 1295 10 view .LVU733
2264 00ee 002B cmp r3, #0
2265 00f0 E0D0 beq .L168
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 172
2266 .loc 1 1295 35 discriminator 1 view .LVU734
2267 00f2 002A cmp r2, #0
2268 00f4 DED1 bne .L168
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2269 .loc 1 1298 9 is_stmt 1 view .LVU735
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2270 .loc 1 1298 13 is_stmt 0 view .LVU736
2271 00f6 0095 str r5, [sp]
2272 00f8 3346 mov r3, r6
2273 00fa 8021 movs r1, #128
2274 00fc 2046 mov r0, r4
2275 00fe FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2276 .LVL146:
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2277 .loc 1 1298 12 view .LVU737
2278 0102 A0BB cbnz r0, .L176
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2279 .loc 1 1303 9 is_stmt 1 view .LVU738
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2280 .loc 1 1303 17 is_stmt 0 view .LVU739
2281 0104 638D ldrh r3, [r4, #42]
2282 0106 9BB2 uxth r3, r3
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2283 .loc 1 1303 12 view .LVU740
2284 0108 FF2B cmp r3, #255
2285 010a C7D9 bls .L170
1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2286 .loc 1 1305 11 is_stmt 1 view .LVU741
1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2287 .loc 1 1305 26 is_stmt 0 view .LVU742
2288 010c FF22 movs r2, #255
2289 010e 2285 strh r2, [r4, #40] @ movhi
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2290 .loc 1 1306 11 is_stmt 1 view .LVU743
2291 0110 0023 movs r3, #0
2292 0112 0093 str r3, [sp]
2293 0114 4FF08073 mov r3, #16777216
2294 0118 3946 mov r1, r7
2295 011a 2046 mov r0, r4
2296 011c FFF7FEFF bl I2C_TransferConfig
2297 .LVL147:
2298 0120 C8E7 b .L168
2299 .L179:
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2300 .loc 1 1320 5 view .LVU744
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2301 .loc 1 1320 9 is_stmt 0 view .LVU745
2302 0122 2A46 mov r2, r5
2303 0124 3146 mov r1, r6
2304 0126 2046 mov r0, r4
2305 0128 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2306 .LVL148:
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2307 .loc 1 1320 8 view .LVU746
2308 012c 08BB cbnz r0, .L177
1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2309 .loc 1 1326 5 is_stmt 1 view .LVU747
ARM GAS /tmp/ccbUHtu7.s page 173
2310 012e 2368 ldr r3, [r4]
2311 0130 2022 movs r2, #32
2312 0132 DA61 str r2, [r3, #28]
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2313 .loc 1 1329 5 view .LVU748
2314 0134 2168 ldr r1, [r4]
2315 0136 4B68 ldr r3, [r1, #4]
2316 0138 23F0FF73 bic r3, r3, #33423360
2317 013c 23F48B33 bic r3, r3, #71168
2318 0140 23F4FF73 bic r3, r3, #510
2319 0144 23F00103 bic r3, r3, #1
2320 0148 4B60 str r3, [r1, #4]
1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2321 .loc 1 1331 5 view .LVU749
1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2322 .loc 1 1331 17 is_stmt 0 view .LVU750
2323 014a 84F84120 strb r2, [r4, #65]
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2324 .loc 1 1332 5 is_stmt 1 view .LVU751
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2325 .loc 1 1332 17 is_stmt 0 view .LVU752
2326 014e 0023 movs r3, #0
2327 0150 84F84230 strb r3, [r4, #66]
1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2328 .loc 1 1335 5 is_stmt 1 view .LVU753
1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2329 .loc 1 1335 5 view .LVU754
2330 0154 84F84030 strb r3, [r4, #64]
1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2331 .loc 1 1335 5 view .LVU755
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2332 .loc 1 1337 5 view .LVU756
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2333 .loc 1 1337 12 is_stmt 0 view .LVU757
2334 0158 00E0 b .L165
2335 .LVL149:
2336 .L172:
1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2337 .loc 1 1341 12 view .LVU758
2338 015a 0220 movs r0, #2
2339 .LVL150:
2340 .L165:
1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2341 .loc 1 1343 1 view .LVU759
2342 015c 02B0 add sp, sp, #8
2343 .LCFI25:
2344 .cfi_remember_state
2345 .cfi_def_cfa_offset 32
2346 @ sp needed
2347 015e BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
2348 .LVL151:
2349 .L173:
2350 .LCFI26:
2351 .cfi_restore_state
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2352 .loc 1 1244 5 view .LVU760
2353 0162 0220 movs r0, #2
ARM GAS /tmp/ccbUHtu7.s page 174
2354 .LVL152:
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2355 .loc 1 1244 5 view .LVU761
2356 0164 FAE7 b .L165
2357 .LVL153:
2358 .L174:
1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2359 .loc 1 1251 14 view .LVU762
2360 0166 0120 movs r0, #1
2361 0168 F8E7 b .L165
2362 .L175:
1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2363 .loc 1 1283 16 view .LVU763
2364 016a 0120 movs r0, #1
2365 016c F6E7 b .L165
2366 .L176:
1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2367 .loc 1 1300 18 view .LVU764
2368 016e 0120 movs r0, #1
2369 0170 F4E7 b .L165
2370 .L177:
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2371 .loc 1 1322 14 view .LVU765
2372 0172 0120 movs r0, #1
2373 0174 F2E7 b .L165
2374 .L181:
2375 0176 00BF .align 2
2376 .L180:
2377 0178 00240080 .word -2147474432
2378 .cfi_endproc
2379 .LFE334:
2381 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits
2382 .align 1
2383 .global HAL_I2C_Slave_Transmit
2384 .syntax unified
2385 .thumb
2386 .thumb_func
2388 HAL_I2C_Slave_Transmit:
2389 .LVL154:
2390 .LFB335:
1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2391 .loc 1 1356 1 is_stmt 1 view -0
2392 .cfi_startproc
2393 @ args = 0, pretend = 0, frame = 0
2394 @ frame_needed = 0, uses_anonymous_args = 0
1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2395 .loc 1 1356 1 is_stmt 0 view .LVU767
2396 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
2397 .LCFI27:
2398 .cfi_def_cfa_offset 24
2399 .cfi_offset 4, -24
2400 .cfi_offset 5, -20
2401 .cfi_offset 6, -16
2402 .cfi_offset 7, -12
2403 .cfi_offset 8, -8
2404 .cfi_offset 14, -4
2405 0004 82B0 sub sp, sp, #8
ARM GAS /tmp/ccbUHtu7.s page 175
2406 .LCFI28:
2407 .cfi_def_cfa_offset 32
2408 0006 1D46 mov r5, r3
1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2409 .loc 1 1357 3 is_stmt 1 view .LVU768
1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2410 .loc 1 1359 3 view .LVU769
1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2411 .loc 1 1359 11 is_stmt 0 view .LVU770
2412 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
2413 .LVL155:
1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2414 .loc 1 1359 11 view .LVU771
2415 000c DBB2 uxtb r3, r3
1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2416 .loc 1 1359 6 view .LVU772
2417 000e 202B cmp r3, #32
2418 0010 40F0C880 bne .L195
2419 0014 0446 mov r4, r0
2420 0016 0F46 mov r7, r1
2421 0018 9046 mov r8, r2
1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2422 .loc 1 1361 5 is_stmt 1 view .LVU773
1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2423 .loc 1 1361 8 is_stmt 0 view .LVU774
2424 001a 0029 cmp r1, #0
2425 001c 52D0 beq .L184
1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2426 .loc 1 1361 25 discriminator 1 view .LVU775
2427 001e 002A cmp r2, #0
2428 0020 50D0 beq .L184
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2429 .loc 1 1367 5 is_stmt 1 view .LVU776
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2430 .loc 1 1367 5 view .LVU777
2431 0022 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
2432 0026 012B cmp r3, #1
2433 0028 00F0C080 beq .L196
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2434 .loc 1 1367 5 discriminator 2 view .LVU778
2435 002c 0123 movs r3, #1
2436 002e 80F84030 strb r3, [r0, #64]
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2437 .loc 1 1367 5 discriminator 2 view .LVU779
1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2438 .loc 1 1370 5 discriminator 2 view .LVU780
1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2439 .loc 1 1370 17 is_stmt 0 discriminator 2 view .LVU781
2440 0032 FFF7FEFF bl HAL_GetTick
2441 .LVL156:
1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2442 .loc 1 1370 17 discriminator 2 view .LVU782
2443 0036 0646 mov r6, r0
2444 .LVL157:
1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2445 .loc 1 1372 5 is_stmt 1 discriminator 2 view .LVU783
1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
ARM GAS /tmp/ccbUHtu7.s page 176
2446 .loc 1 1372 21 is_stmt 0 discriminator 2 view .LVU784
2447 0038 2123 movs r3, #33
2448 003a 84F84130 strb r3, [r4, #65]
1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2449 .loc 1 1373 5 is_stmt 1 discriminator 2 view .LVU785
1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2450 .loc 1 1373 21 is_stmt 0 discriminator 2 view .LVU786
2451 003e 2023 movs r3, #32
2452 0040 84F84230 strb r3, [r4, #66]
1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2453 .loc 1 1374 5 is_stmt 1 discriminator 2 view .LVU787
1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2454 .loc 1 1374 21 is_stmt 0 discriminator 2 view .LVU788
2455 0044 0022 movs r2, #0
2456 0046 6264 str r2, [r4, #68]
1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2457 .loc 1 1377 5 is_stmt 1 discriminator 2 view .LVU789
1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2458 .loc 1 1377 21 is_stmt 0 discriminator 2 view .LVU790
2459 0048 6762 str r7, [r4, #36]
1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
2460 .loc 1 1378 5 is_stmt 1 discriminator 2 view .LVU791
1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
2461 .loc 1 1378 21 is_stmt 0 discriminator 2 view .LVU792
2462 004a A4F82A80 strh r8, [r4, #42] @ movhi
1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2463 .loc 1 1379 5 is_stmt 1 discriminator 2 view .LVU793
1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2464 .loc 1 1379 21 is_stmt 0 discriminator 2 view .LVU794
2465 004e 6263 str r2, [r4, #52]
1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2466 .loc 1 1382 5 is_stmt 1 discriminator 2 view .LVU795
1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2467 .loc 1 1382 9 is_stmt 0 discriminator 2 view .LVU796
2468 0050 2168 ldr r1, [r4]
1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2469 .loc 1 1382 19 discriminator 2 view .LVU797
2470 0052 4B68 ldr r3, [r1, #4]
1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2471 .loc 1 1382 25 discriminator 2 view .LVU798
2472 0054 23F40043 bic r3, r3, #32768
2473 0058 4B60 str r3, [r1, #4]
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2474 .loc 1 1385 5 is_stmt 1 discriminator 2 view .LVU799
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2475 .loc 1 1385 9 is_stmt 0 discriminator 2 view .LVU800
2476 005a 0090 str r0, [sp]
2477 005c 2B46 mov r3, r5
2478 005e 0821 movs r1, #8
2479 0060 2046 mov r0, r4
2480 .LVL158:
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2481 .loc 1 1385 9 discriminator 2 view .LVU801
2482 0062 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2483 .LVL159:
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2484 .loc 1 1385 8 discriminator 2 view .LVU802
ARM GAS /tmp/ccbUHtu7.s page 177
2485 0066 0028 cmp r0, #0
2486 0068 31D1 bne .L198
1393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2487 .loc 1 1393 5 is_stmt 1 view .LVU803
2488 006a 2368 ldr r3, [r4]
2489 006c 0822 movs r2, #8
2490 006e DA61 str r2, [r3, #28]
1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2491 .loc 1 1396 5 view .LVU804
1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2492 .loc 1 1396 19 is_stmt 0 view .LVU805
2493 0070 E368 ldr r3, [r4, #12]
1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2494 .loc 1 1396 8 view .LVU806
2495 0072 022B cmp r3, #2
2496 0074 32D0 beq .L199
2497 .L187:
1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2498 .loc 1 1411 5 is_stmt 1 view .LVU807
1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2499 .loc 1 1411 9 is_stmt 0 view .LVU808
2500 0076 0096 str r6, [sp]
2501 0078 2B46 mov r3, r5
2502 007a 0022 movs r2, #0
2503 007c 4FF48031 mov r1, #65536
2504 0080 2046 mov r0, r4
2505 0082 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2506 .LVL160:
1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2507 .loc 1 1411 8 view .LVU809
2508 0086 0028 cmp r0, #0
2509 0088 3BD1 bne .L200
2510 .L189:
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2511 .loc 1 1418 28 is_stmt 1 view .LVU810
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2512 .loc 1 1418 16 is_stmt 0 view .LVU811
2513 008a 638D ldrh r3, [r4, #42]
2514 008c 9BB2 uxth r3, r3
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2515 .loc 1 1418 28 view .LVU812
2516 008e 002B cmp r3, #0
2517 0090 45D0 beq .L201
1421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2518 .loc 1 1421 7 is_stmt 1 view .LVU813
1421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2519 .loc 1 1421 11 is_stmt 0 view .LVU814
2520 0092 3246 mov r2, r6
2521 0094 2946 mov r1, r5
2522 0096 2046 mov r0, r4
2523 0098 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
2524 .LVL161:
1421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2525 .loc 1 1421 10 view .LVU815
2526 009c 0028 cmp r0, #0
2527 009e 37D1 bne .L202
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 178
2528 .loc 1 1429 7 is_stmt 1 view .LVU816
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2529 .loc 1 1429 35 is_stmt 0 view .LVU817
2530 00a0 626A ldr r2, [r4, #36]
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2531 .loc 1 1429 11 view .LVU818
2532 00a2 2368 ldr r3, [r4]
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2533 .loc 1 1429 30 view .LVU819
2534 00a4 1278 ldrb r2, [r2] @ zero_extendqisi2
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2535 .loc 1 1429 28 view .LVU820
2536 00a6 9A62 str r2, [r3, #40]
1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2537 .loc 1 1432 7 is_stmt 1 view .LVU821
1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2538 .loc 1 1432 11 is_stmt 0 view .LVU822
2539 00a8 636A ldr r3, [r4, #36]
1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2540 .loc 1 1432 21 view .LVU823
2541 00aa 0133 adds r3, r3, #1
2542 00ac 6362 str r3, [r4, #36]
1434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2543 .loc 1 1434 7 is_stmt 1 view .LVU824
1434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2544 .loc 1 1434 11 is_stmt 0 view .LVU825
2545 00ae B4F82AC0 ldrh ip, [r4, #42]
2546 00b2 1FFA8CFC uxth ip, ip
1434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2547 .loc 1 1434 22 view .LVU826
2548 00b6 0CF1FF3C add ip, ip, #-1
2549 00ba 1FFA8CFC uxth ip, ip
2550 00be A4F82AC0 strh ip, [r4, #42] @ movhi
2551 00c2 E2E7 b .L189
2552 .LVL162:
2553 .L184:
1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2554 .loc 1 1363 7 is_stmt 1 view .LVU827
1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2555 .loc 1 1363 23 is_stmt 0 view .LVU828
2556 00c4 4FF40073 mov r3, #512
2557 00c8 6364 str r3, [r4, #68]
1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2558 .loc 1 1364 7 is_stmt 1 view .LVU829
1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2559 .loc 1 1364 15 is_stmt 0 view .LVU830
2560 00ca 0120 movs r0, #1
2561 .LVL163:
1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2562 .loc 1 1364 15 view .LVU831
2563 00cc 6BE0 b .L183
2564 .LVL164:
2565 .L198:
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2566 .loc 1 1388 7 is_stmt 1 view .LVU832
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2567 .loc 1 1388 11 is_stmt 0 view .LVU833
ARM GAS /tmp/ccbUHtu7.s page 179
2568 00ce 2268 ldr r2, [r4]
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2569 .loc 1 1388 21 view .LVU834
2570 00d0 5368 ldr r3, [r2, #4]
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2571 .loc 1 1388 27 view .LVU835
2572 00d2 43F40043 orr r3, r3, #32768
2573 00d6 5360 str r3, [r2, #4]
1389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2574 .loc 1 1389 7 is_stmt 1 view .LVU836
1389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2575 .loc 1 1389 14 is_stmt 0 view .LVU837
2576 00d8 0120 movs r0, #1
2577 00da 64E0 b .L183
2578 .L199:
1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2579 .loc 1 1399 7 is_stmt 1 view .LVU838
1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2580 .loc 1 1399 11 is_stmt 0 view .LVU839
2581 00dc 0096 str r6, [sp]
2582 00de 2B46 mov r3, r5
2583 00e0 0022 movs r2, #0
2584 00e2 0821 movs r1, #8
2585 00e4 2046 mov r0, r4
2586 00e6 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2587 .LVL165:
1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2588 .loc 1 1399 10 view .LVU840
2589 00ea 18B9 cbnz r0, .L203
1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2590 .loc 1 1407 7 is_stmt 1 view .LVU841
2591 00ec 2368 ldr r3, [r4]
2592 00ee 0822 movs r2, #8
2593 00f0 DA61 str r2, [r3, #28]
2594 00f2 C0E7 b .L187
2595 .L203:
1402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2596 .loc 1 1402 9 view .LVU842
1402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2597 .loc 1 1402 13 is_stmt 0 view .LVU843
2598 00f4 2268 ldr r2, [r4]
1402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2599 .loc 1 1402 23 view .LVU844
2600 00f6 5368 ldr r3, [r2, #4]
1402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2601 .loc 1 1402 29 view .LVU845
2602 00f8 43F40043 orr r3, r3, #32768
2603 00fc 5360 str r3, [r2, #4]
1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2604 .loc 1 1403 9 is_stmt 1 view .LVU846
1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2605 .loc 1 1403 16 is_stmt 0 view .LVU847
2606 00fe 0120 movs r0, #1
2607 0100 51E0 b .L183
2608 .L200:
1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2609 .loc 1 1414 7 is_stmt 1 view .LVU848
ARM GAS /tmp/ccbUHtu7.s page 180
1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2610 .loc 1 1414 11 is_stmt 0 view .LVU849
2611 0102 2268 ldr r2, [r4]
1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2612 .loc 1 1414 21 view .LVU850
2613 0104 5368 ldr r3, [r2, #4]
1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2614 .loc 1 1414 27 view .LVU851
2615 0106 43F40043 orr r3, r3, #32768
2616 010a 5360 str r3, [r2, #4]
1415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2617 .loc 1 1415 7 is_stmt 1 view .LVU852
1415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2618 .loc 1 1415 14 is_stmt 0 view .LVU853
2619 010c 0120 movs r0, #1
2620 010e 4AE0 b .L183
2621 .L202:
1424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2622 .loc 1 1424 9 is_stmt 1 view .LVU854
1424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2623 .loc 1 1424 13 is_stmt 0 view .LVU855
2624 0110 2268 ldr r2, [r4]
1424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2625 .loc 1 1424 23 view .LVU856
2626 0112 5368 ldr r3, [r2, #4]
1424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2627 .loc 1 1424 29 view .LVU857
2628 0114 43F40043 orr r3, r3, #32768
2629 0118 5360 str r3, [r2, #4]
1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2630 .loc 1 1425 9 is_stmt 1 view .LVU858
1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2631 .loc 1 1425 16 is_stmt 0 view .LVU859
2632 011a 0120 movs r0, #1
2633 011c 43E0 b .L183
2634 .L201:
1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2635 .loc 1 1438 5 is_stmt 1 view .LVU860
1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2636 .loc 1 1438 9 is_stmt 0 view .LVU861
2637 011e 0096 str r6, [sp]
2638 0120 2B46 mov r3, r5
2639 0122 0022 movs r2, #0
2640 0124 1021 movs r1, #16
2641 0126 2046 mov r0, r4
2642 0128 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2643 .LVL166:
1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2644 .loc 1 1438 8 view .LVU862
2645 012c 30B1 cbz r0, .L192
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2646 .loc 1 1441 7 is_stmt 1 view .LVU863
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2647 .loc 1 1441 11 is_stmt 0 view .LVU864
2648 012e 2268 ldr r2, [r4]
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2649 .loc 1 1441 21 view .LVU865
ARM GAS /tmp/ccbUHtu7.s page 181
2650 0130 5368 ldr r3, [r2, #4]
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2651 .loc 1 1441 27 view .LVU866
2652 0132 43F40043 orr r3, r3, #32768
2653 0136 5360 str r3, [r2, #4]
1442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2654 .loc 1 1442 7 is_stmt 1 view .LVU867
1442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2655 .loc 1 1442 14 is_stmt 0 view .LVU868
2656 0138 0120 movs r0, #1
2657 013a 34E0 b .L183
2658 .L192:
1446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2659 .loc 1 1446 5 is_stmt 1 view .LVU869
2660 013c 2046 mov r0, r4
2661 013e FFF7FEFF bl I2C_Flush_TXDR
2662 .LVL167:
1449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2663 .loc 1 1449 5 view .LVU870
2664 0142 2368 ldr r3, [r4]
2665 0144 1022 movs r2, #16
2666 0146 DA61 str r2, [r3, #28]
1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2667 .loc 1 1452 5 view .LVU871
1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2668 .loc 1 1452 9 is_stmt 0 view .LVU872
2669 0148 3246 mov r2, r6
2670 014a 2946 mov r1, r5
2671 014c 2046 mov r0, r4
2672 014e FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2673 .LVL168:
1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2674 .loc 1 1452 8 view .LVU873
2675 0152 30B1 cbz r0, .L193
1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2676 .loc 1 1455 7 is_stmt 1 view .LVU874
1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2677 .loc 1 1455 11 is_stmt 0 view .LVU875
2678 0154 2268 ldr r2, [r4]
1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2679 .loc 1 1455 21 view .LVU876
2680 0156 5368 ldr r3, [r2, #4]
1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2681 .loc 1 1455 27 view .LVU877
2682 0158 43F40043 orr r3, r3, #32768
2683 015c 5360 str r3, [r2, #4]
1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2684 .loc 1 1457 7 is_stmt 1 view .LVU878
1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2685 .loc 1 1457 14 is_stmt 0 view .LVU879
2686 015e 0120 movs r0, #1
2687 0160 21E0 b .L183
2688 .L193:
1461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2689 .loc 1 1461 5 is_stmt 1 view .LVU880
2690 0162 2368 ldr r3, [r4]
2691 0164 2022 movs r2, #32
ARM GAS /tmp/ccbUHtu7.s page 182
2692 0166 DA61 str r2, [r3, #28]
1464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2693 .loc 1 1464 5 view .LVU881
1464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2694 .loc 1 1464 9 is_stmt 0 view .LVU882
2695 0168 0096 str r6, [sp]
2696 016a 2B46 mov r3, r5
2697 016c 0122 movs r2, #1
2698 016e 4FF40041 mov r1, #32768
2699 0172 2046 mov r0, r4
2700 0174 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2701 .LVL169:
1464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2702 .loc 1 1464 8 view .LVU883
2703 0178 30B1 cbz r0, .L194
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2704 .loc 1 1467 7 is_stmt 1 view .LVU884
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2705 .loc 1 1467 11 is_stmt 0 view .LVU885
2706 017a 2268 ldr r2, [r4]
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2707 .loc 1 1467 21 view .LVU886
2708 017c 5368 ldr r3, [r2, #4]
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2709 .loc 1 1467 27 view .LVU887
2710 017e 43F40043 orr r3, r3, #32768
2711 0182 5360 str r3, [r2, #4]
1468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2712 .loc 1 1468 7 is_stmt 1 view .LVU888
1468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2713 .loc 1 1468 14 is_stmt 0 view .LVU889
2714 0184 0120 movs r0, #1
2715 0186 0EE0 b .L183
2716 .L194:
1472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2717 .loc 1 1472 5 is_stmt 1 view .LVU890
1472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2718 .loc 1 1472 9 is_stmt 0 view .LVU891
2719 0188 2268 ldr r2, [r4]
1472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2720 .loc 1 1472 19 view .LVU892
2721 018a 5368 ldr r3, [r2, #4]
1472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2722 .loc 1 1472 25 view .LVU893
2723 018c 43F40043 orr r3, r3, #32768
2724 0190 5360 str r3, [r2, #4]
1474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2725 .loc 1 1474 5 is_stmt 1 view .LVU894
1474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2726 .loc 1 1474 17 is_stmt 0 view .LVU895
2727 0192 2023 movs r3, #32
2728 0194 84F84130 strb r3, [r4, #65]
1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2729 .loc 1 1475 5 is_stmt 1 view .LVU896
1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2730 .loc 1 1475 17 is_stmt 0 view .LVU897
2731 0198 0023 movs r3, #0
ARM GAS /tmp/ccbUHtu7.s page 183
2732 019a 84F84230 strb r3, [r4, #66]
1478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2733 .loc 1 1478 5 is_stmt 1 view .LVU898
1478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2734 .loc 1 1478 5 view .LVU899
2735 019e 84F84030 strb r3, [r4, #64]
1478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2736 .loc 1 1478 5 view .LVU900
1480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2737 .loc 1 1480 5 view .LVU901
1480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2738 .loc 1 1480 12 is_stmt 0 view .LVU902
2739 01a2 00E0 b .L183
2740 .LVL170:
2741 .L195:
1484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2742 .loc 1 1484 12 view .LVU903
2743 01a4 0220 movs r0, #2
2744 .LVL171:
2745 .L183:
1486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2746 .loc 1 1486 1 view .LVU904
2747 01a6 02B0 add sp, sp, #8
2748 .LCFI29:
2749 .cfi_remember_state
2750 .cfi_def_cfa_offset 24
2751 @ sp needed
2752 01a8 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
2753 .LVL172:
2754 .L196:
2755 .LCFI30:
2756 .cfi_restore_state
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2757 .loc 1 1367 5 view .LVU905
2758 01ac 0220 movs r0, #2
2759 .LVL173:
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2760 .loc 1 1367 5 view .LVU906
2761 01ae FAE7 b .L183
2762 .cfi_endproc
2763 .LFE335:
2765 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits
2766 .align 1
2767 .global HAL_I2C_Slave_Receive
2768 .syntax unified
2769 .thumb
2770 .thumb_func
2772 HAL_I2C_Slave_Receive:
2773 .LVL174:
2774 .LFB336:
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2775 .loc 1 1499 1 is_stmt 1 view -0
2776 .cfi_startproc
2777 @ args = 0, pretend = 0, frame = 0
2778 @ frame_needed = 0, uses_anonymous_args = 0
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
2779 .loc 1 1499 1 is_stmt 0 view .LVU908
ARM GAS /tmp/ccbUHtu7.s page 184
2780 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
2781 .LCFI31:
2782 .cfi_def_cfa_offset 24
2783 .cfi_offset 4, -24
2784 .cfi_offset 5, -20
2785 .cfi_offset 6, -16
2786 .cfi_offset 7, -12
2787 .cfi_offset 8, -8
2788 .cfi_offset 14, -4
2789 0004 82B0 sub sp, sp, #8
2790 .LCFI32:
2791 .cfi_def_cfa_offset 32
2792 0006 1D46 mov r5, r3
1500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2793 .loc 1 1500 3 is_stmt 1 view .LVU909
1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2794 .loc 1 1502 3 view .LVU910
1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2795 .loc 1 1502 11 is_stmt 0 view .LVU911
2796 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
2797 .LVL175:
1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2798 .loc 1 1502 11 view .LVU912
2799 000c DBB2 uxtb r3, r3
1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2800 .loc 1 1502 6 view .LVU913
2801 000e 202B cmp r3, #32
2802 0010 40F0AF80 bne .L215
2803 0014 0446 mov r4, r0
2804 0016 0E46 mov r6, r1
2805 0018 9046 mov r8, r2
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2806 .loc 1 1504 5 is_stmt 1 view .LVU914
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2807 .loc 1 1504 8 is_stmt 0 view .LVU915
2808 001a 61B3 cbz r1, .L206
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2809 .loc 1 1504 25 discriminator 1 view .LVU916
2810 001c 5AB3 cbz r2, .L206
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2811 .loc 1 1510 5 is_stmt 1 view .LVU917
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2812 .loc 1 1510 5 view .LVU918
2813 001e 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
2814 0022 012B cmp r3, #1
2815 0024 00F0A980 beq .L216
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2816 .loc 1 1510 5 discriminator 2 view .LVU919
2817 0028 0123 movs r3, #1
2818 002a 80F84030 strb r3, [r0, #64]
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2819 .loc 1 1510 5 discriminator 2 view .LVU920
1513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2820 .loc 1 1513 5 discriminator 2 view .LVU921
1513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2821 .loc 1 1513 17 is_stmt 0 discriminator 2 view .LVU922
2822 002e FFF7FEFF bl HAL_GetTick
ARM GAS /tmp/ccbUHtu7.s page 185
2823 .LVL176:
1513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2824 .loc 1 1513 17 discriminator 2 view .LVU923
2825 0032 0746 mov r7, r0
2826 .LVL177:
1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2827 .loc 1 1515 5 is_stmt 1 discriminator 2 view .LVU924
1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2828 .loc 1 1515 21 is_stmt 0 discriminator 2 view .LVU925
2829 0034 2223 movs r3, #34
2830 0036 84F84130 strb r3, [r4, #65]
1516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2831 .loc 1 1516 5 is_stmt 1 discriminator 2 view .LVU926
1516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2832 .loc 1 1516 21 is_stmt 0 discriminator 2 view .LVU927
2833 003a 2023 movs r3, #32
2834 003c 84F84230 strb r3, [r4, #66]
1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2835 .loc 1 1517 5 is_stmt 1 discriminator 2 view .LVU928
1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2836 .loc 1 1517 21 is_stmt 0 discriminator 2 view .LVU929
2837 0040 0022 movs r2, #0
2838 0042 6264 str r2, [r4, #68]
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2839 .loc 1 1520 5 is_stmt 1 discriminator 2 view .LVU930
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
2840 .loc 1 1520 21 is_stmt 0 discriminator 2 view .LVU931
2841 0044 6662 str r6, [r4, #36]
1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2842 .loc 1 1521 5 is_stmt 1 discriminator 2 view .LVU932
1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2843 .loc 1 1521 21 is_stmt 0 discriminator 2 view .LVU933
2844 0046 A4F82A80 strh r8, [r4, #42] @ movhi
1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
2845 .loc 1 1522 5 is_stmt 1 discriminator 2 view .LVU934
1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
2846 .loc 1 1522 26 is_stmt 0 discriminator 2 view .LVU935
2847 004a 638D ldrh r3, [r4, #42]
1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
2848 .loc 1 1522 20 discriminator 2 view .LVU936
2849 004c 2385 strh r3, [r4, #40] @ movhi
1523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2850 .loc 1 1523 5 is_stmt 1 discriminator 2 view .LVU937
1523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2851 .loc 1 1523 21 is_stmt 0 discriminator 2 view .LVU938
2852 004e 6263 str r2, [r4, #52]
1526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2853 .loc 1 1526 5 is_stmt 1 discriminator 2 view .LVU939
1526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2854 .loc 1 1526 9 is_stmt 0 discriminator 2 view .LVU940
2855 0050 2168 ldr r1, [r4]
1526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2856 .loc 1 1526 19 discriminator 2 view .LVU941
2857 0052 4B68 ldr r3, [r1, #4]
1526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2858 .loc 1 1526 25 discriminator 2 view .LVU942
2859 0054 23F40043 bic r3, r3, #32768
ARM GAS /tmp/ccbUHtu7.s page 186
2860 0058 4B60 str r3, [r1, #4]
1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2861 .loc 1 1529 5 is_stmt 1 discriminator 2 view .LVU943
1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2862 .loc 1 1529 9 is_stmt 0 discriminator 2 view .LVU944
2863 005a 0090 str r0, [sp]
2864 005c 2B46 mov r3, r5
2865 005e 0821 movs r1, #8
2866 0060 2046 mov r0, r4
2867 .LVL178:
1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2868 .loc 1 1529 9 discriminator 2 view .LVU945
2869 0062 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2870 .LVL179:
1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2871 .loc 1 1529 8 discriminator 2 view .LVU946
2872 0066 58B1 cbz r0, .L208
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2873 .loc 1 1532 7 is_stmt 1 view .LVU947
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2874 .loc 1 1532 11 is_stmt 0 view .LVU948
2875 0068 2268 ldr r2, [r4]
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2876 .loc 1 1532 21 view .LVU949
2877 006a 5368 ldr r3, [r2, #4]
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2878 .loc 1 1532 27 view .LVU950
2879 006c 43F40043 orr r3, r3, #32768
2880 0070 5360 str r3, [r2, #4]
1533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2881 .loc 1 1533 7 is_stmt 1 view .LVU951
1533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2882 .loc 1 1533 14 is_stmt 0 view .LVU952
2883 0072 0120 movs r0, #1
2884 0074 7EE0 b .L205
2885 .LVL180:
2886 .L206:
1506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2887 .loc 1 1506 7 is_stmt 1 view .LVU953
1506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2888 .loc 1 1506 23 is_stmt 0 view .LVU954
2889 0076 4FF40073 mov r3, #512
2890 007a 6364 str r3, [r4, #68]
1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2891 .loc 1 1507 7 is_stmt 1 view .LVU955
1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2892 .loc 1 1507 15 is_stmt 0 view .LVU956
2893 007c 0120 movs r0, #1
2894 .LVL181:
1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2895 .loc 1 1507 15 view .LVU957
2896 007e 79E0 b .L205
2897 .LVL182:
2898 .L208:
1537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2899 .loc 1 1537 5 is_stmt 1 view .LVU958
2900 0080 2368 ldr r3, [r4]
ARM GAS /tmp/ccbUHtu7.s page 187
2901 0082 0822 movs r2, #8
2902 0084 DA61 str r2, [r3, #28]
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2903 .loc 1 1540 5 view .LVU959
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2904 .loc 1 1540 9 is_stmt 0 view .LVU960
2905 0086 0097 str r7, [sp]
2906 0088 2B46 mov r3, r5
2907 008a 0122 movs r2, #1
2908 008c 4FF48031 mov r1, #65536
2909 0090 2046 mov r0, r4
2910 0092 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2911 .LVL183:
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2912 .loc 1 1540 8 view .LVU961
2913 0096 D0B1 cbz r0, .L209
1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2914 .loc 1 1543 7 is_stmt 1 view .LVU962
1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2915 .loc 1 1543 11 is_stmt 0 view .LVU963
2916 0098 2268 ldr r2, [r4]
1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2917 .loc 1 1543 21 view .LVU964
2918 009a 5368 ldr r3, [r2, #4]
1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
2919 .loc 1 1543 27 view .LVU965
2920 009c 43F40043 orr r3, r3, #32768
2921 00a0 5360 str r3, [r2, #4]
1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2922 .loc 1 1544 7 is_stmt 1 view .LVU966
1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2923 .loc 1 1544 14 is_stmt 0 view .LVU967
2924 00a2 0120 movs r0, #1
2925 00a4 66E0 b .L205
2926 .L210:
1572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2927 .loc 1 1572 7 is_stmt 1 view .LVU968
1572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2928 .loc 1 1572 38 is_stmt 0 view .LVU969
2929 00a6 2368 ldr r3, [r4]
1572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2930 .loc 1 1572 48 view .LVU970
2931 00a8 5A6A ldr r2, [r3, #36]
1572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2932 .loc 1 1572 12 view .LVU971
2933 00aa 636A ldr r3, [r4, #36]
1572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2934 .loc 1 1572 23 view .LVU972
2935 00ac 1A70 strb r2, [r3]
1575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2936 .loc 1 1575 7 is_stmt 1 view .LVU973
1575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2937 .loc 1 1575 11 is_stmt 0 view .LVU974
2938 00ae 636A ldr r3, [r4, #36]
1575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2939 .loc 1 1575 21 view .LVU975
2940 00b0 0133 adds r3, r3, #1
ARM GAS /tmp/ccbUHtu7.s page 188
2941 00b2 6362 str r3, [r4, #36]
1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
2942 .loc 1 1577 7 is_stmt 1 view .LVU976
1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
2943 .loc 1 1577 11 is_stmt 0 view .LVU977
2944 00b4 B4F82AC0 ldrh ip, [r4, #42]
2945 00b8 1FFA8CFC uxth ip, ip
1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
2946 .loc 1 1577 22 view .LVU978
2947 00bc 0CF1FF3C add ip, ip, #-1
2948 00c0 1FFA8CFC uxth ip, ip
2949 00c4 A4F82AC0 strh ip, [r4, #42] @ movhi
1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2950 .loc 1 1578 7 is_stmt 1 view .LVU979
1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2951 .loc 1 1578 11 is_stmt 0 view .LVU980
2952 00c8 238D ldrh r3, [r4, #40]
1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
2953 .loc 1 1578 21 view .LVU981
2954 00ca 013B subs r3, r3, #1
2955 00cc 2385 strh r3, [r4, #40] @ movhi
2956 .L209:
1547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2957 .loc 1 1547 28 is_stmt 1 view .LVU982
1547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2958 .loc 1 1547 16 is_stmt 0 view .LVU983
2959 00ce 638D ldrh r3, [r4, #42]
2960 00d0 9BB2 uxth r3, r3
1547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2961 .loc 1 1547 28 view .LVU984
2962 00d2 03B3 cbz r3, .L218
1550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2963 .loc 1 1550 7 is_stmt 1 view .LVU985
1550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2964 .loc 1 1550 11 is_stmt 0 view .LVU986
2965 00d4 3A46 mov r2, r7
2966 00d6 2946 mov r1, r5
2967 00d8 2046 mov r0, r4
2968 00da FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
2969 .LVL184:
1550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2970 .loc 1 1550 10 view .LVU987
2971 00de 0028 cmp r0, #0
2972 00e0 E1D0 beq .L210
1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2973 .loc 1 1553 9 is_stmt 1 view .LVU988
1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2974 .loc 1 1553 13 is_stmt 0 view .LVU989
2975 00e2 2268 ldr r2, [r4]
1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2976 .loc 1 1553 23 view .LVU990
2977 00e4 5368 ldr r3, [r2, #4]
1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2978 .loc 1 1553 29 view .LVU991
2979 00e6 43F40043 orr r3, r3, #32768
2980 00ea 5360 str r3, [r2, #4]
1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 189
2981 .loc 1 1556 9 is_stmt 1 view .LVU992
1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2982 .loc 1 1556 13 is_stmt 0 view .LVU993
2983 00ec 2368 ldr r3, [r4]
2984 00ee 9A69 ldr r2, [r3, #24]
1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
2985 .loc 1 1556 12 view .LVU994
2986 00f0 12F0040F tst r2, #4
2987 00f4 0DD0 beq .L211
1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2988 .loc 1 1559 11 is_stmt 1 view .LVU995
1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2989 .loc 1 1559 52 is_stmt 0 view .LVU996
2990 00f6 5A6A ldr r2, [r3, #36]
1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2991 .loc 1 1559 16 view .LVU997
2992 00f8 636A ldr r3, [r4, #36]
1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2993 .loc 1 1559 27 view .LVU998
2994 00fa 1A70 strb r2, [r3]
1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2995 .loc 1 1562 11 is_stmt 1 view .LVU999
1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2996 .loc 1 1562 15 is_stmt 0 view .LVU1000
2997 00fc 636A ldr r3, [r4, #36]
1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
2998 .loc 1 1562 25 view .LVU1001
2999 00fe 0133 adds r3, r3, #1
3000 0100 6362 str r3, [r4, #36]
1564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
3001 .loc 1 1564 11 is_stmt 1 view .LVU1002
1564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
3002 .loc 1 1564 15 is_stmt 0 view .LVU1003
3003 0102 638D ldrh r3, [r4, #42]
3004 0104 9BB2 uxth r3, r3
1564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
3005 .loc 1 1564 26 view .LVU1004
3006 0106 013B subs r3, r3, #1
3007 0108 9BB2 uxth r3, r3
3008 010a 6385 strh r3, [r4, #42] @ movhi
1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3009 .loc 1 1565 11 is_stmt 1 view .LVU1005
1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3010 .loc 1 1565 15 is_stmt 0 view .LVU1006
3011 010c 238D ldrh r3, [r4, #40]
1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3012 .loc 1 1565 25 view .LVU1007
3013 010e 013B subs r3, r3, #1
3014 0110 2385 strh r3, [r4, #40] @ movhi
3015 .L211:
1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3016 .loc 1 1568 9 is_stmt 1 view .LVU1008
1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3017 .loc 1 1568 16 is_stmt 0 view .LVU1009
3018 0112 0120 movs r0, #1
3019 0114 2EE0 b .L205
3020 .L218:
ARM GAS /tmp/ccbUHtu7.s page 190
1582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3021 .loc 1 1582 5 is_stmt 1 view .LVU1010
1582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3022 .loc 1 1582 9 is_stmt 0 view .LVU1011
3023 0116 3A46 mov r2, r7
3024 0118 2946 mov r1, r5
3025 011a 2046 mov r0, r4
3026 011c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
3027 .LVL185:
1582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3028 .loc 1 1582 8 view .LVU1012
3029 0120 30B1 cbz r0, .L213
1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3030 .loc 1 1585 7 is_stmt 1 view .LVU1013
1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3031 .loc 1 1585 11 is_stmt 0 view .LVU1014
3032 0122 2268 ldr r2, [r4]
1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3033 .loc 1 1585 21 view .LVU1015
3034 0124 5368 ldr r3, [r2, #4]
1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3035 .loc 1 1585 27 view .LVU1016
3036 0126 43F40043 orr r3, r3, #32768
3037 012a 5360 str r3, [r2, #4]
1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3038 .loc 1 1586 7 is_stmt 1 view .LVU1017
1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3039 .loc 1 1586 14 is_stmt 0 view .LVU1018
3040 012c 0120 movs r0, #1
3041 012e 21E0 b .L205
3042 .L213:
1590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3043 .loc 1 1590 5 is_stmt 1 view .LVU1019
3044 0130 2368 ldr r3, [r4]
3045 0132 2022 movs r2, #32
3046 0134 DA61 str r2, [r3, #28]
1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3047 .loc 1 1593 5 view .LVU1020
1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3048 .loc 1 1593 9 is_stmt 0 view .LVU1021
3049 0136 0097 str r7, [sp]
3050 0138 2B46 mov r3, r5
3051 013a 0122 movs r2, #1
3052 013c 4FF40041 mov r1, #32768
3053 0140 2046 mov r0, r4
3054 0142 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3055 .LVL186:
1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3056 .loc 1 1593 8 view .LVU1022
3057 0146 30B1 cbz r0, .L214
1596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3058 .loc 1 1596 7 is_stmt 1 view .LVU1023
1596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3059 .loc 1 1596 11 is_stmt 0 view .LVU1024
3060 0148 2268 ldr r2, [r4]
1596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3061 .loc 1 1596 21 view .LVU1025
ARM GAS /tmp/ccbUHtu7.s page 191
3062 014a 5368 ldr r3, [r2, #4]
1596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
3063 .loc 1 1596 27 view .LVU1026
3064 014c 43F40043 orr r3, r3, #32768
3065 0150 5360 str r3, [r2, #4]
1597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3066 .loc 1 1597 7 is_stmt 1 view .LVU1027
1597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3067 .loc 1 1597 14 is_stmt 0 view .LVU1028
3068 0152 0120 movs r0, #1
3069 0154 0EE0 b .L205
3070 .L214:
1601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3071 .loc 1 1601 5 is_stmt 1 view .LVU1029
1601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3072 .loc 1 1601 9 is_stmt 0 view .LVU1030
3073 0156 2268 ldr r2, [r4]
1601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3074 .loc 1 1601 19 view .LVU1031
3075 0158 5368 ldr r3, [r2, #4]
1601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3076 .loc 1 1601 25 view .LVU1032
3077 015a 43F40043 orr r3, r3, #32768
3078 015e 5360 str r3, [r2, #4]
1603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3079 .loc 1 1603 5 is_stmt 1 view .LVU1033
1603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3080 .loc 1 1603 17 is_stmt 0 view .LVU1034
3081 0160 2023 movs r3, #32
3082 0162 84F84130 strb r3, [r4, #65]
1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3083 .loc 1 1604 5 is_stmt 1 view .LVU1035
1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3084 .loc 1 1604 17 is_stmt 0 view .LVU1036
3085 0166 0023 movs r3, #0
3086 0168 84F84230 strb r3, [r4, #66]
1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3087 .loc 1 1607 5 is_stmt 1 view .LVU1037
1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3088 .loc 1 1607 5 view .LVU1038
3089 016c 84F84030 strb r3, [r4, #64]
1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3090 .loc 1 1607 5 view .LVU1039
1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3091 .loc 1 1609 5 view .LVU1040
1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3092 .loc 1 1609 12 is_stmt 0 view .LVU1041
3093 0170 00E0 b .L205
3094 .LVL187:
3095 .L215:
1613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3096 .loc 1 1613 12 view .LVU1042
3097 0172 0220 movs r0, #2
3098 .LVL188:
3099 .L205:
1615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3100 .loc 1 1615 1 view .LVU1043
ARM GAS /tmp/ccbUHtu7.s page 192
3101 0174 02B0 add sp, sp, #8
3102 .LCFI33:
3103 .cfi_remember_state
3104 .cfi_def_cfa_offset 24
3105 @ sp needed
3106 0176 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
3107 .LVL189:
3108 .L216:
3109 .LCFI34:
3110 .cfi_restore_state
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3111 .loc 1 1510 5 view .LVU1044
3112 017a 0220 movs r0, #2
3113 .LVL190:
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3114 .loc 1 1510 5 view .LVU1045
3115 017c FAE7 b .L205
3116 .cfi_endproc
3117 .LFE336:
3119 .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
3120 .align 1
3121 .global HAL_I2C_Master_Transmit_IT
3122 .syntax unified
3123 .thumb
3124 .thumb_func
3126 HAL_I2C_Master_Transmit_IT:
3127 .LVL191:
3128 .LFB337:
1629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
3129 .loc 1 1629 1 is_stmt 1 view -0
3130 .cfi_startproc
3131 @ args = 0, pretend = 0, frame = 0
3132 @ frame_needed = 0, uses_anonymous_args = 0
1629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
3133 .loc 1 1629 1 is_stmt 0 view .LVU1047
3134 0000 30B5 push {r4, r5, lr}
3135 .LCFI35:
3136 .cfi_def_cfa_offset 12
3137 .cfi_offset 4, -12
3138 .cfi_offset 5, -8
3139 .cfi_offset 14, -4
3140 0002 83B0 sub sp, sp, #12
3141 .LCFI36:
3142 .cfi_def_cfa_offset 24
3143 0004 0446 mov r4, r0
1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3144 .loc 1 1630 3 is_stmt 1 view .LVU1048
1632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3145 .loc 1 1632 3 view .LVU1049
1632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3146 .loc 1 1632 11 is_stmt 0 view .LVU1050
3147 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
3148 .LVL192:
1632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3149 .loc 1 1632 11 view .LVU1051
3150 000a C0B2 uxtb r0, r0
1632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 193
3151 .loc 1 1632 6 view .LVU1052
3152 000c 2028 cmp r0, #32
3153 000e 37D1 bne .L223
1634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3154 .loc 1 1634 5 is_stmt 1 view .LVU1053
1634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3155 .loc 1 1634 9 is_stmt 0 view .LVU1054
3156 0010 2068 ldr r0, [r4]
3157 0012 8069 ldr r0, [r0, #24]
1634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3158 .loc 1 1634 8 view .LVU1055
3159 0014 10F4004F tst r0, #32768
3160 0018 34D1 bne .L224
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3161 .loc 1 1640 5 is_stmt 1 view .LVU1056
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3162 .loc 1 1640 5 view .LVU1057
3163 001a 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2
3164 001e 0128 cmp r0, #1
3165 0020 32D0 beq .L225
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3166 .loc 1 1640 5 discriminator 2 view .LVU1058
3167 0022 0120 movs r0, #1
3168 0024 84F84000 strb r0, [r4, #64]
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3169 .loc 1 1640 5 discriminator 2 view .LVU1059
1642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3170 .loc 1 1642 5 discriminator 2 view .LVU1060
1642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3171 .loc 1 1642 23 is_stmt 0 discriminator 2 view .LVU1061
3172 0028 2120 movs r0, #33
3173 002a 84F84100 strb r0, [r4, #65]
1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3174 .loc 1 1643 5 is_stmt 1 discriminator 2 view .LVU1062
1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3175 .loc 1 1643 23 is_stmt 0 discriminator 2 view .LVU1063
3176 002e 1020 movs r0, #16
3177 0030 84F84200 strb r0, [r4, #66]
1644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3178 .loc 1 1644 5 is_stmt 1 discriminator 2 view .LVU1064
1644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3179 .loc 1 1644 23 is_stmt 0 discriminator 2 view .LVU1065
3180 0034 0020 movs r0, #0
3181 0036 6064 str r0, [r4, #68]
1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3182 .loc 1 1647 5 is_stmt 1 discriminator 2 view .LVU1066
1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3183 .loc 1 1647 23 is_stmt 0 discriminator 2 view .LVU1067
3184 0038 6262 str r2, [r4, #36]
1648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3185 .loc 1 1648 5 is_stmt 1 discriminator 2 view .LVU1068
1648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3186 .loc 1 1648 23 is_stmt 0 discriminator 2 view .LVU1069
3187 003a 6385 strh r3, [r4, #42] @ movhi
1649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3188 .loc 1 1649 5 is_stmt 1 discriminator 2 view .LVU1070
1649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
ARM GAS /tmp/ccbUHtu7.s page 194
3189 .loc 1 1649 23 is_stmt 0 discriminator 2 view .LVU1071
3190 003c 134B ldr r3, .L227
3191 .LVL193:
1649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3192 .loc 1 1649 23 discriminator 2 view .LVU1072
3193 003e E362 str r3, [r4, #44]
3194 .LVL194:
1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3195 .loc 1 1650 5 is_stmt 1 discriminator 2 view .LVU1073
1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3196 .loc 1 1650 23 is_stmt 0 discriminator 2 view .LVU1074
3197 0040 134B ldr r3, .L227+4
3198 0042 6363 str r3, [r4, #52]
1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3199 .loc 1 1652 5 is_stmt 1 discriminator 2 view .LVU1075
1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3200 .loc 1 1652 13 is_stmt 0 discriminator 2 view .LVU1076
3201 0044 638D ldrh r3, [r4, #42]
3202 0046 9BB2 uxth r3, r3
1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3203 .loc 1 1652 8 discriminator 2 view .LVU1077
3204 0048 FF2B cmp r3, #255
3205 004a 14D9 bls .L221
1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3206 .loc 1 1654 7 is_stmt 1 view .LVU1078
1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3207 .loc 1 1654 22 is_stmt 0 view .LVU1079
3208 004c FF23 movs r3, #255
3209 004e 2385 strh r3, [r4, #40] @ movhi
1655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3210 .loc 1 1655 7 is_stmt 1 view .LVU1080
3211 .LVL195:
1655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3212 .loc 1 1655 16 is_stmt 0 view .LVU1081
3213 0050 4FF08073 mov r3, #16777216
3214 .LVL196:
3215 .L222:
1665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3216 .loc 1 1665 5 is_stmt 1 view .LVU1082
3217 0054 0F4A ldr r2, .L227+8
3218 .LVL197:
1665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3219 .loc 1 1665 5 is_stmt 0 view .LVU1083
3220 0056 0092 str r2, [sp]
3221 .LVL198:
1665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3222 .loc 1 1665 5 view .LVU1084
3223 0058 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
3224 005c 2046 mov r0, r4
3225 005e FFF7FEFF bl I2C_TransferConfig
3226 .LVL199:
1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3227 .loc 1 1668 5 is_stmt 1 view .LVU1085
1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3228 .loc 1 1668 5 view .LVU1086
3229 0062 0025 movs r5, #0
3230 0064 84F84050 strb r5, [r4, #64]
ARM GAS /tmp/ccbUHtu7.s page 195
1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3231 .loc 1 1668 5 view .LVU1087
1678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3232 .loc 1 1678 5 view .LVU1088
3233 0068 0121 movs r1, #1
3234 006a 2046 mov r0, r4
3235 006c FFF7FEFF bl I2C_Enable_IRQ
3236 .LVL200:
1680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3237 .loc 1 1680 5 view .LVU1089
1680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3238 .loc 1 1680 12 is_stmt 0 view .LVU1090
3239 0070 2846 mov r0, r5
3240 .LVL201:
3241 .L220:
1686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3242 .loc 1 1686 1 view .LVU1091
3243 0072 03B0 add sp, sp, #12
3244 .LCFI37:
3245 .cfi_remember_state
3246 .cfi_def_cfa_offset 12
3247 @ sp needed
3248 0074 30BD pop {r4, r5, pc}
3249 .LVL202:
3250 .L221:
3251 .LCFI38:
3252 .cfi_restore_state
1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3253 .loc 1 1659 7 is_stmt 1 view .LVU1092
1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3254 .loc 1 1659 28 is_stmt 0 view .LVU1093
3255 0076 638D ldrh r3, [r4, #42]
1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3256 .loc 1 1659 22 view .LVU1094
3257 0078 2385 strh r3, [r4, #40] @ movhi
1660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3258 .loc 1 1660 7 is_stmt 1 view .LVU1095
3259 .LVL203:
1660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3260 .loc 1 1660 16 is_stmt 0 view .LVU1096
3261 007a 4FF00073 mov r3, #33554432
3262 007e E9E7 b .L222
3263 .LVL204:
3264 .L223:
1684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3265 .loc 1 1684 12 view .LVU1097
3266 0080 0220 movs r0, #2
3267 0082 F6E7 b .L220
3268 .L224:
1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3269 .loc 1 1636 14 view .LVU1098
3270 0084 0220 movs r0, #2
3271 0086 F4E7 b .L220
3272 .L225:
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3273 .loc 1 1640 5 view .LVU1099
3274 0088 0220 movs r0, #2
ARM GAS /tmp/ccbUHtu7.s page 196
3275 008a F2E7 b .L220
3276 .L228:
3277 .align 2
3278 .L227:
3279 008c 0000FFFF .word -65536
3280 0090 00000000 .word I2C_Master_ISR_IT
3281 0094 00200080 .word -2147475456
3282 .cfi_endproc
3283 .LFE337:
3285 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits
3286 .align 1
3287 .global HAL_I2C_Master_Receive_IT
3288 .syntax unified
3289 .thumb
3290 .thumb_func
3292 HAL_I2C_Master_Receive_IT:
3293 .LVL205:
3294 .LFB338:
1700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
3295 .loc 1 1700 1 is_stmt 1 view -0
3296 .cfi_startproc
3297 @ args = 0, pretend = 0, frame = 0
3298 @ frame_needed = 0, uses_anonymous_args = 0
1700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
3299 .loc 1 1700 1 is_stmt 0 view .LVU1101
3300 0000 30B5 push {r4, r5, lr}
3301 .LCFI39:
3302 .cfi_def_cfa_offset 12
3303 .cfi_offset 4, -12
3304 .cfi_offset 5, -8
3305 .cfi_offset 14, -4
3306 0002 83B0 sub sp, sp, #12
3307 .LCFI40:
3308 .cfi_def_cfa_offset 24
3309 0004 0446 mov r4, r0
1701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3310 .loc 1 1701 3 is_stmt 1 view .LVU1102
1703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3311 .loc 1 1703 3 view .LVU1103
1703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3312 .loc 1 1703 11 is_stmt 0 view .LVU1104
3313 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
3314 .LVL206:
1703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3315 .loc 1 1703 11 view .LVU1105
3316 000a C0B2 uxtb r0, r0
1703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3317 .loc 1 1703 6 view .LVU1106
3318 000c 2028 cmp r0, #32
3319 000e 37D1 bne .L233
1705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3320 .loc 1 1705 5 is_stmt 1 view .LVU1107
1705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3321 .loc 1 1705 9 is_stmt 0 view .LVU1108
3322 0010 2068 ldr r0, [r4]
3323 0012 8069 ldr r0, [r0, #24]
1705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 197
3324 .loc 1 1705 8 view .LVU1109
3325 0014 10F4004F tst r0, #32768
3326 0018 34D1 bne .L234
1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3327 .loc 1 1711 5 is_stmt 1 view .LVU1110
1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3328 .loc 1 1711 5 view .LVU1111
3329 001a 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2
3330 001e 0128 cmp r0, #1
3331 0020 32D0 beq .L235
1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3332 .loc 1 1711 5 discriminator 2 view .LVU1112
3333 0022 0120 movs r0, #1
3334 0024 84F84000 strb r0, [r4, #64]
1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3335 .loc 1 1711 5 discriminator 2 view .LVU1113
1713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3336 .loc 1 1713 5 discriminator 2 view .LVU1114
1713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3337 .loc 1 1713 23 is_stmt 0 discriminator 2 view .LVU1115
3338 0028 2220 movs r0, #34
3339 002a 84F84100 strb r0, [r4, #65]
1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3340 .loc 1 1714 5 is_stmt 1 discriminator 2 view .LVU1116
1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3341 .loc 1 1714 23 is_stmt 0 discriminator 2 view .LVU1117
3342 002e 1020 movs r0, #16
3343 0030 84F84200 strb r0, [r4, #66]
1715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3344 .loc 1 1715 5 is_stmt 1 discriminator 2 view .LVU1118
1715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3345 .loc 1 1715 23 is_stmt 0 discriminator 2 view .LVU1119
3346 0034 0020 movs r0, #0
3347 0036 6064 str r0, [r4, #68]
1718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3348 .loc 1 1718 5 is_stmt 1 discriminator 2 view .LVU1120
1718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3349 .loc 1 1718 23 is_stmt 0 discriminator 2 view .LVU1121
3350 0038 6262 str r2, [r4, #36]
1719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3351 .loc 1 1719 5 is_stmt 1 discriminator 2 view .LVU1122
1719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3352 .loc 1 1719 23 is_stmt 0 discriminator 2 view .LVU1123
3353 003a 6385 strh r3, [r4, #42] @ movhi
1720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3354 .loc 1 1720 5 is_stmt 1 discriminator 2 view .LVU1124
1720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3355 .loc 1 1720 23 is_stmt 0 discriminator 2 view .LVU1125
3356 003c 134B ldr r3, .L237
3357 .LVL207:
1720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3358 .loc 1 1720 23 discriminator 2 view .LVU1126
3359 003e E362 str r3, [r4, #44]
3360 .LVL208:
1721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3361 .loc 1 1721 5 is_stmt 1 discriminator 2 view .LVU1127
1721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 198
3362 .loc 1 1721 23 is_stmt 0 discriminator 2 view .LVU1128
3363 0040 134B ldr r3, .L237+4
3364 0042 6363 str r3, [r4, #52]
1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3365 .loc 1 1723 5 is_stmt 1 discriminator 2 view .LVU1129
1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3366 .loc 1 1723 13 is_stmt 0 discriminator 2 view .LVU1130
3367 0044 638D ldrh r3, [r4, #42]
3368 0046 9BB2 uxth r3, r3
1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3369 .loc 1 1723 8 discriminator 2 view .LVU1131
3370 0048 FF2B cmp r3, #255
3371 004a 14D9 bls .L231
1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3372 .loc 1 1725 7 is_stmt 1 view .LVU1132
1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3373 .loc 1 1725 22 is_stmt 0 view .LVU1133
3374 004c FF23 movs r3, #255
3375 004e 2385 strh r3, [r4, #40] @ movhi
1726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3376 .loc 1 1726 7 is_stmt 1 view .LVU1134
3377 .LVL209:
1726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3378 .loc 1 1726 16 is_stmt 0 view .LVU1135
3379 0050 4FF08073 mov r3, #16777216
3380 .LVL210:
3381 .L232:
1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3382 .loc 1 1736 5 is_stmt 1 view .LVU1136
3383 0054 0F4A ldr r2, .L237+8
3384 .LVL211:
1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3385 .loc 1 1736 5 is_stmt 0 view .LVU1137
3386 0056 0092 str r2, [sp]
3387 .LVL212:
1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3388 .loc 1 1736 5 view .LVU1138
3389 0058 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
3390 005c 2046 mov r0, r4
3391 005e FFF7FEFF bl I2C_TransferConfig
3392 .LVL213:
1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3393 .loc 1 1739 5 is_stmt 1 view .LVU1139
1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3394 .loc 1 1739 5 view .LVU1140
3395 0062 0025 movs r5, #0
3396 0064 84F84050 strb r5, [r4, #64]
1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3397 .loc 1 1739 5 view .LVU1141
1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3398 .loc 1 1749 5 view .LVU1142
3399 0068 0221 movs r1, #2
3400 006a 2046 mov r0, r4
3401 006c FFF7FEFF bl I2C_Enable_IRQ
3402 .LVL214:
1751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3403 .loc 1 1751 5 view .LVU1143
ARM GAS /tmp/ccbUHtu7.s page 199
1751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3404 .loc 1 1751 12 is_stmt 0 view .LVU1144
3405 0070 2846 mov r0, r5
3406 .LVL215:
3407 .L230:
1757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3408 .loc 1 1757 1 view .LVU1145
3409 0072 03B0 add sp, sp, #12
3410 .LCFI41:
3411 .cfi_remember_state
3412 .cfi_def_cfa_offset 12
3413 @ sp needed
3414 0074 30BD pop {r4, r5, pc}
3415 .LVL216:
3416 .L231:
3417 .LCFI42:
3418 .cfi_restore_state
1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3419 .loc 1 1730 7 is_stmt 1 view .LVU1146
1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3420 .loc 1 1730 28 is_stmt 0 view .LVU1147
3421 0076 638D ldrh r3, [r4, #42]
1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3422 .loc 1 1730 22 view .LVU1148
3423 0078 2385 strh r3, [r4, #40] @ movhi
1731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3424 .loc 1 1731 7 is_stmt 1 view .LVU1149
3425 .LVL217:
1731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3426 .loc 1 1731 16 is_stmt 0 view .LVU1150
3427 007a 4FF00073 mov r3, #33554432
3428 007e E9E7 b .L232
3429 .LVL218:
3430 .L233:
1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3431 .loc 1 1755 12 view .LVU1151
3432 0080 0220 movs r0, #2
3433 0082 F6E7 b .L230
3434 .L234:
1707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3435 .loc 1 1707 14 view .LVU1152
3436 0084 0220 movs r0, #2
3437 0086 F4E7 b .L230
3438 .L235:
1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3439 .loc 1 1711 5 view .LVU1153
3440 0088 0220 movs r0, #2
3441 008a F2E7 b .L230
3442 .L238:
3443 .align 2
3444 .L237:
3445 008c 0000FFFF .word -65536
3446 0090 00000000 .word I2C_Master_ISR_IT
3447 0094 00240080 .word -2147474432
3448 .cfi_endproc
3449 .LFE338:
3451 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
ARM GAS /tmp/ccbUHtu7.s page 200
3452 .align 1
3453 .global HAL_I2C_Slave_Transmit_IT
3454 .syntax unified
3455 .thumb
3456 .thumb_func
3458 HAL_I2C_Slave_Transmit_IT:
3459 .LVL219:
3460 .LFB339:
1768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3461 .loc 1 1768 1 is_stmt 1 view -0
3462 .cfi_startproc
3463 @ args = 0, pretend = 0, frame = 0
3464 @ frame_needed = 0, uses_anonymous_args = 0
1768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3465 .loc 1 1768 1 is_stmt 0 view .LVU1155
3466 0000 38B5 push {r3, r4, r5, lr}
3467 .LCFI43:
3468 .cfi_def_cfa_offset 16
3469 .cfi_offset 3, -16
3470 .cfi_offset 4, -12
3471 .cfi_offset 5, -8
3472 .cfi_offset 14, -4
1769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3473 .loc 1 1769 3 is_stmt 1 view .LVU1156
1769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3474 .loc 1 1769 11 is_stmt 0 view .LVU1157
3475 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
3476 0006 DBB2 uxtb r3, r3
1769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3477 .loc 1 1769 6 view .LVU1158
3478 0008 202B cmp r3, #32
3479 000a 23D1 bne .L241
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3480 .loc 1 1772 5 is_stmt 1 view .LVU1159
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3481 .loc 1 1772 5 view .LVU1160
3482 000c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
3483 0010 012B cmp r3, #1
3484 0012 21D0 beq .L242
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3485 .loc 1 1772 5 discriminator 2 view .LVU1161
3486 0014 0123 movs r3, #1
3487 0016 80F84030 strb r3, [r0, #64]
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3488 .loc 1 1772 5 discriminator 2 view .LVU1162
1774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3489 .loc 1 1774 5 discriminator 2 view .LVU1163
1774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3490 .loc 1 1774 23 is_stmt 0 discriminator 2 view .LVU1164
3491 001a 2123 movs r3, #33
3492 001c 80F84130 strb r3, [r0, #65]
1775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3493 .loc 1 1775 5 is_stmt 1 discriminator 2 view .LVU1165
1775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3494 .loc 1 1775 23 is_stmt 0 discriminator 2 view .LVU1166
3495 0020 2023 movs r3, #32
3496 0022 80F84230 strb r3, [r0, #66]
ARM GAS /tmp/ccbUHtu7.s page 201
1776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3497 .loc 1 1776 5 is_stmt 1 discriminator 2 view .LVU1167
1776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3498 .loc 1 1776 23 is_stmt 0 discriminator 2 view .LVU1168
3499 0026 0024 movs r4, #0
3500 0028 4464 str r4, [r0, #68]
1779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3501 .loc 1 1779 5 is_stmt 1 discriminator 2 view .LVU1169
1779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3502 .loc 1 1779 9 is_stmt 0 discriminator 2 view .LVU1170
3503 002a 0568 ldr r5, [r0]
1779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3504 .loc 1 1779 19 discriminator 2 view .LVU1171
3505 002c 6B68 ldr r3, [r5, #4]
1779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3506 .loc 1 1779 25 discriminator 2 view .LVU1172
3507 002e 23F40043 bic r3, r3, #32768
3508 0032 6B60 str r3, [r5, #4]
1782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3509 .loc 1 1782 5 is_stmt 1 discriminator 2 view .LVU1173
1782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3510 .loc 1 1782 23 is_stmt 0 discriminator 2 view .LVU1174
3511 0034 4162 str r1, [r0, #36]
1783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3512 .loc 1 1783 5 is_stmt 1 discriminator 2 view .LVU1175
1783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3513 .loc 1 1783 23 is_stmt 0 discriminator 2 view .LVU1176
3514 0036 4285 strh r2, [r0, #42] @ movhi
1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3515 .loc 1 1784 5 is_stmt 1 discriminator 2 view .LVU1177
1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3516 .loc 1 1784 29 is_stmt 0 discriminator 2 view .LVU1178
3517 0038 438D ldrh r3, [r0, #42]
1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3518 .loc 1 1784 23 discriminator 2 view .LVU1179
3519 003a 0385 strh r3, [r0, #40] @ movhi
1785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3520 .loc 1 1785 5 is_stmt 1 discriminator 2 view .LVU1180
1785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3521 .loc 1 1785 23 is_stmt 0 discriminator 2 view .LVU1181
3522 003c 074B ldr r3, .L244
3523 003e C362 str r3, [r0, #44]
1786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3524 .loc 1 1786 5 is_stmt 1 discriminator 2 view .LVU1182
1786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3525 .loc 1 1786 23 is_stmt 0 discriminator 2 view .LVU1183
3526 0040 074B ldr r3, .L244+4
3527 0042 4363 str r3, [r0, #52]
1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3528 .loc 1 1789 5 is_stmt 1 discriminator 2 view .LVU1184
1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3529 .loc 1 1789 5 discriminator 2 view .LVU1185
3530 0044 80F84040 strb r4, [r0, #64]
1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3531 .loc 1 1789 5 discriminator 2 view .LVU1186
1799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3532 .loc 1 1799 5 discriminator 2 view .LVU1187
ARM GAS /tmp/ccbUHtu7.s page 202
3533 0048 48F20101 movw r1, #32769
3534 .LVL220:
1799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3535 .loc 1 1799 5 is_stmt 0 discriminator 2 view .LVU1188
3536 004c FFF7FEFF bl I2C_Enable_IRQ
3537 .LVL221:
1801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3538 .loc 1 1801 5 is_stmt 1 discriminator 2 view .LVU1189
1801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3539 .loc 1 1801 12 is_stmt 0 discriminator 2 view .LVU1190
3540 0050 2046 mov r0, r4
3541 .L240:
1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3542 .loc 1 1807 1 view .LVU1191
3543 0052 38BD pop {r3, r4, r5, pc}
3544 .LVL222:
3545 .L241:
1805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3546 .loc 1 1805 12 view .LVU1192
3547 0054 0220 movs r0, #2
3548 .LVL223:
1805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3549 .loc 1 1805 12 view .LVU1193
3550 0056 FCE7 b .L240
3551 .LVL224:
3552 .L242:
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3553 .loc 1 1772 5 view .LVU1194
3554 0058 0220 movs r0, #2
3555 .LVL225:
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3556 .loc 1 1772 5 view .LVU1195
3557 005a FAE7 b .L240
3558 .L245:
3559 .align 2
3560 .L244:
3561 005c 0000FFFF .word -65536
3562 0060 00000000 .word I2C_Slave_ISR_IT
3563 .cfi_endproc
3564 .LFE339:
3566 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
3567 .align 1
3568 .global HAL_I2C_Slave_Receive_IT
3569 .syntax unified
3570 .thumb
3571 .thumb_func
3573 HAL_I2C_Slave_Receive_IT:
3574 .LVL226:
3575 .LFB340:
1818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3576 .loc 1 1818 1 is_stmt 1 view -0
3577 .cfi_startproc
3578 @ args = 0, pretend = 0, frame = 0
3579 @ frame_needed = 0, uses_anonymous_args = 0
1818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3580 .loc 1 1818 1 is_stmt 0 view .LVU1197
3581 0000 38B5 push {r3, r4, r5, lr}
ARM GAS /tmp/ccbUHtu7.s page 203
3582 .LCFI44:
3583 .cfi_def_cfa_offset 16
3584 .cfi_offset 3, -16
3585 .cfi_offset 4, -12
3586 .cfi_offset 5, -8
3587 .cfi_offset 14, -4
1819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3588 .loc 1 1819 3 is_stmt 1 view .LVU1198
1819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3589 .loc 1 1819 11 is_stmt 0 view .LVU1199
3590 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
3591 0006 DBB2 uxtb r3, r3
1819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3592 .loc 1 1819 6 view .LVU1200
3593 0008 202B cmp r3, #32
3594 000a 23D1 bne .L248
1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3595 .loc 1 1822 5 is_stmt 1 view .LVU1201
1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3596 .loc 1 1822 5 view .LVU1202
3597 000c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
3598 0010 012B cmp r3, #1
3599 0012 21D0 beq .L249
1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3600 .loc 1 1822 5 discriminator 2 view .LVU1203
3601 0014 0123 movs r3, #1
3602 0016 80F84030 strb r3, [r0, #64]
1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3603 .loc 1 1822 5 discriminator 2 view .LVU1204
1824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3604 .loc 1 1824 5 discriminator 2 view .LVU1205
1824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3605 .loc 1 1824 23 is_stmt 0 discriminator 2 view .LVU1206
3606 001a 2223 movs r3, #34
3607 001c 80F84130 strb r3, [r0, #65]
1825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3608 .loc 1 1825 5 is_stmt 1 discriminator 2 view .LVU1207
1825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3609 .loc 1 1825 23 is_stmt 0 discriminator 2 view .LVU1208
3610 0020 2023 movs r3, #32
3611 0022 80F84230 strb r3, [r0, #66]
1826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3612 .loc 1 1826 5 is_stmt 1 discriminator 2 view .LVU1209
1826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3613 .loc 1 1826 23 is_stmt 0 discriminator 2 view .LVU1210
3614 0026 0024 movs r4, #0
3615 0028 4464 str r4, [r0, #68]
1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3616 .loc 1 1829 5 is_stmt 1 discriminator 2 view .LVU1211
1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3617 .loc 1 1829 9 is_stmt 0 discriminator 2 view .LVU1212
3618 002a 0568 ldr r5, [r0]
1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3619 .loc 1 1829 19 discriminator 2 view .LVU1213
3620 002c 6B68 ldr r3, [r5, #4]
1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3621 .loc 1 1829 25 discriminator 2 view .LVU1214
ARM GAS /tmp/ccbUHtu7.s page 204
3622 002e 23F40043 bic r3, r3, #32768
3623 0032 6B60 str r3, [r5, #4]
1832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3624 .loc 1 1832 5 is_stmt 1 discriminator 2 view .LVU1215
1832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3625 .loc 1 1832 23 is_stmt 0 discriminator 2 view .LVU1216
3626 0034 4162 str r1, [r0, #36]
1833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3627 .loc 1 1833 5 is_stmt 1 discriminator 2 view .LVU1217
1833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3628 .loc 1 1833 23 is_stmt 0 discriminator 2 view .LVU1218
3629 0036 4285 strh r2, [r0, #42] @ movhi
1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3630 .loc 1 1834 5 is_stmt 1 discriminator 2 view .LVU1219
1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3631 .loc 1 1834 29 is_stmt 0 discriminator 2 view .LVU1220
3632 0038 438D ldrh r3, [r0, #42]
1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3633 .loc 1 1834 23 discriminator 2 view .LVU1221
3634 003a 0385 strh r3, [r0, #40] @ movhi
1835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3635 .loc 1 1835 5 is_stmt 1 discriminator 2 view .LVU1222
1835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3636 .loc 1 1835 23 is_stmt 0 discriminator 2 view .LVU1223
3637 003c 074B ldr r3, .L251
3638 003e C362 str r3, [r0, #44]
1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3639 .loc 1 1836 5 is_stmt 1 discriminator 2 view .LVU1224
1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3640 .loc 1 1836 23 is_stmt 0 discriminator 2 view .LVU1225
3641 0040 074B ldr r3, .L251+4
3642 0042 4363 str r3, [r0, #52]
1839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3643 .loc 1 1839 5 is_stmt 1 discriminator 2 view .LVU1226
1839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3644 .loc 1 1839 5 discriminator 2 view .LVU1227
3645 0044 80F84040 strb r4, [r0, #64]
1839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3646 .loc 1 1839 5 discriminator 2 view .LVU1228
1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3647 .loc 1 1849 5 discriminator 2 view .LVU1229
3648 0048 48F20201 movw r1, #32770
3649 .LVL227:
1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3650 .loc 1 1849 5 is_stmt 0 discriminator 2 view .LVU1230
3651 004c FFF7FEFF bl I2C_Enable_IRQ
3652 .LVL228:
1851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3653 .loc 1 1851 5 is_stmt 1 discriminator 2 view .LVU1231
1851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3654 .loc 1 1851 12 is_stmt 0 discriminator 2 view .LVU1232
3655 0050 2046 mov r0, r4
3656 .L247:
1857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3657 .loc 1 1857 1 view .LVU1233
3658 0052 38BD pop {r3, r4, r5, pc}
3659 .LVL229:
ARM GAS /tmp/ccbUHtu7.s page 205
3660 .L248:
1855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3661 .loc 1 1855 12 view .LVU1234
3662 0054 0220 movs r0, #2
3663 .LVL230:
1855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3664 .loc 1 1855 12 view .LVU1235
3665 0056 FCE7 b .L247
3666 .LVL231:
3667 .L249:
1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3668 .loc 1 1822 5 view .LVU1236
3669 0058 0220 movs r0, #2
3670 .LVL232:
1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3671 .loc 1 1822 5 view .LVU1237
3672 005a FAE7 b .L247
3673 .L252:
3674 .align 2
3675 .L251:
3676 005c 0000FFFF .word -65536
3677 0060 00000000 .word I2C_Slave_ISR_IT
3678 .cfi_endproc
3679 .LFE340:
3681 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
3682 .align 1
3683 .global HAL_I2C_Master_Transmit_DMA
3684 .syntax unified
3685 .thumb
3686 .thumb_func
3688 HAL_I2C_Master_Transmit_DMA:
3689 .LVL233:
3690 .LFB341:
1871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
3691 .loc 1 1871 1 is_stmt 1 view -0
3692 .cfi_startproc
3693 @ args = 0, pretend = 0, frame = 0
3694 @ frame_needed = 0, uses_anonymous_args = 0
1871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
3695 .loc 1 1871 1 is_stmt 0 view .LVU1239
3696 0000 70B5 push {r4, r5, r6, lr}
3697 .LCFI45:
3698 .cfi_def_cfa_offset 16
3699 .cfi_offset 4, -16
3700 .cfi_offset 5, -12
3701 .cfi_offset 6, -8
3702 .cfi_offset 14, -4
3703 0002 82B0 sub sp, sp, #8
3704 .LCFI46:
3705 .cfi_def_cfa_offset 24
3706 0004 0446 mov r4, r0
1872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3707 .loc 1 1872 3 is_stmt 1 view .LVU1240
1873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3708 .loc 1 1873 3 view .LVU1241
1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3709 .loc 1 1875 3 view .LVU1242
ARM GAS /tmp/ccbUHtu7.s page 206
1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3710 .loc 1 1875 11 is_stmt 0 view .LVU1243
3711 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
3712 .LVL234:
1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3713 .loc 1 1875 11 view .LVU1244
3714 000a C0B2 uxtb r0, r0
1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3715 .loc 1 1875 6 view .LVU1245
3716 000c 2028 cmp r0, #32
3717 000e 40F08D80 bne .L262
3718 0012 0D46 mov r5, r1
3719 0014 1146 mov r1, r2
3720 .LVL235:
1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3721 .loc 1 1877 5 is_stmt 1 view .LVU1246
1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3722 .loc 1 1877 9 is_stmt 0 view .LVU1247
3723 0016 2268 ldr r2, [r4]
3724 .LVL236:
1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3725 .loc 1 1877 9 view .LVU1248
3726 0018 9269 ldr r2, [r2, #24]
1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3727 .loc 1 1877 8 view .LVU1249
3728 001a 12F4004F tst r2, #32768
3729 001e 40F08880 bne .L263
1883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3730 .loc 1 1883 5 is_stmt 1 view .LVU1250
1883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3731 .loc 1 1883 5 view .LVU1251
3732 0022 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2
3733 0026 012A cmp r2, #1
3734 0028 00F08580 beq .L264
1883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3735 .loc 1 1883 5 discriminator 2 view .LVU1252
3736 002c 0122 movs r2, #1
3737 002e 84F84020 strb r2, [r4, #64]
1883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3738 .loc 1 1883 5 discriminator 2 view .LVU1253
1885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3739 .loc 1 1885 5 discriminator 2 view .LVU1254
1885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3740 .loc 1 1885 23 is_stmt 0 discriminator 2 view .LVU1255
3741 0032 2122 movs r2, #33
3742 0034 84F84120 strb r2, [r4, #65]
1886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3743 .loc 1 1886 5 is_stmt 1 discriminator 2 view .LVU1256
1886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3744 .loc 1 1886 23 is_stmt 0 discriminator 2 view .LVU1257
3745 0038 1022 movs r2, #16
3746 003a 84F84220 strb r2, [r4, #66]
1887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3747 .loc 1 1887 5 is_stmt 1 discriminator 2 view .LVU1258
1887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3748 .loc 1 1887 23 is_stmt 0 discriminator 2 view .LVU1259
3749 003e 0022 movs r2, #0
ARM GAS /tmp/ccbUHtu7.s page 207
3750 0040 6264 str r2, [r4, #68]
1890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3751 .loc 1 1890 5 is_stmt 1 discriminator 2 view .LVU1260
1890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
3752 .loc 1 1890 23 is_stmt 0 discriminator 2 view .LVU1261
3753 0042 6162 str r1, [r4, #36]
1891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3754 .loc 1 1891 5 is_stmt 1 discriminator 2 view .LVU1262
1891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3755 .loc 1 1891 23 is_stmt 0 discriminator 2 view .LVU1263
3756 0044 6385 strh r3, [r4, #42] @ movhi
1892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3757 .loc 1 1892 5 is_stmt 1 discriminator 2 view .LVU1264
1892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3758 .loc 1 1892 23 is_stmt 0 discriminator 2 view .LVU1265
3759 0046 3D4B ldr r3, .L268
3760 .LVL237:
1892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3761 .loc 1 1892 23 discriminator 2 view .LVU1266
3762 0048 E362 str r3, [r4, #44]
3763 .LVL238:
1893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3764 .loc 1 1893 5 is_stmt 1 discriminator 2 view .LVU1267
1893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3765 .loc 1 1893 23 is_stmt 0 discriminator 2 view .LVU1268
3766 004a 3D4B ldr r3, .L268+4
3767 004c 6363 str r3, [r4, #52]
1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3768 .loc 1 1895 5 is_stmt 1 discriminator 2 view .LVU1269
1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3769 .loc 1 1895 13 is_stmt 0 discriminator 2 view .LVU1270
3770 004e 638D ldrh r3, [r4, #42]
3771 0050 9BB2 uxth r3, r3
1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3772 .loc 1 1895 8 discriminator 2 view .LVU1271
3773 0052 FF2B cmp r3, #255
3774 0054 27D9 bls .L255
1897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3775 .loc 1 1897 7 is_stmt 1 view .LVU1272
1897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3776 .loc 1 1897 22 is_stmt 0 view .LVU1273
3777 0056 FF23 movs r3, #255
3778 0058 2385 strh r3, [r4, #40] @ movhi
1898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3779 .loc 1 1898 7 is_stmt 1 view .LVU1274
3780 .LVL239:
1898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3781 .loc 1 1898 16 is_stmt 0 view .LVU1275
3782 005a 4FF08076 mov r6, #16777216
3783 .LVL240:
3784 .L256:
1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3785 .loc 1 1906 5 is_stmt 1 view .LVU1276
1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3786 .loc 1 1906 13 is_stmt 0 view .LVU1277
3787 005e 228D ldrh r2, [r4, #40]
1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 208
3788 .loc 1 1906 8 view .LVU1278
3789 0060 002A cmp r2, #0
3790 0062 4FD0 beq .L257
1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3791 .loc 1 1908 7 is_stmt 1 view .LVU1279
1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3792 .loc 1 1908 15 is_stmt 0 view .LVU1280
3793 0064 A36B ldr r3, [r4, #56]
1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3794 .loc 1 1908 10 view .LVU1281
3795 0066 1BB3 cbz r3, .L258
1911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3796 .loc 1 1911 9 is_stmt 1 view .LVU1282
1911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3797 .loc 1 1911 40 is_stmt 0 view .LVU1283
3798 0068 364A ldr r2, .L268+8
3799 006a DA62 str r2, [r3, #44]
1914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3800 .loc 1 1914 9 is_stmt 1 view .LVU1284
1914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3801 .loc 1 1914 13 is_stmt 0 view .LVU1285
3802 006c A36B ldr r3, [r4, #56]
1914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3803 .loc 1 1914 41 view .LVU1286
3804 006e 364A ldr r2, .L268+12
3805 0070 5A63 str r2, [r3, #52]
1917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3806 .loc 1 1917 9 is_stmt 1 view .LVU1287
1917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3807 .loc 1 1917 13 is_stmt 0 view .LVU1288
3808 0072 A26B ldr r2, [r4, #56]
1917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3809 .loc 1 1917 44 view .LVU1289
3810 0074 0023 movs r3, #0
3811 0076 1363 str r3, [r2, #48]
1918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3812 .loc 1 1918 9 is_stmt 1 view .LVU1290
1918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3813 .loc 1 1918 13 is_stmt 0 view .LVU1291
3814 0078 A26B ldr r2, [r4, #56]
1918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3815 .loc 1 1918 41 view .LVU1292
3816 007a 9363 str r3, [r2, #56]
1921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
3817 .loc 1 1921 9 is_stmt 1 view .LVU1293
1921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
3818 .loc 1 1921 88 is_stmt 0 view .LVU1294
3819 007c 2268 ldr r2, [r4]
1921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
3820 .loc 1 1921 25 view .LVU1295
3821 007e 238D ldrh r3, [r4, #40]
3822 0080 2832 adds r2, r2, #40
3823 0082 A06B ldr r0, [r4, #56]
3824 0084 FFF7FEFF bl HAL_DMA_Start_IT
3825 .LVL241:
1939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3826 .loc 1 1939 7 is_stmt 1 view .LVU1296
ARM GAS /tmp/ccbUHtu7.s page 209
1939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
3827 .loc 1 1939 10 is_stmt 0 view .LVU1297
3828 0088 00B3 cbz r0, .L267
1963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3829 .loc 1 1963 9 is_stmt 1 view .LVU1298
1963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3830 .loc 1 1963 25 is_stmt 0 view .LVU1299
3831 008a 2023 movs r3, #32
3832 008c 84F84130 strb r3, [r4, #65]
1964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3833 .loc 1 1964 9 is_stmt 1 view .LVU1300
1964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3834 .loc 1 1964 25 is_stmt 0 view .LVU1301
3835 0090 0022 movs r2, #0
3836 0092 84F84220 strb r2, [r4, #66]
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3837 .loc 1 1967 9 is_stmt 1 view .LVU1302
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3838 .loc 1 1967 13 is_stmt 0 view .LVU1303
3839 0096 636C ldr r3, [r4, #68]
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3840 .loc 1 1967 25 view .LVU1304
3841 0098 43F01003 orr r3, r3, #16
3842 009c 6364 str r3, [r4, #68]
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3843 .loc 1 1970 9 is_stmt 1 view .LVU1305
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3844 .loc 1 1970 9 view .LVU1306
3845 009e 84F84020 strb r2, [r4, #64]
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3846 .loc 1 1970 9 view .LVU1307
1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3847 .loc 1 1972 9 view .LVU1308
1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3848 .loc 1 1972 16 is_stmt 0 view .LVU1309
3849 00a2 0120 movs r0, #1
3850 .LVL242:
1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3851 .loc 1 1972 16 view .LVU1310
3852 00a4 43E0 b .L254
3853 .LVL243:
3854 .L255:
1902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3855 .loc 1 1902 7 is_stmt 1 view .LVU1311
1902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3856 .loc 1 1902 28 is_stmt 0 view .LVU1312
3857 00a6 638D ldrh r3, [r4, #42]
1902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3858 .loc 1 1902 22 view .LVU1313
3859 00a8 2385 strh r3, [r4, #40] @ movhi
1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3860 .loc 1 1903 7 is_stmt 1 view .LVU1314
3861 .LVL244:
1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3862 .loc 1 1903 16 is_stmt 0 view .LVU1315
3863 00aa 4FF00076 mov r6, #33554432
3864 00ae D6E7 b .L256
ARM GAS /tmp/ccbUHtu7.s page 210
3865 .LVL245:
3866 .L258:
1927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3867 .loc 1 1927 9 is_stmt 1 view .LVU1316
1927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3868 .loc 1 1927 25 is_stmt 0 view .LVU1317
3869 00b0 2023 movs r3, #32
3870 00b2 84F84130 strb r3, [r4, #65]
1928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3871 .loc 1 1928 9 is_stmt 1 view .LVU1318
1928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3872 .loc 1 1928 25 is_stmt 0 view .LVU1319
3873 00b6 0022 movs r2, #0
3874 00b8 84F84220 strb r2, [r4, #66]
1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3875 .loc 1 1931 9 is_stmt 1 view .LVU1320
1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3876 .loc 1 1931 13 is_stmt 0 view .LVU1321
3877 00bc 636C ldr r3, [r4, #68]
1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3878 .loc 1 1931 25 view .LVU1322
3879 00be 43F08003 orr r3, r3, #128
3880 00c2 6364 str r3, [r4, #68]
1934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3881 .loc 1 1934 9 is_stmt 1 view .LVU1323
1934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3882 .loc 1 1934 9 view .LVU1324
3883 00c4 84F84020 strb r2, [r4, #64]
1934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3884 .loc 1 1934 9 view .LVU1325
1936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3885 .loc 1 1936 9 view .LVU1326
1936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3886 .loc 1 1936 16 is_stmt 0 view .LVU1327
3887 00c8 0120 movs r0, #1
3888 00ca 30E0 b .L254
3889 .LVL246:
3890 .L267:
1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3891 .loc 1 1943 9 is_stmt 1 view .LVU1328
3892 00cc 1F4B ldr r3, .L268+16
3893 00ce 0093 str r3, [sp]
3894 00d0 3346 mov r3, r6
3895 00d2 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
3896 00d6 2946 mov r1, r5
3897 00d8 2046 mov r0, r4
3898 .LVL247:
1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3899 .loc 1 1943 9 is_stmt 0 view .LVU1329
3900 00da FFF7FEFF bl I2C_TransferConfig
3901 .LVL248:
1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3902 .loc 1 1946 9 is_stmt 1 view .LVU1330
1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3903 .loc 1 1946 13 is_stmt 0 view .LVU1331
3904 00de 638D ldrh r3, [r4, #42]
3905 00e0 9BB2 uxth r3, r3
ARM GAS /tmp/ccbUHtu7.s page 211
1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3906 .loc 1 1946 32 view .LVU1332
3907 00e2 228D ldrh r2, [r4, #40]
1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3908 .loc 1 1946 25 view .LVU1333
3909 00e4 9B1A subs r3, r3, r2
3910 00e6 9BB2 uxth r3, r3
3911 00e8 6385 strh r3, [r4, #42] @ movhi
1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3912 .loc 1 1949 9 is_stmt 1 view .LVU1334
1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3913 .loc 1 1949 9 view .LVU1335
3914 00ea 0023 movs r3, #0
3915 00ec 84F84030 strb r3, [r4, #64]
1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3916 .loc 1 1949 9 view .LVU1336
1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3917 .loc 1 1955 9 view .LVU1337
3918 00f0 1021 movs r1, #16
3919 00f2 2046 mov r0, r4
3920 00f4 FFF7FEFF bl I2C_Enable_IRQ
3921 .LVL249:
1958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3922 .loc 1 1958 9 view .LVU1338
1958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3923 .loc 1 1958 13 is_stmt 0 view .LVU1339
3924 00f8 2268 ldr r2, [r4]
1958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3925 .loc 1 1958 23 view .LVU1340
3926 00fa 1368 ldr r3, [r2]
1958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3927 .loc 1 1958 29 view .LVU1341
3928 00fc 43F48043 orr r3, r3, #16384
3929 0100 1360 str r3, [r2]
3930 0102 11E0 b .L261
3931 .LVL250:
3932 .L257:
1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3933 .loc 1 1978 7 is_stmt 1 view .LVU1342
1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3934 .loc 1 1978 21 is_stmt 0 view .LVU1343
3935 0104 124B ldr r3, .L268+20
3936 0106 6363 str r3, [r4, #52]
1982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
3937 .loc 1 1982 7 is_stmt 1 view .LVU1344
3938 0108 104B ldr r3, .L268+16
3939 010a 0093 str r3, [sp]
3940 010c 4FF00073 mov r3, #33554432
3941 0110 D2B2 uxtb r2, r2
3942 0112 2946 mov r1, r5
3943 .LVL251:
1982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
3944 .loc 1 1982 7 is_stmt 0 view .LVU1345
3945 0114 2046 mov r0, r4
3946 0116 FFF7FEFF bl I2C_TransferConfig
3947 .LVL252:
1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 212
3948 .loc 1 1986 7 is_stmt 1 view .LVU1346
1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3949 .loc 1 1986 7 view .LVU1347
3950 011a 0023 movs r3, #0
3951 011c 84F84030 strb r3, [r4, #64]
1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3952 .loc 1 1986 7 view .LVU1348
1995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3953 .loc 1 1995 7 view .LVU1349
3954 0120 0121 movs r1, #1
3955 0122 2046 mov r0, r4
3956 0124 FFF7FEFF bl I2C_Enable_IRQ
3957 .LVL253:
3958 .L261:
1998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3959 .loc 1 1998 5 view .LVU1350
1998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3960 .loc 1 1998 12 is_stmt 0 view .LVU1351
3961 0128 0020 movs r0, #0
3962 012a 00E0 b .L254
3963 .LVL254:
3964 .L262:
2002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3965 .loc 1 2002 12 view .LVU1352
3966 012c 0220 movs r0, #2
3967 .LVL255:
3968 .L254:
2004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3969 .loc 1 2004 1 view .LVU1353
3970 012e 02B0 add sp, sp, #8
3971 .LCFI47:
3972 .cfi_remember_state
3973 .cfi_def_cfa_offset 16
3974 @ sp needed
3975 0130 70BD pop {r4, r5, r6, pc}
3976 .LVL256:
3977 .L263:
3978 .LCFI48:
3979 .cfi_restore_state
1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
3980 .loc 1 1879 14 view .LVU1354
3981 0132 0220 movs r0, #2
3982 0134 FBE7 b .L254
3983 .L264:
1883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
3984 .loc 1 1883 5 view .LVU1355
3985 0136 0220 movs r0, #2
3986 0138 F9E7 b .L254
3987 .L269:
3988 013a 00BF .align 2
3989 .L268:
3990 013c 0000FFFF .word -65536
3991 0140 00000000 .word I2C_Master_ISR_DMA
3992 0144 00000000 .word I2C_DMAMasterTransmitCplt
3993 0148 00000000 .word I2C_DMAError
3994 014c 00200080 .word -2147475456
3995 0150 00000000 .word I2C_Master_ISR_IT
ARM GAS /tmp/ccbUHtu7.s page 213
3996 .cfi_endproc
3997 .LFE341:
3999 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
4000 .align 1
4001 .global HAL_I2C_Master_Receive_DMA
4002 .syntax unified
4003 .thumb
4004 .thumb_func
4006 HAL_I2C_Master_Receive_DMA:
4007 .LVL257:
4008 .LFB342:
2018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
4009 .loc 1 2018 1 is_stmt 1 view -0
4010 .cfi_startproc
4011 @ args = 0, pretend = 0, frame = 0
4012 @ frame_needed = 0, uses_anonymous_args = 0
2018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
4013 .loc 1 2018 1 is_stmt 0 view .LVU1357
4014 0000 70B5 push {r4, r5, r6, lr}
4015 .LCFI49:
4016 .cfi_def_cfa_offset 16
4017 .cfi_offset 4, -16
4018 .cfi_offset 5, -12
4019 .cfi_offset 6, -8
4020 .cfi_offset 14, -4
4021 0002 82B0 sub sp, sp, #8
4022 .LCFI50:
4023 .cfi_def_cfa_offset 24
4024 0004 0446 mov r4, r0
2019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4025 .loc 1 2019 3 is_stmt 1 view .LVU1358
2020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4026 .loc 1 2020 3 view .LVU1359
2022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4027 .loc 1 2022 3 view .LVU1360
2022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4028 .loc 1 2022 11 is_stmt 0 view .LVU1361
4029 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
4030 .LVL258:
2022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4031 .loc 1 2022 11 view .LVU1362
4032 000a C0B2 uxtb r0, r0
2022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4033 .loc 1 2022 6 view .LVU1363
4034 000c 2028 cmp r0, #32
4035 000e 40F08C80 bne .L279
4036 0012 0D46 mov r5, r1
2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4037 .loc 1 2024 5 is_stmt 1 view .LVU1364
2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4038 .loc 1 2024 9 is_stmt 0 view .LVU1365
4039 0014 2168 ldr r1, [r4]
4040 .LVL259:
2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4041 .loc 1 2024 9 view .LVU1366
4042 0016 8969 ldr r1, [r1, #24]
2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 214
4043 .loc 1 2024 8 view .LVU1367
4044 0018 11F4004F tst r1, #32768
4045 001c 40F08880 bne .L280
2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4046 .loc 1 2030 5 is_stmt 1 view .LVU1368
2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4047 .loc 1 2030 5 view .LVU1369
4048 0020 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
4049 0024 0129 cmp r1, #1
4050 0026 00F08580 beq .L281
2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4051 .loc 1 2030 5 discriminator 2 view .LVU1370
4052 002a 0121 movs r1, #1
4053 002c 84F84010 strb r1, [r4, #64]
2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4054 .loc 1 2030 5 discriminator 2 view .LVU1371
2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4055 .loc 1 2032 5 discriminator 2 view .LVU1372
2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4056 .loc 1 2032 23 is_stmt 0 discriminator 2 view .LVU1373
4057 0030 2221 movs r1, #34
4058 0032 84F84110 strb r1, [r4, #65]
2033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4059 .loc 1 2033 5 is_stmt 1 discriminator 2 view .LVU1374
2033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4060 .loc 1 2033 23 is_stmt 0 discriminator 2 view .LVU1375
4061 0036 1021 movs r1, #16
4062 0038 84F84210 strb r1, [r4, #66]
2034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4063 .loc 1 2034 5 is_stmt 1 discriminator 2 view .LVU1376
2034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4064 .loc 1 2034 23 is_stmt 0 discriminator 2 view .LVU1377
4065 003c 0021 movs r1, #0
4066 003e 6164 str r1, [r4, #68]
2037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
4067 .loc 1 2037 5 is_stmt 1 discriminator 2 view .LVU1378
2037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
4068 .loc 1 2037 23 is_stmt 0 discriminator 2 view .LVU1379
4069 0040 6262 str r2, [r4, #36]
2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4070 .loc 1 2038 5 is_stmt 1 discriminator 2 view .LVU1380
2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4071 .loc 1 2038 23 is_stmt 0 discriminator 2 view .LVU1381
4072 0042 6385 strh r3, [r4, #42] @ movhi
2039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4073 .loc 1 2039 5 is_stmt 1 discriminator 2 view .LVU1382
2039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4074 .loc 1 2039 23 is_stmt 0 discriminator 2 view .LVU1383
4075 0044 3C4B ldr r3, .L285
4076 .LVL260:
2039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4077 .loc 1 2039 23 discriminator 2 view .LVU1384
4078 0046 E362 str r3, [r4, #44]
4079 .LVL261:
2040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4080 .loc 1 2040 5 is_stmt 1 discriminator 2 view .LVU1385
2040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 215
4081 .loc 1 2040 23 is_stmt 0 discriminator 2 view .LVU1386
4082 0048 3C4B ldr r3, .L285+4
4083 004a 6363 str r3, [r4, #52]
2042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4084 .loc 1 2042 5 is_stmt 1 discriminator 2 view .LVU1387
2042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4085 .loc 1 2042 13 is_stmt 0 discriminator 2 view .LVU1388
4086 004c 638D ldrh r3, [r4, #42]
4087 004e 9BB2 uxth r3, r3
2042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4088 .loc 1 2042 8 discriminator 2 view .LVU1389
4089 0050 FF2B cmp r3, #255
4090 0052 27D9 bls .L272
2044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
4091 .loc 1 2044 7 is_stmt 1 view .LVU1390
2044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
4092 .loc 1 2044 22 is_stmt 0 view .LVU1391
4093 0054 FF23 movs r3, #255
4094 0056 2385 strh r3, [r4, #40] @ movhi
2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4095 .loc 1 2045 7 is_stmt 1 view .LVU1392
4096 .LVL262:
2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4097 .loc 1 2045 16 is_stmt 0 view .LVU1393
4098 0058 4FF08076 mov r6, #16777216
4099 .LVL263:
4100 .L273:
2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4101 .loc 1 2053 5 is_stmt 1 view .LVU1394
2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4102 .loc 1 2053 13 is_stmt 0 view .LVU1395
4103 005c 218D ldrh r1, [r4, #40]
2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4104 .loc 1 2053 8 view .LVU1396
4105 005e 0029 cmp r1, #0
4106 0060 4FD0 beq .L274
2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4107 .loc 1 2055 7 is_stmt 1 view .LVU1397
2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4108 .loc 1 2055 15 is_stmt 0 view .LVU1398
4109 0062 E36B ldr r3, [r4, #60]
2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4110 .loc 1 2055 10 view .LVU1399
4111 0064 1BB3 cbz r3, .L275
2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4112 .loc 1 2058 9 is_stmt 1 view .LVU1400
2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4113 .loc 1 2058 40 is_stmt 0 view .LVU1401
4114 0066 3649 ldr r1, .L285+8
4115 0068 D962 str r1, [r3, #44]
2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4116 .loc 1 2061 9 is_stmt 1 view .LVU1402
2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4117 .loc 1 2061 13 is_stmt 0 view .LVU1403
4118 006a E36B ldr r3, [r4, #60]
2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4119 .loc 1 2061 41 view .LVU1404
ARM GAS /tmp/ccbUHtu7.s page 216
4120 006c 3549 ldr r1, .L285+12
4121 006e 5963 str r1, [r3, #52]
2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4122 .loc 1 2064 9 is_stmt 1 view .LVU1405
2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4123 .loc 1 2064 13 is_stmt 0 view .LVU1406
4124 0070 E16B ldr r1, [r4, #60]
2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4125 .loc 1 2064 44 view .LVU1407
4126 0072 0023 movs r3, #0
4127 0074 0B63 str r3, [r1, #48]
2065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4128 .loc 1 2065 9 is_stmt 1 view .LVU1408
2065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4129 .loc 1 2065 13 is_stmt 0 view .LVU1409
4130 0076 E16B ldr r1, [r4, #60]
2065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4131 .loc 1 2065 41 view .LVU1410
4132 0078 8B63 str r3, [r1, #56]
2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4133 .loc 1 2068 9 is_stmt 1 view .LVU1411
2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4134 .loc 1 2068 71 is_stmt 0 view .LVU1412
4135 007a 2168 ldr r1, [r4]
2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4136 .loc 1 2068 25 view .LVU1413
4137 007c 238D ldrh r3, [r4, #40]
4138 007e 2431 adds r1, r1, #36
4139 0080 E06B ldr r0, [r4, #60]
4140 0082 FFF7FEFF bl HAL_DMA_Start_IT
4141 .LVL264:
2086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4142 .loc 1 2086 7 is_stmt 1 view .LVU1414
2086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4143 .loc 1 2086 10 is_stmt 0 view .LVU1415
4144 0086 00B3 cbz r0, .L284
2110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4145 .loc 1 2110 9 is_stmt 1 view .LVU1416
2110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4146 .loc 1 2110 25 is_stmt 0 view .LVU1417
4147 0088 2023 movs r3, #32
4148 008a 84F84130 strb r3, [r4, #65]
2111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4149 .loc 1 2111 9 is_stmt 1 view .LVU1418
2111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4150 .loc 1 2111 25 is_stmt 0 view .LVU1419
4151 008e 0022 movs r2, #0
4152 0090 84F84220 strb r2, [r4, #66]
2114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4153 .loc 1 2114 9 is_stmt 1 view .LVU1420
2114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4154 .loc 1 2114 13 is_stmt 0 view .LVU1421
4155 0094 636C ldr r3, [r4, #68]
2114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4156 .loc 1 2114 25 view .LVU1422
4157 0096 43F01003 orr r3, r3, #16
4158 009a 6364 str r3, [r4, #68]
ARM GAS /tmp/ccbUHtu7.s page 217
2117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4159 .loc 1 2117 9 is_stmt 1 view .LVU1423
2117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4160 .loc 1 2117 9 view .LVU1424
4161 009c 84F84020 strb r2, [r4, #64]
2117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4162 .loc 1 2117 9 view .LVU1425
2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4163 .loc 1 2119 9 view .LVU1426
2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4164 .loc 1 2119 16 is_stmt 0 view .LVU1427
4165 00a0 0120 movs r0, #1
4166 .LVL265:
2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4167 .loc 1 2119 16 view .LVU1428
4168 00a2 43E0 b .L271
4169 .LVL266:
4170 .L272:
2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4171 .loc 1 2049 7 is_stmt 1 view .LVU1429
2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4172 .loc 1 2049 28 is_stmt 0 view .LVU1430
4173 00a4 638D ldrh r3, [r4, #42]
2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4174 .loc 1 2049 22 view .LVU1431
4175 00a6 2385 strh r3, [r4, #40] @ movhi
2050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4176 .loc 1 2050 7 is_stmt 1 view .LVU1432
4177 .LVL267:
2050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4178 .loc 1 2050 16 is_stmt 0 view .LVU1433
4179 00a8 4FF00076 mov r6, #33554432
4180 00ac D6E7 b .L273
4181 .LVL268:
4182 .L275:
2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4183 .loc 1 2074 9 is_stmt 1 view .LVU1434
2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4184 .loc 1 2074 25 is_stmt 0 view .LVU1435
4185 00ae 2023 movs r3, #32
4186 00b0 84F84130 strb r3, [r4, #65]
2075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4187 .loc 1 2075 9 is_stmt 1 view .LVU1436
2075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4188 .loc 1 2075 25 is_stmt 0 view .LVU1437
4189 00b4 0022 movs r2, #0
4190 .LVL269:
2075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4191 .loc 1 2075 25 view .LVU1438
4192 00b6 84F84220 strb r2, [r4, #66]
2078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4193 .loc 1 2078 9 is_stmt 1 view .LVU1439
2078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4194 .loc 1 2078 13 is_stmt 0 view .LVU1440
4195 00ba 636C ldr r3, [r4, #68]
2078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4196 .loc 1 2078 25 view .LVU1441
ARM GAS /tmp/ccbUHtu7.s page 218
4197 00bc 43F08003 orr r3, r3, #128
4198 00c0 6364 str r3, [r4, #68]
2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4199 .loc 1 2081 9 is_stmt 1 view .LVU1442
2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4200 .loc 1 2081 9 view .LVU1443
4201 00c2 84F84020 strb r2, [r4, #64]
2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4202 .loc 1 2081 9 view .LVU1444
2083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4203 .loc 1 2083 9 view .LVU1445
2083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4204 .loc 1 2083 16 is_stmt 0 view .LVU1446
4205 00c6 0120 movs r0, #1
4206 00c8 30E0 b .L271
4207 .LVL270:
4208 .L284:
2090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4209 .loc 1 2090 9 is_stmt 1 view .LVU1447
4210 00ca 1F4B ldr r3, .L285+16
4211 00cc 0093 str r3, [sp]
4212 00ce 3346 mov r3, r6
4213 00d0 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
4214 00d4 2946 mov r1, r5
4215 00d6 2046 mov r0, r4
4216 .LVL271:
2090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4217 .loc 1 2090 9 is_stmt 0 view .LVU1448
4218 00d8 FFF7FEFF bl I2C_TransferConfig
4219 .LVL272:
2093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4220 .loc 1 2093 9 is_stmt 1 view .LVU1449
2093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4221 .loc 1 2093 13 is_stmt 0 view .LVU1450
4222 00dc 638D ldrh r3, [r4, #42]
4223 00de 9BB2 uxth r3, r3
2093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4224 .loc 1 2093 32 view .LVU1451
4225 00e0 228D ldrh r2, [r4, #40]
2093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4226 .loc 1 2093 25 view .LVU1452
4227 00e2 9B1A subs r3, r3, r2
4228 00e4 9BB2 uxth r3, r3
4229 00e6 6385 strh r3, [r4, #42] @ movhi
2096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4230 .loc 1 2096 9 is_stmt 1 view .LVU1453
2096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4231 .loc 1 2096 9 view .LVU1454
4232 00e8 0023 movs r3, #0
4233 00ea 84F84030 strb r3, [r4, #64]
2096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4234 .loc 1 2096 9 view .LVU1455
2102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4235 .loc 1 2102 9 view .LVU1456
4236 00ee 1021 movs r1, #16
4237 00f0 2046 mov r0, r4
4238 00f2 FFF7FEFF bl I2C_Enable_IRQ
ARM GAS /tmp/ccbUHtu7.s page 219
4239 .LVL273:
2105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4240 .loc 1 2105 9 view .LVU1457
2105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4241 .loc 1 2105 13 is_stmt 0 view .LVU1458
4242 00f6 2268 ldr r2, [r4]
2105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4243 .loc 1 2105 23 view .LVU1459
4244 00f8 1368 ldr r3, [r2]
2105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4245 .loc 1 2105 29 view .LVU1460
4246 00fa 43F40043 orr r3, r3, #32768
4247 00fe 1360 str r3, [r2]
4248 0100 11E0 b .L278
4249 .LVL274:
4250 .L274:
2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4251 .loc 1 2125 7 is_stmt 1 view .LVU1461
2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4252 .loc 1 2125 21 is_stmt 0 view .LVU1462
4253 0102 124B ldr r3, .L285+20
4254 0104 6363 str r3, [r4, #52]
2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
4255 .loc 1 2129 7 is_stmt 1 view .LVU1463
4256 0106 104B ldr r3, .L285+16
4257 0108 0093 str r3, [sp]
4258 010a 4FF00073 mov r3, #33554432
4259 010e CAB2 uxtb r2, r1
4260 .LVL275:
2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
4261 .loc 1 2129 7 is_stmt 0 view .LVU1464
4262 0110 2946 mov r1, r5
4263 0112 2046 mov r0, r4
4264 0114 FFF7FEFF bl I2C_TransferConfig
4265 .LVL276:
2133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4266 .loc 1 2133 7 is_stmt 1 view .LVU1465
2133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4267 .loc 1 2133 7 view .LVU1466
4268 0118 0023 movs r3, #0
4269 011a 84F84030 strb r3, [r4, #64]
2133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4270 .loc 1 2133 7 view .LVU1467
2142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4271 .loc 1 2142 7 view .LVU1468
4272 011e 0121 movs r1, #1
4273 0120 2046 mov r0, r4
4274 0122 FFF7FEFF bl I2C_Enable_IRQ
4275 .LVL277:
4276 .L278:
2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4277 .loc 1 2145 5 view .LVU1469
2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4278 .loc 1 2145 12 is_stmt 0 view .LVU1470
4279 0126 0020 movs r0, #0
4280 0128 00E0 b .L271
4281 .LVL278:
ARM GAS /tmp/ccbUHtu7.s page 220
4282 .L279:
2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4283 .loc 1 2149 12 view .LVU1471
4284 012a 0220 movs r0, #2
4285 .LVL279:
4286 .L271:
2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4287 .loc 1 2151 1 view .LVU1472
4288 012c 02B0 add sp, sp, #8
4289 .LCFI51:
4290 .cfi_remember_state
4291 .cfi_def_cfa_offset 16
4292 @ sp needed
4293 012e 70BD pop {r4, r5, r6, pc}
4294 .LVL280:
4295 .L280:
4296 .LCFI52:
4297 .cfi_restore_state
2026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4298 .loc 1 2026 14 view .LVU1473
4299 0130 0220 movs r0, #2
4300 0132 FBE7 b .L271
4301 .L281:
2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4302 .loc 1 2030 5 view .LVU1474
4303 0134 0220 movs r0, #2
4304 0136 F9E7 b .L271
4305 .L286:
4306 .align 2
4307 .L285:
4308 0138 0000FFFF .word -65536
4309 013c 00000000 .word I2C_Master_ISR_DMA
4310 0140 00000000 .word I2C_DMAMasterReceiveCplt
4311 0144 00000000 .word I2C_DMAError
4312 0148 00240080 .word -2147474432
4313 014c 00000000 .word I2C_Master_ISR_IT
4314 .cfi_endproc
4315 .LFE342:
4317 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
4318 .align 1
4319 .global HAL_I2C_Slave_Transmit_DMA
4320 .syntax unified
4321 .thumb
4322 .thumb_func
4324 HAL_I2C_Slave_Transmit_DMA:
4325 .LVL281:
4326 .LFB343:
2162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4327 .loc 1 2162 1 is_stmt 1 view -0
4328 .cfi_startproc
4329 @ args = 0, pretend = 0, frame = 0
4330 @ frame_needed = 0, uses_anonymous_args = 0
2162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4331 .loc 1 2162 1 is_stmt 0 view .LVU1476
4332 0000 38B5 push {r3, r4, r5, lr}
4333 .LCFI53:
4334 .cfi_def_cfa_offset 16
ARM GAS /tmp/ccbUHtu7.s page 221
4335 .cfi_offset 3, -16
4336 .cfi_offset 4, -12
4337 .cfi_offset 5, -8
4338 .cfi_offset 14, -4
2163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4339 .loc 1 2163 3 is_stmt 1 view .LVU1477
2165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4340 .loc 1 2165 3 view .LVU1478
2165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4341 .loc 1 2165 11 is_stmt 0 view .LVU1479
4342 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
4343 0006 DBB2 uxtb r3, r3
2165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4344 .loc 1 2165 6 view .LVU1480
4345 0008 202B cmp r3, #32
4346 000a 63D1 bne .L294
4347 000c 0446 mov r4, r0
2167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4348 .loc 1 2167 5 is_stmt 1 view .LVU1481
2167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4349 .loc 1 2167 8 is_stmt 0 view .LVU1482
4350 000e 0029 cmp r1, #0
4351 0010 3AD0 beq .L289
2167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4352 .loc 1 2167 25 discriminator 1 view .LVU1483
4353 0012 002A cmp r2, #0
4354 0014 38D0 beq .L289
2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4355 .loc 1 2173 5 is_stmt 1 view .LVU1484
2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4356 .loc 1 2173 5 view .LVU1485
4357 0016 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
4358 001a 012B cmp r3, #1
4359 001c 5DD0 beq .L295
2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4360 .loc 1 2173 5 discriminator 2 view .LVU1486
4361 001e 0123 movs r3, #1
4362 0020 80F84030 strb r3, [r0, #64]
2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4363 .loc 1 2173 5 discriminator 2 view .LVU1487
2175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4364 .loc 1 2175 5 discriminator 2 view .LVU1488
2175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4365 .loc 1 2175 23 is_stmt 0 discriminator 2 view .LVU1489
4366 0024 2123 movs r3, #33
4367 0026 80F84130 strb r3, [r0, #65]
2176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4368 .loc 1 2176 5 is_stmt 1 discriminator 2 view .LVU1490
2176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4369 .loc 1 2176 23 is_stmt 0 discriminator 2 view .LVU1491
4370 002a 2023 movs r3, #32
4371 002c 80F84230 strb r3, [r0, #66]
2177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4372 .loc 1 2177 5 is_stmt 1 discriminator 2 view .LVU1492
2177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4373 .loc 1 2177 23 is_stmt 0 discriminator 2 view .LVU1493
4374 0030 0023 movs r3, #0
ARM GAS /tmp/ccbUHtu7.s page 222
4375 0032 4364 str r3, [r0, #68]
2180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
4376 .loc 1 2180 5 is_stmt 1 discriminator 2 view .LVU1494
2180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
4377 .loc 1 2180 23 is_stmt 0 discriminator 2 view .LVU1495
4378 0034 4162 str r1, [r0, #36]
2181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4379 .loc 1 2181 5 is_stmt 1 discriminator 2 view .LVU1496
2181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4380 .loc 1 2181 23 is_stmt 0 discriminator 2 view .LVU1497
4381 0036 4285 strh r2, [r0, #42] @ movhi
2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4382 .loc 1 2182 5 is_stmt 1 discriminator 2 view .LVU1498
2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4383 .loc 1 2182 29 is_stmt 0 discriminator 2 view .LVU1499
4384 0038 438D ldrh r3, [r0, #42]
2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4385 .loc 1 2182 23 discriminator 2 view .LVU1500
4386 003a 0385 strh r3, [r0, #40] @ movhi
2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4387 .loc 1 2183 5 is_stmt 1 discriminator 2 view .LVU1501
2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4388 .loc 1 2183 23 is_stmt 0 discriminator 2 view .LVU1502
4389 003c 284B ldr r3, .L299
4390 003e C362 str r3, [r0, #44]
2184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4391 .loc 1 2184 5 is_stmt 1 discriminator 2 view .LVU1503
2184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4392 .loc 1 2184 23 is_stmt 0 discriminator 2 view .LVU1504
4393 0040 284B ldr r3, .L299+4
4394 0042 4363 str r3, [r0, #52]
2186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4395 .loc 1 2186 5 is_stmt 1 discriminator 2 view .LVU1505
2186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4396 .loc 1 2186 13 is_stmt 0 discriminator 2 view .LVU1506
4397 0044 836B ldr r3, [r0, #56]
2186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4398 .loc 1 2186 8 discriminator 2 view .LVU1507
4399 0046 23B3 cbz r3, .L291
2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4400 .loc 1 2189 7 is_stmt 1 view .LVU1508
2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4401 .loc 1 2189 38 is_stmt 0 view .LVU1509
4402 0048 274A ldr r2, .L299+8
4403 .LVL282:
2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4404 .loc 1 2189 38 view .LVU1510
4405 004a DA62 str r2, [r3, #44]
2192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4406 .loc 1 2192 7 is_stmt 1 view .LVU1511
2192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4407 .loc 1 2192 11 is_stmt 0 view .LVU1512
4408 004c 836B ldr r3, [r0, #56]
2192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4409 .loc 1 2192 39 view .LVU1513
4410 004e 274A ldr r2, .L299+12
4411 0050 5A63 str r2, [r3, #52]
ARM GAS /tmp/ccbUHtu7.s page 223
2195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4412 .loc 1 2195 7 is_stmt 1 view .LVU1514
2195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4413 .loc 1 2195 11 is_stmt 0 view .LVU1515
4414 0052 826B ldr r2, [r0, #56]
2195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4415 .loc 1 2195 42 view .LVU1516
4416 0054 0023 movs r3, #0
4417 0056 1363 str r3, [r2, #48]
2196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4418 .loc 1 2196 7 is_stmt 1 view .LVU1517
2196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4419 .loc 1 2196 11 is_stmt 0 view .LVU1518
4420 0058 826B ldr r2, [r0, #56]
2196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4421 .loc 1 2196 39 view .LVU1519
4422 005a 9363 str r3, [r2, #56]
2199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4423 .loc 1 2199 7 is_stmt 1 view .LVU1520
2199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4424 .loc 1 2199 86 is_stmt 0 view .LVU1521
4425 005c 0268 ldr r2, [r0]
2199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4426 .loc 1 2199 23 view .LVU1522
4427 005e 038D ldrh r3, [r0, #40]
4428 0060 2832 adds r2, r2, #40
4429 0062 806B ldr r0, [r0, #56]
4430 .LVL283:
2199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4431 .loc 1 2199 23 view .LVU1523
4432 0064 FFF7FEFF bl HAL_DMA_Start_IT
4433 .LVL284:
2217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4434 .loc 1 2217 5 is_stmt 1 view .LVU1524
2217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4435 .loc 1 2217 8 is_stmt 0 view .LVU1525
4436 0068 0546 mov r5, r0
4437 006a 00B3 cbz r0, .L298
2237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4438 .loc 1 2237 7 is_stmt 1 view .LVU1526
2237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4439 .loc 1 2237 23 is_stmt 0 view .LVU1527
4440 006c 2823 movs r3, #40
4441 006e 84F84130 strb r3, [r4, #65]
2238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4442 .loc 1 2238 7 is_stmt 1 view .LVU1528
2238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4443 .loc 1 2238 23 is_stmt 0 view .LVU1529
4444 0072 0022 movs r2, #0
4445 0074 84F84220 strb r2, [r4, #66]
2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4446 .loc 1 2241 7 is_stmt 1 view .LVU1530
2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4447 .loc 1 2241 11 is_stmt 0 view .LVU1531
4448 0078 636C ldr r3, [r4, #68]
2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4449 .loc 1 2241 23 view .LVU1532
ARM GAS /tmp/ccbUHtu7.s page 224
4450 007a 43F01003 orr r3, r3, #16
4451 007e 6364 str r3, [r4, #68]
2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4452 .loc 1 2244 7 is_stmt 1 view .LVU1533
2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4453 .loc 1 2244 7 view .LVU1534
4454 0080 84F84020 strb r2, [r4, #64]
2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4455 .loc 1 2244 7 view .LVU1535
2246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4456 .loc 1 2246 7 view .LVU1536
2246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4457 .loc 1 2246 14 is_stmt 0 view .LVU1537
4458 0084 0125 movs r5, #1
4459 0086 26E0 b .L288
4460 .LVL285:
4461 .L289:
2169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4462 .loc 1 2169 7 is_stmt 1 view .LVU1538
2169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4463 .loc 1 2169 23 is_stmt 0 view .LVU1539
4464 0088 4FF40073 mov r3, #512
4465 008c 6364 str r3, [r4, #68]
2170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4466 .loc 1 2170 7 is_stmt 1 view .LVU1540
2170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4467 .loc 1 2170 15 is_stmt 0 view .LVU1541
4468 008e 0125 movs r5, #1
4469 0090 21E0 b .L288
4470 .L291:
2205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4471 .loc 1 2205 7 is_stmt 1 view .LVU1542
2205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4472 .loc 1 2205 23 is_stmt 0 view .LVU1543
4473 0092 2823 movs r3, #40
4474 0094 80F84130 strb r3, [r0, #65]
2206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4475 .loc 1 2206 7 is_stmt 1 view .LVU1544
2206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4476 .loc 1 2206 23 is_stmt 0 view .LVU1545
4477 0098 0022 movs r2, #0
4478 .LVL286:
2206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4479 .loc 1 2206 23 view .LVU1546
4480 009a 80F84220 strb r2, [r0, #66]
2209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4481 .loc 1 2209 7 is_stmt 1 view .LVU1547
2209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4482 .loc 1 2209 11 is_stmt 0 view .LVU1548
4483 009e 436C ldr r3, [r0, #68]
2209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4484 .loc 1 2209 23 view .LVU1549
4485 00a0 43F08003 orr r3, r3, #128
4486 00a4 4364 str r3, [r0, #68]
2212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4487 .loc 1 2212 7 is_stmt 1 view .LVU1550
2212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 225
4488 .loc 1 2212 7 view .LVU1551
4489 00a6 80F84020 strb r2, [r0, #64]
2212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4490 .loc 1 2212 7 view .LVU1552
2214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4491 .loc 1 2214 7 view .LVU1553
2214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4492 .loc 1 2214 14 is_stmt 0 view .LVU1554
4493 00aa 0125 movs r5, #1
4494 00ac 13E0 b .L288
4495 .LVL287:
4496 .L298:
2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4497 .loc 1 2220 7 is_stmt 1 view .LVU1555
2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4498 .loc 1 2220 11 is_stmt 0 view .LVU1556
4499 00ae 2268 ldr r2, [r4]
2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4500 .loc 1 2220 21 view .LVU1557
4501 00b0 5368 ldr r3, [r2, #4]
2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4502 .loc 1 2220 27 view .LVU1558
4503 00b2 23F40043 bic r3, r3, #32768
4504 00b6 5360 str r3, [r2, #4]
2223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4505 .loc 1 2223 7 is_stmt 1 view .LVU1559
2223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4506 .loc 1 2223 7 view .LVU1560
4507 00b8 0023 movs r3, #0
4508 00ba 84F84030 strb r3, [r4, #64]
2223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4509 .loc 1 2223 7 view .LVU1561
2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4510 .loc 1 2229 7 view .LVU1562
4511 00be 4FF40041 mov r1, #32768
4512 00c2 2046 mov r0, r4
4513 .LVL288:
2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4514 .loc 1 2229 7 is_stmt 0 view .LVU1563
4515 00c4 FFF7FEFF bl I2C_Enable_IRQ
4516 .LVL289:
2232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4517 .loc 1 2232 7 is_stmt 1 view .LVU1564
2232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4518 .loc 1 2232 11 is_stmt 0 view .LVU1565
4519 00c8 2268 ldr r2, [r4]
2232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4520 .loc 1 2232 21 view .LVU1566
4521 00ca 1368 ldr r3, [r2]
2232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4522 .loc 1 2232 27 view .LVU1567
4523 00cc 43F48043 orr r3, r3, #16384
4524 00d0 1360 str r3, [r2]
2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4525 .loc 1 2249 5 is_stmt 1 view .LVU1568
2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4526 .loc 1 2249 12 is_stmt 0 view .LVU1569
ARM GAS /tmp/ccbUHtu7.s page 226
4527 00d2 00E0 b .L288
4528 .LVL290:
4529 .L294:
2253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4530 .loc 1 2253 12 view .LVU1570
4531 00d4 0225 movs r5, #2
4532 .LVL291:
4533 .L288:
2255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4534 .loc 1 2255 1 view .LVU1571
4535 00d6 2846 mov r0, r5
4536 00d8 38BD pop {r3, r4, r5, pc}
4537 .LVL292:
4538 .L295:
2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4539 .loc 1 2173 5 view .LVU1572
4540 00da 0225 movs r5, #2
4541 00dc FBE7 b .L288
4542 .L300:
4543 00de 00BF .align 2
4544 .L299:
4545 00e0 0000FFFF .word -65536
4546 00e4 00000000 .word I2C_Slave_ISR_DMA
4547 00e8 00000000 .word I2C_DMASlaveTransmitCplt
4548 00ec 00000000 .word I2C_DMAError
4549 .cfi_endproc
4550 .LFE343:
4552 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
4553 .align 1
4554 .global HAL_I2C_Slave_Receive_DMA
4555 .syntax unified
4556 .thumb
4557 .thumb_func
4559 HAL_I2C_Slave_Receive_DMA:
4560 .LVL293:
4561 .LFB344:
2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4562 .loc 1 2266 1 is_stmt 1 view -0
4563 .cfi_startproc
4564 @ args = 0, pretend = 0, frame = 0
4565 @ frame_needed = 0, uses_anonymous_args = 0
2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4566 .loc 1 2266 1 is_stmt 0 view .LVU1574
4567 0000 38B5 push {r3, r4, r5, lr}
4568 .LCFI54:
4569 .cfi_def_cfa_offset 16
4570 .cfi_offset 3, -16
4571 .cfi_offset 4, -12
4572 .cfi_offset 5, -8
4573 .cfi_offset 14, -4
2267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4574 .loc 1 2267 3 is_stmt 1 view .LVU1575
2269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4575 .loc 1 2269 3 view .LVU1576
2269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4576 .loc 1 2269 11 is_stmt 0 view .LVU1577
4577 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
ARM GAS /tmp/ccbUHtu7.s page 227
4578 0006 DBB2 uxtb r3, r3
2269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4579 .loc 1 2269 6 view .LVU1578
4580 0008 202B cmp r3, #32
4581 000a 65D1 bne .L308
4582 000c 0446 mov r4, r0
2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4583 .loc 1 2271 5 is_stmt 1 view .LVU1579
2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4584 .loc 1 2271 8 is_stmt 0 view .LVU1580
4585 000e 0029 cmp r1, #0
4586 0010 3CD0 beq .L303
2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4587 .loc 1 2271 25 discriminator 1 view .LVU1581
4588 0012 002A cmp r2, #0
4589 0014 3AD0 beq .L303
2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4590 .loc 1 2277 5 is_stmt 1 view .LVU1582
2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4591 .loc 1 2277 5 view .LVU1583
4592 0016 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
4593 001a 012B cmp r3, #1
4594 001c 5FD0 beq .L309
2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4595 .loc 1 2277 5 discriminator 2 view .LVU1584
4596 001e 0123 movs r3, #1
4597 0020 80F84030 strb r3, [r0, #64]
2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4598 .loc 1 2277 5 discriminator 2 view .LVU1585
2279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4599 .loc 1 2279 5 discriminator 2 view .LVU1586
2279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4600 .loc 1 2279 23 is_stmt 0 discriminator 2 view .LVU1587
4601 0024 2223 movs r3, #34
4602 0026 80F84130 strb r3, [r0, #65]
2280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4603 .loc 1 2280 5 is_stmt 1 discriminator 2 view .LVU1588
2280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4604 .loc 1 2280 23 is_stmt 0 discriminator 2 view .LVU1589
4605 002a 2023 movs r3, #32
4606 002c 80F84230 strb r3, [r0, #66]
2281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4607 .loc 1 2281 5 is_stmt 1 discriminator 2 view .LVU1590
2281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4608 .loc 1 2281 23 is_stmt 0 discriminator 2 view .LVU1591
4609 0030 0023 movs r3, #0
4610 0032 4364 str r3, [r0, #68]
2284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
4611 .loc 1 2284 5 is_stmt 1 discriminator 2 view .LVU1592
2284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
4612 .loc 1 2284 23 is_stmt 0 discriminator 2 view .LVU1593
4613 0034 4162 str r1, [r0, #36]
2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4614 .loc 1 2285 5 is_stmt 1 discriminator 2 view .LVU1594
2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4615 .loc 1 2285 23 is_stmt 0 discriminator 2 view .LVU1595
4616 0036 4285 strh r2, [r0, #42] @ movhi
ARM GAS /tmp/ccbUHtu7.s page 228
2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4617 .loc 1 2286 5 is_stmt 1 discriminator 2 view .LVU1596
2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4618 .loc 1 2286 29 is_stmt 0 discriminator 2 view .LVU1597
4619 0038 438D ldrh r3, [r0, #42]
2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4620 .loc 1 2286 23 discriminator 2 view .LVU1598
4621 003a 0385 strh r3, [r0, #40] @ movhi
2287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4622 .loc 1 2287 5 is_stmt 1 discriminator 2 view .LVU1599
2287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4623 .loc 1 2287 23 is_stmt 0 discriminator 2 view .LVU1600
4624 003c 294B ldr r3, .L313
4625 003e C362 str r3, [r0, #44]
2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4626 .loc 1 2288 5 is_stmt 1 discriminator 2 view .LVU1601
2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4627 .loc 1 2288 23 is_stmt 0 discriminator 2 view .LVU1602
4628 0040 294B ldr r3, .L313+4
4629 0042 4363 str r3, [r0, #52]
2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4630 .loc 1 2290 5 is_stmt 1 discriminator 2 view .LVU1603
2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4631 .loc 1 2290 13 is_stmt 0 discriminator 2 view .LVU1604
4632 0044 C36B ldr r3, [r0, #60]
2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4633 .loc 1 2290 8 discriminator 2 view .LVU1605
4634 0046 33B3 cbz r3, .L305
2293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4635 .loc 1 2293 7 is_stmt 1 view .LVU1606
2293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4636 .loc 1 2293 38 is_stmt 0 view .LVU1607
4637 0048 284A ldr r2, .L313+8
4638 .LVL294:
2293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4639 .loc 1 2293 38 view .LVU1608
4640 004a DA62 str r2, [r3, #44]
2296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4641 .loc 1 2296 7 is_stmt 1 view .LVU1609
2296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4642 .loc 1 2296 11 is_stmt 0 view .LVU1610
4643 004c C36B ldr r3, [r0, #60]
2296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4644 .loc 1 2296 39 view .LVU1611
4645 004e 284A ldr r2, .L313+12
4646 0050 5A63 str r2, [r3, #52]
2299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4647 .loc 1 2299 7 is_stmt 1 view .LVU1612
2299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4648 .loc 1 2299 11 is_stmt 0 view .LVU1613
4649 0052 C26B ldr r2, [r0, #60]
2299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4650 .loc 1 2299 42 view .LVU1614
4651 0054 0023 movs r3, #0
4652 0056 1363 str r3, [r2, #48]
2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4653 .loc 1 2300 7 is_stmt 1 view .LVU1615
ARM GAS /tmp/ccbUHtu7.s page 229
2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4654 .loc 1 2300 11 is_stmt 0 view .LVU1616
4655 0058 C26B ldr r2, [r0, #60]
2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4656 .loc 1 2300 39 view .LVU1617
4657 005a 9363 str r3, [r2, #56]
2303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4658 .loc 1 2303 7 is_stmt 1 view .LVU1618
2303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4659 .loc 1 2303 69 is_stmt 0 view .LVU1619
4660 005c 0068 ldr r0, [r0]
4661 .LVL295:
2303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4662 .loc 1 2303 23 view .LVU1620
4663 005e 238D ldrh r3, [r4, #40]
4664 0060 0A46 mov r2, r1
4665 0062 00F12401 add r1, r0, #36
4666 .LVL296:
2303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
4667 .loc 1 2303 23 view .LVU1621
4668 0066 E06B ldr r0, [r4, #60]
4669 0068 FFF7FEFF bl HAL_DMA_Start_IT
4670 .LVL297:
2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4671 .loc 1 2321 5 is_stmt 1 view .LVU1622
2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4672 .loc 1 2321 8 is_stmt 0 view .LVU1623
4673 006c 0546 mov r5, r0
4674 006e 00B3 cbz r0, .L312
2341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4675 .loc 1 2341 7 is_stmt 1 view .LVU1624
2341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4676 .loc 1 2341 23 is_stmt 0 view .LVU1625
4677 0070 2823 movs r3, #40
4678 0072 84F84130 strb r3, [r4, #65]
2342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4679 .loc 1 2342 7 is_stmt 1 view .LVU1626
2342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4680 .loc 1 2342 23 is_stmt 0 view .LVU1627
4681 0076 0022 movs r2, #0
4682 0078 84F84220 strb r2, [r4, #66]
2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4683 .loc 1 2345 7 is_stmt 1 view .LVU1628
2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4684 .loc 1 2345 11 is_stmt 0 view .LVU1629
4685 007c 636C ldr r3, [r4, #68]
2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4686 .loc 1 2345 23 view .LVU1630
4687 007e 43F01003 orr r3, r3, #16
4688 0082 6364 str r3, [r4, #68]
2348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4689 .loc 1 2348 7 is_stmt 1 view .LVU1631
2348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4690 .loc 1 2348 7 view .LVU1632
4691 0084 84F84020 strb r2, [r4, #64]
2348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4692 .loc 1 2348 7 view .LVU1633
ARM GAS /tmp/ccbUHtu7.s page 230
2350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4693 .loc 1 2350 7 view .LVU1634
2350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4694 .loc 1 2350 14 is_stmt 0 view .LVU1635
4695 0088 0125 movs r5, #1
4696 008a 26E0 b .L302
4697 .LVL298:
4698 .L303:
2273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4699 .loc 1 2273 7 is_stmt 1 view .LVU1636
2273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4700 .loc 1 2273 23 is_stmt 0 view .LVU1637
4701 008c 4FF40073 mov r3, #512
4702 0090 6364 str r3, [r4, #68]
2274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4703 .loc 1 2274 7 is_stmt 1 view .LVU1638
2274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4704 .loc 1 2274 15 is_stmt 0 view .LVU1639
4705 0092 0125 movs r5, #1
4706 0094 21E0 b .L302
4707 .L305:
2309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4708 .loc 1 2309 7 is_stmt 1 view .LVU1640
2309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4709 .loc 1 2309 23 is_stmt 0 view .LVU1641
4710 0096 2823 movs r3, #40
4711 0098 80F84130 strb r3, [r0, #65]
2310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4712 .loc 1 2310 7 is_stmt 1 view .LVU1642
2310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4713 .loc 1 2310 23 is_stmt 0 view .LVU1643
4714 009c 0022 movs r2, #0
4715 .LVL299:
2310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4716 .loc 1 2310 23 view .LVU1644
4717 009e 80F84220 strb r2, [r0, #66]
2313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4718 .loc 1 2313 7 is_stmt 1 view .LVU1645
2313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4719 .loc 1 2313 11 is_stmt 0 view .LVU1646
4720 00a2 436C ldr r3, [r0, #68]
2313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4721 .loc 1 2313 23 view .LVU1647
4722 00a4 43F08003 orr r3, r3, #128
4723 00a8 4364 str r3, [r0, #68]
2316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4724 .loc 1 2316 7 is_stmt 1 view .LVU1648
2316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4725 .loc 1 2316 7 view .LVU1649
4726 00aa 80F84020 strb r2, [r0, #64]
2316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4727 .loc 1 2316 7 view .LVU1650
2318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4728 .loc 1 2318 7 view .LVU1651
2318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4729 .loc 1 2318 14 is_stmt 0 view .LVU1652
4730 00ae 0125 movs r5, #1
ARM GAS /tmp/ccbUHtu7.s page 231
4731 00b0 13E0 b .L302
4732 .LVL300:
4733 .L312:
2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4734 .loc 1 2324 7 is_stmt 1 view .LVU1653
2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4735 .loc 1 2324 11 is_stmt 0 view .LVU1654
4736 00b2 2268 ldr r2, [r4]
2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4737 .loc 1 2324 21 view .LVU1655
4738 00b4 5368 ldr r3, [r2, #4]
2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4739 .loc 1 2324 27 view .LVU1656
4740 00b6 23F40043 bic r3, r3, #32768
4741 00ba 5360 str r3, [r2, #4]
2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4742 .loc 1 2327 7 is_stmt 1 view .LVU1657
2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4743 .loc 1 2327 7 view .LVU1658
4744 00bc 0023 movs r3, #0
4745 00be 84F84030 strb r3, [r4, #64]
2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4746 .loc 1 2327 7 view .LVU1659
2333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4747 .loc 1 2333 7 view .LVU1660
4748 00c2 4FF40041 mov r1, #32768
4749 00c6 2046 mov r0, r4
4750 .LVL301:
2333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4751 .loc 1 2333 7 is_stmt 0 view .LVU1661
4752 00c8 FFF7FEFF bl I2C_Enable_IRQ
4753 .LVL302:
2336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4754 .loc 1 2336 7 is_stmt 1 view .LVU1662
2336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4755 .loc 1 2336 11 is_stmt 0 view .LVU1663
4756 00cc 2268 ldr r2, [r4]
2336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4757 .loc 1 2336 21 view .LVU1664
4758 00ce 1368 ldr r3, [r2]
2336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4759 .loc 1 2336 27 view .LVU1665
4760 00d0 43F40043 orr r3, r3, #32768
4761 00d4 1360 str r3, [r2]
2353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4762 .loc 1 2353 5 is_stmt 1 view .LVU1666
2353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4763 .loc 1 2353 12 is_stmt 0 view .LVU1667
4764 00d6 00E0 b .L302
4765 .LVL303:
4766 .L308:
2357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4767 .loc 1 2357 12 view .LVU1668
4768 00d8 0225 movs r5, #2
4769 .LVL304:
4770 .L302:
2359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
ARM GAS /tmp/ccbUHtu7.s page 232
4771 .loc 1 2359 1 view .LVU1669
4772 00da 2846 mov r0, r5
4773 00dc 38BD pop {r3, r4, r5, pc}
4774 .LVL305:
4775 .L309:
2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4776 .loc 1 2277 5 view .LVU1670
4777 00de 0225 movs r5, #2
4778 00e0 FBE7 b .L302
4779 .L314:
4780 00e2 00BF .align 2
4781 .L313:
4782 00e4 0000FFFF .word -65536
4783 00e8 00000000 .word I2C_Slave_ISR_DMA
4784 00ec 00000000 .word I2C_DMASlaveReceiveCplt
4785 00f0 00000000 .word I2C_DMAError
4786 .cfi_endproc
4787 .LFE344:
4789 .section .text.HAL_I2C_Mem_Write,"ax",%progbits
4790 .align 1
4791 .global HAL_I2C_Mem_Write
4792 .syntax unified
4793 .thumb
4794 .thumb_func
4796 HAL_I2C_Mem_Write:
4797 .LVL306:
4798 .LFB345:
2375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
4799 .loc 1 2375 1 is_stmt 1 view -0
4800 .cfi_startproc
4801 @ args = 12, pretend = 0, frame = 0
4802 @ frame_needed = 0, uses_anonymous_args = 0
2375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
4803 .loc 1 2375 1 is_stmt 0 view .LVU1672
4804 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
4805 .LCFI55:
4806 .cfi_def_cfa_offset 36
4807 .cfi_offset 4, -36
4808 .cfi_offset 5, -32
4809 .cfi_offset 6, -28
4810 .cfi_offset 7, -24
4811 .cfi_offset 8, -20
4812 .cfi_offset 9, -16
4813 .cfi_offset 10, -12
4814 .cfi_offset 11, -8
4815 .cfi_offset 14, -4
4816 0004 83B0 sub sp, sp, #12
4817 .LCFI56:
4818 .cfi_def_cfa_offset 48
4819 0006 0E46 mov r6, r1
4820 0008 BDF834A0 ldrh r10, [sp, #52]
4821 000c 0E9D ldr r5, [sp, #56]
2376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4822 .loc 1 2376 3 is_stmt 1 view .LVU1673
2379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4823 .loc 1 2379 3 view .LVU1674
2381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 233
4824 .loc 1 2381 3 view .LVU1675
2381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4825 .loc 1 2381 11 is_stmt 0 view .LVU1676
4826 000e 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2
4827 .LVL307:
2381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4828 .loc 1 2381 11 view .LVU1677
4829 0012 C9B2 uxtb r1, r1
2381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4830 .loc 1 2381 6 view .LVU1678
4831 0014 2029 cmp r1, #32
4832 0016 40F0BB80 bne .L325
4833 001a 0446 mov r4, r0
4834 001c 9046 mov r8, r2
4835 001e 9946 mov r9, r3
2383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4836 .loc 1 2383 5 is_stmt 1 view .LVU1679
2383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4837 .loc 1 2383 8 is_stmt 0 view .LVU1680
4838 0020 0C9B ldr r3, [sp, #48]
4839 .LVL308:
2383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4840 .loc 1 2383 8 view .LVU1681
4841 0022 CBB1 cbz r3, .L317
2383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4842 .loc 1 2383 25 discriminator 1 view .LVU1682
4843 0024 BAF1000F cmp r10, #0
4844 0028 16D0 beq .L317
2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4845 .loc 1 2390 5 is_stmt 1 view .LVU1683
2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4846 .loc 1 2390 5 view .LVU1684
4847 002a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
4848 002e 012B cmp r3, #1
4849 0030 00F0B280 beq .L326
2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4850 .loc 1 2390 5 discriminator 2 view .LVU1685
4851 0034 4FF0010B mov fp, #1
4852 0038 80F840B0 strb fp, [r0, #64]
2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4853 .loc 1 2390 5 discriminator 2 view .LVU1686
2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4854 .loc 1 2393 5 discriminator 2 view .LVU1687
2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4855 .loc 1 2393 17 is_stmt 0 discriminator 2 view .LVU1688
4856 003c FFF7FEFF bl HAL_GetTick
4857 .LVL309:
2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4858 .loc 1 2393 17 discriminator 2 view .LVU1689
4859 0040 0746 mov r7, r0
4860 .LVL310:
2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4861 .loc 1 2395 5 is_stmt 1 discriminator 2 view .LVU1690
2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4862 .loc 1 2395 9 is_stmt 0 discriminator 2 view .LVU1691
4863 0042 0090 str r0, [sp]
4864 0044 1923 movs r3, #25
ARM GAS /tmp/ccbUHtu7.s page 234
4865 0046 5A46 mov r2, fp
4866 0048 4FF40041 mov r1, #32768
4867 004c 2046 mov r0, r4
4868 .LVL311:
2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4869 .loc 1 2395 9 discriminator 2 view .LVU1692
4870 004e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
4871 .LVL312:
2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4872 .loc 1 2395 8 discriminator 2 view .LVU1693
4873 0052 30B1 cbz r0, .L332
2397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4874 .loc 1 2397 14 view .LVU1694
4875 0054 0120 movs r0, #1
4876 0056 9CE0 b .L316
4877 .LVL313:
4878 .L317:
2385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4879 .loc 1 2385 7 is_stmt 1 view .LVU1695
2385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4880 .loc 1 2385 23 is_stmt 0 view .LVU1696
4881 0058 4FF40073 mov r3, #512
4882 005c 6364 str r3, [r4, #68]
2386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4883 .loc 1 2386 7 is_stmt 1 view .LVU1697
2386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4884 .loc 1 2386 15 is_stmt 0 view .LVU1698
4885 005e 0120 movs r0, #1
4886 .LVL314:
2386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4887 .loc 1 2386 15 view .LVU1699
4888 0060 97E0 b .L316
4889 .LVL315:
4890 .L332:
2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
4891 .loc 1 2400 5 is_stmt 1 view .LVU1700
2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
4892 .loc 1 2400 21 is_stmt 0 view .LVU1701
4893 0062 2123 movs r3, #33
4894 0064 84F84130 strb r3, [r4, #65]
2401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4895 .loc 1 2401 5 is_stmt 1 view .LVU1702
2401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4896 .loc 1 2401 21 is_stmt 0 view .LVU1703
4897 0068 4023 movs r3, #64
4898 006a 84F84230 strb r3, [r4, #66]
2402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4899 .loc 1 2402 5 is_stmt 1 view .LVU1704
2402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4900 .loc 1 2402 21 is_stmt 0 view .LVU1705
4901 006e 0023 movs r3, #0
4902 0070 6364 str r3, [r4, #68]
2405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
4903 .loc 1 2405 5 is_stmt 1 view .LVU1706
2405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
4904 .loc 1 2405 21 is_stmt 0 view .LVU1707
4905 0072 0C9A ldr r2, [sp, #48]
ARM GAS /tmp/ccbUHtu7.s page 235
4906 0074 6262 str r2, [r4, #36]
2406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
4907 .loc 1 2406 5 is_stmt 1 view .LVU1708
2406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
4908 .loc 1 2406 21 is_stmt 0 view .LVU1709
4909 0076 A4F82AA0 strh r10, [r4, #42] @ movhi
2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4910 .loc 1 2407 5 is_stmt 1 view .LVU1710
2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4911 .loc 1 2407 21 is_stmt 0 view .LVU1711
4912 007a 6363 str r3, [r4, #52]
2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4913 .loc 1 2410 5 is_stmt 1 view .LVU1712
2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4914 .loc 1 2410 9 is_stmt 0 view .LVU1713
4915 007c 0197 str r7, [sp, #4]
4916 007e 0095 str r5, [sp]
4917 0080 4B46 mov r3, r9
4918 0082 4246 mov r2, r8
4919 0084 3146 mov r1, r6
4920 0086 2046 mov r0, r4
4921 0088 FFF7FEFF bl I2C_RequestMemoryWrite
4922 .LVL316:
2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4923 .loc 1 2410 8 view .LVU1714
4924 008c 70B9 cbnz r0, .L333
2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4925 .loc 1 2418 5 is_stmt 1 view .LVU1715
2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4926 .loc 1 2418 13 is_stmt 0 view .LVU1716
4927 008e 638D ldrh r3, [r4, #42]
4928 0090 9BB2 uxth r3, r3
2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4929 .loc 1 2418 8 view .LVU1717
4930 0092 FF2B cmp r3, #255
4931 0094 0FD9 bls .L320
2420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
4932 .loc 1 2420 7 is_stmt 1 view .LVU1718
2420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
4933 .loc 1 2420 22 is_stmt 0 view .LVU1719
4934 0096 FF22 movs r2, #255
4935 0098 2285 strh r2, [r4, #40] @ movhi
2421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4936 .loc 1 2421 7 is_stmt 1 view .LVU1720
4937 009a 0023 movs r3, #0
4938 009c 0093 str r3, [sp]
4939 009e 4FF08073 mov r3, #16777216
4940 00a2 3146 mov r1, r6
4941 00a4 2046 mov r0, r4
4942 00a6 FFF7FEFF bl I2C_TransferConfig
4943 .LVL317:
4944 00aa 21E0 b .L324
4945 .L333:
2413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4946 .loc 1 2413 7 view .LVU1721
2413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4947 .loc 1 2413 7 view .LVU1722
ARM GAS /tmp/ccbUHtu7.s page 236
4948 00ac 0023 movs r3, #0
4949 00ae 84F84030 strb r3, [r4, #64]
2413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
4950 .loc 1 2413 7 view .LVU1723
2414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4951 .loc 1 2414 7 view .LVU1724
2414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4952 .loc 1 2414 14 is_stmt 0 view .LVU1725
4953 00b2 5846 mov r0, fp
4954 00b4 6DE0 b .L316
4955 .L320:
2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
4956 .loc 1 2425 7 is_stmt 1 view .LVU1726
2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
4957 .loc 1 2425 28 is_stmt 0 view .LVU1727
4958 00b6 628D ldrh r2, [r4, #42]
4959 00b8 92B2 uxth r2, r2
2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
4960 .loc 1 2425 22 view .LVU1728
4961 00ba 2285 strh r2, [r4, #40] @ movhi
2426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
4962 .loc 1 2426 7 is_stmt 1 view .LVU1729
4963 00bc 0023 movs r3, #0
4964 00be 0093 str r3, [sp]
4965 00c0 4FF00073 mov r3, #33554432
4966 00c4 D2B2 uxtb r2, r2
4967 00c6 3146 mov r1, r6
4968 00c8 2046 mov r0, r4
4969 00ca FFF7FEFF bl I2C_TransferConfig
4970 .LVL318:
4971 00ce 0FE0 b .L324
4972 .L323:
2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
4973 .loc 1 2462 11 view .LVU1730
2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
4974 .loc 1 2462 32 is_stmt 0 view .LVU1731
4975 00d0 628D ldrh r2, [r4, #42]
4976 00d2 92B2 uxth r2, r2
2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
4977 .loc 1 2462 26 view .LVU1732
4978 00d4 2285 strh r2, [r4, #40] @ movhi
2463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
4979 .loc 1 2463 11 is_stmt 1 view .LVU1733
4980 00d6 0023 movs r3, #0
4981 00d8 0093 str r3, [sp]
4982 00da 4FF00073 mov r3, #33554432
4983 00de D2B2 uxtb r2, r2
4984 00e0 3146 mov r1, r6
4985 00e2 2046 mov r0, r4
4986 00e4 FFF7FEFF bl I2C_TransferConfig
4987 .LVL319:
4988 .L322:
2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4989 .loc 1 2468 30 view .LVU1734
2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4990 .loc 1 2468 18 is_stmt 0 view .LVU1735
4991 00e8 638D ldrh r3, [r4, #42]
ARM GAS /tmp/ccbUHtu7.s page 237
4992 00ea 9BB2 uxth r3, r3
2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
4993 .loc 1 2468 30 view .LVU1736
4994 00ec 002B cmp r3, #0
4995 00ee 33D0 beq .L334
4996 .L324:
2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4997 .loc 1 2429 5 is_stmt 1 view .LVU1737
2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4998 .loc 1 2432 7 view .LVU1738
2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
4999 .loc 1 2432 11 is_stmt 0 view .LVU1739
5000 00f0 3A46 mov r2, r7
5001 00f2 2946 mov r1, r5
5002 00f4 2046 mov r0, r4
5003 00f6 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
5004 .LVL320:
2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5005 .loc 1 2432 10 view .LVU1740
5006 00fa 0028 cmp r0, #0
5007 00fc 4ED1 bne .L328
2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5008 .loc 1 2438 7 is_stmt 1 view .LVU1741
2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5009 .loc 1 2438 35 is_stmt 0 view .LVU1742
5010 00fe 626A ldr r2, [r4, #36]
2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5011 .loc 1 2438 11 view .LVU1743
5012 0100 2368 ldr r3, [r4]
2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5013 .loc 1 2438 30 view .LVU1744
5014 0102 1278 ldrb r2, [r2] @ zero_extendqisi2
2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5015 .loc 1 2438 28 view .LVU1745
5016 0104 9A62 str r2, [r3, #40]
2441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5017 .loc 1 2441 7 is_stmt 1 view .LVU1746
2441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5018 .loc 1 2441 11 is_stmt 0 view .LVU1747
5019 0106 636A ldr r3, [r4, #36]
2441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5020 .loc 1 2441 21 view .LVU1748
5021 0108 0133 adds r3, r3, #1
5022 010a 6362 str r3, [r4, #36]
2443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
5023 .loc 1 2443 7 is_stmt 1 view .LVU1749
2443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
5024 .loc 1 2443 11 is_stmt 0 view .LVU1750
5025 010c 638D ldrh r3, [r4, #42]
5026 010e 9BB2 uxth r3, r3
2443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
5027 .loc 1 2443 22 view .LVU1751
5028 0110 013B subs r3, r3, #1
5029 0112 9BB2 uxth r3, r3
5030 0114 6385 strh r3, [r4, #42] @ movhi
2444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5031 .loc 1 2444 7 is_stmt 1 view .LVU1752
ARM GAS /tmp/ccbUHtu7.s page 238
2444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5032 .loc 1 2444 11 is_stmt 0 view .LVU1753
5033 0116 238D ldrh r3, [r4, #40]
2444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5034 .loc 1 2444 21 view .LVU1754
5035 0118 013B subs r3, r3, #1
5036 011a 9BB2 uxth r3, r3
5037 011c 2385 strh r3, [r4, #40] @ movhi
2446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5038 .loc 1 2446 7 is_stmt 1 view .LVU1755
2446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5039 .loc 1 2446 16 is_stmt 0 view .LVU1756
5040 011e 628D ldrh r2, [r4, #42]
5041 0120 92B2 uxth r2, r2
2446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5042 .loc 1 2446 10 view .LVU1757
5043 0122 002A cmp r2, #0
5044 0124 E0D0 beq .L322
2446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5045 .loc 1 2446 35 discriminator 1 view .LVU1758
5046 0126 002B cmp r3, #0
5047 0128 DED1 bne .L322
2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5048 .loc 1 2449 9 is_stmt 1 view .LVU1759
2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5049 .loc 1 2449 13 is_stmt 0 view .LVU1760
5050 012a 0097 str r7, [sp]
5051 012c 2B46 mov r3, r5
5052 012e 0022 movs r2, #0
5053 0130 8021 movs r1, #128
5054 0132 2046 mov r0, r4
5055 0134 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5056 .LVL321:
2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5057 .loc 1 2449 12 view .LVU1761
5058 0138 90BB cbnz r0, .L329
2454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5059 .loc 1 2454 9 is_stmt 1 view .LVU1762
2454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5060 .loc 1 2454 17 is_stmt 0 view .LVU1763
5061 013a 638D ldrh r3, [r4, #42]
5062 013c 9BB2 uxth r3, r3
2454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5063 .loc 1 2454 12 view .LVU1764
5064 013e FF2B cmp r3, #255
5065 0140 C6D9 bls .L323
2456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5066 .loc 1 2456 11 is_stmt 1 view .LVU1765
2456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5067 .loc 1 2456 26 is_stmt 0 view .LVU1766
5068 0142 FF22 movs r2, #255
5069 0144 2285 strh r2, [r4, #40] @ movhi
2457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5070 .loc 1 2457 11 is_stmt 1 view .LVU1767
5071 0146 0023 movs r3, #0
5072 0148 0093 str r3, [sp]
5073 014a 4FF08073 mov r3, #16777216
ARM GAS /tmp/ccbUHtu7.s page 239
5074 014e 3146 mov r1, r6
5075 0150 2046 mov r0, r4
5076 0152 FFF7FEFF bl I2C_TransferConfig
5077 .LVL322:
5078 0156 C7E7 b .L322
5079 .L334:
2472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5080 .loc 1 2472 5 view .LVU1768
2472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5081 .loc 1 2472 9 is_stmt 0 view .LVU1769
5082 0158 3A46 mov r2, r7
5083 015a 2946 mov r1, r5
5084 015c 2046 mov r0, r4
5085 015e FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
5086 .LVL323:
2472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5087 .loc 1 2472 8 view .LVU1770
5088 0162 F8B9 cbnz r0, .L330
2478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5089 .loc 1 2478 5 is_stmt 1 view .LVU1771
5090 0164 2368 ldr r3, [r4]
5091 0166 2022 movs r2, #32
5092 0168 DA61 str r2, [r3, #28]
2481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5093 .loc 1 2481 5 view .LVU1772
5094 016a 2168 ldr r1, [r4]
5095 016c 4B68 ldr r3, [r1, #4]
5096 016e 23F0FF73 bic r3, r3, #33423360
5097 0172 23F48B33 bic r3, r3, #71168
5098 0176 23F4FF73 bic r3, r3, #510
5099 017a 23F00103 bic r3, r3, #1
5100 017e 4B60 str r3, [r1, #4]
2483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5101 .loc 1 2483 5 view .LVU1773
2483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5102 .loc 1 2483 17 is_stmt 0 view .LVU1774
5103 0180 84F84120 strb r2, [r4, #65]
2484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5104 .loc 1 2484 5 is_stmt 1 view .LVU1775
2484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5105 .loc 1 2484 17 is_stmt 0 view .LVU1776
5106 0184 0023 movs r3, #0
5107 0186 84F84230 strb r3, [r4, #66]
2487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5108 .loc 1 2487 5 is_stmt 1 view .LVU1777
2487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5109 .loc 1 2487 5 view .LVU1778
5110 018a 84F84030 strb r3, [r4, #64]
2487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5111 .loc 1 2487 5 view .LVU1779
2489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5112 .loc 1 2489 5 view .LVU1780
2489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5113 .loc 1 2489 12 is_stmt 0 view .LVU1781
5114 018e 00E0 b .L316
5115 .LVL324:
5116 .L325:
ARM GAS /tmp/ccbUHtu7.s page 240
2493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5117 .loc 1 2493 12 view .LVU1782
5118 0190 0220 movs r0, #2
5119 .LVL325:
5120 .L316:
2495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5121 .loc 1 2495 1 view .LVU1783
5122 0192 03B0 add sp, sp, #12
5123 .LCFI57:
5124 .cfi_remember_state
5125 .cfi_def_cfa_offset 36
5126 @ sp needed
5127 0194 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
5128 .LVL326:
5129 .L326:
5130 .LCFI58:
5131 .cfi_restore_state
2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5132 .loc 1 2390 5 view .LVU1784
5133 0198 0220 movs r0, #2
5134 .LVL327:
2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5135 .loc 1 2390 5 view .LVU1785
5136 019a FAE7 b .L316
5137 .LVL328:
5138 .L328:
2434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5139 .loc 1 2434 16 view .LVU1786
5140 019c 0120 movs r0, #1
5141 019e F8E7 b .L316
5142 .L329:
2451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5143 .loc 1 2451 18 view .LVU1787
5144 01a0 0120 movs r0, #1
5145 01a2 F6E7 b .L316
5146 .L330:
2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5147 .loc 1 2474 14 view .LVU1788
5148 01a4 0120 movs r0, #1
5149 01a6 F4E7 b .L316
5150 .cfi_endproc
5151 .LFE345:
5153 .section .text.HAL_I2C_Mem_Read,"ax",%progbits
5154 .align 1
5155 .global HAL_I2C_Mem_Read
5156 .syntax unified
5157 .thumb
5158 .thumb_func
5160 HAL_I2C_Mem_Read:
5161 .LVL329:
5162 .LFB346:
2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
5163 .loc 1 2512 1 is_stmt 1 view -0
5164 .cfi_startproc
5165 @ args = 12, pretend = 0, frame = 0
5166 @ frame_needed = 0, uses_anonymous_args = 0
2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
ARM GAS /tmp/ccbUHtu7.s page 241
5167 .loc 1 2512 1 is_stmt 0 view .LVU1790
5168 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
5169 .LCFI59:
5170 .cfi_def_cfa_offset 36
5171 .cfi_offset 4, -36
5172 .cfi_offset 5, -32
5173 .cfi_offset 6, -28
5174 .cfi_offset 7, -24
5175 .cfi_offset 8, -20
5176 .cfi_offset 9, -16
5177 .cfi_offset 10, -12
5178 .cfi_offset 11, -8
5179 .cfi_offset 14, -4
5180 0004 83B0 sub sp, sp, #12
5181 .LCFI60:
5182 .cfi_def_cfa_offset 48
5183 0006 0E46 mov r6, r1
5184 0008 BDF834A0 ldrh r10, [sp, #52]
5185 000c 0E9D ldr r5, [sp, #56]
2513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5186 .loc 1 2513 3 is_stmt 1 view .LVU1791
2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5187 .loc 1 2516 3 view .LVU1792
2518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5188 .loc 1 2518 3 view .LVU1793
2518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5189 .loc 1 2518 11 is_stmt 0 view .LVU1794
5190 000e 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2
5191 .LVL330:
2518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5192 .loc 1 2518 11 view .LVU1795
5193 0012 C9B2 uxtb r1, r1
2518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5194 .loc 1 2518 6 view .LVU1796
5195 0014 2029 cmp r1, #32
5196 0016 40F0BC80 bne .L345
5197 001a 0446 mov r4, r0
5198 001c 9046 mov r8, r2
5199 001e 9946 mov r9, r3
2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5200 .loc 1 2520 5 is_stmt 1 view .LVU1797
2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5201 .loc 1 2520 8 is_stmt 0 view .LVU1798
5202 0020 0C9B ldr r3, [sp, #48]
5203 .LVL331:
2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5204 .loc 1 2520 8 view .LVU1799
5205 0022 CBB1 cbz r3, .L337
2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5206 .loc 1 2520 25 discriminator 1 view .LVU1800
5207 0024 BAF1000F cmp r10, #0
5208 0028 16D0 beq .L337
2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5209 .loc 1 2527 5 is_stmt 1 view .LVU1801
2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5210 .loc 1 2527 5 view .LVU1802
5211 002a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
ARM GAS /tmp/ccbUHtu7.s page 242
5212 002e 012B cmp r3, #1
5213 0030 00F0B380 beq .L346
2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5214 .loc 1 2527 5 discriminator 2 view .LVU1803
5215 0034 4FF0010B mov fp, #1
5216 0038 80F840B0 strb fp, [r0, #64]
2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5217 .loc 1 2527 5 discriminator 2 view .LVU1804
2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5218 .loc 1 2530 5 discriminator 2 view .LVU1805
2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5219 .loc 1 2530 17 is_stmt 0 discriminator 2 view .LVU1806
5220 003c FFF7FEFF bl HAL_GetTick
5221 .LVL332:
2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5222 .loc 1 2530 17 discriminator 2 view .LVU1807
5223 0040 0746 mov r7, r0
5224 .LVL333:
2532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5225 .loc 1 2532 5 is_stmt 1 discriminator 2 view .LVU1808
2532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5226 .loc 1 2532 9 is_stmt 0 discriminator 2 view .LVU1809
5227 0042 0090 str r0, [sp]
5228 0044 1923 movs r3, #25
5229 0046 5A46 mov r2, fp
5230 0048 4FF40041 mov r1, #32768
5231 004c 2046 mov r0, r4
5232 .LVL334:
2532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5233 .loc 1 2532 9 discriminator 2 view .LVU1810
5234 004e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5235 .LVL335:
2532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5236 .loc 1 2532 8 discriminator 2 view .LVU1811
5237 0052 30B1 cbz r0, .L352
2534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5238 .loc 1 2534 14 view .LVU1812
5239 0054 0120 movs r0, #1
5240 0056 9DE0 b .L336
5241 .LVL336:
5242 .L337:
2522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5243 .loc 1 2522 7 is_stmt 1 view .LVU1813
2522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5244 .loc 1 2522 23 is_stmt 0 view .LVU1814
5245 0058 4FF40073 mov r3, #512
5246 005c 6364 str r3, [r4, #68]
2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5247 .loc 1 2523 7 is_stmt 1 view .LVU1815
2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5248 .loc 1 2523 15 is_stmt 0 view .LVU1816
5249 005e 0120 movs r0, #1
5250 .LVL337:
2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5251 .loc 1 2523 15 view .LVU1817
5252 0060 98E0 b .L336
5253 .LVL338:
ARM GAS /tmp/ccbUHtu7.s page 243
5254 .L352:
2537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5255 .loc 1 2537 5 is_stmt 1 view .LVU1818
2537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5256 .loc 1 2537 21 is_stmt 0 view .LVU1819
5257 0062 2223 movs r3, #34
5258 0064 84F84130 strb r3, [r4, #65]
2538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5259 .loc 1 2538 5 is_stmt 1 view .LVU1820
2538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5260 .loc 1 2538 21 is_stmt 0 view .LVU1821
5261 0068 4023 movs r3, #64
5262 006a 84F84230 strb r3, [r4, #66]
2539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5263 .loc 1 2539 5 is_stmt 1 view .LVU1822
2539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5264 .loc 1 2539 21 is_stmt 0 view .LVU1823
5265 006e 0023 movs r3, #0
5266 0070 6364 str r3, [r4, #68]
2542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
5267 .loc 1 2542 5 is_stmt 1 view .LVU1824
2542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
5268 .loc 1 2542 21 is_stmt 0 view .LVU1825
5269 0072 0C9A ldr r2, [sp, #48]
5270 0074 6262 str r2, [r4, #36]
2543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
5271 .loc 1 2543 5 is_stmt 1 view .LVU1826
2543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
5272 .loc 1 2543 21 is_stmt 0 view .LVU1827
5273 0076 A4F82AA0 strh r10, [r4, #42] @ movhi
2544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5274 .loc 1 2544 5 is_stmt 1 view .LVU1828
2544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5275 .loc 1 2544 21 is_stmt 0 view .LVU1829
5276 007a 6363 str r3, [r4, #52]
2547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5277 .loc 1 2547 5 is_stmt 1 view .LVU1830
2547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5278 .loc 1 2547 9 is_stmt 0 view .LVU1831
5279 007c 0197 str r7, [sp, #4]
5280 007e 0095 str r5, [sp]
5281 0080 4B46 mov r3, r9
5282 0082 4246 mov r2, r8
5283 0084 3146 mov r1, r6
5284 0086 2046 mov r0, r4
5285 0088 FFF7FEFF bl I2C_RequestMemoryRead
5286 .LVL339:
2547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5287 .loc 1 2547 8 view .LVU1832
5288 008c 70B9 cbnz r0, .L353
2556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5289 .loc 1 2556 5 is_stmt 1 view .LVU1833
2556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5290 .loc 1 2556 13 is_stmt 0 view .LVU1834
5291 008e 638D ldrh r3, [r4, #42]
5292 0090 9BB2 uxth r3, r3
2556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 244
5293 .loc 1 2556 8 view .LVU1835
5294 0092 FF2B cmp r3, #255
5295 0094 0FD9 bls .L340
2558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5296 .loc 1 2558 7 is_stmt 1 view .LVU1836
2558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5297 .loc 1 2558 22 is_stmt 0 view .LVU1837
5298 0096 FF22 movs r2, #255
5299 0098 2285 strh r2, [r4, #40] @ movhi
2559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
5300 .loc 1 2559 7 is_stmt 1 view .LVU1838
5301 009a 444B ldr r3, .L355
5302 009c 0093 str r3, [sp]
5303 009e 4FF08073 mov r3, #16777216
5304 00a2 3146 mov r1, r6
5305 00a4 2046 mov r0, r4
5306 00a6 FFF7FEFF bl I2C_TransferConfig
5307 .LVL340:
5308 00aa 21E0 b .L344
5309 .L353:
2550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5310 .loc 1 2550 7 view .LVU1839
2550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5311 .loc 1 2550 7 view .LVU1840
5312 00ac 0023 movs r3, #0
5313 00ae 84F84030 strb r3, [r4, #64]
2550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5314 .loc 1 2550 7 view .LVU1841
2551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5315 .loc 1 2551 7 view .LVU1842
2551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5316 .loc 1 2551 14 is_stmt 0 view .LVU1843
5317 00b2 5846 mov r0, fp
5318 00b4 6EE0 b .L336
5319 .L340:
2564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5320 .loc 1 2564 7 is_stmt 1 view .LVU1844
2564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5321 .loc 1 2564 28 is_stmt 0 view .LVU1845
5322 00b6 628D ldrh r2, [r4, #42]
5323 00b8 92B2 uxth r2, r2
2564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5324 .loc 1 2564 22 view .LVU1846
5325 00ba 2285 strh r2, [r4, #40] @ movhi
2565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
5326 .loc 1 2565 7 is_stmt 1 view .LVU1847
5327 00bc 3B4B ldr r3, .L355
5328 00be 0093 str r3, [sp]
5329 00c0 4FF00073 mov r3, #33554432
5330 00c4 D2B2 uxtb r2, r2
5331 00c6 3146 mov r1, r6
5332 00c8 2046 mov r0, r4
5333 00ca FFF7FEFF bl I2C_TransferConfig
5334 .LVL341:
5335 00ce 0FE0 b .L344
5336 .L343:
2602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
ARM GAS /tmp/ccbUHtu7.s page 245
5337 .loc 1 2602 11 view .LVU1848
2602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5338 .loc 1 2602 32 is_stmt 0 view .LVU1849
5339 00d0 628D ldrh r2, [r4, #42]
5340 00d2 92B2 uxth r2, r2
2602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5341 .loc 1 2602 26 view .LVU1850
5342 00d4 2285 strh r2, [r4, #40] @ movhi
2603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5343 .loc 1 2603 11 is_stmt 1 view .LVU1851
5344 00d6 0023 movs r3, #0
5345 00d8 0093 str r3, [sp]
5346 00da 4FF00073 mov r3, #33554432
5347 00de D2B2 uxtb r2, r2
5348 00e0 3146 mov r1, r6
5349 00e2 2046 mov r0, r4
5350 00e4 FFF7FEFF bl I2C_TransferConfig
5351 .LVL342:
5352 .L342:
2607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5353 .loc 1 2607 30 view .LVU1852
2607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5354 .loc 1 2607 18 is_stmt 0 view .LVU1853
5355 00e8 638D ldrh r3, [r4, #42]
5356 00ea 9BB2 uxth r3, r3
2607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5357 .loc 1 2607 30 view .LVU1854
5358 00ec 002B cmp r3, #0
5359 00ee 34D0 beq .L354
5360 .L344:
2569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5361 .loc 1 2569 5 is_stmt 1 view .LVU1855
2572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5362 .loc 1 2572 7 view .LVU1856
2572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5363 .loc 1 2572 11 is_stmt 0 view .LVU1857
5364 00f0 0097 str r7, [sp]
5365 00f2 2B46 mov r3, r5
5366 00f4 0022 movs r2, #0
5367 00f6 0421 movs r1, #4
5368 00f8 2046 mov r0, r4
5369 00fa FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5370 .LVL343:
2572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5371 .loc 1 2572 10 view .LVU1858
5372 00fe 0028 cmp r0, #0
5373 0100 4DD1 bne .L348
2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5374 .loc 1 2578 7 is_stmt 1 view .LVU1859
2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5375 .loc 1 2578 38 is_stmt 0 view .LVU1860
5376 0102 2368 ldr r3, [r4]
2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5377 .loc 1 2578 48 view .LVU1861
5378 0104 5A6A ldr r2, [r3, #36]
2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5379 .loc 1 2578 12 view .LVU1862
ARM GAS /tmp/ccbUHtu7.s page 246
5380 0106 636A ldr r3, [r4, #36]
2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5381 .loc 1 2578 23 view .LVU1863
5382 0108 1A70 strb r2, [r3]
2581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5383 .loc 1 2581 7 is_stmt 1 view .LVU1864
2581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5384 .loc 1 2581 11 is_stmt 0 view .LVU1865
5385 010a 636A ldr r3, [r4, #36]
2581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5386 .loc 1 2581 21 view .LVU1866
5387 010c 0133 adds r3, r3, #1
5388 010e 6362 str r3, [r4, #36]
2583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
5389 .loc 1 2583 7 is_stmt 1 view .LVU1867
2583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
5390 .loc 1 2583 11 is_stmt 0 view .LVU1868
5391 0110 228D ldrh r2, [r4, #40]
2583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
5392 .loc 1 2583 21 view .LVU1869
5393 0112 013A subs r2, r2, #1
5394 0114 92B2 uxth r2, r2
5395 0116 2285 strh r2, [r4, #40] @ movhi
2584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5396 .loc 1 2584 7 is_stmt 1 view .LVU1870
2584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5397 .loc 1 2584 11 is_stmt 0 view .LVU1871
5398 0118 638D ldrh r3, [r4, #42]
5399 011a 9BB2 uxth r3, r3
2584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5400 .loc 1 2584 22 view .LVU1872
5401 011c 013B subs r3, r3, #1
5402 011e 9BB2 uxth r3, r3
5403 0120 6385 strh r3, [r4, #42] @ movhi
2586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5404 .loc 1 2586 7 is_stmt 1 view .LVU1873
2586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5405 .loc 1 2586 16 is_stmt 0 view .LVU1874
5406 0122 638D ldrh r3, [r4, #42]
5407 0124 9BB2 uxth r3, r3
2586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5408 .loc 1 2586 10 view .LVU1875
5409 0126 002B cmp r3, #0
5410 0128 DED0 beq .L342
2586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5411 .loc 1 2586 35 discriminator 1 view .LVU1876
5412 012a 002A cmp r2, #0
5413 012c DCD1 bne .L342
2589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5414 .loc 1 2589 9 is_stmt 1 view .LVU1877
2589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5415 .loc 1 2589 13 is_stmt 0 view .LVU1878
5416 012e 0097 str r7, [sp]
5417 0130 2B46 mov r3, r5
5418 0132 8021 movs r1, #128
5419 0134 2046 mov r0, r4
5420 0136 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
ARM GAS /tmp/ccbUHtu7.s page 247
5421 .LVL344:
2589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5422 .loc 1 2589 12 view .LVU1879
5423 013a 90BB cbnz r0, .L349
2594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5424 .loc 1 2594 9 is_stmt 1 view .LVU1880
2594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5425 .loc 1 2594 17 is_stmt 0 view .LVU1881
5426 013c 638D ldrh r3, [r4, #42]
5427 013e 9BB2 uxth r3, r3
2594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5428 .loc 1 2594 12 view .LVU1882
5429 0140 FF2B cmp r3, #255
5430 0142 C5D9 bls .L343
2596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
5431 .loc 1 2596 11 is_stmt 1 view .LVU1883
2596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
5432 .loc 1 2596 26 is_stmt 0 view .LVU1884
5433 0144 FF22 movs r2, #255
5434 0146 2285 strh r2, [r4, #40] @ movhi
2597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5435 .loc 1 2597 11 is_stmt 1 view .LVU1885
5436 0148 0023 movs r3, #0
5437 014a 0093 str r3, [sp]
5438 014c 4FF08073 mov r3, #16777216
5439 0150 3146 mov r1, r6
5440 0152 2046 mov r0, r4
5441 0154 FFF7FEFF bl I2C_TransferConfig
5442 .LVL345:
5443 0158 C6E7 b .L342
5444 .L354:
2611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5445 .loc 1 2611 5 view .LVU1886
2611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5446 .loc 1 2611 9 is_stmt 0 view .LVU1887
5447 015a 3A46 mov r2, r7
5448 015c 2946 mov r1, r5
5449 015e 2046 mov r0, r4
5450 0160 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
5451 .LVL346:
2611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5452 .loc 1 2611 8 view .LVU1888
5453 0164 F8B9 cbnz r0, .L350
2617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5454 .loc 1 2617 5 is_stmt 1 view .LVU1889
5455 0166 2368 ldr r3, [r4]
5456 0168 2022 movs r2, #32
5457 016a DA61 str r2, [r3, #28]
2620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5458 .loc 1 2620 5 view .LVU1890
5459 016c 2168 ldr r1, [r4]
5460 016e 4B68 ldr r3, [r1, #4]
5461 0170 23F0FF73 bic r3, r3, #33423360
5462 0174 23F48B33 bic r3, r3, #71168
5463 0178 23F4FF73 bic r3, r3, #510
5464 017c 23F00103 bic r3, r3, #1
5465 0180 4B60 str r3, [r1, #4]
ARM GAS /tmp/ccbUHtu7.s page 248
2622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5466 .loc 1 2622 5 view .LVU1891
2622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5467 .loc 1 2622 17 is_stmt 0 view .LVU1892
5468 0182 84F84120 strb r2, [r4, #65]
2623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5469 .loc 1 2623 5 is_stmt 1 view .LVU1893
2623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5470 .loc 1 2623 17 is_stmt 0 view .LVU1894
5471 0186 0023 movs r3, #0
5472 0188 84F84230 strb r3, [r4, #66]
2626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5473 .loc 1 2626 5 is_stmt 1 view .LVU1895
2626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5474 .loc 1 2626 5 view .LVU1896
5475 018c 84F84030 strb r3, [r4, #64]
2626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5476 .loc 1 2626 5 view .LVU1897
2628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5477 .loc 1 2628 5 view .LVU1898
2628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5478 .loc 1 2628 12 is_stmt 0 view .LVU1899
5479 0190 00E0 b .L336
5480 .LVL347:
5481 .L345:
2632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5482 .loc 1 2632 12 view .LVU1900
5483 0192 0220 movs r0, #2
5484 .LVL348:
5485 .L336:
2634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5486 .loc 1 2634 1 view .LVU1901
5487 0194 03B0 add sp, sp, #12
5488 .LCFI61:
5489 .cfi_remember_state
5490 .cfi_def_cfa_offset 36
5491 @ sp needed
5492 0196 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
5493 .LVL349:
5494 .L346:
5495 .LCFI62:
5496 .cfi_restore_state
2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5497 .loc 1 2527 5 view .LVU1902
5498 019a 0220 movs r0, #2
5499 .LVL350:
2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5500 .loc 1 2527 5 view .LVU1903
5501 019c FAE7 b .L336
5502 .LVL351:
5503 .L348:
2574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5504 .loc 1 2574 16 view .LVU1904
5505 019e 0120 movs r0, #1
5506 01a0 F8E7 b .L336
5507 .L349:
2591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 249
5508 .loc 1 2591 18 view .LVU1905
5509 01a2 0120 movs r0, #1
5510 01a4 F6E7 b .L336
5511 .L350:
2613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5512 .loc 1 2613 14 view .LVU1906
5513 01a6 0120 movs r0, #1
5514 01a8 F4E7 b .L336
5515 .L356:
5516 01aa 00BF .align 2
5517 .L355:
5518 01ac 00240080 .word -2147474432
5519 .cfi_endproc
5520 .LFE346:
5522 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits
5523 .align 1
5524 .global HAL_I2C_Mem_Write_IT
5525 .syntax unified
5526 .thumb
5527 .thumb_func
5529 HAL_I2C_Mem_Write_IT:
5530 .LVL352:
5531 .LFB347:
2649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
5532 .loc 1 2649 1 is_stmt 1 view -0
5533 .cfi_startproc
5534 @ args = 8, pretend = 0, frame = 0
5535 @ frame_needed = 0, uses_anonymous_args = 0
2649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
5536 .loc 1 2649 1 is_stmt 0 view .LVU1908
5537 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
5538 .LCFI63:
5539 .cfi_def_cfa_offset 24
5540 .cfi_offset 4, -24
5541 .cfi_offset 5, -20
5542 .cfi_offset 6, -16
5543 .cfi_offset 7, -12
5544 .cfi_offset 8, -8
5545 .cfi_offset 14, -4
5546 0004 82B0 sub sp, sp, #8
5547 .LCFI64:
5548 .cfi_def_cfa_offset 32
5549 0006 0446 mov r4, r0
5550 0008 BDF82480 ldrh r8, [sp, #36]
2650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
5551 .loc 1 2650 3 is_stmt 1 view .LVU1909
2651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5552 .loc 1 2651 3 view .LVU1910
2654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5553 .loc 1 2654 3 view .LVU1911
2656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5554 .loc 1 2656 3 view .LVU1912
2656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5555 .loc 1 2656 11 is_stmt 0 view .LVU1913
5556 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
5557 .LVL353:
2656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 250
5558 .loc 1 2656 11 view .LVU1914
5559 0010 C0B2 uxtb r0, r0
2656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5560 .loc 1 2656 6 view .LVU1915
5561 0012 2028 cmp r0, #32
5562 0014 58D1 bne .L364
5563 0016 0D46 mov r5, r1
5564 0018 1746 mov r7, r2
5565 001a 1E46 mov r6, r3
2658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5566 .loc 1 2658 5 is_stmt 1 view .LVU1916
2658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5567 .loc 1 2658 8 is_stmt 0 view .LVU1917
5568 001c 089B ldr r3, [sp, #32]
5569 .LVL354:
2658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5570 .loc 1 2658 8 view .LVU1918
5571 001e 002B cmp r3, #0
5572 0020 38D0 beq .L359
2658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5573 .loc 1 2658 25 discriminator 1 view .LVU1919
5574 0022 B8F1000F cmp r8, #0
5575 0026 35D0 beq .L359
2664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5576 .loc 1 2664 5 is_stmt 1 view .LVU1920
2664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5577 .loc 1 2664 9 is_stmt 0 view .LVU1921
5578 0028 2368 ldr r3, [r4]
5579 002a 9B69 ldr r3, [r3, #24]
2664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5580 .loc 1 2664 8 view .LVU1922
5581 002c 13F4004F tst r3, #32768
5582 0030 4FD1 bne .L365
2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5583 .loc 1 2670 5 is_stmt 1 view .LVU1923
2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5584 .loc 1 2670 5 view .LVU1924
5585 0032 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
5586 0036 012B cmp r3, #1
5587 0038 4DD0 beq .L366
2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5588 .loc 1 2670 5 discriminator 2 view .LVU1925
5589 003a 0123 movs r3, #1
5590 003c 84F84030 strb r3, [r4, #64]
2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5591 .loc 1 2670 5 discriminator 2 view .LVU1926
2673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5592 .loc 1 2673 5 discriminator 2 view .LVU1927
2673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5593 .loc 1 2673 17 is_stmt 0 discriminator 2 view .LVU1928
5594 0040 FFF7FEFF bl HAL_GetTick
5595 .LVL355:
2675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5596 .loc 1 2675 5 is_stmt 1 discriminator 2 view .LVU1929
2675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5597 .loc 1 2675 23 is_stmt 0 discriminator 2 view .LVU1930
5598 0044 2123 movs r3, #33
ARM GAS /tmp/ccbUHtu7.s page 251
5599 0046 84F84130 strb r3, [r4, #65]
2676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5600 .loc 1 2676 5 is_stmt 1 discriminator 2 view .LVU1931
2676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5601 .loc 1 2676 23 is_stmt 0 discriminator 2 view .LVU1932
5602 004a 4023 movs r3, #64
5603 004c 84F84230 strb r3, [r4, #66]
2677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5604 .loc 1 2677 5 is_stmt 1 discriminator 2 view .LVU1933
2677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5605 .loc 1 2677 23 is_stmt 0 discriminator 2 view .LVU1934
5606 0050 0023 movs r3, #0
5607 0052 6364 str r3, [r4, #68]
2680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
5608 .loc 1 2680 5 is_stmt 1 discriminator 2 view .LVU1935
2680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
5609 .loc 1 2680 23 is_stmt 0 discriminator 2 view .LVU1936
5610 0054 089B ldr r3, [sp, #32]
5611 0056 6362 str r3, [r4, #36]
2681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5612 .loc 1 2681 5 is_stmt 1 discriminator 2 view .LVU1937
2681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5613 .loc 1 2681 23 is_stmt 0 discriminator 2 view .LVU1938
5614 0058 A4F82A80 strh r8, [r4, #42] @ movhi
2682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
5615 .loc 1 2682 5 is_stmt 1 discriminator 2 view .LVU1939
2682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
5616 .loc 1 2682 23 is_stmt 0 discriminator 2 view .LVU1940
5617 005c 1F4B ldr r3, .L368
5618 005e E362 str r3, [r4, #44]
2683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5619 .loc 1 2683 5 is_stmt 1 discriminator 2 view .LVU1941
2683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5620 .loc 1 2683 23 is_stmt 0 discriminator 2 view .LVU1942
5621 0060 1F4B ldr r3, .L368+4
5622 0062 6363 str r3, [r4, #52]
2685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5623 .loc 1 2685 5 is_stmt 1 discriminator 2 view .LVU1943
2685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5624 .loc 1 2685 13 is_stmt 0 discriminator 2 view .LVU1944
5625 0064 638D ldrh r3, [r4, #42]
5626 0066 9BB2 uxth r3, r3
2685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5627 .loc 1 2685 8 discriminator 2 view .LVU1945
5628 0068 FF2B cmp r3, #255
5629 006a 18D9 bls .L361
2687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
5630 .loc 1 2687 7 is_stmt 1 view .LVU1946
2687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
5631 .loc 1 2687 22 is_stmt 0 view .LVU1947
5632 006c FF23 movs r3, #255
5633 006e 2385 strh r3, [r4, #40] @ movhi
2688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5634 .loc 1 2688 7 is_stmt 1 view .LVU1948
5635 .LVL356:
2688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5636 .loc 1 2688 16 is_stmt 0 view .LVU1949
ARM GAS /tmp/ccbUHtu7.s page 252
5637 0070 4FF08078 mov r8, #16777216
5638 .LVL357:
5639 .L362:
2697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** != HAL_OK)
5640 .loc 1 2697 5 is_stmt 1 view .LVU1950
2697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** != HAL_OK)
5641 .loc 1 2697 9 is_stmt 0 view .LVU1951
5642 0074 0190 str r0, [sp, #4]
5643 0076 1923 movs r3, #25
5644 0078 0093 str r3, [sp]
5645 007a 3346 mov r3, r6
5646 007c 3A46 mov r2, r7
5647 007e 2946 mov r1, r5
5648 0080 2046 mov r0, r4
5649 .LVL358:
2697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** != HAL_OK)
5650 .loc 1 2697 9 view .LVU1952
5651 0082 FFF7FEFF bl I2C_RequestMemoryWrite
5652 .LVL359:
2697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** != HAL_OK)
5653 .loc 1 2697 8 view .LVU1953
5654 0086 0646 mov r6, r0
5655 0088 70B1 cbz r0, .L363
2701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5656 .loc 1 2701 7 is_stmt 1 view .LVU1954
2701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5657 .loc 1 2701 7 view .LVU1955
5658 008a 0023 movs r3, #0
5659 008c 84F84030 strb r3, [r4, #64]
2701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5660 .loc 1 2701 7 view .LVU1956
2702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5661 .loc 1 2702 7 view .LVU1957
2702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5662 .loc 1 2702 14 is_stmt 0 view .LVU1958
5663 0090 0126 movs r6, #1
5664 0092 1AE0 b .L358
5665 .LVL360:
5666 .L359:
2660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5667 .loc 1 2660 7 is_stmt 1 view .LVU1959
2660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5668 .loc 1 2660 23 is_stmt 0 view .LVU1960
5669 0094 4FF40073 mov r3, #512
5670 0098 6364 str r3, [r4, #68]
2661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5671 .loc 1 2661 7 is_stmt 1 view .LVU1961
2661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5672 .loc 1 2661 15 is_stmt 0 view .LVU1962
5673 009a 0126 movs r6, #1
5674 009c 15E0 b .L358
5675 .LVL361:
5676 .L361:
2692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5677 .loc 1 2692 7 is_stmt 1 view .LVU1963
2692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5678 .loc 1 2692 28 is_stmt 0 view .LVU1964
ARM GAS /tmp/ccbUHtu7.s page 253
5679 009e 638D ldrh r3, [r4, #42]
2692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5680 .loc 1 2692 22 view .LVU1965
5681 00a0 2385 strh r3, [r4, #40] @ movhi
2693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5682 .loc 1 2693 7 is_stmt 1 view .LVU1966
5683 .LVL362:
2693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5684 .loc 1 2693 16 is_stmt 0 view .LVU1967
5685 00a2 4FF00078 mov r8, #33554432
5686 00a6 E5E7 b .L362
5687 .LVL363:
5688 .L363:
2706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5689 .loc 1 2706 5 is_stmt 1 view .LVU1968
5690 00a8 0027 movs r7, #0
5691 00aa 0097 str r7, [sp]
5692 00ac 4346 mov r3, r8
5693 00ae 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
5694 00b2 2946 mov r1, r5
5695 00b4 2046 mov r0, r4
5696 00b6 FFF7FEFF bl I2C_TransferConfig
5697 .LVL364:
2709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5698 .loc 1 2709 5 view .LVU1969
2709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5699 .loc 1 2709 5 view .LVU1970
5700 00ba 84F84070 strb r7, [r4, #64]
2709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5701 .loc 1 2709 5 view .LVU1971
2719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5702 .loc 1 2719 5 view .LVU1972
5703 00be 0121 movs r1, #1
5704 00c0 2046 mov r0, r4
5705 00c2 FFF7FEFF bl I2C_Enable_IRQ
5706 .LVL365:
2721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5707 .loc 1 2721 5 view .LVU1973
2721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5708 .loc 1 2721 12 is_stmt 0 view .LVU1974
5709 00c6 00E0 b .L358
5710 .LVL366:
5711 .L364:
2725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5712 .loc 1 2725 12 view .LVU1975
5713 00c8 0226 movs r6, #2
5714 .LVL367:
5715 .L358:
2727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5716 .loc 1 2727 1 view .LVU1976
5717 00ca 3046 mov r0, r6
5718 00cc 02B0 add sp, sp, #8
5719 .LCFI65:
5720 .cfi_remember_state
5721 .cfi_def_cfa_offset 24
5722 @ sp needed
5723 00ce BDE8F081 pop {r4, r5, r6, r7, r8, pc}
ARM GAS /tmp/ccbUHtu7.s page 254
5724 .LVL368:
5725 .L365:
5726 .LCFI66:
5727 .cfi_restore_state
2666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5728 .loc 1 2666 14 view .LVU1977
5729 00d2 0226 movs r6, #2
5730 00d4 F9E7 b .L358
5731 .L366:
2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5732 .loc 1 2670 5 view .LVU1978
5733 00d6 0226 movs r6, #2
5734 00d8 F7E7 b .L358
5735 .L369:
5736 00da 00BF .align 2
5737 .L368:
5738 00dc 0000FFFF .word -65536
5739 00e0 00000000 .word I2C_Master_ISR_IT
5740 .cfi_endproc
5741 .LFE347:
5743 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits
5744 .align 1
5745 .global HAL_I2C_Mem_Read_IT
5746 .syntax unified
5747 .thumb
5748 .thumb_func
5750 HAL_I2C_Mem_Read_IT:
5751 .LVL369:
5752 .LFB348:
2743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
5753 .loc 1 2743 1 is_stmt 1 view -0
5754 .cfi_startproc
5755 @ args = 8, pretend = 0, frame = 0
5756 @ frame_needed = 0, uses_anonymous_args = 0
2743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
5757 .loc 1 2743 1 is_stmt 0 view .LVU1980
5758 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
5759 .LCFI67:
5760 .cfi_def_cfa_offset 24
5761 .cfi_offset 4, -24
5762 .cfi_offset 5, -20
5763 .cfi_offset 6, -16
5764 .cfi_offset 7, -12
5765 .cfi_offset 8, -8
5766 .cfi_offset 14, -4
5767 0004 82B0 sub sp, sp, #8
5768 .LCFI68:
5769 .cfi_def_cfa_offset 32
5770 0006 0446 mov r4, r0
5771 0008 BDF82480 ldrh r8, [sp, #36]
2744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
5772 .loc 1 2744 3 is_stmt 1 view .LVU1981
2745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5773 .loc 1 2745 3 view .LVU1982
2748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5774 .loc 1 2748 3 view .LVU1983
2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 255
5775 .loc 1 2750 3 view .LVU1984
2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5776 .loc 1 2750 11 is_stmt 0 view .LVU1985
5777 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
5778 .LVL370:
2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5779 .loc 1 2750 11 view .LVU1986
5780 0010 C0B2 uxtb r0, r0
2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5781 .loc 1 2750 6 view .LVU1987
5782 0012 2028 cmp r0, #32
5783 0014 59D1 bne .L377
5784 0016 0D46 mov r5, r1
5785 0018 1746 mov r7, r2
5786 001a 1E46 mov r6, r3
2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5787 .loc 1 2752 5 is_stmt 1 view .LVU1988
2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5788 .loc 1 2752 8 is_stmt 0 view .LVU1989
5789 001c 089B ldr r3, [sp, #32]
5790 .LVL371:
2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5791 .loc 1 2752 8 view .LVU1990
5792 001e 002B cmp r3, #0
5793 0020 38D0 beq .L372
2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5794 .loc 1 2752 25 discriminator 1 view .LVU1991
5795 0022 B8F1000F cmp r8, #0
5796 0026 35D0 beq .L372
2758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5797 .loc 1 2758 5 is_stmt 1 view .LVU1992
2758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5798 .loc 1 2758 9 is_stmt 0 view .LVU1993
5799 0028 2368 ldr r3, [r4]
5800 002a 9B69 ldr r3, [r3, #24]
2758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5801 .loc 1 2758 8 view .LVU1994
5802 002c 13F4004F tst r3, #32768
5803 0030 50D1 bne .L378
2764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5804 .loc 1 2764 5 is_stmt 1 view .LVU1995
2764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5805 .loc 1 2764 5 view .LVU1996
5806 0032 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
5807 0036 012B cmp r3, #1
5808 0038 4ED0 beq .L379
2764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5809 .loc 1 2764 5 discriminator 2 view .LVU1997
5810 003a 0123 movs r3, #1
5811 003c 84F84030 strb r3, [r4, #64]
2764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5812 .loc 1 2764 5 discriminator 2 view .LVU1998
2767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5813 .loc 1 2767 5 discriminator 2 view .LVU1999
2767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5814 .loc 1 2767 17 is_stmt 0 discriminator 2 view .LVU2000
5815 0040 FFF7FEFF bl HAL_GetTick
ARM GAS /tmp/ccbUHtu7.s page 256
5816 .LVL372:
2769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5817 .loc 1 2769 5 is_stmt 1 discriminator 2 view .LVU2001
2769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5818 .loc 1 2769 23 is_stmt 0 discriminator 2 view .LVU2002
5819 0044 2223 movs r3, #34
5820 0046 84F84130 strb r3, [r4, #65]
2770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5821 .loc 1 2770 5 is_stmt 1 discriminator 2 view .LVU2003
2770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5822 .loc 1 2770 23 is_stmt 0 discriminator 2 view .LVU2004
5823 004a 4023 movs r3, #64
5824 004c 84F84230 strb r3, [r4, #66]
2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5825 .loc 1 2771 5 is_stmt 1 discriminator 2 view .LVU2005
2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5826 .loc 1 2771 23 is_stmt 0 discriminator 2 view .LVU2006
5827 0050 0023 movs r3, #0
5828 0052 6364 str r3, [r4, #68]
2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
5829 .loc 1 2774 5 is_stmt 1 discriminator 2 view .LVU2007
2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
5830 .loc 1 2774 23 is_stmt 0 discriminator 2 view .LVU2008
5831 0054 089B ldr r3, [sp, #32]
5832 0056 6362 str r3, [r4, #36]
2775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5833 .loc 1 2775 5 is_stmt 1 discriminator 2 view .LVU2009
2775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5834 .loc 1 2775 23 is_stmt 0 discriminator 2 view .LVU2010
5835 0058 A4F82A80 strh r8, [r4, #42] @ movhi
2776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
5836 .loc 1 2776 5 is_stmt 1 discriminator 2 view .LVU2011
2776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
5837 .loc 1 2776 23 is_stmt 0 discriminator 2 view .LVU2012
5838 005c 1F4B ldr r3, .L381
5839 005e E362 str r3, [r4, #44]
2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5840 .loc 1 2777 5 is_stmt 1 discriminator 2 view .LVU2013
2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5841 .loc 1 2777 23 is_stmt 0 discriminator 2 view .LVU2014
5842 0060 1F4B ldr r3, .L381+4
5843 0062 6363 str r3, [r4, #52]
2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5844 .loc 1 2779 5 is_stmt 1 discriminator 2 view .LVU2015
2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5845 .loc 1 2779 13 is_stmt 0 discriminator 2 view .LVU2016
5846 0064 638D ldrh r3, [r4, #42]
5847 0066 9BB2 uxth r3, r3
2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5848 .loc 1 2779 8 discriminator 2 view .LVU2017
5849 0068 FF2B cmp r3, #255
5850 006a 18D9 bls .L374
2781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
5851 .loc 1 2781 7 is_stmt 1 view .LVU2018
2781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
5852 .loc 1 2781 22 is_stmt 0 view .LVU2019
5853 006c FF23 movs r3, #255
ARM GAS /tmp/ccbUHtu7.s page 257
5854 006e 2385 strh r3, [r4, #40] @ movhi
2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5855 .loc 1 2782 7 is_stmt 1 view .LVU2020
5856 .LVL373:
2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5857 .loc 1 2782 16 is_stmt 0 view .LVU2021
5858 0070 4FF08078 mov r8, #16777216
5859 .LVL374:
5860 .L375:
2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5861 .loc 1 2791 5 is_stmt 1 view .LVU2022
2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5862 .loc 1 2791 9 is_stmt 0 view .LVU2023
5863 0074 0190 str r0, [sp, #4]
5864 0076 1923 movs r3, #25
5865 0078 0093 str r3, [sp]
5866 007a 3346 mov r3, r6
5867 007c 3A46 mov r2, r7
5868 007e 2946 mov r1, r5
5869 0080 2046 mov r0, r4
5870 .LVL375:
2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5871 .loc 1 2791 9 view .LVU2024
5872 0082 FFF7FEFF bl I2C_RequestMemoryRead
5873 .LVL376:
2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5874 .loc 1 2791 8 view .LVU2025
5875 0086 0646 mov r6, r0
5876 0088 70B1 cbz r0, .L376
2794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5877 .loc 1 2794 7 is_stmt 1 view .LVU2026
2794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5878 .loc 1 2794 7 view .LVU2027
5879 008a 0023 movs r3, #0
5880 008c 84F84030 strb r3, [r4, #64]
2794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5881 .loc 1 2794 7 view .LVU2028
2795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5882 .loc 1 2795 7 view .LVU2029
2795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5883 .loc 1 2795 14 is_stmt 0 view .LVU2030
5884 0090 0126 movs r6, #1
5885 0092 1BE0 b .L371
5886 .LVL377:
5887 .L372:
2754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5888 .loc 1 2754 7 is_stmt 1 view .LVU2031
2754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
5889 .loc 1 2754 23 is_stmt 0 view .LVU2032
5890 0094 4FF40073 mov r3, #512
5891 0098 6364 str r3, [r4, #68]
2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5892 .loc 1 2755 7 is_stmt 1 view .LVU2033
2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5893 .loc 1 2755 15 is_stmt 0 view .LVU2034
5894 009a 0126 movs r6, #1
5895 009c 16E0 b .L371
ARM GAS /tmp/ccbUHtu7.s page 258
5896 .LVL378:
5897 .L374:
2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5898 .loc 1 2786 7 is_stmt 1 view .LVU2035
2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5899 .loc 1 2786 28 is_stmt 0 view .LVU2036
5900 009e 638D ldrh r3, [r4, #42]
2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5901 .loc 1 2786 22 view .LVU2037
5902 00a0 2385 strh r3, [r4, #40] @ movhi
2787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5903 .loc 1 2787 7 is_stmt 1 view .LVU2038
5904 .LVL379:
2787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5905 .loc 1 2787 16 is_stmt 0 view .LVU2039
5906 00a2 4FF00078 mov r8, #33554432
5907 00a6 E5E7 b .L375
5908 .LVL380:
5909 .L376:
2799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5910 .loc 1 2799 5 is_stmt 1 view .LVU2040
5911 00a8 0E4B ldr r3, .L381+8
5912 00aa 0093 str r3, [sp]
5913 00ac 4346 mov r3, r8
5914 00ae 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
5915 00b2 2946 mov r1, r5
5916 00b4 2046 mov r0, r4
5917 00b6 FFF7FEFF bl I2C_TransferConfig
5918 .LVL381:
2802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5919 .loc 1 2802 5 view .LVU2041
2802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5920 .loc 1 2802 5 view .LVU2042
5921 00ba 0023 movs r3, #0
5922 00bc 84F84030 strb r3, [r4, #64]
2802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5923 .loc 1 2802 5 view .LVU2043
2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5924 .loc 1 2812 5 view .LVU2044
5925 00c0 0221 movs r1, #2
5926 00c2 2046 mov r0, r4
5927 00c4 FFF7FEFF bl I2C_Enable_IRQ
5928 .LVL382:
2814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5929 .loc 1 2814 5 view .LVU2045
2814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5930 .loc 1 2814 12 is_stmt 0 view .LVU2046
5931 00c8 00E0 b .L371
5932 .LVL383:
5933 .L377:
2818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5934 .loc 1 2818 12 view .LVU2047
5935 00ca 0226 movs r6, #2
5936 .LVL384:
5937 .L371:
2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /**
5938 .loc 1 2820 1 view .LVU2048
ARM GAS /tmp/ccbUHtu7.s page 259
5939 00cc 3046 mov r0, r6
5940 00ce 02B0 add sp, sp, #8
5941 .LCFI69:
5942 .cfi_remember_state
5943 .cfi_def_cfa_offset 24
5944 @ sp needed
5945 00d0 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
5946 .LVL385:
5947 .L378:
5948 .LCFI70:
5949 .cfi_restore_state
2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
5950 .loc 1 2760 14 view .LVU2049
5951 00d4 0226 movs r6, #2
5952 00d6 F9E7 b .L371
5953 .L379:
2764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5954 .loc 1 2764 5 view .LVU2050
5955 00d8 0226 movs r6, #2
5956 00da F7E7 b .L371
5957 .L382:
5958 .align 2
5959 .L381:
5960 00dc 0000FFFF .word -65536
5961 00e0 00000000 .word I2C_Master_ISR_IT
5962 00e4 00240080 .word -2147474432
5963 .cfi_endproc
5964 .LFE348:
5966 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
5967 .align 1
5968 .global HAL_I2C_Mem_Write_DMA
5969 .syntax unified
5970 .thumb
5971 .thumb_func
5973 HAL_I2C_Mem_Write_DMA:
5974 .LVL386:
5975 .LFB349:
2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
5976 .loc 1 2835 1 is_stmt 1 view -0
5977 .cfi_startproc
5978 @ args = 8, pretend = 0, frame = 0
5979 @ frame_needed = 0, uses_anonymous_args = 0
2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
5980 .loc 1 2835 1 is_stmt 0 view .LVU2052
5981 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
5982 .LCFI71:
5983 .cfi_def_cfa_offset 24
5984 .cfi_offset 4, -24
5985 .cfi_offset 5, -20
5986 .cfi_offset 6, -16
5987 .cfi_offset 7, -12
5988 .cfi_offset 8, -8
5989 .cfi_offset 14, -4
5990 0004 82B0 sub sp, sp, #8
5991 .LCFI72:
5992 .cfi_def_cfa_offset 32
5993 0006 0446 mov r4, r0
ARM GAS /tmp/ccbUHtu7.s page 260
5994 0008 BDF82480 ldrh r8, [sp, #36]
2836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
5995 .loc 1 2836 3 is_stmt 1 view .LVU2053
2837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
5996 .loc 1 2837 3 view .LVU2054
2838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5997 .loc 1 2838 3 view .LVU2055
2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
5998 .loc 1 2841 3 view .LVU2056
2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
5999 .loc 1 2843 3 view .LVU2057
2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6000 .loc 1 2843 11 is_stmt 0 view .LVU2058
6001 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
6002 .LVL387:
2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6003 .loc 1 2843 11 view .LVU2059
6004 0010 C0B2 uxtb r0, r0
2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6005 .loc 1 2843 6 view .LVU2060
6006 0012 2028 cmp r0, #32
6007 0014 40F09880 bne .L393
6008 0018 0D46 mov r5, r1
6009 001a 1746 mov r7, r2
6010 001c 1E46 mov r6, r3
2845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6011 .loc 1 2845 5 is_stmt 1 view .LVU2061
2845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6012 .loc 1 2845 8 is_stmt 0 view .LVU2062
6013 001e 089B ldr r3, [sp, #32]
6014 .LVL388:
2845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6015 .loc 1 2845 8 view .LVU2063
6016 0020 002B cmp r3, #0
6017 0022 59D0 beq .L385
2845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6018 .loc 1 2845 25 discriminator 1 view .LVU2064
6019 0024 B8F1000F cmp r8, #0
6020 0028 56D0 beq .L385
2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6021 .loc 1 2851 5 is_stmt 1 view .LVU2065
2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6022 .loc 1 2851 9 is_stmt 0 view .LVU2066
6023 002a 2368 ldr r3, [r4]
6024 002c 9B69 ldr r3, [r3, #24]
2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6025 .loc 1 2851 8 view .LVU2067
6026 002e 13F4004F tst r3, #32768
6027 0032 40F08E80 bne .L394
2857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6028 .loc 1 2857 5 is_stmt 1 view .LVU2068
2857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6029 .loc 1 2857 5 view .LVU2069
6030 0036 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
6031 003a 012B cmp r3, #1
6032 003c 00F08B80 beq .L395
2857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 261
6033 .loc 1 2857 5 discriminator 2 view .LVU2070
6034 0040 0123 movs r3, #1
6035 0042 84F84030 strb r3, [r4, #64]
2857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6036 .loc 1 2857 5 discriminator 2 view .LVU2071
2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6037 .loc 1 2860 5 discriminator 2 view .LVU2072
2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6038 .loc 1 2860 17 is_stmt 0 discriminator 2 view .LVU2073
6039 0046 FFF7FEFF bl HAL_GetTick
6040 .LVL389:
2862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6041 .loc 1 2862 5 is_stmt 1 discriminator 2 view .LVU2074
2862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6042 .loc 1 2862 23 is_stmt 0 discriminator 2 view .LVU2075
6043 004a 2123 movs r3, #33
6044 004c 84F84130 strb r3, [r4, #65]
2863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6045 .loc 1 2863 5 is_stmt 1 discriminator 2 view .LVU2076
2863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6046 .loc 1 2863 23 is_stmt 0 discriminator 2 view .LVU2077
6047 0050 4023 movs r3, #64
6048 0052 84F84230 strb r3, [r4, #66]
2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6049 .loc 1 2864 5 is_stmt 1 discriminator 2 view .LVU2078
2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6050 .loc 1 2864 23 is_stmt 0 discriminator 2 view .LVU2079
6051 0056 0023 movs r3, #0
6052 0058 6364 str r3, [r4, #68]
2867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
6053 .loc 1 2867 5 is_stmt 1 discriminator 2 view .LVU2080
2867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
6054 .loc 1 2867 23 is_stmt 0 discriminator 2 view .LVU2081
6055 005a 089B ldr r3, [sp, #32]
6056 005c 6362 str r3, [r4, #36]
2868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6057 .loc 1 2868 5 is_stmt 1 discriminator 2 view .LVU2082
2868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6058 .loc 1 2868 23 is_stmt 0 discriminator 2 view .LVU2083
6059 005e A4F82A80 strh r8, [r4, #42] @ movhi
2869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
6060 .loc 1 2869 5 is_stmt 1 discriminator 2 view .LVU2084
2869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
6061 .loc 1 2869 23 is_stmt 0 discriminator 2 view .LVU2085
6062 0062 3E4B ldr r3, .L400
6063 0064 E362 str r3, [r4, #44]
2870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6064 .loc 1 2870 5 is_stmt 1 discriminator 2 view .LVU2086
2870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6065 .loc 1 2870 23 is_stmt 0 discriminator 2 view .LVU2087
6066 0066 3E4B ldr r3, .L400+4
6067 0068 6363 str r3, [r4, #52]
2872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6068 .loc 1 2872 5 is_stmt 1 discriminator 2 view .LVU2088
2872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6069 .loc 1 2872 13 is_stmt 0 discriminator 2 view .LVU2089
6070 006a 638D ldrh r3, [r4, #42]
ARM GAS /tmp/ccbUHtu7.s page 262
6071 006c 9BB2 uxth r3, r3
2872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6072 .loc 1 2872 8 discriminator 2 view .LVU2090
6073 006e FF2B cmp r3, #255
6074 0070 37D9 bls .L387
2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
6075 .loc 1 2874 7 is_stmt 1 view .LVU2091
2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
6076 .loc 1 2874 22 is_stmt 0 view .LVU2092
6077 0072 FF23 movs r3, #255
6078 0074 2385 strh r3, [r4, #40] @ movhi
2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6079 .loc 1 2875 7 is_stmt 1 view .LVU2093
6080 .LVL390:
2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6081 .loc 1 2875 16 is_stmt 0 view .LVU2094
6082 0076 4FF08078 mov r8, #16777216
6083 .LVL391:
6084 .L388:
2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** != HAL_OK)
6085 .loc 1 2884 5 is_stmt 1 view .LVU2095
2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** != HAL_OK)
6086 .loc 1 2884 9 is_stmt 0 view .LVU2096
6087 007a 0190 str r0, [sp, #4]
6088 007c 1923 movs r3, #25
6089 007e 0093 str r3, [sp]
6090 0080 3346 mov r3, r6
6091 0082 3A46 mov r2, r7
6092 0084 2946 mov r1, r5
6093 0086 2046 mov r0, r4
6094 .LVL392:
2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** != HAL_OK)
6095 .loc 1 2884 9 view .LVU2097
6096 0088 FFF7FEFF bl I2C_RequestMemoryWrite
6097 .LVL393:
2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** != HAL_OK)
6098 .loc 1 2884 8 view .LVU2098
6099 008c 0028 cmp r0, #0
6100 008e 2DD1 bne .L398
2893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6101 .loc 1 2893 5 is_stmt 1 view .LVU2099
2893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6102 .loc 1 2893 13 is_stmt 0 view .LVU2100
6103 0090 A36B ldr r3, [r4, #56]
2893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6104 .loc 1 2893 8 view .LVU2101
6105 0092 002B cmp r3, #0
6106 0094 2FD0 beq .L390
2896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6107 .loc 1 2896 7 is_stmt 1 view .LVU2102
2896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6108 .loc 1 2896 38 is_stmt 0 view .LVU2103
6109 0096 334A ldr r2, .L400+8
6110 0098 DA62 str r2, [r3, #44]
2899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6111 .loc 1 2899 7 is_stmt 1 view .LVU2104
2899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 263
6112 .loc 1 2899 11 is_stmt 0 view .LVU2105
6113 009a A36B ldr r3, [r4, #56]
2899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6114 .loc 1 2899 39 view .LVU2106
6115 009c 324A ldr r2, .L400+12
6116 009e 5A63 str r2, [r3, #52]
2902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6117 .loc 1 2902 7 is_stmt 1 view .LVU2107
2902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6118 .loc 1 2902 11 is_stmt 0 view .LVU2108
6119 00a0 A26B ldr r2, [r4, #56]
2902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6120 .loc 1 2902 42 view .LVU2109
6121 00a2 0023 movs r3, #0
6122 00a4 1363 str r3, [r2, #48]
2903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6123 .loc 1 2903 7 is_stmt 1 view .LVU2110
2903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6124 .loc 1 2903 11 is_stmt 0 view .LVU2111
6125 00a6 A26B ldr r2, [r4, #56]
2903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6126 .loc 1 2903 39 view .LVU2112
6127 00a8 9363 str r3, [r2, #56]
2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
6128 .loc 1 2906 7 is_stmt 1 view .LVU2113
2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
6129 .loc 1 2906 86 is_stmt 0 view .LVU2114
6130 00aa 2268 ldr r2, [r4]
2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
6131 .loc 1 2906 23 view .LVU2115
6132 00ac 238D ldrh r3, [r4, #40]
6133 00ae 2832 adds r2, r2, #40
6134 00b0 0899 ldr r1, [sp, #32]
6135 00b2 A06B ldr r0, [r4, #56]
6136 00b4 FFF7FEFF bl HAL_DMA_Start_IT
6137 .LVL394:
2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6138 .loc 1 2924 5 is_stmt 1 view .LVU2116
2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6139 .loc 1 2924 8 is_stmt 0 view .LVU2117
6140 00b8 0646 mov r6, r0
6141 00ba 50B3 cbz r0, .L399
2948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6142 .loc 1 2948 7 is_stmt 1 view .LVU2118
2948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6143 .loc 1 2948 23 is_stmt 0 view .LVU2119
6144 00bc 2023 movs r3, #32
6145 00be 84F84130 strb r3, [r4, #65]
2949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6146 .loc 1 2949 7 is_stmt 1 view .LVU2120
2949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6147 .loc 1 2949 23 is_stmt 0 view .LVU2121
6148 00c2 0022 movs r2, #0
6149 00c4 84F84220 strb r2, [r4, #66]
2952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6150 .loc 1 2952 7 is_stmt 1 view .LVU2122
2952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 264
6151 .loc 1 2952 11 is_stmt 0 view .LVU2123
6152 00c8 636C ldr r3, [r4, #68]
2952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6153 .loc 1 2952 23 view .LVU2124
6154 00ca 43F01003 orr r3, r3, #16
6155 00ce 6364 str r3, [r4, #68]
2955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6156 .loc 1 2955 7 is_stmt 1 view .LVU2125
2955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6157 .loc 1 2955 7 view .LVU2126
6158 00d0 84F84020 strb r2, [r4, #64]
2955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6159 .loc 1 2955 7 view .LVU2127
2957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6160 .loc 1 2957 7 view .LVU2128
2957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6161 .loc 1 2957 14 is_stmt 0 view .LVU2129
6162 00d4 0126 movs r6, #1
6163 00d6 38E0 b .L384
6164 .LVL395:
6165 .L385:
2847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6166 .loc 1 2847 7 is_stmt 1 view .LVU2130
2847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6167 .loc 1 2847 23 is_stmt 0 view .LVU2131
6168 00d8 4FF40073 mov r3, #512
6169 00dc 6364 str r3, [r4, #68]
2848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6170 .loc 1 2848 7 is_stmt 1 view .LVU2132
2848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6171 .loc 1 2848 15 is_stmt 0 view .LVU2133
6172 00de 0126 movs r6, #1
6173 00e0 33E0 b .L384
6174 .LVL396:
6175 .L387:
2879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6176 .loc 1 2879 7 is_stmt 1 view .LVU2134
2879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6177 .loc 1 2879 28 is_stmt 0 view .LVU2135
6178 00e2 638D ldrh r3, [r4, #42]
2879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6179 .loc 1 2879 22 view .LVU2136
6180 00e4 2385 strh r3, [r4, #40] @ movhi
2880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6181 .loc 1 2880 7 is_stmt 1 view .LVU2137
6182 .LVL397:
2880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6183 .loc 1 2880 16 is_stmt 0 view .LVU2138
6184 00e6 4FF00078 mov r8, #33554432
6185 00ea C6E7 b .L388
6186 .LVL398:
6187 .L398:
2888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6188 .loc 1 2888 7 is_stmt 1 view .LVU2139
2888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6189 .loc 1 2888 7 view .LVU2140
6190 00ec 0023 movs r3, #0
ARM GAS /tmp/ccbUHtu7.s page 265
6191 00ee 84F84030 strb r3, [r4, #64]
2888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6192 .loc 1 2888 7 view .LVU2141
2889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6193 .loc 1 2889 7 view .LVU2142
2889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6194 .loc 1 2889 14 is_stmt 0 view .LVU2143
6195 00f2 0126 movs r6, #1
6196 00f4 29E0 b .L384
6197 .L390:
2912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6198 .loc 1 2912 7 is_stmt 1 view .LVU2144
2912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6199 .loc 1 2912 23 is_stmt 0 view .LVU2145
6200 00f6 2023 movs r3, #32
6201 00f8 84F84130 strb r3, [r4, #65]
2913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6202 .loc 1 2913 7 is_stmt 1 view .LVU2146
2913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6203 .loc 1 2913 23 is_stmt 0 view .LVU2147
6204 00fc 0022 movs r2, #0
6205 00fe 84F84220 strb r2, [r4, #66]
2916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6206 .loc 1 2916 7 is_stmt 1 view .LVU2148
2916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6207 .loc 1 2916 11 is_stmt 0 view .LVU2149
6208 0102 636C ldr r3, [r4, #68]
2916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6209 .loc 1 2916 23 view .LVU2150
6210 0104 43F08003 orr r3, r3, #128
6211 0108 6364 str r3, [r4, #68]
2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6212 .loc 1 2919 7 is_stmt 1 view .LVU2151
2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6213 .loc 1 2919 7 view .LVU2152
6214 010a 84F84020 strb r2, [r4, #64]
2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6215 .loc 1 2919 7 view .LVU2153
2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6216 .loc 1 2921 7 view .LVU2154
2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6217 .loc 1 2921 14 is_stmt 0 view .LVU2155
6218 010e 0126 movs r6, #1
6219 0110 1BE0 b .L384
6220 .LVL399:
6221 .L399:
2928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6222 .loc 1 2928 7 is_stmt 1 view .LVU2156
6223 0112 0027 movs r7, #0
6224 0114 0097 str r7, [sp]
6225 0116 4346 mov r3, r8
6226 0118 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
6227 011c 2946 mov r1, r5
6228 011e 2046 mov r0, r4
6229 .LVL400:
2928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6230 .loc 1 2928 7 is_stmt 0 view .LVU2157
ARM GAS /tmp/ccbUHtu7.s page 266
6231 0120 FFF7FEFF bl I2C_TransferConfig
6232 .LVL401:
2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6233 .loc 1 2931 7 is_stmt 1 view .LVU2158
2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6234 .loc 1 2931 11 is_stmt 0 view .LVU2159
6235 0124 638D ldrh r3, [r4, #42]
6236 0126 9BB2 uxth r3, r3
2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6237 .loc 1 2931 30 view .LVU2160
6238 0128 228D ldrh r2, [r4, #40]
2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6239 .loc 1 2931 23 view .LVU2161
6240 012a 9B1A subs r3, r3, r2
6241 012c 9BB2 uxth r3, r3
6242 012e 6385 strh r3, [r4, #42] @ movhi
2934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6243 .loc 1 2934 7 is_stmt 1 view .LVU2162
2934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6244 .loc 1 2934 7 view .LVU2163
6245 0130 84F84070 strb r7, [r4, #64]
2934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6246 .loc 1 2934 7 view .LVU2164
2940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6247 .loc 1 2940 7 view .LVU2165
6248 0134 1021 movs r1, #16
6249 0136 2046 mov r0, r4
6250 0138 FFF7FEFF bl I2C_Enable_IRQ
6251 .LVL402:
2943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6252 .loc 1 2943 7 view .LVU2166
2943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6253 .loc 1 2943 11 is_stmt 0 view .LVU2167
6254 013c 2268 ldr r2, [r4]
2943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6255 .loc 1 2943 21 view .LVU2168
6256 013e 1368 ldr r3, [r2]
2943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6257 .loc 1 2943 27 view .LVU2169
6258 0140 43F48043 orr r3, r3, #16384
6259 0144 1360 str r3, [r2]
2960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6260 .loc 1 2960 5 is_stmt 1 view .LVU2170
2960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6261 .loc 1 2960 12 is_stmt 0 view .LVU2171
6262 0146 00E0 b .L384
6263 .LVL403:
6264 .L393:
2964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6265 .loc 1 2964 12 view .LVU2172
6266 0148 0226 movs r6, #2
6267 .LVL404:
6268 .L384:
2966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6269 .loc 1 2966 1 view .LVU2173
6270 014a 3046 mov r0, r6
6271 014c 02B0 add sp, sp, #8
ARM GAS /tmp/ccbUHtu7.s page 267
6272 .LCFI73:
6273 .cfi_remember_state
6274 .cfi_def_cfa_offset 24
6275 @ sp needed
6276 014e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
6277 .LVL405:
6278 .L394:
6279 .LCFI74:
6280 .cfi_restore_state
2853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6281 .loc 1 2853 14 view .LVU2174
6282 0152 0226 movs r6, #2
6283 0154 F9E7 b .L384
6284 .L395:
2857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6285 .loc 1 2857 5 view .LVU2175
6286 0156 0226 movs r6, #2
6287 0158 F7E7 b .L384
6288 .L401:
6289 015a 00BF .align 2
6290 .L400:
6291 015c 0000FFFF .word -65536
6292 0160 00000000 .word I2C_Master_ISR_DMA
6293 0164 00000000 .word I2C_DMAMasterTransmitCplt
6294 0168 00000000 .word I2C_DMAError
6295 .cfi_endproc
6296 .LFE349:
6298 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
6299 .align 1
6300 .global HAL_I2C_Mem_Read_DMA
6301 .syntax unified
6302 .thumb
6303 .thumb_func
6305 HAL_I2C_Mem_Read_DMA:
6306 .LVL406:
6307 .LFB350:
2982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
6308 .loc 1 2982 1 is_stmt 1 view -0
6309 .cfi_startproc
6310 @ args = 8, pretend = 0, frame = 0
6311 @ frame_needed = 0, uses_anonymous_args = 0
2982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
6312 .loc 1 2982 1 is_stmt 0 view .LVU2177
6313 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
6314 .LCFI75:
6315 .cfi_def_cfa_offset 24
6316 .cfi_offset 4, -24
6317 .cfi_offset 5, -20
6318 .cfi_offset 6, -16
6319 .cfi_offset 7, -12
6320 .cfi_offset 8, -8
6321 .cfi_offset 14, -4
6322 0004 82B0 sub sp, sp, #8
6323 .LCFI76:
6324 .cfi_def_cfa_offset 32
6325 0006 0446 mov r4, r0
6326 0008 BDF82480 ldrh r8, [sp, #36]
ARM GAS /tmp/ccbUHtu7.s page 268
2983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
6327 .loc 1 2983 3 is_stmt 1 view .LVU2178
2984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6328 .loc 1 2984 3 view .LVU2179
2985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6329 .loc 1 2985 3 view .LVU2180
2988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6330 .loc 1 2988 3 view .LVU2181
2990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6331 .loc 1 2990 3 view .LVU2182
2990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6332 .loc 1 2990 11 is_stmt 0 view .LVU2183
6333 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
6334 .LVL407:
2990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6335 .loc 1 2990 11 view .LVU2184
6336 0010 C0B2 uxtb r0, r0
2990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6337 .loc 1 2990 6 view .LVU2185
6338 0012 2028 cmp r0, #32
6339 0014 40F09980 bne .L412
6340 0018 0D46 mov r5, r1
6341 001a 1746 mov r7, r2
6342 001c 1E46 mov r6, r3
2992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6343 .loc 1 2992 5 is_stmt 1 view .LVU2186
2992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6344 .loc 1 2992 8 is_stmt 0 view .LVU2187
6345 001e 089B ldr r3, [sp, #32]
6346 .LVL408:
2992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6347 .loc 1 2992 8 view .LVU2188
6348 0020 002B cmp r3, #0
6349 0022 59D0 beq .L404
2992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6350 .loc 1 2992 25 discriminator 1 view .LVU2189
6351 0024 B8F1000F cmp r8, #0
6352 0028 56D0 beq .L404
2998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6353 .loc 1 2998 5 is_stmt 1 view .LVU2190
2998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6354 .loc 1 2998 9 is_stmt 0 view .LVU2191
6355 002a 2368 ldr r3, [r4]
6356 002c 9B69 ldr r3, [r3, #24]
2998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6357 .loc 1 2998 8 view .LVU2192
6358 002e 13F4004F tst r3, #32768
6359 0032 40F08F80 bne .L413
3004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6360 .loc 1 3004 5 is_stmt 1 view .LVU2193
3004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6361 .loc 1 3004 5 view .LVU2194
6362 0036 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
6363 003a 012B cmp r3, #1
6364 003c 00F08C80 beq .L414
3004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6365 .loc 1 3004 5 discriminator 2 view .LVU2195
ARM GAS /tmp/ccbUHtu7.s page 269
6366 0040 0123 movs r3, #1
6367 0042 84F84030 strb r3, [r4, #64]
3004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6368 .loc 1 3004 5 discriminator 2 view .LVU2196
3007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6369 .loc 1 3007 5 discriminator 2 view .LVU2197
3007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6370 .loc 1 3007 17 is_stmt 0 discriminator 2 view .LVU2198
6371 0046 FFF7FEFF bl HAL_GetTick
6372 .LVL409:
3009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6373 .loc 1 3009 5 is_stmt 1 discriminator 2 view .LVU2199
3009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6374 .loc 1 3009 23 is_stmt 0 discriminator 2 view .LVU2200
6375 004a 2223 movs r3, #34
6376 004c 84F84130 strb r3, [r4, #65]
3010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6377 .loc 1 3010 5 is_stmt 1 discriminator 2 view .LVU2201
3010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6378 .loc 1 3010 23 is_stmt 0 discriminator 2 view .LVU2202
6379 0050 4023 movs r3, #64
6380 0052 84F84230 strb r3, [r4, #66]
3011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6381 .loc 1 3011 5 is_stmt 1 discriminator 2 view .LVU2203
3011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6382 .loc 1 3011 23 is_stmt 0 discriminator 2 view .LVU2204
6383 0056 0023 movs r3, #0
6384 0058 6364 str r3, [r4, #68]
3014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
6385 .loc 1 3014 5 is_stmt 1 discriminator 2 view .LVU2205
3014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
6386 .loc 1 3014 23 is_stmt 0 discriminator 2 view .LVU2206
6387 005a 089B ldr r3, [sp, #32]
6388 005c 6362 str r3, [r4, #36]
3015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6389 .loc 1 3015 5 is_stmt 1 discriminator 2 view .LVU2207
3015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6390 .loc 1 3015 23 is_stmt 0 discriminator 2 view .LVU2208
6391 005e A4F82A80 strh r8, [r4, #42] @ movhi
3016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
6392 .loc 1 3016 5 is_stmt 1 discriminator 2 view .LVU2209
3016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
6393 .loc 1 3016 23 is_stmt 0 discriminator 2 view .LVU2210
6394 0062 3E4B ldr r3, .L419
6395 0064 E362 str r3, [r4, #44]
3017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6396 .loc 1 3017 5 is_stmt 1 discriminator 2 view .LVU2211
3017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6397 .loc 1 3017 23 is_stmt 0 discriminator 2 view .LVU2212
6398 0066 3E4B ldr r3, .L419+4
6399 0068 6363 str r3, [r4, #52]
3019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6400 .loc 1 3019 5 is_stmt 1 discriminator 2 view .LVU2213
3019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6401 .loc 1 3019 13 is_stmt 0 discriminator 2 view .LVU2214
6402 006a 638D ldrh r3, [r4, #42]
6403 006c 9BB2 uxth r3, r3
ARM GAS /tmp/ccbUHtu7.s page 270
3019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6404 .loc 1 3019 8 discriminator 2 view .LVU2215
6405 006e FF2B cmp r3, #255
6406 0070 37D9 bls .L406
3021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
6407 .loc 1 3021 7 is_stmt 1 view .LVU2216
3021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
6408 .loc 1 3021 22 is_stmt 0 view .LVU2217
6409 0072 FF23 movs r3, #255
6410 0074 2385 strh r3, [r4, #40] @ movhi
3022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6411 .loc 1 3022 7 is_stmt 1 view .LVU2218
6412 .LVL410:
3022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6413 .loc 1 3022 16 is_stmt 0 view .LVU2219
6414 0076 4FF08078 mov r8, #16777216
6415 .LVL411:
6416 .L407:
3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6417 .loc 1 3031 5 is_stmt 1 view .LVU2220
3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6418 .loc 1 3031 9 is_stmt 0 view .LVU2221
6419 007a 0190 str r0, [sp, #4]
6420 007c 1923 movs r3, #25
6421 007e 0093 str r3, [sp]
6422 0080 3346 mov r3, r6
6423 0082 3A46 mov r2, r7
6424 0084 2946 mov r1, r5
6425 0086 2046 mov r0, r4
6426 .LVL412:
3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6427 .loc 1 3031 9 view .LVU2222
6428 0088 FFF7FEFF bl I2C_RequestMemoryRead
6429 .LVL413:
3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6430 .loc 1 3031 8 view .LVU2223
6431 008c 0028 cmp r0, #0
6432 008e 2DD1 bne .L417
3038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6433 .loc 1 3038 5 is_stmt 1 view .LVU2224
3038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6434 .loc 1 3038 13 is_stmt 0 view .LVU2225
6435 0090 E36B ldr r3, [r4, #60]
3038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6436 .loc 1 3038 8 view .LVU2226
6437 0092 002B cmp r3, #0
6438 0094 2FD0 beq .L409
3041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6439 .loc 1 3041 7 is_stmt 1 view .LVU2227
3041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6440 .loc 1 3041 38 is_stmt 0 view .LVU2228
6441 0096 334A ldr r2, .L419+8
6442 0098 DA62 str r2, [r3, #44]
3044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6443 .loc 1 3044 7 is_stmt 1 view .LVU2229
3044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6444 .loc 1 3044 11 is_stmt 0 view .LVU2230
ARM GAS /tmp/ccbUHtu7.s page 271
6445 009a E36B ldr r3, [r4, #60]
3044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6446 .loc 1 3044 39 view .LVU2231
6447 009c 324A ldr r2, .L419+12
6448 009e 5A63 str r2, [r3, #52]
3047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6449 .loc 1 3047 7 is_stmt 1 view .LVU2232
3047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6450 .loc 1 3047 11 is_stmt 0 view .LVU2233
6451 00a0 E26B ldr r2, [r4, #60]
3047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6452 .loc 1 3047 42 view .LVU2234
6453 00a2 0023 movs r3, #0
6454 00a4 1363 str r3, [r2, #48]
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6455 .loc 1 3048 7 is_stmt 1 view .LVU2235
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6456 .loc 1 3048 11 is_stmt 0 view .LVU2236
6457 00a6 E26B ldr r2, [r4, #60]
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6458 .loc 1 3048 39 view .LVU2237
6459 00a8 9363 str r3, [r2, #56]
3051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
6460 .loc 1 3051 7 is_stmt 1 view .LVU2238
3051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
6461 .loc 1 3051 69 is_stmt 0 view .LVU2239
6462 00aa 2168 ldr r1, [r4]
3051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
6463 .loc 1 3051 23 view .LVU2240
6464 00ac 238D ldrh r3, [r4, #40]
6465 00ae 089A ldr r2, [sp, #32]
6466 00b0 2431 adds r1, r1, #36
6467 00b2 E06B ldr r0, [r4, #60]
6468 00b4 FFF7FEFF bl HAL_DMA_Start_IT
6469 .LVL414:
3069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6470 .loc 1 3069 5 is_stmt 1 view .LVU2241
3069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6471 .loc 1 3069 8 is_stmt 0 view .LVU2242
6472 00b8 0646 mov r6, r0
6473 00ba 50B3 cbz r0, .L418
3092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6474 .loc 1 3092 7 is_stmt 1 view .LVU2243
3092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6475 .loc 1 3092 23 is_stmt 0 view .LVU2244
6476 00bc 2023 movs r3, #32
6477 00be 84F84130 strb r3, [r4, #65]
3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6478 .loc 1 3093 7 is_stmt 1 view .LVU2245
3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6479 .loc 1 3093 23 is_stmt 0 view .LVU2246
6480 00c2 0022 movs r2, #0
6481 00c4 84F84220 strb r2, [r4, #66]
3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6482 .loc 1 3096 7 is_stmt 1 view .LVU2247
3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6483 .loc 1 3096 11 is_stmt 0 view .LVU2248
ARM GAS /tmp/ccbUHtu7.s page 272
6484 00c8 636C ldr r3, [r4, #68]
3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6485 .loc 1 3096 23 view .LVU2249
6486 00ca 43F01003 orr r3, r3, #16
6487 00ce 6364 str r3, [r4, #68]
3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6488 .loc 1 3099 7 is_stmt 1 view .LVU2250
3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6489 .loc 1 3099 7 view .LVU2251
6490 00d0 84F84020 strb r2, [r4, #64]
3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6491 .loc 1 3099 7 view .LVU2252
3101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6492 .loc 1 3101 7 view .LVU2253
3101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6493 .loc 1 3101 14 is_stmt 0 view .LVU2254
6494 00d4 0126 movs r6, #1
6495 00d6 39E0 b .L403
6496 .LVL415:
6497 .L404:
2994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6498 .loc 1 2994 7 is_stmt 1 view .LVU2255
2994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6499 .loc 1 2994 23 is_stmt 0 view .LVU2256
6500 00d8 4FF40073 mov r3, #512
6501 00dc 6364 str r3, [r4, #68]
2995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6502 .loc 1 2995 7 is_stmt 1 view .LVU2257
2995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6503 .loc 1 2995 15 is_stmt 0 view .LVU2258
6504 00de 0126 movs r6, #1
6505 00e0 34E0 b .L403
6506 .LVL416:
6507 .L406:
3026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6508 .loc 1 3026 7 is_stmt 1 view .LVU2259
3026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6509 .loc 1 3026 28 is_stmt 0 view .LVU2260
6510 00e2 638D ldrh r3, [r4, #42]
3026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6511 .loc 1 3026 22 view .LVU2261
6512 00e4 2385 strh r3, [r4, #40] @ movhi
3027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6513 .loc 1 3027 7 is_stmt 1 view .LVU2262
6514 .LVL417:
3027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6515 .loc 1 3027 16 is_stmt 0 view .LVU2263
6516 00e6 4FF00078 mov r8, #33554432
6517 00ea C6E7 b .L407
6518 .LVL418:
6519 .L417:
3034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6520 .loc 1 3034 7 is_stmt 1 view .LVU2264
3034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6521 .loc 1 3034 7 view .LVU2265
6522 00ec 0023 movs r3, #0
6523 00ee 84F84030 strb r3, [r4, #64]
ARM GAS /tmp/ccbUHtu7.s page 273
3034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
6524 .loc 1 3034 7 view .LVU2266
3035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6525 .loc 1 3035 7 view .LVU2267
3035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6526 .loc 1 3035 14 is_stmt 0 view .LVU2268
6527 00f2 0126 movs r6, #1
6528 00f4 2AE0 b .L403
6529 .L409:
3057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6530 .loc 1 3057 7 is_stmt 1 view .LVU2269
3057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6531 .loc 1 3057 23 is_stmt 0 view .LVU2270
6532 00f6 2023 movs r3, #32
6533 00f8 84F84130 strb r3, [r4, #65]
3058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6534 .loc 1 3058 7 is_stmt 1 view .LVU2271
3058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6535 .loc 1 3058 23 is_stmt 0 view .LVU2272
6536 00fc 0022 movs r2, #0
6537 00fe 84F84220 strb r2, [r4, #66]
3061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6538 .loc 1 3061 7 is_stmt 1 view .LVU2273
3061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6539 .loc 1 3061 11 is_stmt 0 view .LVU2274
6540 0102 636C ldr r3, [r4, #68]
3061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6541 .loc 1 3061 23 view .LVU2275
6542 0104 43F08003 orr r3, r3, #128
6543 0108 6364 str r3, [r4, #68]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6544 .loc 1 3064 7 is_stmt 1 view .LVU2276
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6545 .loc 1 3064 7 view .LVU2277
6546 010a 84F84020 strb r2, [r4, #64]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6547 .loc 1 3064 7 view .LVU2278
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6548 .loc 1 3066 7 view .LVU2279
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6549 .loc 1 3066 14 is_stmt 0 view .LVU2280
6550 010e 0126 movs r6, #1
6551 0110 1CE0 b .L403
6552 .LVL419:
6553 .L418:
3072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6554 .loc 1 3072 7 is_stmt 1 view .LVU2281
6555 0112 164B ldr r3, .L419+16
6556 0114 0093 str r3, [sp]
6557 0116 4346 mov r3, r8
6558 0118 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
6559 011c 2946 mov r1, r5
6560 011e 2046 mov r0, r4
6561 .LVL420:
3072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6562 .loc 1 3072 7 is_stmt 0 view .LVU2282
6563 0120 FFF7FEFF bl I2C_TransferConfig
ARM GAS /tmp/ccbUHtu7.s page 274
6564 .LVL421:
3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6565 .loc 1 3075 7 is_stmt 1 view .LVU2283
3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6566 .loc 1 3075 11 is_stmt 0 view .LVU2284
6567 0124 638D ldrh r3, [r4, #42]
6568 0126 9BB2 uxth r3, r3
3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6569 .loc 1 3075 30 view .LVU2285
6570 0128 228D ldrh r2, [r4, #40]
3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6571 .loc 1 3075 23 view .LVU2286
6572 012a 9B1A subs r3, r3, r2
6573 012c 9BB2 uxth r3, r3
6574 012e 6385 strh r3, [r4, #42] @ movhi
3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6575 .loc 1 3078 7 is_stmt 1 view .LVU2287
3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6576 .loc 1 3078 7 view .LVU2288
6577 0130 0023 movs r3, #0
6578 0132 84F84030 strb r3, [r4, #64]
3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6579 .loc 1 3078 7 view .LVU2289
3084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6580 .loc 1 3084 7 view .LVU2290
6581 0136 1021 movs r1, #16
6582 0138 2046 mov r0, r4
6583 013a FFF7FEFF bl I2C_Enable_IRQ
6584 .LVL422:
3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6585 .loc 1 3087 7 view .LVU2291
3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6586 .loc 1 3087 11 is_stmt 0 view .LVU2292
6587 013e 2268 ldr r2, [r4]
3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6588 .loc 1 3087 21 view .LVU2293
6589 0140 1368 ldr r3, [r2]
3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6590 .loc 1 3087 27 view .LVU2294
6591 0142 43F40043 orr r3, r3, #32768
6592 0146 1360 str r3, [r2]
3104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6593 .loc 1 3104 5 is_stmt 1 view .LVU2295
3104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6594 .loc 1 3104 12 is_stmt 0 view .LVU2296
6595 0148 00E0 b .L403
6596 .LVL423:
6597 .L412:
3108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6598 .loc 1 3108 12 view .LVU2297
6599 014a 0226 movs r6, #2
6600 .LVL424:
6601 .L403:
3110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6602 .loc 1 3110 1 view .LVU2298
6603 014c 3046 mov r0, r6
6604 014e 02B0 add sp, sp, #8
ARM GAS /tmp/ccbUHtu7.s page 275
6605 .LCFI77:
6606 .cfi_remember_state
6607 .cfi_def_cfa_offset 24
6608 @ sp needed
6609 0150 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
6610 .LVL425:
6611 .L413:
6612 .LCFI78:
6613 .cfi_restore_state
3000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6614 .loc 1 3000 14 view .LVU2299
6615 0154 0226 movs r6, #2
6616 0156 F9E7 b .L403
6617 .L414:
3004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6618 .loc 1 3004 5 view .LVU2300
6619 0158 0226 movs r6, #2
6620 015a F7E7 b .L403
6621 .L420:
6622 .align 2
6623 .L419:
6624 015c 0000FFFF .word -65536
6625 0160 00000000 .word I2C_Master_ISR_DMA
6626 0164 00000000 .word I2C_DMAMasterReceiveCplt
6627 0168 00000000 .word I2C_DMAError
6628 016c 00240080 .word -2147474432
6629 .cfi_endproc
6630 .LFE350:
6632 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits
6633 .align 1
6634 .global HAL_I2C_IsDeviceReady
6635 .syntax unified
6636 .thumb
6637 .thumb_func
6639 HAL_I2C_IsDeviceReady:
6640 .LVL426:
6641 .LFB351:
3125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
6642 .loc 1 3125 1 is_stmt 1 view -0
6643 .cfi_startproc
6644 @ args = 0, pretend = 0, frame = 8
6645 @ frame_needed = 0, uses_anonymous_args = 0
3125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tickstart;
6646 .loc 1 3125 1 is_stmt 0 view .LVU2302
6647 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
6648 .LCFI79:
6649 .cfi_def_cfa_offset 28
6650 .cfi_offset 4, -28
6651 .cfi_offset 5, -24
6652 .cfi_offset 6, -20
6653 .cfi_offset 7, -16
6654 .cfi_offset 8, -12
6655 .cfi_offset 9, -8
6656 .cfi_offset 14, -4
6657 0004 85B0 sub sp, sp, #20
6658 .LCFI80:
6659 .cfi_def_cfa_offset 48
ARM GAS /tmp/ccbUHtu7.s page 276
6660 0006 1D46 mov r5, r3
3126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6661 .loc 1 3126 3 is_stmt 1 view .LVU2303
3128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6662 .loc 1 3128 3 view .LVU2304
3128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6663 .loc 1 3128 17 is_stmt 0 view .LVU2305
6664 0008 0023 movs r3, #0
6665 .LVL427:
3128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6666 .loc 1 3128 17 view .LVU2306
6667 000a 0393 str r3, [sp, #12]
3130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** FlagStatus tmp2;
6668 .loc 1 3130 3 is_stmt 1 view .LVU2307
3131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6669 .loc 1 3131 3 view .LVU2308
3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6670 .loc 1 3133 3 view .LVU2309
3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6671 .loc 1 3133 11 is_stmt 0 view .LVU2310
6672 000c 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
6673 0010 DBB2 uxtb r3, r3
3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6674 .loc 1 3133 6 view .LVU2311
6675 0012 202B cmp r3, #32
6676 0014 40F09E80 bne .L433
6677 0018 0646 mov r6, r0
6678 001a 8946 mov r9, r1
6679 001c 9046 mov r8, r2
3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6680 .loc 1 3135 5 is_stmt 1 view .LVU2312
3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6681 .loc 1 3135 9 is_stmt 0 view .LVU2313
6682 001e 0368 ldr r3, [r0]
6683 0020 9B69 ldr r3, [r3, #24]
3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6684 .loc 1 3135 8 view .LVU2314
6685 0022 13F4004F tst r3, #32768
6686 0026 40F09780 bne .L434
3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6687 .loc 1 3141 5 is_stmt 1 view .LVU2315
3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6688 .loc 1 3141 5 view .LVU2316
6689 002a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
6690 002e 012B cmp r3, #1
6691 0030 00F09480 beq .L435
3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6692 .loc 1 3141 5 discriminator 2 view .LVU2317
6693 0034 0123 movs r3, #1
6694 0036 80F84030 strb r3, [r0, #64]
3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6695 .loc 1 3141 5 discriminator 2 view .LVU2318
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6696 .loc 1 3143 5 discriminator 2 view .LVU2319
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6697 .loc 1 3143 17 is_stmt 0 discriminator 2 view .LVU2320
6698 003a 2423 movs r3, #36
ARM GAS /tmp/ccbUHtu7.s page 277
6699 003c 80F84130 strb r3, [r0, #65]
3144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6700 .loc 1 3144 5 is_stmt 1 discriminator 2 view .LVU2321
3144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6701 .loc 1 3144 21 is_stmt 0 discriminator 2 view .LVU2322
6702 0040 0023 movs r3, #0
6703 0042 4364 str r3, [r0, #68]
6704 0044 44E0 b .L432
6705 .LVL428:
6706 .L443:
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6707 .loc 1 3149 29 discriminator 1 view .LVU2323
6708 0046 C9F30903 ubfx r3, r9, #0, #10
6709 004a 43F00073 orr r3, r3, #33554432
6710 004e 43F40053 orr r3, r3, #8192
6711 0052 44E0 b .L424
6712 .LVL429:
6713 .L426:
3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6714 .loc 1 3177 9 is_stmt 1 view .LVU2324
3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6715 .loc 1 3177 16 is_stmt 0 view .LVU2325
6716 0054 3368 ldr r3, [r6]
6717 0056 9C69 ldr r4, [r3, #24]
6718 .LVL430:
3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6719 .loc 1 3177 16 view .LVU2326
6720 0058 C4F34014 ubfx r4, r4, #5, #1
6721 .LVL431:
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6722 .loc 1 3178 9 is_stmt 1 view .LVU2327
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6723 .loc 1 3178 16 is_stmt 0 view .LVU2328
6724 005c 9B69 ldr r3, [r3, #24]
6725 005e C3F30013 ubfx r3, r3, #4, #1
6726 .LVL432:
6727 .L425:
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6728 .loc 1 3158 30 is_stmt 1 view .LVU2329
6729 0062 C4B9 cbnz r4, .L428
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6730 .loc 1 3158 30 is_stmt 0 discriminator 1 view .LVU2330
6731 0064 BBB9 cbnz r3, .L428
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6732 .loc 1 3160 9 is_stmt 1 view .LVU2331
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6733 .loc 1 3160 12 is_stmt 0 view .LVU2332
6734 0066 B5F1FF3F cmp r5, #-1
6735 006a F3D0 beq .L426
3162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6736 .loc 1 3162 11 is_stmt 1 view .LVU2333
3162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6737 .loc 1 3162 17 is_stmt 0 view .LVU2334
6738 006c FFF7FEFF bl HAL_GetTick
6739 .LVL433:
3162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6740 .loc 1 3162 31 view .LVU2335
ARM GAS /tmp/ccbUHtu7.s page 278
6741 0070 C01B subs r0, r0, r7
3162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6742 .loc 1 3162 14 view .LVU2336
6743 0072 A842 cmp r0, r5
6744 0074 01D8 bhi .L427
3162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6745 .loc 1 3162 55 discriminator 1 view .LVU2337
6746 0076 002D cmp r5, #0
6747 0078 ECD1 bne .L426
6748 .L427:
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6749 .loc 1 3165 13 is_stmt 1 view .LVU2338
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6750 .loc 1 3165 25 is_stmt 0 view .LVU2339
6751 007a 2023 movs r3, #32
6752 007c 86F84130 strb r3, [r6, #65]
3168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6753 .loc 1 3168 13 is_stmt 1 view .LVU2340
3168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6754 .loc 1 3168 17 is_stmt 0 view .LVU2341
6755 0080 736C ldr r3, [r6, #68]
3168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6756 .loc 1 3168 29 view .LVU2342
6757 0082 43F02003 orr r3, r3, #32
6758 0086 7364 str r3, [r6, #68]
3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6759 .loc 1 3171 13 is_stmt 1 view .LVU2343
3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6760 .loc 1 3171 13 view .LVU2344
6761 0088 0023 movs r3, #0
6762 008a 86F84030 strb r3, [r6, #64]
3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6763 .loc 1 3171 13 view .LVU2345
3173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6764 .loc 1 3173 13 view .LVU2346
3173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6765 .loc 1 3173 20 is_stmt 0 view .LVU2347
6766 008e 0120 movs r0, #1
6767 .LVL434:
6768 .L422:
3251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6769 .loc 1 3251 1 view .LVU2348
6770 0090 05B0 add sp, sp, #20
6771 .LCFI81:
6772 .cfi_remember_state
6773 .cfi_def_cfa_offset 28
6774 @ sp needed
6775 0092 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
6776 .LVL435:
6777 .L428:
6778 .LCFI82:
6779 .cfi_restore_state
3182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6780 .loc 1 3182 7 is_stmt 1 view .LVU2349
3182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6781 .loc 1 3182 11 is_stmt 0 view .LVU2350
6782 0096 3368 ldr r3, [r6]
ARM GAS /tmp/ccbUHtu7.s page 279
6783 .LVL436:
3182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6784 .loc 1 3182 11 view .LVU2351
6785 0098 9B69 ldr r3, [r3, #24]
3182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6786 .loc 1 3182 10 view .LVU2352
6787 009a 13F0100F tst r3, #16
6788 009e 2BD0 beq .L440
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6789 .loc 1 3204 9 is_stmt 1 view .LVU2353
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6790 .loc 1 3204 13 is_stmt 0 view .LVU2354
6791 00a0 0097 str r7, [sp]
6792 00a2 2B46 mov r3, r5
6793 00a4 0022 movs r2, #0
6794 00a6 2021 movs r1, #32
6795 00a8 3046 mov r0, r6
6796 00aa FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
6797 .LVL437:
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6798 .loc 1 3204 12 view .LVU2355
6799 00ae 0028 cmp r0, #0
6800 00b0 58D1 bne .L437
3210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6801 .loc 1 3210 9 is_stmt 1 view .LVU2356
6802 00b2 3368 ldr r3, [r6]
6803 00b4 1022 movs r2, #16
6804 00b6 DA61 str r2, [r3, #28]
3213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6805 .loc 1 3213 9 view .LVU2357
6806 00b8 3368 ldr r3, [r6]
6807 00ba 2022 movs r2, #32
6808 00bc DA61 str r2, [r3, #28]
3217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6809 .loc 1 3217 7 view .LVU2358
3217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6810 .loc 1 3217 22 is_stmt 0 view .LVU2359
6811 00be 039B ldr r3, [sp, #12]
3217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6812 .loc 1 3217 10 view .LVU2360
6813 00c0 4345 cmp r3, r8
6814 00c2 2AD0 beq .L441
6815 .L431:
3233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** } while (I2C_Trials < Trials);
6816 .loc 1 3233 7 is_stmt 1 view .LVU2361
3233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** } while (I2C_Trials < Trials);
6817 .loc 1 3233 17 is_stmt 0 view .LVU2362
6818 00c4 039B ldr r3, [sp, #12]
6819 00c6 0133 adds r3, r3, #1
6820 00c8 0393 str r3, [sp, #12]
3234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6821 .loc 1 3234 25 is_stmt 1 view .LVU2363
6822 00ca 039B ldr r3, [sp, #12]
6823 00cc 4345 cmp r3, r8
6824 00ce 35D2 bcs .L442
6825 .LVL438:
6826 .L432:
ARM GAS /tmp/ccbUHtu7.s page 280
3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6827 .loc 1 3146 5 view .LVU2364
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6828 .loc 1 3149 7 view .LVU2365
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6829 .loc 1 3149 29 is_stmt 0 view .LVU2366
6830 00d0 F368 ldr r3, [r6, #12]
6831 00d2 012B cmp r3, #1
6832 00d4 B7D0 beq .L443
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6833 .loc 1 3149 29 discriminator 2 view .LVU2367
6834 00d6 C9F30903 ubfx r3, r9, #0, #10
6835 00da 43F42053 orr r3, r3, #10240
6836 .L424:
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6837 .loc 1 3149 11 discriminator 4 view .LVU2368
6838 00de 3268 ldr r2, [r6]
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6839 .loc 1 3149 27 discriminator 4 view .LVU2369
6840 00e0 5360 str r3, [r2, #4]
3153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6841 .loc 1 3153 7 is_stmt 1 discriminator 4 view .LVU2370
3153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6842 .loc 1 3153 19 is_stmt 0 discriminator 4 view .LVU2371
6843 00e2 FFF7FEFF bl HAL_GetTick
6844 .LVL439:
6845 00e6 0746 mov r7, r0
6846 .LVL440:
3155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6847 .loc 1 3155 7 is_stmt 1 discriminator 4 view .LVU2372
3155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6848 .loc 1 3155 14 is_stmt 0 discriminator 4 view .LVU2373
6849 00e8 3368 ldr r3, [r6]
6850 00ea 9C69 ldr r4, [r3, #24]
6851 00ec C4F34014 ubfx r4, r4, #5, #1
6852 .LVL441:
3156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6853 .loc 1 3156 7 is_stmt 1 discriminator 4 view .LVU2374
3156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6854 .loc 1 3156 14 is_stmt 0 discriminator 4 view .LVU2375
6855 00f0 9B69 ldr r3, [r3, #24]
6856 00f2 C3F30013 ubfx r3, r3, #4, #1
6857 .LVL442:
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6858 .loc 1 3158 7 is_stmt 1 discriminator 4 view .LVU2376
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6859 .loc 1 3158 13 is_stmt 0 discriminator 4 view .LVU2377
6860 00f6 B4E7 b .L425
6861 .LVL443:
6862 .L440:
3185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6863 .loc 1 3185 9 is_stmt 1 view .LVU2378
3185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6864 .loc 1 3185 13 is_stmt 0 view .LVU2379
6865 00f8 0097 str r7, [sp]
6866 00fa 2B46 mov r3, r5
6867 00fc 0022 movs r2, #0
ARM GAS /tmp/ccbUHtu7.s page 281
6868 00fe 2021 movs r1, #32
6869 0100 3046 mov r0, r6
6870 0102 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
6871 .LVL444:
3185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6872 .loc 1 3185 12 view .LVU2380
6873 0106 58BB cbnz r0, .L436
3191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6874 .loc 1 3191 9 is_stmt 1 view .LVU2381
6875 0108 3268 ldr r2, [r6]
6876 010a 2023 movs r3, #32
6877 010c D361 str r3, [r2, #28]
3194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6878 .loc 1 3194 9 view .LVU2382
3194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6879 .loc 1 3194 21 is_stmt 0 view .LVU2383
6880 010e 86F84130 strb r3, [r6, #65]
3197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6881 .loc 1 3197 9 is_stmt 1 view .LVU2384
3197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6882 .loc 1 3197 9 view .LVU2385
6883 0112 0023 movs r3, #0
6884 0114 86F84030 strb r3, [r6, #64]
3197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6885 .loc 1 3197 9 view .LVU2386
3199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6886 .loc 1 3199 9 view .LVU2387
3199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6887 .loc 1 3199 16 is_stmt 0 view .LVU2388
6888 0118 BAE7 b .L422
6889 .L441:
3220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6890 .loc 1 3220 9 is_stmt 1 view .LVU2389
3220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6891 .loc 1 3220 13 is_stmt 0 view .LVU2390
6892 011a 3268 ldr r2, [r6]
3220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6893 .loc 1 3220 23 view .LVU2391
6894 011c 5368 ldr r3, [r2, #4]
3220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6895 .loc 1 3220 29 view .LVU2392
6896 011e 43F48043 orr r3, r3, #16384
6897 0122 5360 str r3, [r2, #4]
3223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6898 .loc 1 3223 9 is_stmt 1 view .LVU2393
3223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6899 .loc 1 3223 13 is_stmt 0 view .LVU2394
6900 0124 0097 str r7, [sp]
6901 0126 2B46 mov r3, r5
6902 0128 0022 movs r2, #0
6903 012a 2021 movs r1, #32
6904 012c 3046 mov r0, r6
6905 012e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
6906 .LVL445:
3223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
6907 .loc 1 3223 12 view .LVU2395
6908 0132 C8B9 cbnz r0, .L438
ARM GAS /tmp/ccbUHtu7.s page 282
3229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6909 .loc 1 3229 9 is_stmt 1 view .LVU2396
6910 0134 3368 ldr r3, [r6]
6911 0136 2022 movs r2, #32
6912 0138 DA61 str r2, [r3, #28]
6913 013a C3E7 b .L431
6914 .L442:
3237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6915 .loc 1 3237 5 view .LVU2397
3237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6916 .loc 1 3237 17 is_stmt 0 view .LVU2398
6917 013c 2023 movs r3, #32
6918 013e 86F84130 strb r3, [r6, #65]
3240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6919 .loc 1 3240 5 is_stmt 1 view .LVU2399
3240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6920 .loc 1 3240 9 is_stmt 0 view .LVU2400
6921 0142 736C ldr r3, [r6, #68]
3240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6922 .loc 1 3240 21 view .LVU2401
6923 0144 43F02003 orr r3, r3, #32
6924 0148 7364 str r3, [r6, #68]
3243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6925 .loc 1 3243 5 is_stmt 1 view .LVU2402
3243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6926 .loc 1 3243 5 view .LVU2403
6927 014a 0023 movs r3, #0
6928 014c 86F84030 strb r3, [r6, #64]
3243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6929 .loc 1 3243 5 view .LVU2404
3245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6930 .loc 1 3245 5 view .LVU2405
3245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6931 .loc 1 3245 12 is_stmt 0 view .LVU2406
6932 0150 0120 movs r0, #1
6933 0152 9DE7 b .L422
6934 .LVL446:
6935 .L433:
3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6936 .loc 1 3249 12 view .LVU2407
6937 0154 0220 movs r0, #2
6938 .LVL447:
3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6939 .loc 1 3249 12 view .LVU2408
6940 0156 9BE7 b .L422
6941 .LVL448:
6942 .L434:
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6943 .loc 1 3137 14 view .LVU2409
6944 0158 0220 movs r0, #2
6945 .LVL449:
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6946 .loc 1 3137 14 view .LVU2410
6947 015a 99E7 b .L422
6948 .LVL450:
6949 .L435:
3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 283
6950 .loc 1 3141 5 view .LVU2411
6951 015c 0220 movs r0, #2
6952 .LVL451:
3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6953 .loc 1 3141 5 view .LVU2412
6954 015e 97E7 b .L422
6955 .LVL452:
6956 .L436:
3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6957 .loc 1 3187 18 view .LVU2413
6958 0160 0120 movs r0, #1
6959 0162 95E7 b .L422
6960 .L437:
3206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6961 .loc 1 3206 18 view .LVU2414
6962 0164 0120 movs r0, #1
6963 0166 93E7 b .L422
6964 .L438:
3225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
6965 .loc 1 3225 18 view .LVU2415
6966 0168 0120 movs r0, #1
6967 016a 91E7 b .L422
6968 .cfi_endproc
6969 .LFE351:
6971 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits
6972 .align 1
6973 .global HAL_I2C_Master_Seq_Transmit_IT
6974 .syntax unified
6975 .thumb
6976 .thumb_func
6978 HAL_I2C_Master_Seq_Transmit_IT:
6979 .LVL453:
6980 .LFB352:
3267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
6981 .loc 1 3267 1 is_stmt 1 view -0
6982 .cfi_startproc
6983 @ args = 4, pretend = 0, frame = 0
6984 @ frame_needed = 0, uses_anonymous_args = 0
3267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
6985 .loc 1 3267 1 is_stmt 0 view .LVU2417
6986 0000 70B5 push {r4, r5, r6, lr}
6987 .LCFI83:
6988 .cfi_def_cfa_offset 16
6989 .cfi_offset 4, -16
6990 .cfi_offset 5, -12
6991 .cfi_offset 6, -8
6992 .cfi_offset 14, -4
6993 0002 82B0 sub sp, sp, #8
6994 .LCFI84:
6995 .cfi_def_cfa_offset 24
6996 0004 0446 mov r4, r0
3268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
6997 .loc 1 3268 3 is_stmt 1 view .LVU2418
3269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
6998 .loc 1 3269 3 view .LVU2419
6999 .LVL454:
3272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 284
7000 .loc 1 3272 3 view .LVU2420
3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7001 .loc 1 3274 3 view .LVU2421
3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7002 .loc 1 3274 11 is_stmt 0 view .LVU2422
7003 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
7004 .LVL455:
3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7005 .loc 1 3274 11 view .LVU2423
7006 000a C0B2 uxtb r0, r0
3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7007 .loc 1 3274 6 view .LVU2424
7008 000c 2028 cmp r0, #32
7009 000e 49D1 bne .L450
7010 0010 0D46 mov r5, r1
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7011 .loc 1 3277 5 is_stmt 1 view .LVU2425
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7012 .loc 1 3277 5 view .LVU2426
7013 0012 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
7014 .LVL456:
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7015 .loc 1 3277 5 is_stmt 0 view .LVU2427
7016 0016 0129 cmp r1, #1
7017 0018 46D0 beq .L451
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7018 .loc 1 3277 5 is_stmt 1 discriminator 2 view .LVU2428
7019 001a 0121 movs r1, #1
7020 001c 84F84010 strb r1, [r4, #64]
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7021 .loc 1 3277 5 discriminator 2 view .LVU2429
3279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7022 .loc 1 3279 5 discriminator 2 view .LVU2430
3279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7023 .loc 1 3279 21 is_stmt 0 discriminator 2 view .LVU2431
7024 0020 2121 movs r1, #33
7025 0022 84F84110 strb r1, [r4, #65]
3280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7026 .loc 1 3280 5 is_stmt 1 discriminator 2 view .LVU2432
3280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7027 .loc 1 3280 21 is_stmt 0 discriminator 2 view .LVU2433
7028 0026 1021 movs r1, #16
7029 0028 84F84210 strb r1, [r4, #66]
3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7030 .loc 1 3281 5 is_stmt 1 discriminator 2 view .LVU2434
3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7031 .loc 1 3281 21 is_stmt 0 discriminator 2 view .LVU2435
7032 002c 0021 movs r1, #0
7033 002e 6164 str r1, [r4, #68]
3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
7034 .loc 1 3284 5 is_stmt 1 discriminator 2 view .LVU2436
3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
7035 .loc 1 3284 23 is_stmt 0 discriminator 2 view .LVU2437
7036 0030 6262 str r2, [r4, #36]
3285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7037 .loc 1 3285 5 is_stmt 1 discriminator 2 view .LVU2438
3285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
ARM GAS /tmp/ccbUHtu7.s page 285
7038 .loc 1 3285 23 is_stmt 0 discriminator 2 view .LVU2439
7039 0032 6385 strh r3, [r4, #42] @ movhi
3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7040 .loc 1 3286 5 is_stmt 1 discriminator 2 view .LVU2440
3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7041 .loc 1 3286 23 is_stmt 0 discriminator 2 view .LVU2441
7042 0034 069B ldr r3, [sp, #24]
7043 .LVL457:
3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7044 .loc 1 3286 23 discriminator 2 view .LVU2442
7045 0036 E362 str r3, [r4, #44]
7046 .LVL458:
3287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7047 .loc 1 3287 5 is_stmt 1 discriminator 2 view .LVU2443
3287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7048 .loc 1 3287 23 is_stmt 0 discriminator 2 view .LVU2444
7049 0038 1C4B ldr r3, .L455
7050 003a 6363 str r3, [r4, #52]
3290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7051 .loc 1 3290 5 is_stmt 1 discriminator 2 view .LVU2445
3290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7052 .loc 1 3290 13 is_stmt 0 discriminator 2 view .LVU2446
7053 003c 638D ldrh r3, [r4, #42]
7054 003e 9BB2 uxth r3, r3
3290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7055 .loc 1 3290 8 discriminator 2 view .LVU2447
7056 0040 FF2B cmp r3, #255
7057 0042 0ED9 bls .L446
3292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7058 .loc 1 3292 7 is_stmt 1 view .LVU2448
3292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7059 .loc 1 3292 22 is_stmt 0 view .LVU2449
7060 0044 FF23 movs r3, #255
7061 0046 2385 strh r3, [r4, #40] @ movhi
3293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7062 .loc 1 3293 7 is_stmt 1 view .LVU2450
7063 .LVL459:
3293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7064 .loc 1 3293 16 is_stmt 0 view .LVU2451
7065 0048 4FF08076 mov r6, #16777216
7066 .LVL460:
7067 .L447:
3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7068 .loc 1 3304 5 is_stmt 1 view .LVU2452
3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7069 .loc 1 3304 14 is_stmt 0 view .LVU2453
7070 004c 236B ldr r3, [r4, #48]
3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7071 .loc 1 3304 8 view .LVU2454
7072 004e 112B cmp r3, #17
7073 0050 0BD1 bne .L448
3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7074 .loc 1 3305 10 view .LVU2455
7075 0052 069B ldr r3, [sp, #24]
7076 0054 AA2B cmp r3, #170
7077 0056 08D0 beq .L448
3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 286
7078 .loc 1 3305 10 discriminator 2 view .LVU2456
7079 0058 B3F52A4F cmp r3, #43520
7080 005c 05D0 beq .L448
3307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7081 .loc 1 3307 19 view .LVU2457
7082 005e 0023 movs r3, #0
7083 0060 0CE0 b .L449
7084 .LVL461:
7085 .L446:
3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7086 .loc 1 3297 7 is_stmt 1 view .LVU2458
3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7087 .loc 1 3297 28 is_stmt 0 view .LVU2459
7088 0062 638D ldrh r3, [r4, #42]
3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7089 .loc 1 3297 22 view .LVU2460
7090 0064 2385 strh r3, [r4, #40] @ movhi
3298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7091 .loc 1 3298 7 is_stmt 1 view .LVU2461
3298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7092 .loc 1 3298 16 is_stmt 0 view .LVU2462
7093 0066 E66A ldr r6, [r4, #44]
7094 .LVL462:
3298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7095 .loc 1 3298 16 view .LVU2463
7096 0068 F0E7 b .L447
7097 .L448:
3312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7098 .loc 1 3312 7 is_stmt 1 view .LVU2464
7099 006a 2046 mov r0, r4
7100 006c FFF7FEFF bl I2C_ConvertOtherXferOptions
7101 .LVL463:
3315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7102 .loc 1 3315 7 view .LVU2465
3315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7103 .loc 1 3315 15 is_stmt 0 view .LVU2466
7104 0070 638D ldrh r3, [r4, #42]
7105 0072 9BB2 uxth r3, r3
3315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7106 .loc 1 3315 10 view .LVU2467
7107 0074 FF2B cmp r3, #255
7108 0076 13D8 bhi .L453
3317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7109 .loc 1 3317 9 is_stmt 1 view .LVU2468
3317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7110 .loc 1 3317 18 is_stmt 0 view .LVU2469
7111 0078 E66A ldr r6, [r4, #44]
7112 .LVL464:
3269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7113 .loc 1 3269 12 view .LVU2470
7114 007a 0D4B ldr r3, .L455+4
7115 .L449:
7116 .LVL465:
3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7117 .loc 1 3322 5 is_stmt 1 view .LVU2471
7118 007c 0093 str r3, [sp]
7119 007e 3346 mov r3, r6
ARM GAS /tmp/ccbUHtu7.s page 287
7120 .LVL466:
3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7121 .loc 1 3322 5 is_stmt 0 view .LVU2472
7122 0080 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
7123 0084 2946 mov r1, r5
7124 0086 2046 mov r0, r4
7125 0088 FFF7FEFF bl I2C_TransferConfig
7126 .LVL467:
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7127 .loc 1 3325 5 is_stmt 1 view .LVU2473
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7128 .loc 1 3325 5 view .LVU2474
7129 008c 0025 movs r5, #0
7130 008e 84F84050 strb r5, [r4, #64]
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7131 .loc 1 3325 5 view .LVU2475
3330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7132 .loc 1 3330 5 view .LVU2476
7133 0092 0121 movs r1, #1
7134 0094 2046 mov r0, r4
7135 0096 FFF7FEFF bl I2C_Enable_IRQ
7136 .LVL468:
3332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7137 .loc 1 3332 5 view .LVU2477
3332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7138 .loc 1 3332 12 is_stmt 0 view .LVU2478
7139 009a 2846 mov r0, r5
7140 .LVL469:
7141 .L445:
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7142 .loc 1 3338 1 view .LVU2479
7143 009c 02B0 add sp, sp, #8
7144 .LCFI85:
7145 .cfi_remember_state
7146 .cfi_def_cfa_offset 16
7147 @ sp needed
7148 009e 70BD pop {r4, r5, r6, pc}
7149 .LVL470:
7150 .L453:
7151 .LCFI86:
7152 .cfi_restore_state
3269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7153 .loc 1 3269 12 view .LVU2480
7154 00a0 034B ldr r3, .L455+4
7155 00a2 EBE7 b .L449
7156 .LVL471:
7157 .L450:
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7158 .loc 1 3336 12 view .LVU2481
7159 00a4 0220 movs r0, #2
7160 00a6 F9E7 b .L445
7161 .LVL472:
7162 .L451:
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7163 .loc 1 3277 5 view .LVU2482
7164 00a8 0220 movs r0, #2
7165 00aa F7E7 b .L445
ARM GAS /tmp/ccbUHtu7.s page 288
7166 .L456:
7167 .align 2
7168 .L455:
7169 00ac 00000000 .word I2C_Master_ISR_IT
7170 00b0 00200080 .word -2147475456
7171 .cfi_endproc
7172 .LFE352:
7174 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits
7175 .align 1
7176 .global HAL_I2C_Master_Seq_Transmit_DMA
7177 .syntax unified
7178 .thumb
7179 .thumb_func
7181 HAL_I2C_Master_Seq_Transmit_DMA:
7182 .LVL473:
7183 .LFB353:
3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
7184 .loc 1 3354 1 is_stmt 1 view -0
7185 .cfi_startproc
7186 @ args = 4, pretend = 0, frame = 0
7187 @ frame_needed = 0, uses_anonymous_args = 0
3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
7188 .loc 1 3354 1 is_stmt 0 view .LVU2484
7189 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
7190 .LCFI87:
7191 .cfi_def_cfa_offset 24
7192 .cfi_offset 4, -24
7193 .cfi_offset 5, -20
7194 .cfi_offset 6, -16
7195 .cfi_offset 7, -12
7196 .cfi_offset 8, -8
7197 .cfi_offset 14, -4
7198 0004 82B0 sub sp, sp, #8
7199 .LCFI88:
7200 .cfi_def_cfa_offset 32
7201 0006 0446 mov r4, r0
7202 0008 1546 mov r5, r2
7203 000a 089A ldr r2, [sp, #32]
7204 .LVL474:
3355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
7205 .loc 1 3355 3 is_stmt 1 view .LVU2485
3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7206 .loc 1 3356 3 view .LVU2486
3357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7207 .loc 1 3357 3 view .LVU2487
3360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7208 .loc 1 3360 3 view .LVU2488
3362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7209 .loc 1 3362 3 view .LVU2489
3362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7210 .loc 1 3362 11 is_stmt 0 view .LVU2490
7211 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
7212 .LVL475:
3362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7213 .loc 1 3362 11 view .LVU2491
7214 0010 C0B2 uxtb r0, r0
3362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 289
7215 .loc 1 3362 6 view .LVU2492
7216 0012 2028 cmp r0, #32
7217 0014 40F09D80 bne .L468
7218 0018 0E46 mov r6, r1
3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7219 .loc 1 3365 5 is_stmt 1 view .LVU2493
3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7220 .loc 1 3365 5 view .LVU2494
7221 001a 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
7222 .LVL476:
3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7223 .loc 1 3365 5 is_stmt 0 view .LVU2495
7224 001e 0129 cmp r1, #1
7225 0020 00F09B80 beq .L469
3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7226 .loc 1 3365 5 is_stmt 1 discriminator 2 view .LVU2496
7227 0024 0121 movs r1, #1
7228 0026 84F84010 strb r1, [r4, #64]
3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7229 .loc 1 3365 5 discriminator 2 view .LVU2497
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7230 .loc 1 3367 5 discriminator 2 view .LVU2498
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7231 .loc 1 3367 21 is_stmt 0 discriminator 2 view .LVU2499
7232 002a 2121 movs r1, #33
7233 002c 84F84110 strb r1, [r4, #65]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7234 .loc 1 3368 5 is_stmt 1 discriminator 2 view .LVU2500
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7235 .loc 1 3368 21 is_stmt 0 discriminator 2 view .LVU2501
7236 0030 1021 movs r1, #16
7237 0032 84F84210 strb r1, [r4, #66]
3369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7238 .loc 1 3369 5 is_stmt 1 discriminator 2 view .LVU2502
3369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7239 .loc 1 3369 21 is_stmt 0 discriminator 2 view .LVU2503
7240 0036 0021 movs r1, #0
7241 0038 6164 str r1, [r4, #68]
3372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
7242 .loc 1 3372 5 is_stmt 1 discriminator 2 view .LVU2504
3372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
7243 .loc 1 3372 23 is_stmt 0 discriminator 2 view .LVU2505
7244 003a 6562 str r5, [r4, #36]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7245 .loc 1 3373 5 is_stmt 1 discriminator 2 view .LVU2506
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7246 .loc 1 3373 23 is_stmt 0 discriminator 2 view .LVU2507
7247 003c 6385 strh r3, [r4, #42] @ movhi
3374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7248 .loc 1 3374 5 is_stmt 1 discriminator 2 view .LVU2508
3374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7249 .loc 1 3374 23 is_stmt 0 discriminator 2 view .LVU2509
7250 003e E262 str r2, [r4, #44]
3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7251 .loc 1 3375 5 is_stmt 1 discriminator 2 view .LVU2510
3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7252 .loc 1 3375 23 is_stmt 0 discriminator 2 view .LVU2511
ARM GAS /tmp/ccbUHtu7.s page 290
7253 0040 474B ldr r3, .L475
7254 .LVL477:
3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7255 .loc 1 3375 23 discriminator 2 view .LVU2512
7256 0042 6363 str r3, [r4, #52]
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7257 .loc 1 3378 5 is_stmt 1 discriminator 2 view .LVU2513
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7258 .loc 1 3378 13 is_stmt 0 discriminator 2 view .LVU2514
7259 0044 638D ldrh r3, [r4, #42]
7260 0046 9BB2 uxth r3, r3
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7261 .loc 1 3378 8 discriminator 2 view .LVU2515
7262 0048 FF2B cmp r3, #255
7263 004a 0ED9 bls .L459
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7264 .loc 1 3380 7 is_stmt 1 view .LVU2516
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7265 .loc 1 3380 22 is_stmt 0 view .LVU2517
7266 004c FF23 movs r3, #255
7267 004e 2385 strh r3, [r4, #40] @ movhi
3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7268 .loc 1 3381 7 is_stmt 1 view .LVU2518
7269 .LVL478:
3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7270 .loc 1 3381 16 is_stmt 0 view .LVU2519
7271 0050 4FF08077 mov r7, #16777216
7272 .LVL479:
7273 .L460:
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7274 .loc 1 3392 5 is_stmt 1 view .LVU2520
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7275 .loc 1 3392 14 is_stmt 0 view .LVU2521
7276 0054 236B ldr r3, [r4, #48]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7277 .loc 1 3392 8 view .LVU2522
7278 0056 112B cmp r3, #17
7279 0058 0BD1 bne .L461
3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7280 .loc 1 3393 10 view .LVU2523
7281 005a AA2A cmp r2, #170
7282 005c 09D0 beq .L461
3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7283 .loc 1 3393 10 discriminator 2 view .LVU2524
7284 005e B2F52A4F cmp r2, #43520
7285 0062 06D0 beq .L461
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7286 .loc 1 3395 19 view .LVU2525
7287 0064 4FF00008 mov r8, #0
7288 0068 0DE0 b .L462
7289 .LVL480:
7290 .L459:
3385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7291 .loc 1 3385 7 is_stmt 1 view .LVU2526
3385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7292 .loc 1 3385 28 is_stmt 0 view .LVU2527
7293 006a 638D ldrh r3, [r4, #42]
ARM GAS /tmp/ccbUHtu7.s page 291
3385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7294 .loc 1 3385 22 view .LVU2528
7295 006c 2385 strh r3, [r4, #40] @ movhi
3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7296 .loc 1 3386 7 is_stmt 1 view .LVU2529
3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7297 .loc 1 3386 16 is_stmt 0 view .LVU2530
7298 006e E76A ldr r7, [r4, #44]
7299 .LVL481:
3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7300 .loc 1 3386 16 view .LVU2531
7301 0070 F0E7 b .L460
7302 .L461:
3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7303 .loc 1 3400 7 is_stmt 1 view .LVU2532
7304 0072 2046 mov r0, r4
7305 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
7306 .LVL482:
3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7307 .loc 1 3403 7 view .LVU2533
3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7308 .loc 1 3403 15 is_stmt 0 view .LVU2534
7309 0078 638D ldrh r3, [r4, #42]
7310 007a 9BB2 uxth r3, r3
3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7311 .loc 1 3403 10 view .LVU2535
7312 007c FF2B cmp r3, #255
7313 007e 27D8 bhi .L471
3405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7314 .loc 1 3405 9 is_stmt 1 view .LVU2536
3405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7315 .loc 1 3405 18 is_stmt 0 view .LVU2537
7316 0080 E76A ldr r7, [r4, #44]
7317 .LVL483:
3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7318 .loc 1 3356 12 view .LVU2538
7319 0082 DFF8EC80 ldr r8, .L475+16
7320 .L462:
7321 .LVL484:
3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7322 .loc 1 3409 5 is_stmt 1 view .LVU2539
3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7323 .loc 1 3409 13 is_stmt 0 view .LVU2540
7324 0086 228D ldrh r2, [r4, #40]
3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7325 .loc 1 3409 8 view .LVU2541
7326 0088 002A cmp r2, #0
7327 008a 4ED0 beq .L463
3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7328 .loc 1 3411 7 is_stmt 1 view .LVU2542
3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7329 .loc 1 3411 15 is_stmt 0 view .LVU2543
7330 008c A36B ldr r3, [r4, #56]
3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7331 .loc 1 3411 10 view .LVU2544
7332 008e 13B3 cbz r3, .L464
3414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 292
7333 .loc 1 3414 9 is_stmt 1 view .LVU2545
3414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7334 .loc 1 3414 40 is_stmt 0 view .LVU2546
7335 0090 344A ldr r2, .L475+4
7336 0092 DA62 str r2, [r3, #44]
3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7337 .loc 1 3417 9 is_stmt 1 view .LVU2547
3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7338 .loc 1 3417 13 is_stmt 0 view .LVU2548
7339 0094 A36B ldr r3, [r4, #56]
3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7340 .loc 1 3417 41 view .LVU2549
7341 0096 344A ldr r2, .L475+8
7342 0098 5A63 str r2, [r3, #52]
3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
7343 .loc 1 3420 9 is_stmt 1 view .LVU2550
3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
7344 .loc 1 3420 13 is_stmt 0 view .LVU2551
7345 009a A26B ldr r2, [r4, #56]
3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
7346 .loc 1 3420 44 view .LVU2552
7347 009c 0023 movs r3, #0
7348 009e 1363 str r3, [r2, #48]
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7349 .loc 1 3421 9 is_stmt 1 view .LVU2553
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7350 .loc 1 3421 13 is_stmt 0 view .LVU2554
7351 00a0 A26B ldr r2, [r4, #56]
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7352 .loc 1 3421 41 view .LVU2555
7353 00a2 9363 str r3, [r2, #56]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
7354 .loc 1 3424 9 is_stmt 1 view .LVU2556
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
7355 .loc 1 3424 88 is_stmt 0 view .LVU2557
7356 00a4 2268 ldr r2, [r4]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
7357 .loc 1 3424 25 view .LVU2558
7358 00a6 238D ldrh r3, [r4, #40]
7359 00a8 2832 adds r2, r2, #40
7360 00aa 2946 mov r1, r5
7361 00ac A06B ldr r0, [r4, #56]
7362 00ae FFF7FEFF bl HAL_DMA_Start_IT
7363 .LVL485:
3442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7364 .loc 1 3442 7 is_stmt 1 view .LVU2559
3442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7365 .loc 1 3442 10 is_stmt 0 view .LVU2560
7366 00b2 F0B1 cbz r0, .L474
3465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7367 .loc 1 3465 9 is_stmt 1 view .LVU2561
3465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7368 .loc 1 3465 25 is_stmt 0 view .LVU2562
7369 00b4 2023 movs r3, #32
7370 00b6 84F84130 strb r3, [r4, #65]
3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7371 .loc 1 3466 9 is_stmt 1 view .LVU2563
ARM GAS /tmp/ccbUHtu7.s page 293
3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7372 .loc 1 3466 25 is_stmt 0 view .LVU2564
7373 00ba 0022 movs r2, #0
7374 00bc 84F84220 strb r2, [r4, #66]
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7375 .loc 1 3469 9 is_stmt 1 view .LVU2565
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7376 .loc 1 3469 13 is_stmt 0 view .LVU2566
7377 00c0 636C ldr r3, [r4, #68]
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7378 .loc 1 3469 25 view .LVU2567
7379 00c2 43F01003 orr r3, r3, #16
7380 00c6 6364 str r3, [r4, #68]
3472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7381 .loc 1 3472 9 is_stmt 1 view .LVU2568
3472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7382 .loc 1 3472 9 view .LVU2569
7383 00c8 84F84020 strb r2, [r4, #64]
3472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7384 .loc 1 3472 9 view .LVU2570
3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7385 .loc 1 3474 9 view .LVU2571
3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7386 .loc 1 3474 16 is_stmt 0 view .LVU2572
7387 00cc 0120 movs r0, #1
7388 .LVL486:
3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7389 .loc 1 3474 16 view .LVU2573
7390 00ce 41E0 b .L458
7391 .LVL487:
7392 .L471:
3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7393 .loc 1 3356 12 view .LVU2574
7394 00d0 DFF89C80 ldr r8, .L475+16
7395 00d4 D7E7 b .L462
7396 .LVL488:
7397 .L464:
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7398 .loc 1 3430 9 is_stmt 1 view .LVU2575
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7399 .loc 1 3430 25 is_stmt 0 view .LVU2576
7400 00d6 2023 movs r3, #32
7401 00d8 84F84130 strb r3, [r4, #65]
3431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7402 .loc 1 3431 9 is_stmt 1 view .LVU2577
3431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7403 .loc 1 3431 25 is_stmt 0 view .LVU2578
7404 00dc 0022 movs r2, #0
7405 00de 84F84220 strb r2, [r4, #66]
3434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7406 .loc 1 3434 9 is_stmt 1 view .LVU2579
3434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7407 .loc 1 3434 13 is_stmt 0 view .LVU2580
7408 00e2 636C ldr r3, [r4, #68]
3434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7409 .loc 1 3434 25 view .LVU2581
7410 00e4 43F08003 orr r3, r3, #128
ARM GAS /tmp/ccbUHtu7.s page 294
7411 00e8 6364 str r3, [r4, #68]
3437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7412 .loc 1 3437 9 is_stmt 1 view .LVU2582
3437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7413 .loc 1 3437 9 view .LVU2583
7414 00ea 84F84020 strb r2, [r4, #64]
3437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7415 .loc 1 3437 9 view .LVU2584
3439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7416 .loc 1 3439 9 view .LVU2585
3439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7417 .loc 1 3439 16 is_stmt 0 view .LVU2586
7418 00ee 0120 movs r0, #1
7419 00f0 30E0 b .L458
7420 .LVL489:
7421 .L474:
3445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7422 .loc 1 3445 9 is_stmt 1 view .LVU2587
7423 00f2 CDF80080 str r8, [sp]
7424 00f6 3B46 mov r3, r7
7425 00f8 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
7426 00fc 3146 mov r1, r6
7427 00fe 2046 mov r0, r4
7428 .LVL490:
3445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7429 .loc 1 3445 9 is_stmt 0 view .LVU2588
7430 0100 FFF7FEFF bl I2C_TransferConfig
7431 .LVL491:
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7432 .loc 1 3448 9 is_stmt 1 view .LVU2589
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7433 .loc 1 3448 13 is_stmt 0 view .LVU2590
7434 0104 638D ldrh r3, [r4, #42]
7435 0106 9BB2 uxth r3, r3
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7436 .loc 1 3448 32 view .LVU2591
7437 0108 228D ldrh r2, [r4, #40]
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7438 .loc 1 3448 25 view .LVU2592
7439 010a 9B1A subs r3, r3, r2
7440 010c 9BB2 uxth r3, r3
7441 010e 6385 strh r3, [r4, #42] @ movhi
3451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7442 .loc 1 3451 9 is_stmt 1 view .LVU2593
3451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7443 .loc 1 3451 9 view .LVU2594
7444 0110 0023 movs r3, #0
7445 0112 84F84030 strb r3, [r4, #64]
3451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7446 .loc 1 3451 9 view .LVU2595
3457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7447 .loc 1 3457 9 view .LVU2596
7448 0116 1021 movs r1, #16
7449 0118 2046 mov r0, r4
7450 011a FFF7FEFF bl I2C_Enable_IRQ
7451 .LVL492:
3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 295
7452 .loc 1 3460 9 view .LVU2597
3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7453 .loc 1 3460 13 is_stmt 0 view .LVU2598
7454 011e 2268 ldr r2, [r4]
3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7455 .loc 1 3460 23 view .LVU2599
7456 0120 1368 ldr r3, [r2]
3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7457 .loc 1 3460 29 view .LVU2600
7458 0122 43F48043 orr r3, r3, #16384
7459 0126 1360 str r3, [r2]
7460 0128 11E0 b .L467
7461 .LVL493:
7462 .L463:
3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7463 .loc 1 3480 7 is_stmt 1 view .LVU2601
3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7464 .loc 1 3480 21 is_stmt 0 view .LVU2602
7465 012a 104B ldr r3, .L475+12
7466 012c 6363 str r3, [r4, #52]
3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
7467 .loc 1 3484 7 is_stmt 1 view .LVU2603
7468 012e 104B ldr r3, .L475+16
7469 0130 0093 str r3, [sp]
7470 0132 4FF00073 mov r3, #33554432
7471 0136 D2B2 uxtb r2, r2
7472 0138 3146 mov r1, r6
7473 013a 2046 mov r0, r4
7474 013c FFF7FEFF bl I2C_TransferConfig
7475 .LVL494:
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7476 .loc 1 3488 7 view .LVU2604
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7477 .loc 1 3488 7 view .LVU2605
7478 0140 0023 movs r3, #0
7479 0142 84F84030 strb r3, [r4, #64]
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7480 .loc 1 3488 7 view .LVU2606
3497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7481 .loc 1 3497 7 view .LVU2607
7482 0146 0121 movs r1, #1
7483 0148 2046 mov r0, r4
7484 014a FFF7FEFF bl I2C_Enable_IRQ
7485 .LVL495:
7486 .L467:
3500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7487 .loc 1 3500 5 view .LVU2608
3500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7488 .loc 1 3500 12 is_stmt 0 view .LVU2609
7489 014e 0020 movs r0, #0
7490 0150 00E0 b .L458
7491 .LVL496:
7492 .L468:
3504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7493 .loc 1 3504 12 view .LVU2610
7494 0152 0220 movs r0, #2
7495 .LVL497:
ARM GAS /tmp/ccbUHtu7.s page 296
7496 .L458:
3506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7497 .loc 1 3506 1 view .LVU2611
7498 0154 02B0 add sp, sp, #8
7499 .LCFI89:
7500 .cfi_remember_state
7501 .cfi_def_cfa_offset 24
7502 @ sp needed
7503 0156 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
7504 .LVL498:
7505 .L469:
7506 .LCFI90:
7507 .cfi_restore_state
3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7508 .loc 1 3365 5 view .LVU2612
7509 015a 0220 movs r0, #2
7510 015c FAE7 b .L458
7511 .L476:
7512 015e 00BF .align 2
7513 .L475:
7514 0160 00000000 .word I2C_Master_ISR_DMA
7515 0164 00000000 .word I2C_DMAMasterTransmitCplt
7516 0168 00000000 .word I2C_DMAError
7517 016c 00000000 .word I2C_Master_ISR_IT
7518 0170 00200080 .word -2147475456
7519 .cfi_endproc
7520 .LFE353:
7522 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits
7523 .align 1
7524 .global HAL_I2C_Master_Seq_Receive_IT
7525 .syntax unified
7526 .thumb
7527 .thumb_func
7529 HAL_I2C_Master_Seq_Receive_IT:
7530 .LVL499:
7531 .LFB354:
3522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
7532 .loc 1 3522 1 is_stmt 1 view -0
7533 .cfi_startproc
7534 @ args = 4, pretend = 0, frame = 0
7535 @ frame_needed = 0, uses_anonymous_args = 0
3522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
7536 .loc 1 3522 1 is_stmt 0 view .LVU2614
7537 0000 70B5 push {r4, r5, r6, lr}
7538 .LCFI91:
7539 .cfi_def_cfa_offset 16
7540 .cfi_offset 4, -16
7541 .cfi_offset 5, -12
7542 .cfi_offset 6, -8
7543 .cfi_offset 14, -4
7544 0002 82B0 sub sp, sp, #8
7545 .LCFI92:
7546 .cfi_def_cfa_offset 24
7547 0004 0446 mov r4, r0
3523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
7548 .loc 1 3523 3 is_stmt 1 view .LVU2615
3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 297
7549 .loc 1 3524 3 view .LVU2616
7550 .LVL500:
3527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7551 .loc 1 3527 3 view .LVU2617
3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7552 .loc 1 3529 3 view .LVU2618
3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7553 .loc 1 3529 11 is_stmt 0 view .LVU2619
7554 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
7555 .LVL501:
3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7556 .loc 1 3529 11 view .LVU2620
7557 000a C0B2 uxtb r0, r0
3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7558 .loc 1 3529 6 view .LVU2621
7559 000c 2028 cmp r0, #32
7560 000e 49D1 bne .L483
7561 0010 0D46 mov r5, r1
3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7562 .loc 1 3532 5 is_stmt 1 view .LVU2622
3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7563 .loc 1 3532 5 view .LVU2623
7564 0012 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
7565 .LVL502:
3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7566 .loc 1 3532 5 is_stmt 0 view .LVU2624
7567 0016 0129 cmp r1, #1
7568 0018 46D0 beq .L484
3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7569 .loc 1 3532 5 is_stmt 1 discriminator 2 view .LVU2625
7570 001a 0121 movs r1, #1
7571 001c 84F84010 strb r1, [r4, #64]
3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7572 .loc 1 3532 5 discriminator 2 view .LVU2626
3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7573 .loc 1 3534 5 discriminator 2 view .LVU2627
3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7574 .loc 1 3534 21 is_stmt 0 discriminator 2 view .LVU2628
7575 0020 2221 movs r1, #34
7576 0022 84F84110 strb r1, [r4, #65]
3535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7577 .loc 1 3535 5 is_stmt 1 discriminator 2 view .LVU2629
3535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7578 .loc 1 3535 21 is_stmt 0 discriminator 2 view .LVU2630
7579 0026 1021 movs r1, #16
7580 0028 84F84210 strb r1, [r4, #66]
3536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7581 .loc 1 3536 5 is_stmt 1 discriminator 2 view .LVU2631
3536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7582 .loc 1 3536 21 is_stmt 0 discriminator 2 view .LVU2632
7583 002c 0021 movs r1, #0
7584 002e 6164 str r1, [r4, #68]
3539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
7585 .loc 1 3539 5 is_stmt 1 discriminator 2 view .LVU2633
3539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
7586 .loc 1 3539 23 is_stmt 0 discriminator 2 view .LVU2634
7587 0030 6262 str r2, [r4, #36]
ARM GAS /tmp/ccbUHtu7.s page 298
3540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7588 .loc 1 3540 5 is_stmt 1 discriminator 2 view .LVU2635
3540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7589 .loc 1 3540 23 is_stmt 0 discriminator 2 view .LVU2636
7590 0032 6385 strh r3, [r4, #42] @ movhi
3541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7591 .loc 1 3541 5 is_stmt 1 discriminator 2 view .LVU2637
3541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7592 .loc 1 3541 23 is_stmt 0 discriminator 2 view .LVU2638
7593 0034 069B ldr r3, [sp, #24]
7594 .LVL503:
3541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7595 .loc 1 3541 23 discriminator 2 view .LVU2639
7596 0036 E362 str r3, [r4, #44]
7597 .LVL504:
3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7598 .loc 1 3542 5 is_stmt 1 discriminator 2 view .LVU2640
3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7599 .loc 1 3542 23 is_stmt 0 discriminator 2 view .LVU2641
7600 0038 1C4B ldr r3, .L488
7601 003a 6363 str r3, [r4, #52]
3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7602 .loc 1 3545 5 is_stmt 1 discriminator 2 view .LVU2642
3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7603 .loc 1 3545 13 is_stmt 0 discriminator 2 view .LVU2643
7604 003c 638D ldrh r3, [r4, #42]
7605 003e 9BB2 uxth r3, r3
3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7606 .loc 1 3545 8 discriminator 2 view .LVU2644
7607 0040 FF2B cmp r3, #255
7608 0042 0ED9 bls .L479
3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7609 .loc 1 3547 7 is_stmt 1 view .LVU2645
3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7610 .loc 1 3547 22 is_stmt 0 view .LVU2646
7611 0044 FF23 movs r3, #255
7612 0046 2385 strh r3, [r4, #40] @ movhi
3548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7613 .loc 1 3548 7 is_stmt 1 view .LVU2647
7614 .LVL505:
3548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7615 .loc 1 3548 16 is_stmt 0 view .LVU2648
7616 0048 4FF08076 mov r6, #16777216
7617 .LVL506:
7618 .L480:
3559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7619 .loc 1 3559 5 is_stmt 1 view .LVU2649
3559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7620 .loc 1 3559 14 is_stmt 0 view .LVU2650
7621 004c 236B ldr r3, [r4, #48]
3559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7622 .loc 1 3559 8 view .LVU2651
7623 004e 122B cmp r3, #18
7624 0050 0BD1 bne .L481
3560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7625 .loc 1 3560 10 view .LVU2652
7626 0052 069B ldr r3, [sp, #24]
ARM GAS /tmp/ccbUHtu7.s page 299
7627 0054 AA2B cmp r3, #170
7628 0056 08D0 beq .L481
3560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7629 .loc 1 3560 10 discriminator 2 view .LVU2653
7630 0058 B3F52A4F cmp r3, #43520
7631 005c 05D0 beq .L481
3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7632 .loc 1 3562 19 view .LVU2654
7633 005e 0023 movs r3, #0
7634 0060 0CE0 b .L482
7635 .LVL507:
7636 .L479:
3552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7637 .loc 1 3552 7 is_stmt 1 view .LVU2655
3552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7638 .loc 1 3552 28 is_stmt 0 view .LVU2656
7639 0062 638D ldrh r3, [r4, #42]
3552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7640 .loc 1 3552 22 view .LVU2657
7641 0064 2385 strh r3, [r4, #40] @ movhi
3553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7642 .loc 1 3553 7 is_stmt 1 view .LVU2658
3553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7643 .loc 1 3553 16 is_stmt 0 view .LVU2659
7644 0066 E66A ldr r6, [r4, #44]
7645 .LVL508:
3553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7646 .loc 1 3553 16 view .LVU2660
7647 0068 F0E7 b .L480
7648 .L481:
3567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7649 .loc 1 3567 7 is_stmt 1 view .LVU2661
7650 006a 2046 mov r0, r4
7651 006c FFF7FEFF bl I2C_ConvertOtherXferOptions
7652 .LVL509:
3570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7653 .loc 1 3570 7 view .LVU2662
3570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7654 .loc 1 3570 15 is_stmt 0 view .LVU2663
7655 0070 638D ldrh r3, [r4, #42]
7656 0072 9BB2 uxth r3, r3
3570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7657 .loc 1 3570 10 view .LVU2664
7658 0074 FF2B cmp r3, #255
7659 0076 13D8 bhi .L486
3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7660 .loc 1 3572 9 is_stmt 1 view .LVU2665
3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7661 .loc 1 3572 18 is_stmt 0 view .LVU2666
7662 0078 E66A ldr r6, [r4, #44]
7663 .LVL510:
3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7664 .loc 1 3524 12 view .LVU2667
7665 007a 0D4B ldr r3, .L488+4
7666 .L482:
7667 .LVL511:
3577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 300
7668 .loc 1 3577 5 is_stmt 1 view .LVU2668
7669 007c 0093 str r3, [sp]
7670 007e 3346 mov r3, r6
7671 .LVL512:
3577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7672 .loc 1 3577 5 is_stmt 0 view .LVU2669
7673 0080 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
7674 0084 2946 mov r1, r5
7675 0086 2046 mov r0, r4
7676 0088 FFF7FEFF bl I2C_TransferConfig
7677 .LVL513:
3580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7678 .loc 1 3580 5 is_stmt 1 view .LVU2670
3580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7679 .loc 1 3580 5 view .LVU2671
7680 008c 0025 movs r5, #0
7681 008e 84F84050 strb r5, [r4, #64]
3580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7682 .loc 1 3580 5 view .LVU2672
3585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7683 .loc 1 3585 5 view .LVU2673
7684 0092 0221 movs r1, #2
7685 0094 2046 mov r0, r4
7686 0096 FFF7FEFF bl I2C_Enable_IRQ
7687 .LVL514:
3587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7688 .loc 1 3587 5 view .LVU2674
3587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7689 .loc 1 3587 12 is_stmt 0 view .LVU2675
7690 009a 2846 mov r0, r5
7691 .LVL515:
7692 .L478:
3593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7693 .loc 1 3593 1 view .LVU2676
7694 009c 02B0 add sp, sp, #8
7695 .LCFI93:
7696 .cfi_remember_state
7697 .cfi_def_cfa_offset 16
7698 @ sp needed
7699 009e 70BD pop {r4, r5, r6, pc}
7700 .LVL516:
7701 .L486:
7702 .LCFI94:
7703 .cfi_restore_state
3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7704 .loc 1 3524 12 view .LVU2677
7705 00a0 034B ldr r3, .L488+4
7706 00a2 EBE7 b .L482
7707 .LVL517:
7708 .L483:
3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7709 .loc 1 3591 12 view .LVU2678
7710 00a4 0220 movs r0, #2
7711 00a6 F9E7 b .L478
7712 .LVL518:
7713 .L484:
3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 301
7714 .loc 1 3532 5 view .LVU2679
7715 00a8 0220 movs r0, #2
7716 00aa F7E7 b .L478
7717 .L489:
7718 .align 2
7719 .L488:
7720 00ac 00000000 .word I2C_Master_ISR_IT
7721 00b0 00240080 .word -2147474432
7722 .cfi_endproc
7723 .LFE354:
7725 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits
7726 .align 1
7727 .global HAL_I2C_Master_Seq_Receive_DMA
7728 .syntax unified
7729 .thumb
7730 .thumb_func
7732 HAL_I2C_Master_Seq_Receive_DMA:
7733 .LVL519:
7734 .LFB355:
3609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
7735 .loc 1 3609 1 is_stmt 1 view -0
7736 .cfi_startproc
7737 @ args = 4, pretend = 0, frame = 0
7738 @ frame_needed = 0, uses_anonymous_args = 0
3609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
7739 .loc 1 3609 1 is_stmt 0 view .LVU2681
7740 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
7741 .LCFI95:
7742 .cfi_def_cfa_offset 24
7743 .cfi_offset 4, -24
7744 .cfi_offset 5, -20
7745 .cfi_offset 6, -16
7746 .cfi_offset 7, -12
7747 .cfi_offset 8, -8
7748 .cfi_offset 14, -4
7749 0004 82B0 sub sp, sp, #8
7750 .LCFI96:
7751 .cfi_def_cfa_offset 32
7752 0006 0446 mov r4, r0
7753 0008 1546 mov r5, r2
7754 000a 089A ldr r2, [sp, #32]
7755 .LVL520:
3610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
7756 .loc 1 3610 3 is_stmt 1 view .LVU2682
3611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7757 .loc 1 3611 3 view .LVU2683
3612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7758 .loc 1 3612 3 view .LVU2684
3615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7759 .loc 1 3615 3 view .LVU2685
3617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7760 .loc 1 3617 3 view .LVU2686
3617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7761 .loc 1 3617 11 is_stmt 0 view .LVU2687
7762 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
7763 .LVL521:
3617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 302
7764 .loc 1 3617 11 view .LVU2688
7765 0010 C0B2 uxtb r0, r0
3617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7766 .loc 1 3617 6 view .LVU2689
7767 0012 2028 cmp r0, #32
7768 0014 40F09D80 bne .L501
7769 0018 0E46 mov r6, r1
3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7770 .loc 1 3620 5 is_stmt 1 view .LVU2690
3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7771 .loc 1 3620 5 view .LVU2691
7772 001a 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
7773 .LVL522:
3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7774 .loc 1 3620 5 is_stmt 0 view .LVU2692
7775 001e 0129 cmp r1, #1
7776 0020 00F09B80 beq .L502
3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7777 .loc 1 3620 5 is_stmt 1 discriminator 2 view .LVU2693
7778 0024 0121 movs r1, #1
7779 0026 84F84010 strb r1, [r4, #64]
3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7780 .loc 1 3620 5 discriminator 2 view .LVU2694
3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7781 .loc 1 3622 5 discriminator 2 view .LVU2695
3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7782 .loc 1 3622 21 is_stmt 0 discriminator 2 view .LVU2696
7783 002a 2221 movs r1, #34
7784 002c 84F84110 strb r1, [r4, #65]
3623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7785 .loc 1 3623 5 is_stmt 1 discriminator 2 view .LVU2697
3623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7786 .loc 1 3623 21 is_stmt 0 discriminator 2 view .LVU2698
7787 0030 1021 movs r1, #16
7788 0032 84F84210 strb r1, [r4, #66]
3624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7789 .loc 1 3624 5 is_stmt 1 discriminator 2 view .LVU2699
3624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7790 .loc 1 3624 21 is_stmt 0 discriminator 2 view .LVU2700
7791 0036 0021 movs r1, #0
7792 0038 6164 str r1, [r4, #68]
3627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
7793 .loc 1 3627 5 is_stmt 1 discriminator 2 view .LVU2701
3627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
7794 .loc 1 3627 23 is_stmt 0 discriminator 2 view .LVU2702
7795 003a 6562 str r5, [r4, #36]
3628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7796 .loc 1 3628 5 is_stmt 1 discriminator 2 view .LVU2703
3628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7797 .loc 1 3628 23 is_stmt 0 discriminator 2 view .LVU2704
7798 003c 6385 strh r3, [r4, #42] @ movhi
3629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7799 .loc 1 3629 5 is_stmt 1 discriminator 2 view .LVU2705
3629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7800 .loc 1 3629 23 is_stmt 0 discriminator 2 view .LVU2706
7801 003e E262 str r2, [r4, #44]
3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 303
7802 .loc 1 3630 5 is_stmt 1 discriminator 2 view .LVU2707
3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7803 .loc 1 3630 23 is_stmt 0 discriminator 2 view .LVU2708
7804 0040 474B ldr r3, .L508
7805 .LVL523:
3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7806 .loc 1 3630 23 discriminator 2 view .LVU2709
7807 0042 6363 str r3, [r4, #52]
3633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7808 .loc 1 3633 5 is_stmt 1 discriminator 2 view .LVU2710
3633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7809 .loc 1 3633 13 is_stmt 0 discriminator 2 view .LVU2711
7810 0044 638D ldrh r3, [r4, #42]
7811 0046 9BB2 uxth r3, r3
3633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7812 .loc 1 3633 8 discriminator 2 view .LVU2712
7813 0048 FF2B cmp r3, #255
7814 004a 0ED9 bls .L492
3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7815 .loc 1 3635 7 is_stmt 1 view .LVU2713
3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7816 .loc 1 3635 22 is_stmt 0 view .LVU2714
7817 004c FF23 movs r3, #255
7818 004e 2385 strh r3, [r4, #40] @ movhi
3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7819 .loc 1 3636 7 is_stmt 1 view .LVU2715
7820 .LVL524:
3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7821 .loc 1 3636 16 is_stmt 0 view .LVU2716
7822 0050 4FF08077 mov r7, #16777216
7823 .LVL525:
7824 .L493:
3647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7825 .loc 1 3647 5 is_stmt 1 view .LVU2717
3647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7826 .loc 1 3647 14 is_stmt 0 view .LVU2718
7827 0054 236B ldr r3, [r4, #48]
3647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7828 .loc 1 3647 8 view .LVU2719
7829 0056 122B cmp r3, #18
7830 0058 0BD1 bne .L494
3648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7831 .loc 1 3648 10 view .LVU2720
7832 005a AA2A cmp r2, #170
7833 005c 09D0 beq .L494
3648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7834 .loc 1 3648 10 discriminator 2 view .LVU2721
7835 005e B2F52A4F cmp r2, #43520
7836 0062 06D0 beq .L494
3650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7837 .loc 1 3650 19 view .LVU2722
7838 0064 4FF00008 mov r8, #0
7839 0068 0DE0 b .L495
7840 .LVL526:
7841 .L492:
3640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7842 .loc 1 3640 7 is_stmt 1 view .LVU2723
ARM GAS /tmp/ccbUHtu7.s page 304
3640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7843 .loc 1 3640 28 is_stmt 0 view .LVU2724
7844 006a 638D ldrh r3, [r4, #42]
3640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7845 .loc 1 3640 22 view .LVU2725
7846 006c 2385 strh r3, [r4, #40] @ movhi
3641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7847 .loc 1 3641 7 is_stmt 1 view .LVU2726
3641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7848 .loc 1 3641 16 is_stmt 0 view .LVU2727
7849 006e E76A ldr r7, [r4, #44]
7850 .LVL527:
3641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7851 .loc 1 3641 16 view .LVU2728
7852 0070 F0E7 b .L493
7853 .L494:
3655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7854 .loc 1 3655 7 is_stmt 1 view .LVU2729
7855 0072 2046 mov r0, r4
7856 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
7857 .LVL528:
3658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7858 .loc 1 3658 7 view .LVU2730
3658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7859 .loc 1 3658 15 is_stmt 0 view .LVU2731
7860 0078 638D ldrh r3, [r4, #42]
7861 007a 9BB2 uxth r3, r3
3658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7862 .loc 1 3658 10 view .LVU2732
7863 007c FF2B cmp r3, #255
7864 007e 27D8 bhi .L504
3660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7865 .loc 1 3660 9 is_stmt 1 view .LVU2733
3660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7866 .loc 1 3660 18 is_stmt 0 view .LVU2734
7867 0080 E76A ldr r7, [r4, #44]
7868 .LVL529:
3611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7869 .loc 1 3611 12 view .LVU2735
7870 0082 DFF8EC80 ldr r8, .L508+16
7871 .L495:
7872 .LVL530:
3664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7873 .loc 1 3664 5 is_stmt 1 view .LVU2736
3664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7874 .loc 1 3664 13 is_stmt 0 view .LVU2737
7875 0086 228D ldrh r2, [r4, #40]
3664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7876 .loc 1 3664 8 view .LVU2738
7877 0088 002A cmp r2, #0
7878 008a 4ED0 beq .L496
3666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7879 .loc 1 3666 7 is_stmt 1 view .LVU2739
3666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7880 .loc 1 3666 15 is_stmt 0 view .LVU2740
7881 008c E36B ldr r3, [r4, #60]
3666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 305
7882 .loc 1 3666 10 view .LVU2741
7883 008e 13B3 cbz r3, .L497
3669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7884 .loc 1 3669 9 is_stmt 1 view .LVU2742
3669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7885 .loc 1 3669 40 is_stmt 0 view .LVU2743
7886 0090 344A ldr r2, .L508+4
7887 0092 DA62 str r2, [r3, #44]
3672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7888 .loc 1 3672 9 is_stmt 1 view .LVU2744
3672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7889 .loc 1 3672 13 is_stmt 0 view .LVU2745
7890 0094 E36B ldr r3, [r4, #60]
3672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7891 .loc 1 3672 41 view .LVU2746
7892 0096 344A ldr r2, .L508+8
7893 0098 5A63 str r2, [r3, #52]
3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
7894 .loc 1 3675 9 is_stmt 1 view .LVU2747
3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
7895 .loc 1 3675 13 is_stmt 0 view .LVU2748
7896 009a E26B ldr r2, [r4, #60]
3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
7897 .loc 1 3675 44 view .LVU2749
7898 009c 0023 movs r3, #0
7899 009e 1363 str r3, [r2, #48]
3676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7900 .loc 1 3676 9 is_stmt 1 view .LVU2750
3676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7901 .loc 1 3676 13 is_stmt 0 view .LVU2751
7902 00a0 E26B ldr r2, [r4, #60]
3676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7903 .loc 1 3676 41 view .LVU2752
7904 00a2 9363 str r3, [r2, #56]
3679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
7905 .loc 1 3679 9 is_stmt 1 view .LVU2753
3679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
7906 .loc 1 3679 71 is_stmt 0 view .LVU2754
7907 00a4 2168 ldr r1, [r4]
3679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
7908 .loc 1 3679 25 view .LVU2755
7909 00a6 238D ldrh r3, [r4, #40]
7910 00a8 2A46 mov r2, r5
7911 00aa 2431 adds r1, r1, #36
7912 00ac E06B ldr r0, [r4, #60]
7913 00ae FFF7FEFF bl HAL_DMA_Start_IT
7914 .LVL531:
3697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7915 .loc 1 3697 7 is_stmt 1 view .LVU2756
3697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
7916 .loc 1 3697 10 is_stmt 0 view .LVU2757
7917 00b2 F0B1 cbz r0, .L507
3720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7918 .loc 1 3720 9 is_stmt 1 view .LVU2758
3720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7919 .loc 1 3720 25 is_stmt 0 view .LVU2759
7920 00b4 2023 movs r3, #32
ARM GAS /tmp/ccbUHtu7.s page 306
7921 00b6 84F84130 strb r3, [r4, #65]
3721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7922 .loc 1 3721 9 is_stmt 1 view .LVU2760
3721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7923 .loc 1 3721 25 is_stmt 0 view .LVU2761
7924 00ba 0022 movs r2, #0
7925 00bc 84F84220 strb r2, [r4, #66]
3724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7926 .loc 1 3724 9 is_stmt 1 view .LVU2762
3724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7927 .loc 1 3724 13 is_stmt 0 view .LVU2763
7928 00c0 636C ldr r3, [r4, #68]
3724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7929 .loc 1 3724 25 view .LVU2764
7930 00c2 43F01003 orr r3, r3, #16
7931 00c6 6364 str r3, [r4, #68]
3727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7932 .loc 1 3727 9 is_stmt 1 view .LVU2765
3727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7933 .loc 1 3727 9 view .LVU2766
7934 00c8 84F84020 strb r2, [r4, #64]
3727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7935 .loc 1 3727 9 view .LVU2767
3729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7936 .loc 1 3729 9 view .LVU2768
3729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7937 .loc 1 3729 16 is_stmt 0 view .LVU2769
7938 00cc 0120 movs r0, #1
7939 .LVL532:
3729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7940 .loc 1 3729 16 view .LVU2770
7941 00ce 41E0 b .L491
7942 .LVL533:
7943 .L504:
3611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7944 .loc 1 3611 12 view .LVU2771
7945 00d0 DFF89C80 ldr r8, .L508+16
7946 00d4 D7E7 b .L495
7947 .LVL534:
7948 .L497:
3685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7949 .loc 1 3685 9 is_stmt 1 view .LVU2772
3685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7950 .loc 1 3685 25 is_stmt 0 view .LVU2773
7951 00d6 2023 movs r3, #32
7952 00d8 84F84130 strb r3, [r4, #65]
3686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7953 .loc 1 3686 9 is_stmt 1 view .LVU2774
3686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7954 .loc 1 3686 25 is_stmt 0 view .LVU2775
7955 00dc 0022 movs r2, #0
7956 00de 84F84220 strb r2, [r4, #66]
3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7957 .loc 1 3689 9 is_stmt 1 view .LVU2776
3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7958 .loc 1 3689 13 is_stmt 0 view .LVU2777
7959 00e2 636C ldr r3, [r4, #68]
ARM GAS /tmp/ccbUHtu7.s page 307
3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7960 .loc 1 3689 25 view .LVU2778
7961 00e4 43F08003 orr r3, r3, #128
7962 00e8 6364 str r3, [r4, #68]
3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7963 .loc 1 3692 9 is_stmt 1 view .LVU2779
3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7964 .loc 1 3692 9 view .LVU2780
7965 00ea 84F84020 strb r2, [r4, #64]
3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7966 .loc 1 3692 9 view .LVU2781
3694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7967 .loc 1 3694 9 view .LVU2782
3694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
7968 .loc 1 3694 16 is_stmt 0 view .LVU2783
7969 00ee 0120 movs r0, #1
7970 00f0 30E0 b .L491
7971 .LVL535:
7972 .L507:
3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7973 .loc 1 3700 9 is_stmt 1 view .LVU2784
7974 00f2 CDF80080 str r8, [sp]
7975 00f6 3B46 mov r3, r7
7976 00f8 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
7977 00fc 3146 mov r1, r6
7978 00fe 2046 mov r0, r4
7979 .LVL536:
3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7980 .loc 1 3700 9 is_stmt 0 view .LVU2785
7981 0100 FFF7FEFF bl I2C_TransferConfig
7982 .LVL537:
3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7983 .loc 1 3703 9 is_stmt 1 view .LVU2786
3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7984 .loc 1 3703 13 is_stmt 0 view .LVU2787
7985 0104 638D ldrh r3, [r4, #42]
7986 0106 9BB2 uxth r3, r3
3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7987 .loc 1 3703 32 view .LVU2788
7988 0108 228D ldrh r2, [r4, #40]
3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7989 .loc 1 3703 25 view .LVU2789
7990 010a 9B1A subs r3, r3, r2
7991 010c 9BB2 uxth r3, r3
7992 010e 6385 strh r3, [r4, #42] @ movhi
3706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7993 .loc 1 3706 9 is_stmt 1 view .LVU2790
3706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7994 .loc 1 3706 9 view .LVU2791
7995 0110 0023 movs r3, #0
7996 0112 84F84030 strb r3, [r4, #64]
3706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7997 .loc 1 3706 9 view .LVU2792
3712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
7998 .loc 1 3712 9 view .LVU2793
7999 0116 1021 movs r1, #16
8000 0118 2046 mov r0, r4
ARM GAS /tmp/ccbUHtu7.s page 308
8001 011a FFF7FEFF bl I2C_Enable_IRQ
8002 .LVL538:
3715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8003 .loc 1 3715 9 view .LVU2794
3715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8004 .loc 1 3715 13 is_stmt 0 view .LVU2795
8005 011e 2268 ldr r2, [r4]
3715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8006 .loc 1 3715 23 view .LVU2796
8007 0120 1368 ldr r3, [r2]
3715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8008 .loc 1 3715 29 view .LVU2797
8009 0122 43F40043 orr r3, r3, #32768
8010 0126 1360 str r3, [r2]
8011 0128 11E0 b .L500
8012 .LVL539:
8013 .L496:
3735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8014 .loc 1 3735 7 is_stmt 1 view .LVU2798
3735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8015 .loc 1 3735 21 is_stmt 0 view .LVU2799
8016 012a 104B ldr r3, .L508+12
8017 012c 6363 str r3, [r4, #52]
3739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_GENERATE_START_READ);
8018 .loc 1 3739 7 is_stmt 1 view .LVU2800
8019 012e 104B ldr r3, .L508+16
8020 0130 0093 str r3, [sp]
8021 0132 4FF00073 mov r3, #33554432
8022 0136 D2B2 uxtb r2, r2
8023 0138 3146 mov r1, r6
8024 013a 2046 mov r0, r4
8025 013c FFF7FEFF bl I2C_TransferConfig
8026 .LVL540:
3743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8027 .loc 1 3743 7 view .LVU2801
3743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8028 .loc 1 3743 7 view .LVU2802
8029 0140 0023 movs r3, #0
8030 0142 84F84030 strb r3, [r4, #64]
3743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8031 .loc 1 3743 7 view .LVU2803
3752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8032 .loc 1 3752 7 view .LVU2804
8033 0146 0121 movs r1, #1
8034 0148 2046 mov r0, r4
8035 014a FFF7FEFF bl I2C_Enable_IRQ
8036 .LVL541:
8037 .L500:
3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8038 .loc 1 3755 5 view .LVU2805
3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8039 .loc 1 3755 12 is_stmt 0 view .LVU2806
8040 014e 0020 movs r0, #0
8041 0150 00E0 b .L491
8042 .LVL542:
8043 .L501:
3759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 309
8044 .loc 1 3759 12 view .LVU2807
8045 0152 0220 movs r0, #2
8046 .LVL543:
8047 .L491:
3761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8048 .loc 1 3761 1 view .LVU2808
8049 0154 02B0 add sp, sp, #8
8050 .LCFI97:
8051 .cfi_remember_state
8052 .cfi_def_cfa_offset 24
8053 @ sp needed
8054 0156 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
8055 .LVL544:
8056 .L502:
8057 .LCFI98:
8058 .cfi_restore_state
3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8059 .loc 1 3620 5 view .LVU2809
8060 015a 0220 movs r0, #2
8061 015c FAE7 b .L491
8062 .L509:
8063 015e 00BF .align 2
8064 .L508:
8065 0160 00000000 .word I2C_Master_ISR_DMA
8066 0164 00000000 .word I2C_DMAMasterReceiveCplt
8067 0168 00000000 .word I2C_DMAError
8068 016c 00000000 .word I2C_Master_ISR_IT
8069 0170 00240080 .word -2147474432
8070 .cfi_endproc
8071 .LFE355:
8073 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits
8074 .align 1
8075 .global HAL_I2C_Slave_Seq_Transmit_IT
8076 .syntax unified
8077 .thumb
8078 .thumb_func
8080 HAL_I2C_Slave_Seq_Transmit_IT:
8081 .LVL545:
8082 .LFB356:
3775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
8083 .loc 1 3775 1 is_stmt 1 view -0
8084 .cfi_startproc
8085 @ args = 0, pretend = 0, frame = 0
8086 @ frame_needed = 0, uses_anonymous_args = 0
3775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
8087 .loc 1 3775 1 is_stmt 0 view .LVU2811
8088 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8089 .LCFI99:
8090 .cfi_def_cfa_offset 24
8091 .cfi_offset 3, -24
8092 .cfi_offset 4, -20
8093 .cfi_offset 5, -16
8094 .cfi_offset 6, -12
8095 .cfi_offset 7, -8
8096 .cfi_offset 14, -4
8097 0002 0446 mov r4, r0
3777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 310
8098 .loc 1 3777 3 is_stmt 1 view .LVU2812
3779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8099 .loc 1 3779 3 view .LVU2813
3779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8100 .loc 1 3779 22 is_stmt 0 view .LVU2814
8101 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
8102 .LVL546:
3779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8103 .loc 1 3779 6 view .LVU2815
8104 0008 00F02800 and r0, r0, #40
8105 000c 2828 cmp r0, #40
8106 000e 5AD1 bne .L516
8107 0010 0F46 mov r7, r1
8108 0012 1646 mov r6, r2
8109 0014 1D46 mov r5, r3
3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8110 .loc 1 3781 5 is_stmt 1 view .LVU2816
3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8111 .loc 1 3781 8 is_stmt 0 view .LVU2817
8112 0016 01B1 cbz r1, .L512
3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8113 .loc 1 3781 25 discriminator 1 view .LVU2818
8114 0018 22B9 cbnz r2, .L513
8115 .L512:
3783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8116 .loc 1 3783 7 is_stmt 1 view .LVU2819
3783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8117 .loc 1 3783 23 is_stmt 0 view .LVU2820
8118 001a 4FF40073 mov r3, #512
8119 .LVL547:
3783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8120 .loc 1 3783 23 view .LVU2821
8121 001e 6364 str r3, [r4, #68]
3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8122 .loc 1 3784 7 is_stmt 1 view .LVU2822
3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8123 .loc 1 3784 15 is_stmt 0 view .LVU2823
8124 0020 0120 movs r0, #1
8125 0022 51E0 b .L511
8126 .LVL548:
8127 .L513:
3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8128 .loc 1 3788 5 is_stmt 1 view .LVU2824
8129 0024 48F20101 movw r1, #32769
8130 .LVL549:
3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8131 .loc 1 3788 5 is_stmt 0 view .LVU2825
8132 0028 2046 mov r0, r4
8133 002a FFF7FEFF bl I2C_Disable_IRQ
8134 .LVL550:
3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8135 .loc 1 3791 5 is_stmt 1 view .LVU2826
3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8136 .loc 1 3791 5 view .LVU2827
8137 002e 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
8138 0032 012B cmp r3, #1
8139 0034 49D0 beq .L517
ARM GAS /tmp/ccbUHtu7.s page 311
3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8140 .loc 1 3791 5 discriminator 2 view .LVU2828
8141 0036 0123 movs r3, #1
8142 0038 84F84030 strb r3, [r4, #64]
3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8143 .loc 1 3791 5 discriminator 2 view .LVU2829
3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8144 .loc 1 3795 5 discriminator 2 view .LVU2830
3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8145 .loc 1 3795 13 is_stmt 0 discriminator 2 view .LVU2831
8146 003c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
8147 0040 DBB2 uxtb r3, r3
3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8148 .loc 1 3795 8 discriminator 2 view .LVU2832
8149 0042 2A2B cmp r3, #42
8150 0044 24D0 beq .L519
8151 .L514:
3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8152 .loc 1 3821 5 is_stmt 1 view .LVU2833
3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8153 .loc 1 3821 21 is_stmt 0 view .LVU2834
8154 0046 2923 movs r3, #41
8155 0048 84F84130 strb r3, [r4, #65]
3822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8156 .loc 1 3822 5 is_stmt 1 view .LVU2835
3822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8157 .loc 1 3822 21 is_stmt 0 view .LVU2836
8158 004c 2023 movs r3, #32
8159 004e 84F84230 strb r3, [r4, #66]
3823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8160 .loc 1 3823 5 is_stmt 1 view .LVU2837
3823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8161 .loc 1 3823 21 is_stmt 0 view .LVU2838
8162 0052 0023 movs r3, #0
8163 0054 6364 str r3, [r4, #68]
3826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8164 .loc 1 3826 5 is_stmt 1 view .LVU2839
3826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8165 .loc 1 3826 9 is_stmt 0 view .LVU2840
8166 0056 2268 ldr r2, [r4]
3826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8167 .loc 1 3826 19 view .LVU2841
8168 0058 5368 ldr r3, [r2, #4]
3826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8169 .loc 1 3826 25 view .LVU2842
8170 005a 23F40043 bic r3, r3, #32768
8171 005e 5360 str r3, [r2, #4]
3829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
8172 .loc 1 3829 5 is_stmt 1 view .LVU2843
3829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
8173 .loc 1 3829 23 is_stmt 0 view .LVU2844
8174 0060 6762 str r7, [r4, #36]
3830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8175 .loc 1 3830 5 is_stmt 1 view .LVU2845
3830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8176 .loc 1 3830 23 is_stmt 0 view .LVU2846
8177 0062 6685 strh r6, [r4, #42] @ movhi
ARM GAS /tmp/ccbUHtu7.s page 312
3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8178 .loc 1 3831 5 is_stmt 1 view .LVU2847
3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8179 .loc 1 3831 29 is_stmt 0 view .LVU2848
8180 0064 638D ldrh r3, [r4, #42]
3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8181 .loc 1 3831 23 view .LVU2849
8182 0066 2385 strh r3, [r4, #40] @ movhi
3832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
8183 .loc 1 3832 5 is_stmt 1 view .LVU2850
3832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
8184 .loc 1 3832 23 is_stmt 0 view .LVU2851
8185 0068 E562 str r5, [r4, #44]
3833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8186 .loc 1 3833 5 is_stmt 1 view .LVU2852
3833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8187 .loc 1 3833 23 is_stmt 0 view .LVU2853
8188 006a 194B ldr r3, .L520
8189 006c 6363 str r3, [r4, #52]
3835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8190 .loc 1 3835 5 is_stmt 1 view .LVU2854
3835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8191 .loc 1 3835 9 is_stmt 0 view .LVU2855
8192 006e 2368 ldr r3, [r4]
8193 0070 9A69 ldr r2, [r3, #24]
3835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8194 .loc 1 3835 8 view .LVU2856
8195 0072 12F4803F tst r2, #65536
8196 0076 01D0 beq .L515
3839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8197 .loc 1 3839 7 is_stmt 1 view .LVU2857
8198 0078 0822 movs r2, #8
8199 007a DA61 str r2, [r3, #28]
8200 .L515:
3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8201 .loc 1 3843 5 view .LVU2858
3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8202 .loc 1 3843 5 view .LVU2859
8203 007c 0025 movs r5, #0
8204 .LVL551:
3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8205 .loc 1 3843 5 is_stmt 0 view .LVU2860
8206 007e 84F84050 strb r5, [r4, #64]
3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8207 .loc 1 3843 5 is_stmt 1 view .LVU2861
3849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8208 .loc 1 3849 5 view .LVU2862
8209 0082 48F20101 movw r1, #32769
8210 0086 2046 mov r0, r4
8211 0088 FFF7FEFF bl I2C_Enable_IRQ
8212 .LVL552:
3851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8213 .loc 1 3851 5 view .LVU2863
3851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8214 .loc 1 3851 12 is_stmt 0 view .LVU2864
8215 008c 2846 mov r0, r5
8216 008e 1BE0 b .L511
ARM GAS /tmp/ccbUHtu7.s page 313
8217 .LVL553:
8218 .L519:
3798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8219 .loc 1 3798 7 is_stmt 1 view .LVU2865
8220 0090 0221 movs r1, #2
8221 0092 2046 mov r0, r4
8222 0094 FFF7FEFF bl I2C_Disable_IRQ
8223 .LVL554:
3801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8224 .loc 1 3801 7 view .LVU2866
3801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8225 .loc 1 3801 16 is_stmt 0 view .LVU2867
8226 0098 2368 ldr r3, [r4]
3801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8227 .loc 1 3801 26 view .LVU2868
8228 009a 1A68 ldr r2, [r3]
3801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8229 .loc 1 3801 10 view .LVU2869
8230 009c 12F4004F tst r2, #32768
8231 00a0 D1D0 beq .L514
3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8232 .loc 1 3803 9 is_stmt 1 view .LVU2870
3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8233 .loc 1 3803 23 is_stmt 0 view .LVU2871
8234 00a2 1A68 ldr r2, [r3]
3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8235 .loc 1 3803 29 view .LVU2872
8236 00a4 22F40042 bic r2, r2, #32768
8237 00a8 1A60 str r2, [r3]
3805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8238 .loc 1 3805 9 is_stmt 1 view .LVU2873
3805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8239 .loc 1 3805 17 is_stmt 0 view .LVU2874
8240 00aa E36B ldr r3, [r4, #60]
3805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8241 .loc 1 3805 12 view .LVU2875
8242 00ac 002B cmp r3, #0
8243 00ae CAD0 beq .L514
3809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8244 .loc 1 3809 11 is_stmt 1 view .LVU2876
3809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8245 .loc 1 3809 43 is_stmt 0 view .LVU2877
8246 00b0 084A ldr r2, .L520+4
8247 00b2 9A63 str r2, [r3, #56]
3812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8248 .loc 1 3812 11 is_stmt 1 view .LVU2878
3812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8249 .loc 1 3812 15 is_stmt 0 view .LVU2879
8250 00b4 E06B ldr r0, [r4, #60]
8251 00b6 FFF7FEFF bl HAL_DMA_Abort_IT
8252 .LVL555:
3812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8253 .loc 1 3812 14 view .LVU2880
8254 00ba 0028 cmp r0, #0
8255 00bc C3D0 beq .L514
3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8256 .loc 1 3815 13 is_stmt 1 view .LVU2881
ARM GAS /tmp/ccbUHtu7.s page 314
3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8257 .loc 1 3815 17 is_stmt 0 view .LVU2882
8258 00be E06B ldr r0, [r4, #60]
3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8259 .loc 1 3815 25 view .LVU2883
8260 00c0 836B ldr r3, [r0, #56]
3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8261 .loc 1 3815 13 view .LVU2884
8262 00c2 9847 blx r3
8263 .LVL556:
8264 00c4 BFE7 b .L514
8265 .LVL557:
8266 .L516:
3855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8267 .loc 1 3855 12 view .LVU2885
8268 00c6 0120 movs r0, #1
8269 .LVL558:
8270 .L511:
3857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8271 .loc 1 3857 1 view .LVU2886
8272 00c8 F8BD pop {r3, r4, r5, r6, r7, pc}
8273 .LVL559:
8274 .L517:
3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8275 .loc 1 3791 5 view .LVU2887
8276 00ca 0220 movs r0, #2
8277 00cc FCE7 b .L511
8278 .L521:
8279 00ce 00BF .align 2
8280 .L520:
8281 00d0 00000000 .word I2C_Slave_ISR_IT
8282 00d4 00000000 .word I2C_DMAAbort
8283 .cfi_endproc
8284 .LFE356:
8286 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits
8287 .align 1
8288 .global HAL_I2C_Slave_Seq_Transmit_DMA
8289 .syntax unified
8290 .thumb
8291 .thumb_func
8293 HAL_I2C_Slave_Seq_Transmit_DMA:
8294 .LVL560:
8295 .LFB357:
3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8296 .loc 1 3871 1 is_stmt 1 view -0
8297 .cfi_startproc
8298 @ args = 0, pretend = 0, frame = 0
8299 @ frame_needed = 0, uses_anonymous_args = 0
3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8300 .loc 1 3871 1 is_stmt 0 view .LVU2889
8301 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8302 .LCFI100:
8303 .cfi_def_cfa_offset 24
8304 .cfi_offset 3, -24
8305 .cfi_offset 4, -20
8306 .cfi_offset 5, -16
8307 .cfi_offset 6, -12
ARM GAS /tmp/ccbUHtu7.s page 315
8308 .cfi_offset 7, -8
8309 .cfi_offset 14, -4
8310 0002 0446 mov r4, r0
3872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8311 .loc 1 3872 3 is_stmt 1 view .LVU2890
3875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8312 .loc 1 3875 3 view .LVU2891
3877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8313 .loc 1 3877 3 view .LVU2892
3877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8314 .loc 1 3877 22 is_stmt 0 view .LVU2893
8315 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
8316 .LVL561:
3877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8317 .loc 1 3877 6 view .LVU2894
8318 0008 00F02800 and r0, r0, #40
8319 000c 2828 cmp r0, #40
8320 000e 40F0BB80 bne .L533
8321 0012 0F46 mov r7, r1
8322 0014 1646 mov r6, r2
8323 0016 1D46 mov r5, r3
3879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8324 .loc 1 3879 5 is_stmt 1 view .LVU2895
3879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8325 .loc 1 3879 8 is_stmt 0 view .LVU2896
8326 0018 0029 cmp r1, #0
8327 001a 51D0 beq .L524
3879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8328 .loc 1 3879 25 discriminator 1 view .LVU2897
8329 001c 002A cmp r2, #0
8330 001e 4FD0 beq .L524
3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8331 .loc 1 3886 5 is_stmt 1 view .LVU2898
3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8332 .loc 1 3886 5 view .LVU2899
8333 0020 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
8334 .LVL562:
3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8335 .loc 1 3886 5 is_stmt 0 view .LVU2900
8336 0024 012B cmp r3, #1
8337 0026 00F0B280 beq .L534
3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8338 .loc 1 3886 5 is_stmt 1 discriminator 2 view .LVU2901
8339 002a 0123 movs r3, #1
8340 002c 84F84030 strb r3, [r4, #64]
3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8341 .loc 1 3886 5 discriminator 2 view .LVU2902
3889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8342 .loc 1 3889 5 discriminator 2 view .LVU2903
8343 0030 48F20101 movw r1, #32769
8344 .LVL563:
3889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8345 .loc 1 3889 5 is_stmt 0 discriminator 2 view .LVU2904
8346 0034 2046 mov r0, r4
8347 0036 FFF7FEFF bl I2C_Disable_IRQ
8348 .LVL564:
3893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 316
8349 .loc 1 3893 5 is_stmt 1 discriminator 2 view .LVU2905
3893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8350 .loc 1 3893 13 is_stmt 0 discriminator 2 view .LVU2906
8351 003a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
8352 003e DBB2 uxtb r3, r3
3893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8353 .loc 1 3893 8 discriminator 2 view .LVU2907
8354 0040 2A2B cmp r3, #42
8355 0042 42D0 beq .L537
3918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8356 .loc 1 3918 10 is_stmt 1 view .LVU2908
3918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8357 .loc 1 3918 18 is_stmt 0 view .LVU2909
8358 0044 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
8359 0048 DBB2 uxtb r3, r3
3918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8360 .loc 1 3918 13 view .LVU2910
8361 004a 292B cmp r3, #41
8362 004c 59D0 beq .L538
8363 .L527:
3943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8364 .loc 1 3943 5 is_stmt 1 view .LVU2911
3945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8365 .loc 1 3945 5 view .LVU2912
3945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8366 .loc 1 3945 21 is_stmt 0 view .LVU2913
8367 004e 2923 movs r3, #41
8368 0050 84F84130 strb r3, [r4, #65]
3946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8369 .loc 1 3946 5 is_stmt 1 view .LVU2914
3946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8370 .loc 1 3946 21 is_stmt 0 view .LVU2915
8371 0054 2023 movs r3, #32
8372 0056 84F84230 strb r3, [r4, #66]
3947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8373 .loc 1 3947 5 is_stmt 1 view .LVU2916
3947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8374 .loc 1 3947 21 is_stmt 0 view .LVU2917
8375 005a 0023 movs r3, #0
8376 005c 6364 str r3, [r4, #68]
3950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8377 .loc 1 3950 5 is_stmt 1 view .LVU2918
3950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8378 .loc 1 3950 9 is_stmt 0 view .LVU2919
8379 005e 2268 ldr r2, [r4]
3950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8380 .loc 1 3950 19 view .LVU2920
8381 0060 5368 ldr r3, [r2, #4]
3950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8382 .loc 1 3950 25 view .LVU2921
8383 0062 23F40043 bic r3, r3, #32768
8384 0066 5360 str r3, [r2, #4]
3953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
8385 .loc 1 3953 5 is_stmt 1 view .LVU2922
3953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
8386 .loc 1 3953 23 is_stmt 0 view .LVU2923
8387 0068 6762 str r7, [r4, #36]
ARM GAS /tmp/ccbUHtu7.s page 317
3954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8388 .loc 1 3954 5 is_stmt 1 view .LVU2924
3954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8389 .loc 1 3954 23 is_stmt 0 view .LVU2925
8390 006a 6685 strh r6, [r4, #42] @ movhi
3955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8391 .loc 1 3955 5 is_stmt 1 view .LVU2926
3955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8392 .loc 1 3955 29 is_stmt 0 view .LVU2927
8393 006c 638D ldrh r3, [r4, #42]
3955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8394 .loc 1 3955 23 view .LVU2928
8395 006e 2385 strh r3, [r4, #40] @ movhi
3956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
8396 .loc 1 3956 5 is_stmt 1 view .LVU2929
3956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
8397 .loc 1 3956 23 is_stmt 0 view .LVU2930
8398 0070 E562 str r5, [r4, #44]
3957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8399 .loc 1 3957 5 is_stmt 1 view .LVU2931
3957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8400 .loc 1 3957 23 is_stmt 0 view .LVU2932
8401 0072 484B ldr r3, .L539
8402 0074 6363 str r3, [r4, #52]
3959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8403 .loc 1 3959 5 is_stmt 1 view .LVU2933
3959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8404 .loc 1 3959 13 is_stmt 0 view .LVU2934
8405 0076 A36B ldr r3, [r4, #56]
3959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8406 .loc 1 3959 8 view .LVU2935
8407 0078 002B cmp r3, #0
8408 007a 59D0 beq .L528
3962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8409 .loc 1 3962 7 is_stmt 1 view .LVU2936
3962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8410 .loc 1 3962 38 is_stmt 0 view .LVU2937
8411 007c 464A ldr r2, .L539+4
8412 007e DA62 str r2, [r3, #44]
3965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8413 .loc 1 3965 7 is_stmt 1 view .LVU2938
3965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8414 .loc 1 3965 11 is_stmt 0 view .LVU2939
8415 0080 A36B ldr r3, [r4, #56]
3965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8416 .loc 1 3965 39 view .LVU2940
8417 0082 464A ldr r2, .L539+8
8418 0084 5A63 str r2, [r3, #52]
3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8419 .loc 1 3968 7 is_stmt 1 view .LVU2941
3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8420 .loc 1 3968 11 is_stmt 0 view .LVU2942
8421 0086 A26B ldr r2, [r4, #56]
3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8422 .loc 1 3968 42 view .LVU2943
8423 0088 0023 movs r3, #0
8424 008a 1363 str r3, [r2, #48]
ARM GAS /tmp/ccbUHtu7.s page 318
3969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8425 .loc 1 3969 7 is_stmt 1 view .LVU2944
3969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8426 .loc 1 3969 11 is_stmt 0 view .LVU2945
8427 008c A26B ldr r2, [r4, #56]
3969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8428 .loc 1 3969 39 view .LVU2946
8429 008e 9363 str r3, [r2, #56]
3972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
8430 .loc 1 3972 7 is_stmt 1 view .LVU2947
3972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
8431 .loc 1 3972 86 is_stmt 0 view .LVU2948
8432 0090 2268 ldr r2, [r4]
3972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize);
8433 .loc 1 3972 23 view .LVU2949
8434 0092 238D ldrh r3, [r4, #40]
8435 0094 2832 adds r2, r2, #40
8436 0096 3946 mov r1, r7
8437 0098 A06B ldr r0, [r4, #56]
8438 009a FFF7FEFF bl HAL_DMA_Start_IT
8439 .LVL565:
3990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8440 .loc 1 3990 5 is_stmt 1 view .LVU2950
3990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8441 .loc 1 3990 8 is_stmt 0 view .LVU2951
8442 009e 0546 mov r5, r0
8443 .LVL566:
3990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8444 .loc 1 3990 8 view .LVU2952
8445 00a0 0028 cmp r0, #0
8446 00a2 53D0 beq .L529
4001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8447 .loc 1 4001 7 is_stmt 1 view .LVU2953
4001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8448 .loc 1 4001 23 is_stmt 0 view .LVU2954
8449 00a4 2823 movs r3, #40
8450 00a6 84F84130 strb r3, [r4, #65]
4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8451 .loc 1 4002 7 is_stmt 1 view .LVU2955
4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8452 .loc 1 4002 23 is_stmt 0 view .LVU2956
8453 00aa 0022 movs r2, #0
8454 00ac 84F84220 strb r2, [r4, #66]
4005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8455 .loc 1 4005 7 is_stmt 1 view .LVU2957
4005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8456 .loc 1 4005 11 is_stmt 0 view .LVU2958
8457 00b0 636C ldr r3, [r4, #68]
4005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8458 .loc 1 4005 23 view .LVU2959
8459 00b2 43F01003 orr r3, r3, #16
8460 00b6 6364 str r3, [r4, #68]
4008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8461 .loc 1 4008 7 is_stmt 1 view .LVU2960
4008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8462 .loc 1 4008 7 view .LVU2961
8463 00b8 84F84020 strb r2, [r4, #64]
ARM GAS /tmp/ccbUHtu7.s page 319
4008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8464 .loc 1 4008 7 view .LVU2962
4010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8465 .loc 1 4010 7 view .LVU2963
4010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8466 .loc 1 4010 14 is_stmt 0 view .LVU2964
8467 00bc 0125 movs r5, #1
8468 00be 64E0 b .L523
8469 .LVL567:
8470 .L524:
3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8471 .loc 1 3881 7 is_stmt 1 view .LVU2965
3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8472 .loc 1 3881 23 is_stmt 0 view .LVU2966
8473 00c0 4FF40073 mov r3, #512
8474 .LVL568:
3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8475 .loc 1 3881 23 view .LVU2967
8476 00c4 6364 str r3, [r4, #68]
3882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8477 .loc 1 3882 7 is_stmt 1 view .LVU2968
3882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8478 .loc 1 3882 15 is_stmt 0 view .LVU2969
8479 00c6 0125 movs r5, #1
8480 .LVL569:
3882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8481 .loc 1 3882 15 view .LVU2970
8482 00c8 5FE0 b .L523
8483 .LVL570:
8484 .L537:
3896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8485 .loc 1 3896 7 is_stmt 1 view .LVU2971
8486 00ca 0221 movs r1, #2
8487 00cc 2046 mov r0, r4
8488 00ce FFF7FEFF bl I2C_Disable_IRQ
8489 .LVL571:
3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8490 .loc 1 3898 7 view .LVU2972
3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8491 .loc 1 3898 16 is_stmt 0 view .LVU2973
8492 00d2 2368 ldr r3, [r4]
3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8493 .loc 1 3898 26 view .LVU2974
8494 00d4 1A68 ldr r2, [r3]
3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8495 .loc 1 3898 10 view .LVU2975
8496 00d6 12F4004F tst r2, #32768
8497 00da B8D0 beq .L527
3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8498 .loc 1 3901 9 is_stmt 1 view .LVU2976
3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8499 .loc 1 3901 17 is_stmt 0 view .LVU2977
8500 00dc E26B ldr r2, [r4, #60]
3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8501 .loc 1 3901 12 view .LVU2978
8502 00de 002A cmp r2, #0
8503 00e0 B5D0 beq .L527
ARM GAS /tmp/ccbUHtu7.s page 320
3903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8504 .loc 1 3903 11 is_stmt 1 view .LVU2979
3903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8505 .loc 1 3903 25 is_stmt 0 view .LVU2980
8506 00e2 1A68 ldr r2, [r3]
3903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8507 .loc 1 3903 31 view .LVU2981
8508 00e4 22F40042 bic r2, r2, #32768
8509 00e8 1A60 str r2, [r3]
3907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8510 .loc 1 3907 11 is_stmt 1 view .LVU2982
3907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8511 .loc 1 3907 15 is_stmt 0 view .LVU2983
8512 00ea E36B ldr r3, [r4, #60]
3907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8513 .loc 1 3907 43 view .LVU2984
8514 00ec 2C4A ldr r2, .L539+12
8515 00ee 9A63 str r2, [r3, #56]
3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8516 .loc 1 3910 11 is_stmt 1 view .LVU2985
3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8517 .loc 1 3910 15 is_stmt 0 view .LVU2986
8518 00f0 E06B ldr r0, [r4, #60]
8519 00f2 FFF7FEFF bl HAL_DMA_Abort_IT
8520 .LVL572:
3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8521 .loc 1 3910 14 view .LVU2987
8522 00f6 0028 cmp r0, #0
8523 00f8 A9D0 beq .L527
3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8524 .loc 1 3913 13 is_stmt 1 view .LVU2988
3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8525 .loc 1 3913 17 is_stmt 0 view .LVU2989
8526 00fa E06B ldr r0, [r4, #60]
3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8527 .loc 1 3913 25 view .LVU2990
8528 00fc 836B ldr r3, [r0, #56]
3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8529 .loc 1 3913 13 view .LVU2991
8530 00fe 9847 blx r3
8531 .LVL573:
8532 0100 A5E7 b .L527
8533 .L538:
3920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8534 .loc 1 3920 7 is_stmt 1 view .LVU2992
3920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8535 .loc 1 3920 16 is_stmt 0 view .LVU2993
8536 0102 2368 ldr r3, [r4]
3920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8537 .loc 1 3920 26 view .LVU2994
8538 0104 1A68 ldr r2, [r3]
3920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8539 .loc 1 3920 10 view .LVU2995
8540 0106 12F4804F tst r2, #16384
8541 010a A0D0 beq .L527
3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8542 .loc 1 3922 9 is_stmt 1 view .LVU2996
ARM GAS /tmp/ccbUHtu7.s page 321
3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8543 .loc 1 3922 23 is_stmt 0 view .LVU2997
8544 010c 1A68 ldr r2, [r3]
3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8545 .loc 1 3922 29 view .LVU2998
8546 010e 22F48042 bic r2, r2, #16384
8547 0112 1A60 str r2, [r3]
3925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8548 .loc 1 3925 9 is_stmt 1 view .LVU2999
3925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8549 .loc 1 3925 17 is_stmt 0 view .LVU3000
8550 0114 A36B ldr r3, [r4, #56]
3925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8551 .loc 1 3925 12 view .LVU3001
8552 0116 002B cmp r3, #0
8553 0118 99D0 beq .L527
3929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8554 .loc 1 3929 11 is_stmt 1 view .LVU3002
3929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8555 .loc 1 3929 43 is_stmt 0 view .LVU3003
8556 011a 214A ldr r2, .L539+12
8557 011c 9A63 str r2, [r3, #56]
3932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8558 .loc 1 3932 11 is_stmt 1 view .LVU3004
3932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8559 .loc 1 3932 15 is_stmt 0 view .LVU3005
8560 011e A06B ldr r0, [r4, #56]
8561 0120 FFF7FEFF bl HAL_DMA_Abort_IT
8562 .LVL574:
3932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8563 .loc 1 3932 14 view .LVU3006
8564 0124 0028 cmp r0, #0
8565 0126 92D0 beq .L527
3935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8566 .loc 1 3935 13 is_stmt 1 view .LVU3007
3935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8567 .loc 1 3935 17 is_stmt 0 view .LVU3008
8568 0128 A06B ldr r0, [r4, #56]
3935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8569 .loc 1 3935 25 view .LVU3009
8570 012a 836B ldr r3, [r0, #56]
3935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8571 .loc 1 3935 13 view .LVU3010
8572 012c 9847 blx r3
8573 .LVL575:
8574 012e 8EE7 b .L527
8575 .L528:
3978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8576 .loc 1 3978 7 is_stmt 1 view .LVU3011
3978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8577 .loc 1 3978 23 is_stmt 0 view .LVU3012
8578 0130 2823 movs r3, #40
8579 0132 84F84130 strb r3, [r4, #65]
3979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8580 .loc 1 3979 7 is_stmt 1 view .LVU3013
3979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8581 .loc 1 3979 23 is_stmt 0 view .LVU3014
ARM GAS /tmp/ccbUHtu7.s page 322
8582 0136 0022 movs r2, #0
8583 0138 84F84220 strb r2, [r4, #66]
3982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8584 .loc 1 3982 7 is_stmt 1 view .LVU3015
3982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8585 .loc 1 3982 11 is_stmt 0 view .LVU3016
8586 013c 636C ldr r3, [r4, #68]
3982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8587 .loc 1 3982 23 view .LVU3017
8588 013e 43F08003 orr r3, r3, #128
8589 0142 6364 str r3, [r4, #68]
3985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8590 .loc 1 3985 7 is_stmt 1 view .LVU3018
3985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8591 .loc 1 3985 7 view .LVU3019
8592 0144 84F84020 strb r2, [r4, #64]
3985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8593 .loc 1 3985 7 view .LVU3020
3987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8594 .loc 1 3987 7 view .LVU3021
3987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8595 .loc 1 3987 14 is_stmt 0 view .LVU3022
8596 0148 0125 movs r5, #1
8597 .LVL576:
3987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8598 .loc 1 3987 14 view .LVU3023
8599 014a 1EE0 b .L523
8600 .LVL577:
8601 .L529:
3993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8602 .loc 1 3993 7 is_stmt 1 view .LVU3024
3993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8603 .loc 1 3993 11 is_stmt 0 view .LVU3025
8604 014c 638D ldrh r3, [r4, #42]
8605 014e 9BB2 uxth r3, r3
3993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8606 .loc 1 3993 30 view .LVU3026
8607 0150 228D ldrh r2, [r4, #40]
3993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8608 .loc 1 3993 23 view .LVU3027
8609 0152 9B1A subs r3, r3, r2
8610 0154 9BB2 uxth r3, r3
8611 0156 6385 strh r3, [r4, #42] @ movhi
3996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8612 .loc 1 3996 7 is_stmt 1 view .LVU3028
3996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8613 .loc 1 3996 22 is_stmt 0 view .LVU3029
8614 0158 0023 movs r3, #0
8615 015a 2385 strh r3, [r4, #40] @ movhi
4013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8616 .loc 1 4013 5 is_stmt 1 view .LVU3030
4013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8617 .loc 1 4013 9 is_stmt 0 view .LVU3031
8618 015c 2368 ldr r3, [r4]
8619 015e 9A69 ldr r2, [r3, #24]
4013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8620 .loc 1 4013 8 view .LVU3032
ARM GAS /tmp/ccbUHtu7.s page 323
8621 0160 12F4803F tst r2, #65536
8622 0164 0DD1 bne .L531
8623 .L532:
4021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8624 .loc 1 4021 5 is_stmt 1 view .LVU3033
4021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8625 .loc 1 4021 5 view .LVU3034
8626 0166 0023 movs r3, #0
8627 0168 84F84030 strb r3, [r4, #64]
4021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8628 .loc 1 4021 5 view .LVU3035
4024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8629 .loc 1 4024 5 view .LVU3036
4024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8630 .loc 1 4024 9 is_stmt 0 view .LVU3037
8631 016c 2268 ldr r2, [r4]
4024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8632 .loc 1 4024 19 view .LVU3038
8633 016e 1368 ldr r3, [r2]
4024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8634 .loc 1 4024 25 view .LVU3039
8635 0170 43F48043 orr r3, r3, #16384
8636 0174 1360 str r3, [r2]
4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8637 .loc 1 4030 5 is_stmt 1 view .LVU3040
8638 0176 4FF40041 mov r1, #32768
8639 017a 2046 mov r0, r4
8640 .LVL578:
4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8641 .loc 1 4030 5 is_stmt 0 view .LVU3041
8642 017c FFF7FEFF bl I2C_Enable_IRQ
8643 .LVL579:
4032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8644 .loc 1 4032 5 is_stmt 1 view .LVU3042
4032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8645 .loc 1 4032 12 is_stmt 0 view .LVU3043
8646 0180 03E0 b .L523
8647 .LVL580:
8648 .L531:
4017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8649 .loc 1 4017 7 is_stmt 1 view .LVU3044
8650 0182 0822 movs r2, #8
8651 0184 DA61 str r2, [r3, #28]
8652 0186 EEE7 b .L532
8653 .LVL581:
8654 .L533:
4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8655 .loc 1 4036 12 is_stmt 0 view .LVU3045
8656 0188 0125 movs r5, #1
8657 .LVL582:
8658 .L523:
4038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8659 .loc 1 4038 1 view .LVU3046
8660 018a 2846 mov r0, r5
8661 018c F8BD pop {r3, r4, r5, r6, r7, pc}
8662 .LVL583:
8663 .L534:
ARM GAS /tmp/ccbUHtu7.s page 324
3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8664 .loc 1 3886 5 view .LVU3047
8665 018e 0225 movs r5, #2
8666 .LVL584:
3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8667 .loc 1 3886 5 view .LVU3048
8668 0190 FBE7 b .L523
8669 .L540:
8670 0192 00BF .align 2
8671 .L539:
8672 0194 00000000 .word I2C_Slave_ISR_DMA
8673 0198 00000000 .word I2C_DMASlaveTransmitCplt
8674 019c 00000000 .word I2C_DMAError
8675 01a0 00000000 .word I2C_DMAAbort
8676 .cfi_endproc
8677 .LFE357:
8679 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits
8680 .align 1
8681 .global HAL_I2C_Slave_Seq_Receive_IT
8682 .syntax unified
8683 .thumb
8684 .thumb_func
8686 HAL_I2C_Slave_Seq_Receive_IT:
8687 .LVL585:
8688 .LFB358:
4052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
8689 .loc 1 4052 1 is_stmt 1 view -0
8690 .cfi_startproc
8691 @ args = 0, pretend = 0, frame = 0
8692 @ frame_needed = 0, uses_anonymous_args = 0
4052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Check the parameters */
8693 .loc 1 4052 1 is_stmt 0 view .LVU3050
8694 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8695 .LCFI101:
8696 .cfi_def_cfa_offset 24
8697 .cfi_offset 3, -24
8698 .cfi_offset 4, -20
8699 .cfi_offset 5, -16
8700 .cfi_offset 6, -12
8701 .cfi_offset 7, -8
8702 .cfi_offset 14, -4
8703 0002 0446 mov r4, r0
4054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8704 .loc 1 4054 3 is_stmt 1 view .LVU3051
4056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8705 .loc 1 4056 3 view .LVU3052
4056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8706 .loc 1 4056 22 is_stmt 0 view .LVU3053
8707 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
8708 .LVL586:
4056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8709 .loc 1 4056 6 view .LVU3054
8710 0008 00F02800 and r0, r0, #40
8711 000c 2828 cmp r0, #40
8712 000e 5AD1 bne .L547
8713 0010 0F46 mov r7, r1
8714 0012 1646 mov r6, r2
ARM GAS /tmp/ccbUHtu7.s page 325
8715 0014 1D46 mov r5, r3
4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8716 .loc 1 4058 5 is_stmt 1 view .LVU3055
4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8717 .loc 1 4058 8 is_stmt 0 view .LVU3056
8718 0016 01B1 cbz r1, .L543
4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8719 .loc 1 4058 25 discriminator 1 view .LVU3057
8720 0018 22B9 cbnz r2, .L544
8721 .L543:
4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8722 .loc 1 4060 7 is_stmt 1 view .LVU3058
4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8723 .loc 1 4060 23 is_stmt 0 view .LVU3059
8724 001a 4FF40073 mov r3, #512
8725 .LVL587:
4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8726 .loc 1 4060 23 view .LVU3060
8727 001e 6364 str r3, [r4, #68]
4061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8728 .loc 1 4061 7 is_stmt 1 view .LVU3061
4061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8729 .loc 1 4061 15 is_stmt 0 view .LVU3062
8730 0020 0120 movs r0, #1
8731 0022 51E0 b .L542
8732 .LVL588:
8733 .L544:
4065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8734 .loc 1 4065 5 is_stmt 1 view .LVU3063
8735 0024 48F20201 movw r1, #32770
8736 .LVL589:
4065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8737 .loc 1 4065 5 is_stmt 0 view .LVU3064
8738 0028 2046 mov r0, r4
8739 002a FFF7FEFF bl I2C_Disable_IRQ
8740 .LVL590:
4068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8741 .loc 1 4068 5 is_stmt 1 view .LVU3065
4068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8742 .loc 1 4068 5 view .LVU3066
8743 002e 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
8744 0032 012B cmp r3, #1
8745 0034 49D0 beq .L548
4068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8746 .loc 1 4068 5 discriminator 2 view .LVU3067
8747 0036 0123 movs r3, #1
8748 0038 84F84030 strb r3, [r4, #64]
4068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8749 .loc 1 4068 5 discriminator 2 view .LVU3068
4072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8750 .loc 1 4072 5 discriminator 2 view .LVU3069
4072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8751 .loc 1 4072 13 is_stmt 0 discriminator 2 view .LVU3070
8752 003c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
8753 0040 DBB2 uxtb r3, r3
4072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8754 .loc 1 4072 8 discriminator 2 view .LVU3071
ARM GAS /tmp/ccbUHtu7.s page 326
8755 0042 292B cmp r3, #41
8756 0044 24D0 beq .L550
8757 .L545:
4098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8758 .loc 1 4098 5 is_stmt 1 view .LVU3072
4098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8759 .loc 1 4098 21 is_stmt 0 view .LVU3073
8760 0046 2A23 movs r3, #42
8761 0048 84F84130 strb r3, [r4, #65]
4099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8762 .loc 1 4099 5 is_stmt 1 view .LVU3074
4099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8763 .loc 1 4099 21 is_stmt 0 view .LVU3075
8764 004c 2023 movs r3, #32
8765 004e 84F84230 strb r3, [r4, #66]
4100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8766 .loc 1 4100 5 is_stmt 1 view .LVU3076
4100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8767 .loc 1 4100 21 is_stmt 0 view .LVU3077
8768 0052 0023 movs r3, #0
8769 0054 6364 str r3, [r4, #68]
4103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8770 .loc 1 4103 5 is_stmt 1 view .LVU3078
4103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8771 .loc 1 4103 9 is_stmt 0 view .LVU3079
8772 0056 2268 ldr r2, [r4]
4103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8773 .loc 1 4103 19 view .LVU3080
8774 0058 5368 ldr r3, [r2, #4]
4103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8775 .loc 1 4103 25 view .LVU3081
8776 005a 23F40043 bic r3, r3, #32768
8777 005e 5360 str r3, [r2, #4]
4106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
8778 .loc 1 4106 5 is_stmt 1 view .LVU3082
4106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
8779 .loc 1 4106 23 is_stmt 0 view .LVU3083
8780 0060 6762 str r7, [r4, #36]
4107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8781 .loc 1 4107 5 is_stmt 1 view .LVU3084
4107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8782 .loc 1 4107 23 is_stmt 0 view .LVU3085
8783 0062 6685 strh r6, [r4, #42] @ movhi
4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8784 .loc 1 4108 5 is_stmt 1 view .LVU3086
4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8785 .loc 1 4108 29 is_stmt 0 view .LVU3087
8786 0064 638D ldrh r3, [r4, #42]
4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8787 .loc 1 4108 23 view .LVU3088
8788 0066 2385 strh r3, [r4, #40] @ movhi
4109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
8789 .loc 1 4109 5 is_stmt 1 view .LVU3089
4109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
8790 .loc 1 4109 23 is_stmt 0 view .LVU3090
8791 0068 E562 str r5, [r4, #44]
4110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 327
8792 .loc 1 4110 5 is_stmt 1 view .LVU3091
4110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8793 .loc 1 4110 23 is_stmt 0 view .LVU3092
8794 006a 194B ldr r3, .L551
8795 006c 6363 str r3, [r4, #52]
4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8796 .loc 1 4112 5 is_stmt 1 view .LVU3093
4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8797 .loc 1 4112 9 is_stmt 0 view .LVU3094
8798 006e 2368 ldr r3, [r4]
8799 0070 9A69 ldr r2, [r3, #24]
4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8800 .loc 1 4112 8 view .LVU3095
8801 0072 12F4803F tst r2, #65536
8802 0076 01D1 bne .L546
4116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8803 .loc 1 4116 7 is_stmt 1 view .LVU3096
8804 0078 0822 movs r2, #8
8805 007a DA61 str r2, [r3, #28]
8806 .L546:
4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8807 .loc 1 4120 5 view .LVU3097
4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8808 .loc 1 4120 5 view .LVU3098
8809 007c 0025 movs r5, #0
8810 .LVL591:
4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8811 .loc 1 4120 5 is_stmt 0 view .LVU3099
8812 007e 84F84050 strb r5, [r4, #64]
4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8813 .loc 1 4120 5 is_stmt 1 view .LVU3100
4126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8814 .loc 1 4126 5 view .LVU3101
8815 0082 48F20201 movw r1, #32770
8816 0086 2046 mov r0, r4
8817 0088 FFF7FEFF bl I2C_Enable_IRQ
8818 .LVL592:
4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8819 .loc 1 4128 5 view .LVU3102
4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8820 .loc 1 4128 12 is_stmt 0 view .LVU3103
8821 008c 2846 mov r0, r5
8822 008e 1BE0 b .L542
8823 .LVL593:
8824 .L550:
4075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8825 .loc 1 4075 7 is_stmt 1 view .LVU3104
8826 0090 0121 movs r1, #1
8827 0092 2046 mov r0, r4
8828 0094 FFF7FEFF bl I2C_Disable_IRQ
8829 .LVL594:
4077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8830 .loc 1 4077 7 view .LVU3105
4077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8831 .loc 1 4077 16 is_stmt 0 view .LVU3106
8832 0098 2368 ldr r3, [r4]
4077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 328
8833 .loc 1 4077 26 view .LVU3107
8834 009a 1A68 ldr r2, [r3]
4077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8835 .loc 1 4077 10 view .LVU3108
8836 009c 12F4804F tst r2, #16384
8837 00a0 D1D0 beq .L545
4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8838 .loc 1 4079 9 is_stmt 1 view .LVU3109
4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8839 .loc 1 4079 23 is_stmt 0 view .LVU3110
8840 00a2 1A68 ldr r2, [r3]
4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8841 .loc 1 4079 29 view .LVU3111
8842 00a4 22F48042 bic r2, r2, #16384
8843 00a8 1A60 str r2, [r3]
4082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8844 .loc 1 4082 9 is_stmt 1 view .LVU3112
4082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8845 .loc 1 4082 17 is_stmt 0 view .LVU3113
8846 00aa A36B ldr r3, [r4, #56]
4082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8847 .loc 1 4082 12 view .LVU3114
8848 00ac 002B cmp r3, #0
8849 00ae CAD0 beq .L545
4086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8850 .loc 1 4086 11 is_stmt 1 view .LVU3115
4086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8851 .loc 1 4086 43 is_stmt 0 view .LVU3116
8852 00b0 084A ldr r2, .L551+4
8853 00b2 9A63 str r2, [r3, #56]
4089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8854 .loc 1 4089 11 is_stmt 1 view .LVU3117
4089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8855 .loc 1 4089 15 is_stmt 0 view .LVU3118
8856 00b4 A06B ldr r0, [r4, #56]
8857 00b6 FFF7FEFF bl HAL_DMA_Abort_IT
8858 .LVL595:
4089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8859 .loc 1 4089 14 view .LVU3119
8860 00ba 0028 cmp r0, #0
8861 00bc C3D0 beq .L545
4092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8862 .loc 1 4092 13 is_stmt 1 view .LVU3120
4092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8863 .loc 1 4092 17 is_stmt 0 view .LVU3121
8864 00be A06B ldr r0, [r4, #56]
4092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8865 .loc 1 4092 25 view .LVU3122
8866 00c0 836B ldr r3, [r0, #56]
4092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8867 .loc 1 4092 13 view .LVU3123
8868 00c2 9847 blx r3
8869 .LVL596:
8870 00c4 BFE7 b .L545
8871 .LVL597:
8872 .L547:
4132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 329
8873 .loc 1 4132 12 view .LVU3124
8874 00c6 0120 movs r0, #1
8875 .LVL598:
8876 .L542:
4134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8877 .loc 1 4134 1 view .LVU3125
8878 00c8 F8BD pop {r3, r4, r5, r6, r7, pc}
8879 .LVL599:
8880 .L548:
4068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8881 .loc 1 4068 5 view .LVU3126
8882 00ca 0220 movs r0, #2
8883 00cc FCE7 b .L542
8884 .L552:
8885 00ce 00BF .align 2
8886 .L551:
8887 00d0 00000000 .word I2C_Slave_ISR_IT
8888 00d4 00000000 .word I2C_DMAAbort
8889 .cfi_endproc
8890 .LFE358:
8892 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits
8893 .align 1
8894 .global HAL_I2C_Slave_Seq_Receive_DMA
8895 .syntax unified
8896 .thumb
8897 .thumb_func
8899 HAL_I2C_Slave_Seq_Receive_DMA:
8900 .LVL600:
8901 .LFB359:
4148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8902 .loc 1 4148 1 is_stmt 1 view -0
8903 .cfi_startproc
8904 @ args = 0, pretend = 0, frame = 0
8905 @ frame_needed = 0, uses_anonymous_args = 0
4148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8906 .loc 1 4148 1 is_stmt 0 view .LVU3128
8907 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8908 .LCFI102:
8909 .cfi_def_cfa_offset 24
8910 .cfi_offset 3, -24
8911 .cfi_offset 4, -20
8912 .cfi_offset 5, -16
8913 .cfi_offset 6, -12
8914 .cfi_offset 7, -8
8915 .cfi_offset 14, -4
8916 0002 0446 mov r4, r0
4149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8917 .loc 1 4149 3 is_stmt 1 view .LVU3129
4152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8918 .loc 1 4152 3 view .LVU3130
4154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8919 .loc 1 4154 3 view .LVU3131
4154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8920 .loc 1 4154 22 is_stmt 0 view .LVU3132
8921 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
8922 .LVL601:
4154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 330
8923 .loc 1 4154 6 view .LVU3133
8924 0008 00F02800 and r0, r0, #40
8925 000c 2828 cmp r0, #40
8926 000e 40F0B980 bne .L564
8927 0012 0F46 mov r7, r1
8928 0014 1646 mov r6, r2
8929 0016 1D46 mov r5, r3
4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8930 .loc 1 4156 5 is_stmt 1 view .LVU3134
4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8931 .loc 1 4156 8 is_stmt 0 view .LVU3135
8932 0018 01B1 cbz r1, .L555
4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8933 .loc 1 4156 25 discriminator 1 view .LVU3136
8934 001a 22B9 cbnz r2, .L556
8935 .L555:
4158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8936 .loc 1 4158 7 is_stmt 1 view .LVU3137
4158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8937 .loc 1 4158 23 is_stmt 0 view .LVU3138
8938 001c 4FF40073 mov r3, #512
8939 .LVL602:
4158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return HAL_ERROR;
8940 .loc 1 4158 23 view .LVU3139
8941 0020 6364 str r3, [r4, #68]
4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8942 .loc 1 4159 7 is_stmt 1 view .LVU3140
4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8943 .loc 1 4159 15 is_stmt 0 view .LVU3141
8944 0022 0125 movs r5, #1
8945 .LVL603:
4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
8946 .loc 1 4159 15 view .LVU3142
8947 0024 AFE0 b .L554
8948 .LVL604:
8949 .L556:
4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8950 .loc 1 4163 5 is_stmt 1 view .LVU3143
8951 0026 48F20201 movw r1, #32770
8952 .LVL605:
4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8953 .loc 1 4163 5 is_stmt 0 view .LVU3144
8954 002a 2046 mov r0, r4
8955 002c FFF7FEFF bl I2C_Disable_IRQ
8956 .LVL606:
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8957 .loc 1 4166 5 is_stmt 1 view .LVU3145
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8958 .loc 1 4166 5 view .LVU3146
8959 0030 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
8960 0034 012B cmp r3, #1
8961 0036 00F0A880 beq .L565
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8962 .loc 1 4166 5 discriminator 2 view .LVU3147
8963 003a 0123 movs r3, #1
8964 003c 84F84030 strb r3, [r4, #64]
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 331
8965 .loc 1 4166 5 discriminator 2 view .LVU3148
4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8966 .loc 1 4170 5 discriminator 2 view .LVU3149
4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8967 .loc 1 4170 13 is_stmt 0 discriminator 2 view .LVU3150
8968 0040 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
8969 0044 DBB2 uxtb r3, r3
4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8970 .loc 1 4170 8 discriminator 2 view .LVU3151
8971 0046 292B cmp r3, #41
8972 0048 3DD0 beq .L568
4195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8973 .loc 1 4195 10 is_stmt 1 view .LVU3152
4195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8974 .loc 1 4195 18 is_stmt 0 view .LVU3153
8975 004a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
8976 004e DBB2 uxtb r3, r3
4195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
8977 .loc 1 4195 13 view .LVU3154
8978 0050 2A2B cmp r3, #42
8979 0052 54D0 beq .L569
8980 .L558:
4220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8981 .loc 1 4220 5 is_stmt 1 view .LVU3155
4222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8982 .loc 1 4222 5 view .LVU3156
4222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8983 .loc 1 4222 21 is_stmt 0 view .LVU3157
8984 0054 2A23 movs r3, #42
8985 0056 84F84130 strb r3, [r4, #65]
4223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8986 .loc 1 4223 5 is_stmt 1 view .LVU3158
4223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8987 .loc 1 4223 21 is_stmt 0 view .LVU3159
8988 005a 2023 movs r3, #32
8989 005c 84F84230 strb r3, [r4, #66]
4224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8990 .loc 1 4224 5 is_stmt 1 view .LVU3160
4224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8991 .loc 1 4224 21 is_stmt 0 view .LVU3161
8992 0060 0023 movs r3, #0
8993 0062 6364 str r3, [r4, #68]
4227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8994 .loc 1 4227 5 is_stmt 1 view .LVU3162
4227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8995 .loc 1 4227 9 is_stmt 0 view .LVU3163
8996 0064 2268 ldr r2, [r4]
4227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8997 .loc 1 4227 19 view .LVU3164
8998 0066 5368 ldr r3, [r2, #4]
4227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
8999 .loc 1 4227 25 view .LVU3165
9000 0068 23F40043 bic r3, r3, #32768
9001 006c 5360 str r3, [r2, #4]
4230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
9002 .loc 1 4230 5 is_stmt 1 view .LVU3166
4230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = Size;
ARM GAS /tmp/ccbUHtu7.s page 332
9003 .loc 1 4230 23 is_stmt 0 view .LVU3167
9004 006e 6762 str r7, [r4, #36]
4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9005 .loc 1 4231 5 is_stmt 1 view .LVU3168
4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9006 .loc 1 4231 23 is_stmt 0 view .LVU3169
9007 0070 6685 strh r6, [r4, #42] @ movhi
4232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9008 .loc 1 4232 5 is_stmt 1 view .LVU3170
4232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9009 .loc 1 4232 29 is_stmt 0 view .LVU3171
9010 0072 638D ldrh r3, [r4, #42]
4232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9011 .loc 1 4232 23 view .LVU3172
9012 0074 2385 strh r3, [r4, #40] @ movhi
4233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
9013 .loc 1 4233 5 is_stmt 1 view .LVU3173
4233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
9014 .loc 1 4233 23 is_stmt 0 view .LVU3174
9015 0076 E562 str r5, [r4, #44]
4234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9016 .loc 1 4234 5 is_stmt 1 view .LVU3175
4234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9017 .loc 1 4234 23 is_stmt 0 view .LVU3176
9018 0078 454B ldr r3, .L570
9019 007a 6363 str r3, [r4, #52]
4236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9020 .loc 1 4236 5 is_stmt 1 view .LVU3177
4236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9021 .loc 1 4236 13 is_stmt 0 view .LVU3178
9022 007c E36B ldr r3, [r4, #60]
4236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9023 .loc 1 4236 8 view .LVU3179
9024 007e 002B cmp r3, #0
9025 0080 54D0 beq .L559
4239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9026 .loc 1 4239 7 is_stmt 1 view .LVU3180
4239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9027 .loc 1 4239 38 is_stmt 0 view .LVU3181
9028 0082 444A ldr r2, .L570+4
9029 0084 DA62 str r2, [r3, #44]
4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9030 .loc 1 4242 7 is_stmt 1 view .LVU3182
4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9031 .loc 1 4242 11 is_stmt 0 view .LVU3183
9032 0086 E36B ldr r3, [r4, #60]
4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9033 .loc 1 4242 39 view .LVU3184
9034 0088 434A ldr r2, .L570+8
9035 008a 5A63 str r2, [r3, #52]
4245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
9036 .loc 1 4245 7 is_stmt 1 view .LVU3185
4245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
9037 .loc 1 4245 11 is_stmt 0 view .LVU3186
9038 008c E26B ldr r2, [r4, #60]
4245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
9039 .loc 1 4245 42 view .LVU3187
ARM GAS /tmp/ccbUHtu7.s page 333
9040 008e 0023 movs r3, #0
9041 0090 1363 str r3, [r2, #48]
4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9042 .loc 1 4246 7 is_stmt 1 view .LVU3188
4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9043 .loc 1 4246 11 is_stmt 0 view .LVU3189
9044 0092 E26B ldr r2, [r4, #60]
4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9045 .loc 1 4246 39 view .LVU3190
9046 0094 9363 str r3, [r2, #56]
4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
9047 .loc 1 4249 7 is_stmt 1 view .LVU3191
4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
9048 .loc 1 4249 69 is_stmt 0 view .LVU3192
9049 0096 2168 ldr r1, [r4]
4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
9050 .loc 1 4249 23 view .LVU3193
9051 0098 238D ldrh r3, [r4, #40]
9052 009a 3A46 mov r2, r7
9053 009c 2431 adds r1, r1, #36
9054 009e E06B ldr r0, [r4, #60]
9055 00a0 FFF7FEFF bl HAL_DMA_Start_IT
9056 .LVL607:
4267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9057 .loc 1 4267 5 is_stmt 1 view .LVU3194
4267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9058 .loc 1 4267 8 is_stmt 0 view .LVU3195
9059 00a4 0546 mov r5, r0
9060 .LVL608:
4267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9061 .loc 1 4267 8 view .LVU3196
9062 00a6 0028 cmp r0, #0
9063 00a8 4ED0 beq .L560
4278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9064 .loc 1 4278 7 is_stmt 1 view .LVU3197
4278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9065 .loc 1 4278 23 is_stmt 0 view .LVU3198
9066 00aa 2823 movs r3, #40
9067 00ac 84F84130 strb r3, [r4, #65]
4279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9068 .loc 1 4279 7 is_stmt 1 view .LVU3199
4279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9069 .loc 1 4279 23 is_stmt 0 view .LVU3200
9070 00b0 0022 movs r2, #0
9071 00b2 84F84220 strb r2, [r4, #66]
4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9072 .loc 1 4282 7 is_stmt 1 view .LVU3201
4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9073 .loc 1 4282 11 is_stmt 0 view .LVU3202
9074 00b6 636C ldr r3, [r4, #68]
4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9075 .loc 1 4282 23 view .LVU3203
9076 00b8 43F01003 orr r3, r3, #16
9077 00bc 6364 str r3, [r4, #68]
4285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9078 .loc 1 4285 7 is_stmt 1 view .LVU3204
4285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 334
9079 .loc 1 4285 7 view .LVU3205
9080 00be 84F84020 strb r2, [r4, #64]
4285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9081 .loc 1 4285 7 view .LVU3206
4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9082 .loc 1 4287 7 view .LVU3207
4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9083 .loc 1 4287 14 is_stmt 0 view .LVU3208
9084 00c2 0125 movs r5, #1
9085 00c4 5FE0 b .L554
9086 .LVL609:
9087 .L568:
4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9088 .loc 1 4173 7 is_stmt 1 view .LVU3209
9089 00c6 0121 movs r1, #1
9090 00c8 2046 mov r0, r4
9091 00ca FFF7FEFF bl I2C_Disable_IRQ
9092 .LVL610:
4175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9093 .loc 1 4175 7 view .LVU3210
4175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9094 .loc 1 4175 16 is_stmt 0 view .LVU3211
9095 00ce 2368 ldr r3, [r4]
4175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9096 .loc 1 4175 26 view .LVU3212
9097 00d0 1A68 ldr r2, [r3]
4175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9098 .loc 1 4175 10 view .LVU3213
9099 00d2 12F4804F tst r2, #16384
9100 00d6 BDD0 beq .L558
4178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9101 .loc 1 4178 9 is_stmt 1 view .LVU3214
4178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9102 .loc 1 4178 17 is_stmt 0 view .LVU3215
9103 00d8 A26B ldr r2, [r4, #56]
4178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9104 .loc 1 4178 12 view .LVU3216
9105 00da 002A cmp r2, #0
9106 00dc BAD0 beq .L558
4180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9107 .loc 1 4180 11 is_stmt 1 view .LVU3217
4180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9108 .loc 1 4180 25 is_stmt 0 view .LVU3218
9109 00de 1A68 ldr r2, [r3]
4180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9110 .loc 1 4180 31 view .LVU3219
9111 00e0 22F48042 bic r2, r2, #16384
9112 00e4 1A60 str r2, [r3]
4184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9113 .loc 1 4184 11 is_stmt 1 view .LVU3220
4184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9114 .loc 1 4184 15 is_stmt 0 view .LVU3221
9115 00e6 A36B ldr r3, [r4, #56]
4184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9116 .loc 1 4184 43 view .LVU3222
9117 00e8 2C4A ldr r2, .L570+12
9118 00ea 9A63 str r2, [r3, #56]
ARM GAS /tmp/ccbUHtu7.s page 335
4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9119 .loc 1 4187 11 is_stmt 1 view .LVU3223
4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9120 .loc 1 4187 15 is_stmt 0 view .LVU3224
9121 00ec A06B ldr r0, [r4, #56]
9122 00ee FFF7FEFF bl HAL_DMA_Abort_IT
9123 .LVL611:
4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9124 .loc 1 4187 14 view .LVU3225
9125 00f2 0028 cmp r0, #0
9126 00f4 AED0 beq .L558
4190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9127 .loc 1 4190 13 is_stmt 1 view .LVU3226
4190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9128 .loc 1 4190 17 is_stmt 0 view .LVU3227
9129 00f6 A06B ldr r0, [r4, #56]
4190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9130 .loc 1 4190 25 view .LVU3228
9131 00f8 836B ldr r3, [r0, #56]
4190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9132 .loc 1 4190 13 view .LVU3229
9133 00fa 9847 blx r3
9134 .LVL612:
9135 00fc AAE7 b .L558
9136 .L569:
4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9137 .loc 1 4197 7 is_stmt 1 view .LVU3230
4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9138 .loc 1 4197 16 is_stmt 0 view .LVU3231
9139 00fe 2368 ldr r3, [r4]
4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9140 .loc 1 4197 26 view .LVU3232
9141 0100 1A68 ldr r2, [r3]
4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9142 .loc 1 4197 10 view .LVU3233
9143 0102 12F4004F tst r2, #32768
9144 0106 A5D0 beq .L558
4199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9145 .loc 1 4199 9 is_stmt 1 view .LVU3234
4199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9146 .loc 1 4199 23 is_stmt 0 view .LVU3235
9147 0108 1A68 ldr r2, [r3]
4199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9148 .loc 1 4199 29 view .LVU3236
9149 010a 22F40042 bic r2, r2, #32768
9150 010e 1A60 str r2, [r3]
4202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9151 .loc 1 4202 9 is_stmt 1 view .LVU3237
4202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9152 .loc 1 4202 17 is_stmt 0 view .LVU3238
9153 0110 E36B ldr r3, [r4, #60]
4202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9154 .loc 1 4202 12 view .LVU3239
9155 0112 002B cmp r3, #0
9156 0114 9ED0 beq .L558
4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9157 .loc 1 4206 11 is_stmt 1 view .LVU3240
ARM GAS /tmp/ccbUHtu7.s page 336
4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9158 .loc 1 4206 43 is_stmt 0 view .LVU3241
9159 0116 214A ldr r2, .L570+12
9160 0118 9A63 str r2, [r3, #56]
4209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9161 .loc 1 4209 11 is_stmt 1 view .LVU3242
4209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9162 .loc 1 4209 15 is_stmt 0 view .LVU3243
9163 011a E06B ldr r0, [r4, #60]
9164 011c FFF7FEFF bl HAL_DMA_Abort_IT
9165 .LVL613:
4209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9166 .loc 1 4209 14 view .LVU3244
9167 0120 0028 cmp r0, #0
9168 0122 97D0 beq .L558
4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9169 .loc 1 4212 13 is_stmt 1 view .LVU3245
4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9170 .loc 1 4212 17 is_stmt 0 view .LVU3246
9171 0124 E06B ldr r0, [r4, #60]
4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9172 .loc 1 4212 25 view .LVU3247
9173 0126 836B ldr r3, [r0, #56]
4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9174 .loc 1 4212 13 view .LVU3248
9175 0128 9847 blx r3
9176 .LVL614:
9177 012a 93E7 b .L558
9178 .L559:
4255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9179 .loc 1 4255 7 is_stmt 1 view .LVU3249
4255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9180 .loc 1 4255 23 is_stmt 0 view .LVU3250
9181 012c 2823 movs r3, #40
9182 012e 84F84130 strb r3, [r4, #65]
4256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9183 .loc 1 4256 7 is_stmt 1 view .LVU3251
4256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9184 .loc 1 4256 23 is_stmt 0 view .LVU3252
9185 0132 0022 movs r2, #0
9186 0134 84F84220 strb r2, [r4, #66]
4259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9187 .loc 1 4259 7 is_stmt 1 view .LVU3253
4259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9188 .loc 1 4259 11 is_stmt 0 view .LVU3254
9189 0138 636C ldr r3, [r4, #68]
4259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9190 .loc 1 4259 23 view .LVU3255
9191 013a 43F08003 orr r3, r3, #128
9192 013e 6364 str r3, [r4, #68]
4262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9193 .loc 1 4262 7 is_stmt 1 view .LVU3256
4262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9194 .loc 1 4262 7 view .LVU3257
9195 0140 84F84020 strb r2, [r4, #64]
4262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9196 .loc 1 4262 7 view .LVU3258
ARM GAS /tmp/ccbUHtu7.s page 337
4264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9197 .loc 1 4264 7 view .LVU3259
4264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9198 .loc 1 4264 14 is_stmt 0 view .LVU3260
9199 0144 0125 movs r5, #1
9200 .LVL615:
4264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9201 .loc 1 4264 14 view .LVU3261
9202 0146 1EE0 b .L554
9203 .LVL616:
9204 .L560:
4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9205 .loc 1 4270 7 is_stmt 1 view .LVU3262
4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9206 .loc 1 4270 11 is_stmt 0 view .LVU3263
9207 0148 638D ldrh r3, [r4, #42]
9208 014a 9BB2 uxth r3, r3
4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9209 .loc 1 4270 30 view .LVU3264
9210 014c 228D ldrh r2, [r4, #40]
4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9211 .loc 1 4270 23 view .LVU3265
9212 014e 9B1A subs r3, r3, r2
9213 0150 9BB2 uxth r3, r3
9214 0152 6385 strh r3, [r4, #42] @ movhi
4273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9215 .loc 1 4273 7 is_stmt 1 view .LVU3266
4273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9216 .loc 1 4273 22 is_stmt 0 view .LVU3267
9217 0154 0023 movs r3, #0
9218 0156 2385 strh r3, [r4, #40] @ movhi
4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9219 .loc 1 4290 5 is_stmt 1 view .LVU3268
4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9220 .loc 1 4290 9 is_stmt 0 view .LVU3269
9221 0158 2368 ldr r3, [r4]
9222 015a 9A69 ldr r2, [r3, #24]
4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9223 .loc 1 4290 8 view .LVU3270
9224 015c 12F4803F tst r2, #65536
9225 0160 0DD0 beq .L562
9226 .L563:
4298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9227 .loc 1 4298 5 is_stmt 1 view .LVU3271
4298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9228 .loc 1 4298 5 view .LVU3272
9229 0162 0023 movs r3, #0
9230 0164 84F84030 strb r3, [r4, #64]
4298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9231 .loc 1 4298 5 view .LVU3273
4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9232 .loc 1 4301 5 view .LVU3274
4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9233 .loc 1 4301 9 is_stmt 0 view .LVU3275
9234 0168 2268 ldr r2, [r4]
4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9235 .loc 1 4301 19 view .LVU3276
ARM GAS /tmp/ccbUHtu7.s page 338
9236 016a 1368 ldr r3, [r2]
4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9237 .loc 1 4301 25 view .LVU3277
9238 016c 43F40043 orr r3, r3, #32768
9239 0170 1360 str r3, [r2]
4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9240 .loc 1 4307 5 is_stmt 1 view .LVU3278
9241 0172 48F20201 movw r1, #32770
9242 0176 2046 mov r0, r4
9243 .LVL617:
4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9244 .loc 1 4307 5 is_stmt 0 view .LVU3279
9245 0178 FFF7FEFF bl I2C_Enable_IRQ
9246 .LVL618:
4309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9247 .loc 1 4309 5 is_stmt 1 view .LVU3280
4309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9248 .loc 1 4309 12 is_stmt 0 view .LVU3281
9249 017c 03E0 b .L554
9250 .LVL619:
9251 .L562:
4294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9252 .loc 1 4294 7 is_stmt 1 view .LVU3282
9253 017e 0822 movs r2, #8
9254 0180 DA61 str r2, [r3, #28]
9255 0182 EEE7 b .L563
9256 .LVL620:
9257 .L564:
4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9258 .loc 1 4313 12 is_stmt 0 view .LVU3283
9259 0184 0125 movs r5, #1
9260 .LVL621:
9261 .L554:
4315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9262 .loc 1 4315 1 view .LVU3284
9263 0186 2846 mov r0, r5
9264 0188 F8BD pop {r3, r4, r5, r6, r7, pc}
9265 .LVL622:
9266 .L565:
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9267 .loc 1 4166 5 view .LVU3285
9268 018a 0225 movs r5, #2
9269 .LVL623:
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9270 .loc 1 4166 5 view .LVU3286
9271 018c FBE7 b .L554
9272 .L571:
9273 018e 00BF .align 2
9274 .L570:
9275 0190 00000000 .word I2C_Slave_ISR_DMA
9276 0194 00000000 .word I2C_DMASlaveReceiveCplt
9277 0198 00000000 .word I2C_DMAError
9278 019c 00000000 .word I2C_DMAAbort
9279 .cfi_endproc
9280 .LFE359:
9282 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits
9283 .align 1
ARM GAS /tmp/ccbUHtu7.s page 339
9284 .global HAL_I2C_EnableListen_IT
9285 .syntax unified
9286 .thumb
9287 .thumb_func
9289 HAL_I2C_EnableListen_IT:
9290 .LVL624:
9291 .LFB360:
4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
9292 .loc 1 4324 1 is_stmt 1 view -0
9293 .cfi_startproc
9294 @ args = 0, pretend = 0, frame = 0
9295 @ frame_needed = 0, uses_anonymous_args = 0
4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
9296 .loc 1 4324 1 is_stmt 0 view .LVU3288
9297 0000 08B5 push {r3, lr}
9298 .LCFI103:
9299 .cfi_def_cfa_offset 8
9300 .cfi_offset 3, -8
9301 .cfi_offset 14, -4
4325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9302 .loc 1 4325 3 is_stmt 1 view .LVU3289
4325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9303 .loc 1 4325 11 is_stmt 0 view .LVU3290
9304 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
9305 0006 DBB2 uxtb r3, r3
4325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9306 .loc 1 4325 6 view .LVU3291
9307 0008 202B cmp r3, #32
9308 000a 01D0 beq .L576
4337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9309 .loc 1 4337 12 view .LVU3292
9310 000c 0220 movs r0, #2
9311 .LVL625:
9312 .L573:
4339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9313 .loc 1 4339 1 view .LVU3293
9314 000e 08BD pop {r3, pc}
9315 .LVL626:
9316 .L576:
4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9317 .loc 1 4327 5 is_stmt 1 view .LVU3294
4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9318 .loc 1 4327 17 is_stmt 0 view .LVU3295
9319 0010 2823 movs r3, #40
9320 0012 80F84130 strb r3, [r0, #65]
4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9321 .loc 1 4328 5 is_stmt 1 view .LVU3296
4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9322 .loc 1 4328 19 is_stmt 0 view .LVU3297
9323 0016 044B ldr r3, .L577
9324 0018 4363 str r3, [r0, #52]
4331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9325 .loc 1 4331 5 is_stmt 1 view .LVU3298
9326 001a 4FF40041 mov r1, #32768
9327 001e FFF7FEFF bl I2C_Enable_IRQ
9328 .LVL627:
4333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 340
9329 .loc 1 4333 5 view .LVU3299
4333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9330 .loc 1 4333 12 is_stmt 0 view .LVU3300
9331 0022 0020 movs r0, #0
9332 0024 F3E7 b .L573
9333 .L578:
9334 0026 00BF .align 2
9335 .L577:
9336 0028 00000000 .word I2C_Slave_ISR_IT
9337 .cfi_endproc
9338 .LFE360:
9340 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits
9341 .align 1
9342 .global HAL_I2C_DisableListen_IT
9343 .syntax unified
9344 .thumb
9345 .thumb_func
9347 HAL_I2C_DisableListen_IT:
9348 .LVL628:
9349 .LFB361:
4348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9350 .loc 1 4348 1 is_stmt 1 view -0
9351 .cfi_startproc
9352 @ args = 0, pretend = 0, frame = 0
9353 @ frame_needed = 0, uses_anonymous_args = 0
4350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9354 .loc 1 4350 3 view .LVU3302
4353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9355 .loc 1 4353 3 view .LVU3303
4353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9356 .loc 1 4353 11 is_stmt 0 view .LVU3304
9357 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
9358 0004 DBB2 uxtb r3, r3
4353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9359 .loc 1 4353 6 view .LVU3305
9360 0006 282B cmp r3, #40
9361 0008 01D0 beq .L586
4368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9362 .loc 1 4368 12 view .LVU3306
9363 000a 0220 movs r0, #2
9364 .LVL629:
4370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9365 .loc 1 4370 1 view .LVU3307
9366 000c 7047 bx lr
9367 .LVL630:
9368 .L586:
4348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9369 .loc 1 4348 1 view .LVU3308
9370 000e 10B5 push {r4, lr}
9371 .LCFI104:
9372 .cfi_def_cfa_offset 8
9373 .cfi_offset 4, -8
9374 .cfi_offset 14, -4
4355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
9375 .loc 1 4355 5 is_stmt 1 view .LVU3309
4355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
9376 .loc 1 4355 26 is_stmt 0 view .LVU3310
ARM GAS /tmp/ccbUHtu7.s page 341
9377 0010 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
9378 .LVL631:
4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9379 .loc 1 4356 5 is_stmt 1 view .LVU3311
4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9380 .loc 1 4356 48 is_stmt 0 view .LVU3312
9381 0014 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9382 .loc 1 4356 31 view .LVU3313
9383 0018 02F00302 and r2, r2, #3
9384 .LVL632:
4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9385 .loc 1 4356 31 view .LVU3314
9386 001c 1343 orrs r3, r3, r2
4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9387 .loc 1 4356 25 view .LVU3315
9388 001e 0363 str r3, [r0, #48]
4357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9389 .loc 1 4357 5 is_stmt 1 view .LVU3316
4357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9390 .loc 1 4357 17 is_stmt 0 view .LVU3317
9391 0020 2023 movs r3, #32
9392 0022 80F84130 strb r3, [r0, #65]
4358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
9393 .loc 1 4358 5 is_stmt 1 view .LVU3318
4358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
9394 .loc 1 4358 16 is_stmt 0 view .LVU3319
9395 0026 0024 movs r4, #0
9396 0028 80F84240 strb r4, [r0, #66]
4359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9397 .loc 1 4359 5 is_stmt 1 view .LVU3320
4359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9398 .loc 1 4359 19 is_stmt 0 view .LVU3321
9399 002c 4463 str r4, [r0, #52]
4362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9400 .loc 1 4362 5 is_stmt 1 view .LVU3322
9401 002e 4FF40041 mov r1, #32768
9402 0032 FFF7FEFF bl I2C_Disable_IRQ
9403 .LVL633:
4364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9404 .loc 1 4364 5 view .LVU3323
4364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9405 .loc 1 4364 12 is_stmt 0 view .LVU3324
9406 0036 2046 mov r0, r4
4370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9407 .loc 1 4370 1 view .LVU3325
9408 0038 10BD pop {r4, pc}
9409 .cfi_endproc
9410 .LFE361:
9412 .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits
9413 .align 1
9414 .global HAL_I2C_Master_Abort_IT
9415 .syntax unified
9416 .thumb
9417 .thumb_func
9419 HAL_I2C_Master_Abort_IT:
9420 .LVL634:
ARM GAS /tmp/ccbUHtu7.s page 342
9421 .LFB362:
4381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
9422 .loc 1 4381 1 is_stmt 1 view -0
9423 .cfi_startproc
9424 @ args = 0, pretend = 0, frame = 0
9425 @ frame_needed = 0, uses_anonymous_args = 0
4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9426 .loc 1 4382 3 view .LVU3327
4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9427 .loc 1 4382 11 is_stmt 0 view .LVU3328
9428 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
9429 0004 DBB2 uxtb r3, r3
4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9430 .loc 1 4382 6 view .LVU3329
9431 0006 102B cmp r3, #16
9432 0008 36D1 bne .L591
4381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
9433 .loc 1 4381 1 view .LVU3330
9434 000a 30B5 push {r4, r5, lr}
9435 .LCFI105:
9436 .cfi_def_cfa_offset 12
9437 .cfi_offset 4, -12
9438 .cfi_offset 5, -8
9439 .cfi_offset 14, -4
9440 000c 83B0 sub sp, sp, #12
9441 .LCFI106:
9442 .cfi_def_cfa_offset 24
9443 000e 0446 mov r4, r0
9444 0010 0D46 mov r5, r1
4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9445 .loc 1 4385 5 is_stmt 1 view .LVU3331
4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9446 .loc 1 4385 5 view .LVU3332
9447 0012 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
9448 0016 012B cmp r3, #1
9449 0018 30D0 beq .L592
4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9450 .loc 1 4385 5 discriminator 2 view .LVU3333
9451 001a 0123 movs r3, #1
9452 001c 80F84030 strb r3, [r0, #64]
4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9453 .loc 1 4385 5 discriminator 2 view .LVU3334
4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9454 .loc 1 4388 5 discriminator 2 view .LVU3335
4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9455 .loc 1 4388 13 is_stmt 0 discriminator 2 view .LVU3336
9456 0020 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
9457 0024 DBB2 uxtb r3, r3
4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9458 .loc 1 4388 8 discriminator 2 view .LVU3337
9459 0026 212B cmp r3, #33
9460 0028 1AD0 beq .L597
4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9461 .loc 1 4393 10 is_stmt 1 view .LVU3338
4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9462 .loc 1 4393 18 is_stmt 0 view .LVU3339
9463 002a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
ARM GAS /tmp/ccbUHtu7.s page 343
9464 002e DBB2 uxtb r3, r3
4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9465 .loc 1 4393 13 view .LVU3340
9466 0030 222B cmp r3, #34
9467 0032 1BD0 beq .L598
9468 .LVL635:
9469 .L590:
4401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9470 .loc 1 4401 5 is_stmt 1 view .LVU3341
4404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9471 .loc 1 4404 5 view .LVU3342
4404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9472 .loc 1 4404 17 is_stmt 0 view .LVU3343
9473 0034 6023 movs r3, #96
9474 0036 84F84130 strb r3, [r4, #65]
4408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9475 .loc 1 4408 5 is_stmt 1 view .LVU3344
9476 003a 114B ldr r3, .L599
9477 003c 0093 str r3, [sp]
9478 003e 4FF00073 mov r3, #33554432
9479 0042 0122 movs r2, #1
9480 0044 2946 mov r1, r5
9481 0046 2046 mov r0, r4
9482 0048 FFF7FEFF bl I2C_TransferConfig
9483 .LVL636:
4411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9484 .loc 1 4411 5 view .LVU3345
4411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9485 .loc 1 4411 5 view .LVU3346
9486 004c 0025 movs r5, #0
9487 004e 84F84050 strb r5, [r4, #64]
4411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9488 .loc 1 4411 5 view .LVU3347
4416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9489 .loc 1 4416 5 view .LVU3348
9490 0052 2021 movs r1, #32
9491 0054 2046 mov r0, r4
9492 0056 FFF7FEFF bl I2C_Enable_IRQ
9493 .LVL637:
4418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9494 .loc 1 4418 5 view .LVU3349
4418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9495 .loc 1 4418 12 is_stmt 0 view .LVU3350
9496 005a 2846 mov r0, r5
9497 .L588:
4426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9498 .loc 1 4426 1 view .LVU3351
9499 005c 03B0 add sp, sp, #12
9500 .LCFI107:
9501 .cfi_remember_state
9502 .cfi_def_cfa_offset 12
9503 @ sp needed
9504 005e 30BD pop {r4, r5, pc}
9505 .LVL638:
9506 .L597:
9507 .LCFI108:
9508 .cfi_restore_state
ARM GAS /tmp/ccbUHtu7.s page 344
4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
9509 .loc 1 4390 7 is_stmt 1 view .LVU3352
9510 0060 0121 movs r1, #1
9511 .LVL639:
4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
9512 .loc 1 4390 7 is_stmt 0 view .LVU3353
9513 0062 FFF7FEFF bl I2C_Disable_IRQ
9514 .LVL640:
4391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9515 .loc 1 4391 7 is_stmt 1 view .LVU3354
4391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9516 .loc 1 4391 27 is_stmt 0 view .LVU3355
9517 0066 1123 movs r3, #17
9518 0068 2363 str r3, [r4, #48]
9519 006a E3E7 b .L590
9520 .LVL641:
9521 .L598:
4395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
9522 .loc 1 4395 7 is_stmt 1 view .LVU3356
9523 006c 0221 movs r1, #2
9524 .LVL642:
4395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
9525 .loc 1 4395 7 is_stmt 0 view .LVU3357
9526 006e FFF7FEFF bl I2C_Disable_IRQ
9527 .LVL643:
4396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9528 .loc 1 4396 7 is_stmt 1 view .LVU3358
4396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9529 .loc 1 4396 27 is_stmt 0 view .LVU3359
9530 0072 1223 movs r3, #18
9531 0074 2363 str r3, [r4, #48]
9532 0076 DDE7 b .L590
9533 .LVL644:
9534 .L591:
9535 .LCFI109:
9536 .cfi_def_cfa_offset 0
9537 .cfi_restore 4
9538 .cfi_restore 5
9539 .cfi_restore 14
4424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9540 .loc 1 4424 12 view .LVU3360
9541 0078 0120 movs r0, #1
9542 .LVL645:
4426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9543 .loc 1 4426 1 view .LVU3361
9544 007a 7047 bx lr
9545 .LVL646:
9546 .L592:
9547 .LCFI110:
9548 .cfi_def_cfa_offset 24
9549 .cfi_offset 4, -12
9550 .cfi_offset 5, -8
9551 .cfi_offset 14, -4
4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9552 .loc 1 4385 5 view .LVU3362
9553 007c 0220 movs r0, #2
9554 .LVL647:
ARM GAS /tmp/ccbUHtu7.s page 345
4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9555 .loc 1 4385 5 view .LVU3363
9556 007e EDE7 b .L588
9557 .L600:
9558 .align 2
9559 .L599:
9560 0080 00400080 .word -2147467264
9561 .cfi_endproc
9562 .LFE362:
9564 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits
9565 .align 1
9566 .global HAL_I2C_EV_IRQHandler
9567 .syntax unified
9568 .thumb
9569 .thumb_func
9571 HAL_I2C_EV_IRQHandler:
9572 .LVL648:
9573 .LFB363:
4443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
9574 .loc 1 4443 1 is_stmt 1 view -0
9575 .cfi_startproc
9576 @ args = 0, pretend = 0, frame = 0
9577 @ frame_needed = 0, uses_anonymous_args = 0
4443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
9578 .loc 1 4443 1 is_stmt 0 view .LVU3365
9579 0000 08B5 push {r3, lr}
9580 .LCFI111:
9581 .cfi_def_cfa_offset 8
9582 .cfi_offset 3, -8
9583 .cfi_offset 14, -4
4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
9584 .loc 1 4445 3 is_stmt 1 view .LVU3366
4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
9585 .loc 1 4445 24 is_stmt 0 view .LVU3367
9586 0002 0368 ldr r3, [r0]
4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
9587 .loc 1 4445 12 view .LVU3368
9588 0004 9969 ldr r1, [r3, #24]
9589 .LVL649:
4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9590 .loc 1 4446 3 is_stmt 1 view .LVU3369
4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9591 .loc 1 4446 12 is_stmt 0 view .LVU3370
9592 0006 1A68 ldr r2, [r3]
9593 .LVL650:
4449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9594 .loc 1 4449 3 is_stmt 1 view .LVU3371
4449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9595 .loc 1 4449 11 is_stmt 0 view .LVU3372
9596 0008 436B ldr r3, [r0, #52]
4449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9597 .loc 1 4449 6 view .LVU3373
9598 000a 03B1 cbz r3, .L601
4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9599 .loc 1 4451 5 is_stmt 1 view .LVU3374
9600 000c 9847 blx r3
9601 .LVL651:
ARM GAS /tmp/ccbUHtu7.s page 346
9602 .L601:
4453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9603 .loc 1 4453 1 is_stmt 0 view .LVU3375
9604 000e 08BD pop {r3, pc}
9605 .cfi_endproc
9606 .LFE363:
9608 .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
9609 .align 1
9610 .weak HAL_I2C_MasterTxCpltCallback
9611 .syntax unified
9612 .thumb
9613 .thumb_func
9615 HAL_I2C_MasterTxCpltCallback:
9616 .LVL652:
9617 .LFB365:
4514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
9618 .loc 1 4514 1 is_stmt 1 view -0
9619 .cfi_startproc
9620 @ args = 0, pretend = 0, frame = 0
9621 @ frame_needed = 0, uses_anonymous_args = 0
9622 @ link register save eliminated.
4516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9623 .loc 1 4516 3 view .LVU3377
4521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9624 .loc 1 4521 1 is_stmt 0 view .LVU3378
9625 0000 7047 bx lr
9626 .cfi_endproc
9627 .LFE365:
9629 .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
9630 .align 1
9631 .weak HAL_I2C_MasterRxCpltCallback
9632 .syntax unified
9633 .thumb
9634 .thumb_func
9636 HAL_I2C_MasterRxCpltCallback:
9637 .LVL653:
9638 .LFB366:
4530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
9639 .loc 1 4530 1 is_stmt 1 view -0
9640 .cfi_startproc
9641 @ args = 0, pretend = 0, frame = 0
9642 @ frame_needed = 0, uses_anonymous_args = 0
9643 @ link register save eliminated.
4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9644 .loc 1 4532 3 view .LVU3380
4537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9645 .loc 1 4537 1 is_stmt 0 view .LVU3381
9646 0000 7047 bx lr
9647 .cfi_endproc
9648 .LFE366:
9650 .section .text.I2C_ITMasterSeqCplt,"ax",%progbits
9651 .align 1
9652 .syntax unified
9653 .thumb
9654 .thumb_func
9656 I2C_ITMasterSeqCplt:
9657 .LVL654:
ARM GAS /tmp/ccbUHtu7.s page 347
9658 .LFB385:
5515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset I2C handle mode */
9659 .loc 1 5515 1 is_stmt 1 view -0
9660 .cfi_startproc
9661 @ args = 0, pretend = 0, frame = 0
9662 @ frame_needed = 0, uses_anonymous_args = 0
5515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset I2C handle mode */
9663 .loc 1 5515 1 is_stmt 0 view .LVU3383
9664 0000 38B5 push {r3, r4, r5, lr}
9665 .LCFI112:
9666 .cfi_def_cfa_offset 16
9667 .cfi_offset 3, -16
9668 .cfi_offset 4, -12
9669 .cfi_offset 5, -8
9670 .cfi_offset 14, -4
9671 0002 0446 mov r4, r0
5517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9672 .loc 1 5517 3 is_stmt 1 view .LVU3384
5517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9673 .loc 1 5517 14 is_stmt 0 view .LVU3385
9674 0004 0023 movs r3, #0
9675 0006 80F84230 strb r3, [r0, #66]
5521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9676 .loc 1 5521 3 is_stmt 1 view .LVU3386
5521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9677 .loc 1 5521 11 is_stmt 0 view .LVU3387
9678 000a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
9679 000e DBB2 uxtb r3, r3
5521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9680 .loc 1 5521 6 view .LVU3388
9681 0010 212B cmp r3, #33
9682 0012 0FD0 beq .L610
5543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
9683 .loc 1 5543 5 is_stmt 1 view .LVU3389
5543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
9684 .loc 1 5543 25 is_stmt 0 view .LVU3390
9685 0014 2023 movs r3, #32
9686 0016 80F84130 strb r3, [r0, #65]
5544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
9687 .loc 1 5544 5 is_stmt 1 view .LVU3391
5544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
9688 .loc 1 5544 25 is_stmt 0 view .LVU3392
9689 001a 1223 movs r3, #18
9690 001c 0363 str r3, [r0, #48]
5545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9691 .loc 1 5545 5 is_stmt 1 view .LVU3393
5545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9692 .loc 1 5545 25 is_stmt 0 view .LVU3394
9693 001e 0025 movs r5, #0
9694 0020 4563 str r5, [r0, #52]
5548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9695 .loc 1 5548 5 is_stmt 1 view .LVU3395
9696 0022 0221 movs r1, #2
9697 0024 FFF7FEFF bl I2C_Disable_IRQ
9698 .LVL655:
5551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9699 .loc 1 5551 5 view .LVU3396
ARM GAS /tmp/ccbUHtu7.s page 348
5551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9700 .loc 1 5551 5 view .LVU3397
9701 0028 84F84050 strb r5, [r4, #64]
5551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9702 .loc 1 5551 5 view .LVU3398
5557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
9703 .loc 1 5557 5 view .LVU3399
9704 002c 2046 mov r0, r4
9705 002e FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
9706 .LVL656:
9707 .L606:
5560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9708 .loc 1 5560 1 is_stmt 0 view .LVU3400
9709 0032 38BD pop {r3, r4, r5, pc}
9710 .LVL657:
9711 .L610:
5523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
9712 .loc 1 5523 5 is_stmt 1 view .LVU3401
5523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
9713 .loc 1 5523 25 is_stmt 0 view .LVU3402
9714 0034 2023 movs r3, #32
9715 0036 80F84130 strb r3, [r0, #65]
5524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
9716 .loc 1 5524 5 is_stmt 1 view .LVU3403
5524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
9717 .loc 1 5524 25 is_stmt 0 view .LVU3404
9718 003a 1123 movs r3, #17
9719 003c 0363 str r3, [r0, #48]
5525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9720 .loc 1 5525 5 is_stmt 1 view .LVU3405
5525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9721 .loc 1 5525 25 is_stmt 0 view .LVU3406
9722 003e 0025 movs r5, #0
9723 0040 4563 str r5, [r0, #52]
5528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9724 .loc 1 5528 5 is_stmt 1 view .LVU3407
9725 0042 0121 movs r1, #1
9726 0044 FFF7FEFF bl I2C_Disable_IRQ
9727 .LVL658:
5531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9728 .loc 1 5531 5 view .LVU3408
5531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9729 .loc 1 5531 5 view .LVU3409
9730 0048 84F84050 strb r5, [r4, #64]
5531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9731 .loc 1 5531 5 view .LVU3410
5537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
9732 .loc 1 5537 5 view .LVU3411
9733 004c 2046 mov r0, r4
9734 004e FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
9735 .LVL659:
9736 0052 EEE7 b .L606
9737 .cfi_endproc
9738 .LFE385:
9740 .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
9741 .align 1
9742 .weak HAL_I2C_SlaveTxCpltCallback
ARM GAS /tmp/ccbUHtu7.s page 349
9743 .syntax unified
9744 .thumb
9745 .thumb_func
9747 HAL_I2C_SlaveTxCpltCallback:
9748 .LVL660:
9749 .LFB367:
4545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
9750 .loc 1 4545 1 view -0
9751 .cfi_startproc
9752 @ args = 0, pretend = 0, frame = 0
9753 @ frame_needed = 0, uses_anonymous_args = 0
9754 @ link register save eliminated.
4547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9755 .loc 1 4547 3 view .LVU3413
4552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9756 .loc 1 4552 1 is_stmt 0 view .LVU3414
9757 0000 7047 bx lr
9758 .cfi_endproc
9759 .LFE367:
9761 .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
9762 .align 1
9763 .weak HAL_I2C_SlaveRxCpltCallback
9764 .syntax unified
9765 .thumb
9766 .thumb_func
9768 HAL_I2C_SlaveRxCpltCallback:
9769 .LVL661:
9770 .LFB368:
4561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
9771 .loc 1 4561 1 is_stmt 1 view -0
9772 .cfi_startproc
9773 @ args = 0, pretend = 0, frame = 0
9774 @ frame_needed = 0, uses_anonymous_args = 0
9775 @ link register save eliminated.
4563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9776 .loc 1 4563 3 view .LVU3416
4568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9777 .loc 1 4568 1 is_stmt 0 view .LVU3417
9778 0000 7047 bx lr
9779 .cfi_endproc
9780 .LFE368:
9782 .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits
9783 .align 1
9784 .syntax unified
9785 .thumb
9786 .thumb_func
9788 I2C_ITSlaveSeqCplt:
9789 .LVL662:
9790 .LFB386:
5568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
9791 .loc 1 5568 1 is_stmt 1 view -0
9792 .cfi_startproc
9793 @ args = 0, pretend = 0, frame = 0
9794 @ frame_needed = 0, uses_anonymous_args = 0
5568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
9795 .loc 1 5568 1 is_stmt 0 view .LVU3419
9796 0000 10B5 push {r4, lr}
ARM GAS /tmp/ccbUHtu7.s page 350
9797 .LCFI113:
9798 .cfi_def_cfa_offset 8
9799 .cfi_offset 4, -8
9800 .cfi_offset 14, -4
9801 0002 0446 mov r4, r0
5569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9802 .loc 1 5569 3 is_stmt 1 view .LVU3420
5569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9803 .loc 1 5569 26 is_stmt 0 view .LVU3421
9804 0004 0368 ldr r3, [r0]
5569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9805 .loc 1 5569 12 view .LVU3422
9806 0006 1A68 ldr r2, [r3]
9807 .LVL663:
5572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9808 .loc 1 5572 3 is_stmt 1 view .LVU3423
5572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9809 .loc 1 5572 14 is_stmt 0 view .LVU3424
9810 0008 0021 movs r1, #0
9811 000a 80F84210 strb r1, [r0, #66]
5575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9812 .loc 1 5575 3 is_stmt 1 view .LVU3425
5575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9813 .loc 1 5575 6 is_stmt 0 view .LVU3426
9814 000e 12F4804F tst r2, #16384
9815 0012 0ED0 beq .L614
5578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9816 .loc 1 5578 5 is_stmt 1 view .LVU3427
5578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9817 .loc 1 5578 19 is_stmt 0 view .LVU3428
9818 0014 1A68 ldr r2, [r3]
9819 .LVL664:
5578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9820 .loc 1 5578 25 view .LVU3429
9821 0016 22F48042 bic r2, r2, #16384
9822 001a 1A60 str r2, [r3]
9823 .L615:
5588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9824 .loc 1 5588 3 is_stmt 1 view .LVU3430
5590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9825 .loc 1 5590 3 view .LVU3431
5590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9826 .loc 1 5590 11 is_stmt 0 view .LVU3432
9827 001c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
9828 0020 DBB2 uxtb r3, r3
5590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9829 .loc 1 5590 6 view .LVU3433
9830 0022 292B cmp r3, #41
9831 0024 0DD0 beq .L619
5610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9832 .loc 1 5610 8 is_stmt 1 view .LVU3434
5610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9833 .loc 1 5610 16 is_stmt 0 view .LVU3435
9834 0026 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
9835 002a DBB2 uxtb r3, r3
5610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9836 .loc 1 5610 11 view .LVU3436
ARM GAS /tmp/ccbUHtu7.s page 351
9837 002c 2A2B cmp r3, #42
9838 002e 18D0 beq .L620
9839 .LVL665:
9840 .L613:
5633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9841 .loc 1 5633 1 view .LVU3437
9842 0030 10BD pop {r4, pc}
9843 .LVL666:
9844 .L614:
5580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9845 .loc 1 5580 8 is_stmt 1 view .LVU3438
5580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9846 .loc 1 5580 11 is_stmt 0 view .LVU3439
9847 0032 12F4004F tst r2, #32768
9848 0036 F1D0 beq .L615
5583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9849 .loc 1 5583 5 is_stmt 1 view .LVU3440
5583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9850 .loc 1 5583 19 is_stmt 0 view .LVU3441
9851 0038 1A68 ldr r2, [r3]
9852 .LVL667:
5583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9853 .loc 1 5583 25 view .LVU3442
9854 003a 22F40042 bic r2, r2, #32768
9855 003e 1A60 str r2, [r3]
9856 0040 ECE7 b .L615
9857 .L619:
5593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
9858 .loc 1 5593 5 is_stmt 1 view .LVU3443
5593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
9859 .loc 1 5593 25 is_stmt 0 view .LVU3444
9860 0042 2823 movs r3, #40
9861 0044 84F84130 strb r3, [r4, #65]
5594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9862 .loc 1 5594 5 is_stmt 1 view .LVU3445
5594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9863 .loc 1 5594 25 is_stmt 0 view .LVU3446
9864 0048 2123 movs r3, #33
9865 004a 2363 str r3, [r4, #48]
5597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9866 .loc 1 5597 5 is_stmt 1 view .LVU3447
9867 004c 0121 movs r1, #1
9868 004e 2046 mov r0, r4
9869 .LVL668:
5597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9870 .loc 1 5597 5 is_stmt 0 view .LVU3448
9871 0050 FFF7FEFF bl I2C_Disable_IRQ
9872 .LVL669:
5600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9873 .loc 1 5600 5 is_stmt 1 view .LVU3449
5600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9874 .loc 1 5600 5 view .LVU3450
9875 0054 0023 movs r3, #0
9876 0056 84F84030 strb r3, [r4, #64]
5600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9877 .loc 1 5600 5 view .LVU3451
5606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
ARM GAS /tmp/ccbUHtu7.s page 352
9878 .loc 1 5606 5 view .LVU3452
9879 005a 2046 mov r0, r4
9880 005c FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
9881 .LVL670:
9882 0060 E6E7 b .L613
9883 .LVL671:
9884 .L620:
5613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
9885 .loc 1 5613 5 view .LVU3453
5613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
9886 .loc 1 5613 25 is_stmt 0 view .LVU3454
9887 0062 2823 movs r3, #40
9888 0064 84F84130 strb r3, [r4, #65]
5614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9889 .loc 1 5614 5 is_stmt 1 view .LVU3455
5614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9890 .loc 1 5614 25 is_stmt 0 view .LVU3456
9891 0068 2223 movs r3, #34
9892 006a 2363 str r3, [r4, #48]
5617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9893 .loc 1 5617 5 is_stmt 1 view .LVU3457
9894 006c 0221 movs r1, #2
9895 006e 2046 mov r0, r4
9896 .LVL672:
5617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9897 .loc 1 5617 5 is_stmt 0 view .LVU3458
9898 0070 FFF7FEFF bl I2C_Disable_IRQ
9899 .LVL673:
5620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9900 .loc 1 5620 5 is_stmt 1 view .LVU3459
5620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9901 .loc 1 5620 5 view .LVU3460
9902 0074 0023 movs r3, #0
9903 0076 84F84030 strb r3, [r4, #64]
5620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9904 .loc 1 5620 5 view .LVU3461
5626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
9905 .loc 1 5626 5 view .LVU3462
9906 007a 2046 mov r0, r4
9907 007c FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
9908 .LVL674:
5632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9909 .loc 1 5632 3 view .LVU3463
5633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9910 .loc 1 5633 1 is_stmt 0 view .LVU3464
9911 0080 D6E7 b .L613
9912 .cfi_endproc
9913 .LFE386:
9915 .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits
9916 .align 1
9917 .syntax unified
9918 .thumb
9919 .thumb_func
9921 I2C_DMASlaveTransmitCplt:
9922 .LVL675:
9923 .LFB394:
6216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
ARM GAS /tmp/ccbUHtu7.s page 353
9924 .loc 1 6216 1 is_stmt 1 view -0
9925 .cfi_startproc
9926 @ args = 0, pretend = 0, frame = 0
9927 @ frame_needed = 0, uses_anonymous_args = 0
6216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
9928 .loc 1 6216 1 is_stmt 0 view .LVU3466
9929 0000 08B5 push {r3, lr}
9930 .LCFI114:
9931 .cfi_def_cfa_offset 8
9932 .cfi_offset 3, -8
9933 .cfi_offset 14, -4
6218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
9934 .loc 1 6218 3 is_stmt 1 view .LVU3467
6218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
9935 .loc 1 6218 22 is_stmt 0 view .LVU3468
9936 0002 806A ldr r0, [r0, #40]
9937 .LVL676:
6219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9938 .loc 1 6219 3 is_stmt 1 view .LVU3469
6219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9939 .loc 1 6219 12 is_stmt 0 view .LVU3470
9940 0004 C36A ldr r3, [r0, #44]
9941 .LVL677:
6221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9942 .loc 1 6221 3 is_stmt 1 view .LVU3471
6221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9943 .loc 1 6221 6 is_stmt 0 view .LVU3472
9944 0006 B3F1807F cmp r3, #16777216
9945 000a 00D0 beq .L622
6221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
9946 .loc 1 6221 38 discriminator 1 view .LVU3473
9947 000c 33B9 cbnz r3, .L621
9948 .L622:
6224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9949 .loc 1 6224 5 is_stmt 1 view .LVU3474
6224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9950 .loc 1 6224 9 is_stmt 0 view .LVU3475
9951 000e 0268 ldr r2, [r0]
6224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9952 .loc 1 6224 19 view .LVU3476
9953 0010 1368 ldr r3, [r2]
9954 .LVL678:
6224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9955 .loc 1 6224 25 view .LVU3477
9956 0012 23F48043 bic r3, r3, #16384
9957 0016 1360 str r3, [r2]
6228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
9958 .loc 1 6228 5 is_stmt 1 view .LVU3478
9959 0018 FFF7FEFF bl I2C_ITSlaveSeqCplt
9960 .LVL679:
9961 .L621:
6236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9962 .loc 1 6236 1 is_stmt 0 view .LVU3479
9963 001c 08BD pop {r3, pc}
9964 .cfi_endproc
9965 .LFE394:
9967 .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits
ARM GAS /tmp/ccbUHtu7.s page 354
9968 .align 1
9969 .syntax unified
9970 .thumb
9971 .thumb_func
9973 I2C_DMASlaveReceiveCplt:
9974 .LVL680:
9975 .LFB396:
6294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
9976 .loc 1 6294 1 is_stmt 1 view -0
9977 .cfi_startproc
9978 @ args = 0, pretend = 0, frame = 0
9979 @ frame_needed = 0, uses_anonymous_args = 0
6294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
9980 .loc 1 6294 1 is_stmt 0 view .LVU3481
9981 0000 08B5 push {r3, lr}
9982 .LCFI115:
9983 .cfi_def_cfa_offset 8
9984 .cfi_offset 3, -8
9985 .cfi_offset 14, -4
6296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
9986 .loc 1 6296 3 is_stmt 1 view .LVU3482
6296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
9987 .loc 1 6296 22 is_stmt 0 view .LVU3483
9988 0002 806A ldr r0, [r0, #40]
9989 .LVL681:
6297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9990 .loc 1 6297 3 is_stmt 1 view .LVU3484
6297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
9991 .loc 1 6297 12 is_stmt 0 view .LVU3485
9992 0004 C26A ldr r2, [r0, #44]
9993 .LVL682:
6299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
9994 .loc 1 6299 3 is_stmt 1 view .LVU3486
6299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
9995 .loc 1 6299 8 is_stmt 0 view .LVU3487
9996 0006 C36B ldr r3, [r0, #60]
9997 0008 1B68 ldr r3, [r3]
9998 000a 5B68 ldr r3, [r3, #4]
6299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
9999 .loc 1 6299 6 view .LVU3488
10000 000c 13B9 cbnz r3, .L625
6299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
10001 .loc 1 6299 53 discriminator 1 view .LVU3489
10002 000e 12F5803F cmn r2, #65536
10003 0012 00D1 bne .L628
10004 .LVL683:
10005 .L625:
6314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10006 .loc 1 6314 1 view .LVU3490
10007 0014 08BD pop {r3, pc}
10008 .LVL684:
10009 .L628:
6303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10010 .loc 1 6303 5 is_stmt 1 view .LVU3491
6303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10011 .loc 1 6303 9 is_stmt 0 view .LVU3492
10012 0016 0268 ldr r2, [r0]
ARM GAS /tmp/ccbUHtu7.s page 355
10013 .LVL685:
6303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10014 .loc 1 6303 19 view .LVU3493
10015 0018 1368 ldr r3, [r2]
6303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10016 .loc 1 6303 25 view .LVU3494
10017 001a 23F40043 bic r3, r3, #32768
10018 001e 1360 str r3, [r2]
6306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10019 .loc 1 6306 5 is_stmt 1 view .LVU3495
10020 0020 FFF7FEFF bl I2C_ITSlaveSeqCplt
10021 .LVL686:
6313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10022 .loc 1 6313 3 view .LVU3496
6314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10023 .loc 1 6314 1 is_stmt 0 view .LVU3497
10024 0024 F6E7 b .L625
10025 .cfi_endproc
10026 .LFE396:
10028 .section .text.HAL_I2C_AddrCallback,"ax",%progbits
10029 .align 1
10030 .weak HAL_I2C_AddrCallback
10031 .syntax unified
10032 .thumb
10033 .thumb_func
10035 HAL_I2C_AddrCallback:
10036 .LVL687:
10037 .LFB369:
4579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10038 .loc 1 4579 1 is_stmt 1 view -0
10039 .cfi_startproc
10040 @ args = 0, pretend = 0, frame = 0
10041 @ frame_needed = 0, uses_anonymous_args = 0
10042 @ link register save eliminated.
4581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(TransferDirection);
10043 .loc 1 4581 3 view .LVU3499
4582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(AddrMatchCode);
10044 .loc 1 4582 3 view .LVU3500
4583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10045 .loc 1 4583 3 view .LVU3501
4588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10046 .loc 1 4588 1 is_stmt 0 view .LVU3502
10047 0000 7047 bx lr
10048 .cfi_endproc
10049 .LFE369:
10051 .section .text.I2C_ITAddrCplt,"ax",%progbits
10052 .align 1
10053 .syntax unified
10054 .thumb
10055 .thumb_func
10057 I2C_ITAddrCplt:
10058 .LVL688:
10059 .LFB384:
5420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint8_t transferdirection;
10060 .loc 1 5420 1 is_stmt 1 view -0
10061 .cfi_startproc
10062 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccbUHtu7.s page 356
10063 @ frame_needed = 0, uses_anonymous_args = 0
5420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint8_t transferdirection;
10064 .loc 1 5420 1 is_stmt 0 view .LVU3504
10065 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
10066 .LCFI116:
10067 .cfi_def_cfa_offset 24
10068 .cfi_offset 3, -24
10069 .cfi_offset 4, -20
10070 .cfi_offset 5, -16
10071 .cfi_offset 6, -12
10072 .cfi_offset 7, -8
10073 .cfi_offset 14, -4
10074 0002 0446 mov r4, r0
5421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t slaveaddrcode;
10075 .loc 1 5421 3 is_stmt 1 view .LVU3505
5422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t ownadd1code;
10076 .loc 1 5422 3 view .LVU3506
5423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t ownadd2code;
10077 .loc 1 5423 3 view .LVU3507
5424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10078 .loc 1 5424 3 view .LVU3508
5427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10079 .loc 1 5427 3 view .LVU3509
5430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10080 .loc 1 5430 3 view .LVU3510
5430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10081 .loc 1 5430 22 is_stmt 0 view .LVU3511
10082 0004 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
5430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10083 .loc 1 5430 6 view .LVU3512
10084 0008 03F02803 and r3, r3, #40
10085 000c 282B cmp r3, #40
10086 000e 06D0 beq .L636
5502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10087 .loc 1 5502 5 is_stmt 1 view .LVU3513
10088 0010 0368 ldr r3, [r0]
10089 0012 0822 movs r2, #8
10090 0014 DA61 str r2, [r3, #28]
5505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10091 .loc 1 5505 5 view .LVU3514
5505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10092 .loc 1 5505 5 view .LVU3515
10093 0016 0023 movs r3, #0
10094 0018 80F84030 strb r3, [r0, #64]
5505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10095 .loc 1 5505 5 view .LVU3516
10096 .LVL689:
10097 .L630:
5507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10098 .loc 1 5507 1 is_stmt 0 view .LVU3517
10099 001c F8BD pop {r3, r4, r5, r6, r7, pc}
10100 .LVL690:
10101 .L636:
5432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
10102 .loc 1 5432 5 is_stmt 1 view .LVU3518
5432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
10103 .loc 1 5432 25 is_stmt 0 view .LVU3519
ARM GAS /tmp/ccbUHtu7.s page 357
10104 001e 0368 ldr r3, [r0]
10105 0020 9E69 ldr r6, [r3, #24]
5432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
10106 .loc 1 5432 23 view .LVU3520
10107 0022 C6F30046 ubfx r6, r6, #16, #1
10108 .LVL691:
5433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
10109 .loc 1 5433 5 is_stmt 1 view .LVU3521
5433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
10110 .loc 1 5433 25 is_stmt 0 view .LVU3522
10111 0026 9A69 ldr r2, [r3, #24]
10112 0028 120C lsrs r2, r2, #16
5433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
10113 .loc 1 5433 23 view .LVU3523
10114 002a 02F0FE05 and r5, r2, #254
10115 .LVL692:
5434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
10116 .loc 1 5434 5 is_stmt 1 view .LVU3524
5434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
10117 .loc 1 5434 25 is_stmt 0 view .LVU3525
10118 002e 9A68 ldr r2, [r3, #8]
5434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
10119 .loc 1 5434 23 view .LVU3526
10120 0030 C2F30902 ubfx r2, r2, #0, #10
10121 .LVL693:
5435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10122 .loc 1 5435 5 is_stmt 1 view .LVU3527
5435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10123 .loc 1 5435 25 is_stmt 0 view .LVU3528
10124 0034 DF68 ldr r7, [r3, #12]
5435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10125 .loc 1 5435 23 view .LVU3529
10126 0036 07F0FE07 and r7, r7, #254
10127 .LVL694:
5438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10128 .loc 1 5438 5 is_stmt 1 view .LVU3530
5438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10129 .loc 1 5438 19 is_stmt 0 view .LVU3531
10130 003a C168 ldr r1, [r0, #12]
10131 .LVL695:
5438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10132 .loc 1 5438 8 view .LVU3532
10133 003c 0229 cmp r1, #2
10134 003e 22D1 bne .L632
5440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10135 .loc 1 5440 7 is_stmt 1 view .LVU3533
5440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10136 .loc 1 5440 44 is_stmt 0 view .LVU3534
10137 0040 85EAD215 eor r5, r5, r2, lsr #7
10138 .LVL696:
5440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10139 .loc 1 5440 10 view .LVU3535
10140 0044 15F0060F tst r5, #6
10141 0048 10D1 bne .L633
5442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->AddrEventCount++;
10142 .loc 1 5442 9 is_stmt 1 view .LVU3536
10143 .LVL697:
ARM GAS /tmp/ccbUHtu7.s page 358
5443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
10144 .loc 1 5443 9 view .LVU3537
5443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
10145 .loc 1 5443 13 is_stmt 0 view .LVU3538
10146 004a 816C ldr r1, [r0, #72]
5443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
10147 .loc 1 5443 29 view .LVU3539
10148 004c 0131 adds r1, r1, #1
10149 004e 8164 str r1, [r0, #72]
5444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10150 .loc 1 5444 9 is_stmt 1 view .LVU3540
5444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10151 .loc 1 5444 17 is_stmt 0 view .LVU3541
10152 0050 816C ldr r1, [r0, #72]
5444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10153 .loc 1 5444 12 view .LVU3542
10154 0052 0229 cmp r1, #2
10155 0054 E2D1 bne .L630
5447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10156 .loc 1 5447 11 is_stmt 1 view .LVU3543
5447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10157 .loc 1 5447 32 is_stmt 0 view .LVU3544
10158 0056 0021 movs r1, #0
10159 0058 8164 str r1, [r0, #72]
5450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10160 .loc 1 5450 11 is_stmt 1 view .LVU3545
10161 005a 0820 movs r0, #8
10162 .LVL698:
5450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10163 .loc 1 5450 11 is_stmt 0 view .LVU3546
10164 005c D861 str r0, [r3, #28]
5453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10165 .loc 1 5453 11 is_stmt 1 view .LVU3547
5453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10166 .loc 1 5453 11 view .LVU3548
10167 005e 84F84010 strb r1, [r4, #64]
5453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10168 .loc 1 5453 11 view .LVU3549
5459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10169 .loc 1 5459 11 view .LVU3550
10170 0062 3146 mov r1, r6
10171 0064 2046 mov r0, r4
10172 0066 FFF7FEFF bl HAL_I2C_AddrCallback
10173 .LVL699:
5459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10174 .loc 1 5459 11 is_stmt 0 view .LVU3551
10175 006a D7E7 b .L630
10176 .LVL700:
10177 .L633:
5465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10178 .loc 1 5465 9 is_stmt 1 view .LVU3552
5468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10179 .loc 1 5468 9 view .LVU3553
10180 006c 4FF40041 mov r1, #32768
10181 0070 FFF7FEFF bl I2C_Disable_IRQ
10182 .LVL701:
5471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 359
10183 .loc 1 5471 9 view .LVU3554
5471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10184 .loc 1 5471 9 view .LVU3555
10185 0074 0023 movs r3, #0
10186 0076 84F84030 strb r3, [r4, #64]
5471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10187 .loc 1 5471 9 view .LVU3556
5477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10188 .loc 1 5477 9 view .LVU3557
10189 007a 3A46 mov r2, r7
10190 007c 3146 mov r1, r6
10191 007e 2046 mov r0, r4
10192 0080 FFF7FEFF bl HAL_I2C_AddrCallback
10193 .LVL702:
10194 0084 CAE7 b .L630
10195 .LVL703:
10196 .L632:
5485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10197 .loc 1 5485 7 view .LVU3558
10198 0086 4FF40041 mov r1, #32768
10199 008a FFF7FEFF bl I2C_Disable_IRQ
10200 .LVL704:
5488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10201 .loc 1 5488 7 view .LVU3559
5488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10202 .loc 1 5488 7 view .LVU3560
10203 008e 0023 movs r3, #0
10204 0090 84F84030 strb r3, [r4, #64]
5488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10205 .loc 1 5488 7 view .LVU3561
5494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10206 .loc 1 5494 7 view .LVU3562
10207 0094 2A46 mov r2, r5
10208 0096 3146 mov r1, r6
10209 0098 2046 mov r0, r4
10210 009a FFF7FEFF bl HAL_I2C_AddrCallback
10211 .LVL705:
10212 009e BDE7 b .L630
10213 .cfi_endproc
10214 .LFE384:
10216 .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits
10217 .align 1
10218 .weak HAL_I2C_ListenCpltCallback
10219 .syntax unified
10220 .thumb
10221 .thumb_func
10223 HAL_I2C_ListenCpltCallback:
10224 .LVL706:
10225 .LFB370:
4597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10226 .loc 1 4597 1 view -0
10227 .cfi_startproc
10228 @ args = 0, pretend = 0, frame = 0
10229 @ frame_needed = 0, uses_anonymous_args = 0
10230 @ link register save eliminated.
4599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10231 .loc 1 4599 3 view .LVU3564
ARM GAS /tmp/ccbUHtu7.s page 360
4604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10232 .loc 1 4604 1 is_stmt 0 view .LVU3565
10233 0000 7047 bx lr
10234 .cfi_endproc
10235 .LFE370:
10237 .section .text.I2C_ITListenCplt,"ax",%progbits
10238 .align 1
10239 .syntax unified
10240 .thumb
10241 .thumb_func
10243 I2C_ITListenCplt:
10244 .LVL707:
10245 .LFB389:
5944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset handle parameters */
10246 .loc 1 5944 1 is_stmt 1 view -0
10247 .cfi_startproc
10248 @ args = 0, pretend = 0, frame = 0
10249 @ frame_needed = 0, uses_anonymous_args = 0
5944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Reset handle parameters */
10250 .loc 1 5944 1 is_stmt 0 view .LVU3567
10251 0000 10B5 push {r4, lr}
10252 .LCFI117:
10253 .cfi_def_cfa_offset 8
10254 .cfi_offset 4, -8
10255 .cfi_offset 14, -4
10256 0002 0446 mov r4, r0
5946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10257 .loc 1 5946 3 is_stmt 1 view .LVU3568
5946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10258 .loc 1 5946 21 is_stmt 0 view .LVU3569
10259 0004 174B ldr r3, .L641
10260 0006 C362 str r3, [r0, #44]
5947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10261 .loc 1 5947 3 is_stmt 1 view .LVU3570
5947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10262 .loc 1 5947 23 is_stmt 0 view .LVU3571
10263 0008 0023 movs r3, #0
10264 000a 0363 str r3, [r0, #48]
5948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10265 .loc 1 5948 3 is_stmt 1 view .LVU3572
5948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10266 .loc 1 5948 15 is_stmt 0 view .LVU3573
10267 000c 2022 movs r2, #32
10268 000e 80F84120 strb r2, [r0, #65]
5949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
10269 .loc 1 5949 3 is_stmt 1 view .LVU3574
5949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
10270 .loc 1 5949 14 is_stmt 0 view .LVU3575
10271 0012 80F84230 strb r3, [r0, #66]
5950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10272 .loc 1 5950 3 is_stmt 1 view .LVU3576
5950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10273 .loc 1 5950 17 is_stmt 0 view .LVU3577
10274 0016 4363 str r3, [r0, #52]
5953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10275 .loc 1 5953 3 is_stmt 1 view .LVU3578
5953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 361
10276 .loc 1 5953 6 is_stmt 0 view .LVU3579
10277 0018 11F0040F tst r1, #4
10278 001c 13D0 beq .L639
5956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10279 .loc 1 5956 5 is_stmt 1 view .LVU3580
5956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10280 .loc 1 5956 36 is_stmt 0 view .LVU3581
10281 001e 0368 ldr r3, [r0]
5956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10282 .loc 1 5956 46 view .LVU3582
10283 0020 5A6A ldr r2, [r3, #36]
5956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10284 .loc 1 5956 10 view .LVU3583
10285 0022 436A ldr r3, [r0, #36]
5956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10286 .loc 1 5956 21 view .LVU3584
10287 0024 1A70 strb r2, [r3]
5959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10288 .loc 1 5959 5 is_stmt 1 view .LVU3585
5959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10289 .loc 1 5959 9 is_stmt 0 view .LVU3586
10290 0026 436A ldr r3, [r0, #36]
5959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10291 .loc 1 5959 19 view .LVU3587
10292 0028 0133 adds r3, r3, #1
10293 002a 4362 str r3, [r0, #36]
5961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10294 .loc 1 5961 5 is_stmt 1 view .LVU3588
5961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10295 .loc 1 5961 14 is_stmt 0 view .LVU3589
10296 002c 038D ldrh r3, [r0, #40]
5961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10297 .loc 1 5961 8 view .LVU3590
10298 002e 53B1 cbz r3, .L639
5963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
10299 .loc 1 5963 7 is_stmt 1 view .LVU3591
5963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
10300 .loc 1 5963 21 is_stmt 0 view .LVU3592
10301 0030 013B subs r3, r3, #1
10302 0032 0385 strh r3, [r0, #40] @ movhi
5964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10303 .loc 1 5964 7 is_stmt 1 view .LVU3593
5964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10304 .loc 1 5964 11 is_stmt 0 view .LVU3594
10305 0034 438D ldrh r3, [r0, #42]
10306 0036 9BB2 uxth r3, r3
5964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10307 .loc 1 5964 22 view .LVU3595
10308 0038 013B subs r3, r3, #1
10309 003a 9BB2 uxth r3, r3
10310 003c 4385 strh r3, [r0, #42] @ movhi
5967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10311 .loc 1 5967 7 is_stmt 1 view .LVU3596
5967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10312 .loc 1 5967 11 is_stmt 0 view .LVU3597
10313 003e 436C ldr r3, [r0, #68]
5967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 362
10314 .loc 1 5967 23 view .LVU3598
10315 0040 43F00403 orr r3, r3, #4
10316 0044 4364 str r3, [r0, #68]
10317 .L639:
5972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10318 .loc 1 5972 3 is_stmt 1 view .LVU3599
10319 0046 48F20301 movw r1, #32771
10320 .LVL708:
5972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10321 .loc 1 5972 3 is_stmt 0 view .LVU3600
10322 004a 2046 mov r0, r4
10323 .LVL709:
5972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10324 .loc 1 5972 3 view .LVU3601
10325 004c FFF7FEFF bl I2C_Disable_IRQ
10326 .LVL710:
5975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10327 .loc 1 5975 3 is_stmt 1 view .LVU3602
10328 0050 2368 ldr r3, [r4]
10329 0052 1022 movs r2, #16
10330 0054 DA61 str r2, [r3, #28]
5978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10331 .loc 1 5978 3 view .LVU3603
5978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10332 .loc 1 5978 3 view .LVU3604
10333 0056 0023 movs r3, #0
10334 0058 84F84030 strb r3, [r4, #64]
5978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10335 .loc 1 5978 3 view .LVU3605
5984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10336 .loc 1 5984 3 view .LVU3606
10337 005c 2046 mov r0, r4
10338 005e FFF7FEFF bl HAL_I2C_ListenCpltCallback
10339 .LVL711:
5986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10340 .loc 1 5986 1 is_stmt 0 view .LVU3607
10341 0062 10BD pop {r4, pc}
10342 .LVL712:
10343 .L642:
5986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10344 .loc 1 5986 1 view .LVU3608
10345 .align 2
10346 .L641:
10347 0064 0000FFFF .word -65536
10348 .cfi_endproc
10349 .LFE389:
10351 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
10352 .align 1
10353 .weak HAL_I2C_MemTxCpltCallback
10354 .syntax unified
10355 .thumb
10356 .thumb_func
10358 HAL_I2C_MemTxCpltCallback:
10359 .LVL713:
10360 .LFB371:
4613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10361 .loc 1 4613 1 is_stmt 1 view -0
ARM GAS /tmp/ccbUHtu7.s page 363
10362 .cfi_startproc
10363 @ args = 0, pretend = 0, frame = 0
10364 @ frame_needed = 0, uses_anonymous_args = 0
10365 @ link register save eliminated.
4615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10366 .loc 1 4615 3 view .LVU3610
4620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10367 .loc 1 4620 1 is_stmt 0 view .LVU3611
10368 0000 7047 bx lr
10369 .cfi_endproc
10370 .LFE371:
10372 .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
10373 .align 1
10374 .weak HAL_I2C_MemRxCpltCallback
10375 .syntax unified
10376 .thumb
10377 .thumb_func
10379 HAL_I2C_MemRxCpltCallback:
10380 .LVL714:
10381 .LFB372:
4629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10382 .loc 1 4629 1 is_stmt 1 view -0
10383 .cfi_startproc
10384 @ args = 0, pretend = 0, frame = 0
10385 @ frame_needed = 0, uses_anonymous_args = 0
10386 @ link register save eliminated.
4631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10387 .loc 1 4631 3 view .LVU3613
4636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10388 .loc 1 4636 1 is_stmt 0 view .LVU3614
10389 0000 7047 bx lr
10390 .cfi_endproc
10391 .LFE372:
10393 .section .text.HAL_I2C_ErrorCallback,"ax",%progbits
10394 .align 1
10395 .weak HAL_I2C_ErrorCallback
10396 .syntax unified
10397 .thumb
10398 .thumb_func
10400 HAL_I2C_ErrorCallback:
10401 .LVL715:
10402 .LFB373:
4645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10403 .loc 1 4645 1 is_stmt 1 view -0
10404 .cfi_startproc
10405 @ args = 0, pretend = 0, frame = 0
10406 @ frame_needed = 0, uses_anonymous_args = 0
10407 @ link register save eliminated.
4647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10408 .loc 1 4647 3 view .LVU3616
4652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10409 .loc 1 4652 1 is_stmt 0 view .LVU3617
10410 0000 7047 bx lr
10411 .cfi_endproc
10412 .LFE373:
10414 .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits
10415 .align 1
ARM GAS /tmp/ccbUHtu7.s page 364
10416 .weak HAL_I2C_AbortCpltCallback
10417 .syntax unified
10418 .thumb
10419 .thumb_func
10421 HAL_I2C_AbortCpltCallback:
10422 .LVL716:
10423 .LFB374:
4661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10424 .loc 1 4661 1 is_stmt 1 view -0
10425 .cfi_startproc
10426 @ args = 0, pretend = 0, frame = 0
10427 @ frame_needed = 0, uses_anonymous_args = 0
10428 @ link register save eliminated.
4663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10429 .loc 1 4663 3 view .LVU3619
4668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10430 .loc 1 4668 1 is_stmt 0 view .LVU3620
10431 0000 7047 bx lr
10432 .cfi_endproc
10433 .LFE374:
10435 .section .text.I2C_TreatErrorCallback,"ax",%progbits
10436 .align 1
10437 .syntax unified
10438 .thumb
10439 .thumb_func
10441 I2C_TreatErrorCallback:
10442 .LVL717:
10443 .LFB391:
6107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
10444 .loc 1 6107 1 is_stmt 1 view -0
10445 .cfi_startproc
10446 @ args = 0, pretend = 0, frame = 0
10447 @ frame_needed = 0, uses_anonymous_args = 0
6107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
10448 .loc 1 6107 1 is_stmt 0 view .LVU3622
10449 0000 08B5 push {r3, lr}
10450 .LCFI118:
10451 .cfi_def_cfa_offset 8
10452 .cfi_offset 3, -8
10453 .cfi_offset 14, -4
6108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10454 .loc 1 6108 3 is_stmt 1 view .LVU3623
6108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10455 .loc 1 6108 11 is_stmt 0 view .LVU3624
10456 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
10457 0006 DBB2 uxtb r3, r3
6108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10458 .loc 1 6108 6 view .LVU3625
10459 0008 602B cmp r3, #96
10460 000a 06D0 beq .L651
6125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10461 .loc 1 6125 5 is_stmt 1 view .LVU3626
6125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10462 .loc 1 6125 25 is_stmt 0 view .LVU3627
10463 000c 0023 movs r3, #0
10464 000e 0363 str r3, [r0, #48]
6128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 365
10465 .loc 1 6128 5 is_stmt 1 view .LVU3628
6128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10466 .loc 1 6128 5 view .LVU3629
10467 0010 80F84030 strb r3, [r0, #64]
6128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10468 .loc 1 6128 5 view .LVU3630
6134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10469 .loc 1 6134 5 view .LVU3631
10470 0014 FFF7FEFF bl HAL_I2C_ErrorCallback
10471 .LVL718:
10472 .L647:
6137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10473 .loc 1 6137 1 is_stmt 0 view .LVU3632
10474 0018 08BD pop {r3, pc}
10475 .LVL719:
10476 .L651:
6110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10477 .loc 1 6110 5 is_stmt 1 view .LVU3633
6110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10478 .loc 1 6110 17 is_stmt 0 view .LVU3634
10479 001a 2023 movs r3, #32
10480 001c 80F84130 strb r3, [r0, #65]
6111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10481 .loc 1 6111 5 is_stmt 1 view .LVU3635
6111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10482 .loc 1 6111 25 is_stmt 0 view .LVU3636
10483 0020 0023 movs r3, #0
10484 0022 0363 str r3, [r0, #48]
6114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10485 .loc 1 6114 5 is_stmt 1 view .LVU3637
6114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10486 .loc 1 6114 5 view .LVU3638
10487 0024 80F84030 strb r3, [r0, #64]
6114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10488 .loc 1 6114 5 view .LVU3639
6120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10489 .loc 1 6120 5 view .LVU3640
10490 0028 FFF7FEFF bl HAL_I2C_AbortCpltCallback
10491 .LVL720:
6120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10492 .loc 1 6120 5 is_stmt 0 view .LVU3641
10493 002c F4E7 b .L647
10494 .cfi_endproc
10495 .LFE391:
10497 .section .text.I2C_ITError,"ax",%progbits
10498 .align 1
10499 .syntax unified
10500 .thumb
10501 .thumb_func
10503 I2C_ITError:
10504 .LVL721:
10505 .LFB390:
5995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
10506 .loc 1 5995 1 is_stmt 1 view -0
10507 .cfi_startproc
10508 @ args = 0, pretend = 0, frame = 0
10509 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccbUHtu7.s page 366
5995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
10510 .loc 1 5995 1 is_stmt 0 view .LVU3643
10511 0000 10B5 push {r4, lr}
10512 .LCFI119:
10513 .cfi_def_cfa_offset 8
10514 .cfi_offset 4, -8
10515 .cfi_offset 14, -4
10516 0002 0446 mov r4, r0
5996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmppreviousstate;
10517 .loc 1 5996 3 is_stmt 1 view .LVU3644
5996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmppreviousstate;
10518 .loc 1 5996 24 is_stmt 0 view .LVU3645
10519 0004 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
10520 .LVL722:
5997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10521 .loc 1 5997 3 is_stmt 1 view .LVU3646
6000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
10522 .loc 1 6000 3 view .LVU3647
6000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
10523 .loc 1 6000 23 is_stmt 0 view .LVU3648
10524 0008 0022 movs r2, #0
10525 000a 80F84220 strb r2, [r0, #66]
6001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = 0U;
10526 .loc 1 6001 3 is_stmt 1 view .LVU3649
6001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = 0U;
10527 .loc 1 6001 23 is_stmt 0 view .LVU3650
10528 000e 3B48 ldr r0, .L666
10529 .LVL723:
6001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount = 0U;
10530 .loc 1 6001 23 view .LVU3651
10531 0010 E062 str r0, [r4, #44]
6002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10532 .loc 1 6002 3 is_stmt 1 view .LVU3652
6002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10533 .loc 1 6002 23 is_stmt 0 view .LVU3653
10534 0012 6285 strh r2, [r4, #42] @ movhi
6005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10535 .loc 1 6005 3 is_stmt 1 view .LVU3654
6005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10536 .loc 1 6005 7 is_stmt 0 view .LVU3655
10537 0014 626C ldr r2, [r4, #68]
6005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10538 .loc 1 6005 19 view .LVU3656
10539 0016 0A43 orrs r2, r2, r1
10540 0018 6264 str r2, [r4, #68]
6008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
10541 .loc 1 6008 3 is_stmt 1 view .LVU3657
6009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
10542 .loc 1 6009 50 is_stmt 0 view .LVU3658
10543 001a 283B subs r3, r3, #40
10544 .LVL724:
6009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
10545 .loc 1 6009 50 view .LVU3659
10546 001c DBB2 uxtb r3, r3
6008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
10547 .loc 1 6008 6 view .LVU3660
10548 001e 022B cmp r3, #2
ARM GAS /tmp/ccbUHtu7.s page 367
10549 0020 19D8 bhi .L653
6013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10550 .loc 1 6013 5 is_stmt 1 view .LVU3661
10551 0022 0321 movs r1, #3
10552 .LVL725:
6013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10553 .loc 1 6013 5 is_stmt 0 view .LVU3662
10554 0024 2046 mov r0, r4
10555 0026 FFF7FEFF bl I2C_Disable_IRQ
10556 .LVL726:
6016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
10557 .loc 1 6016 5 is_stmt 1 view .LVU3663
6016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
10558 .loc 1 6016 25 is_stmt 0 view .LVU3664
10559 002a 2823 movs r3, #40
10560 002c 84F84130 strb r3, [r4, #65]
6017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10561 .loc 1 6017 5 is_stmt 1 view .LVU3665
6017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10562 .loc 1 6017 25 is_stmt 0 view .LVU3666
10563 0030 334B ldr r3, .L666+4
10564 0032 6363 str r3, [r4, #52]
10565 .L654:
6035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \
10566 .loc 1 6035 3 is_stmt 1 view .LVU3667
6035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \
10567 .loc 1 6035 20 is_stmt 0 view .LVU3668
10568 0034 236B ldr r3, [r4, #48]
10569 .LVL727:
6036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
10570 .loc 1 6036 3 is_stmt 1 view .LVU3669
6036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
10571 .loc 1 6036 12 is_stmt 0 view .LVU3670
10572 0036 A26B ldr r2, [r4, #56]
6036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
10573 .loc 1 6036 6 view .LVU3671
10574 0038 1AB1 cbz r2, .L656
6036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
10575 .loc 1 6036 30 discriminator 1 view .LVU3672
10576 003a 112B cmp r3, #17
10577 003c 1BD0 beq .L657
6036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
10578 .loc 1 6036 81 discriminator 2 view .LVU3673
10579 003e 212B cmp r3, #33
10580 0040 19D0 beq .L657
10581 .L656:
6066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
10582 .loc 1 6066 8 is_stmt 1 view .LVU3674
6066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
10583 .loc 1 6066 17 is_stmt 0 view .LVU3675
10584 0042 E26B ldr r2, [r4, #60]
6066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
10585 .loc 1 6066 11 view .LVU3676
10586 0044 1AB1 cbz r2, .L661
6066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
10587 .loc 1 6066 35 discriminator 1 view .LVU3677
10588 0046 122B cmp r3, #18
ARM GAS /tmp/ccbUHtu7.s page 368
10589 0048 36D0 beq .L662
6066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
10590 .loc 1 6066 86 discriminator 2 view .LVU3678
10591 004a 222B cmp r3, #34
10592 004c 34D0 beq .L662
10593 .L661:
6097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10594 .loc 1 6097 5 is_stmt 1 view .LVU3679
10595 004e 2046 mov r0, r4
10596 0050 FFF7FEFF bl I2C_TreatErrorCallback
10597 .LVL728:
10598 .L652:
6099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10599 .loc 1 6099 1 is_stmt 0 view .LVU3680
10600 0054 10BD pop {r4, pc}
10601 .LVL729:
10602 .L653:
6022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10603 .loc 1 6022 5 is_stmt 1 view .LVU3681
10604 0056 48F20301 movw r1, #32771
10605 .LVL730:
6022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10606 .loc 1 6022 5 is_stmt 0 view .LVU3682
10607 005a 2046 mov r0, r4
10608 005c FFF7FEFF bl I2C_Disable_IRQ
10609 .LVL731:
6026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10610 .loc 1 6026 5 is_stmt 1 view .LVU3683
6026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10611 .loc 1 6026 13 is_stmt 0 view .LVU3684
10612 0060 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
10613 0064 DBB2 uxtb r3, r3
6026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10614 .loc 1 6026 8 view .LVU3685
10615 0066 602B cmp r3, #96
10616 0068 02D0 beq .L655
6029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10617 .loc 1 6029 7 is_stmt 1 view .LVU3686
6029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10618 .loc 1 6029 27 is_stmt 0 view .LVU3687
10619 006a 2023 movs r3, #32
10620 006c 84F84130 strb r3, [r4, #65]
10621 .L655:
6031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10622 .loc 1 6031 5 is_stmt 1 view .LVU3688
6031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10623 .loc 1 6031 25 is_stmt 0 view .LVU3689
10624 0070 0023 movs r3, #0
10625 0072 6363 str r3, [r4, #52]
10626 0074 DEE7 b .L654
10627 .LVL732:
10628 .L657:
6039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10629 .loc 1 6039 5 is_stmt 1 view .LVU3690
6039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10630 .loc 1 6039 14 is_stmt 0 view .LVU3691
10631 0076 2368 ldr r3, [r4]
ARM GAS /tmp/ccbUHtu7.s page 369
10632 .LVL733:
6039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10633 .loc 1 6039 24 view .LVU3692
10634 0078 1A68 ldr r2, [r3]
6039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10635 .loc 1 6039 8 view .LVU3693
10636 007a 12F4804F tst r2, #16384
10637 007e 03D0 beq .L658
6041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10638 .loc 1 6041 7 is_stmt 1 view .LVU3694
6041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10639 .loc 1 6041 21 is_stmt 0 view .LVU3695
10640 0080 1A68 ldr r2, [r3]
6041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10641 .loc 1 6041 27 view .LVU3696
10642 0082 22F48042 bic r2, r2, #16384
10643 0086 1A60 str r2, [r3]
10644 .L658:
6044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10645 .loc 1 6044 5 is_stmt 1 view .LVU3697
6044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10646 .loc 1 6044 9 is_stmt 0 view .LVU3698
10647 0088 A06B ldr r0, [r4, #56]
10648 008a FFF7FEFF bl HAL_DMA_GetState
10649 .LVL734:
6044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10650 .loc 1 6044 8 view .LVU3699
10651 008e 0128 cmp r0, #1
10652 0090 0ED0 beq .L659
6048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10653 .loc 1 6048 7 is_stmt 1 view .LVU3700
6048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10654 .loc 1 6048 11 is_stmt 0 view .LVU3701
10655 0092 A36B ldr r3, [r4, #56]
6048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10656 .loc 1 6048 39 view .LVU3702
10657 0094 1B4A ldr r2, .L666+8
10658 0096 9A63 str r2, [r3, #56]
6051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10659 .loc 1 6051 7 is_stmt 1 view .LVU3703
6051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10660 .loc 1 6051 7 view .LVU3704
10661 0098 0023 movs r3, #0
10662 009a 84F84030 strb r3, [r4, #64]
6051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10663 .loc 1 6051 7 view .LVU3705
6054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10664 .loc 1 6054 7 view .LVU3706
6054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10665 .loc 1 6054 11 is_stmt 0 view .LVU3707
10666 009e A06B ldr r0, [r4, #56]
10667 00a0 FFF7FEFF bl HAL_DMA_Abort_IT
10668 .LVL735:
6054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10669 .loc 1 6054 10 view .LVU3708
10670 00a4 0028 cmp r0, #0
10671 00a6 D5D0 beq .L652
ARM GAS /tmp/ccbUHtu7.s page 370
6057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10672 .loc 1 6057 9 is_stmt 1 view .LVU3709
6057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10673 .loc 1 6057 13 is_stmt 0 view .LVU3710
10674 00a8 A06B ldr r0, [r4, #56]
6057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10675 .loc 1 6057 21 view .LVU3711
10676 00aa 836B ldr r3, [r0, #56]
6057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10677 .loc 1 6057 9 view .LVU3712
10678 00ac 9847 blx r3
10679 .LVL736:
10680 00ae D1E7 b .L652
10681 .L659:
6062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10682 .loc 1 6062 7 is_stmt 1 view .LVU3713
10683 00b0 2046 mov r0, r4
10684 00b2 FFF7FEFF bl I2C_TreatErrorCallback
10685 .LVL737:
10686 00b6 CDE7 b .L652
10687 .LVL738:
10688 .L662:
6069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10689 .loc 1 6069 5 view .LVU3714
6069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10690 .loc 1 6069 14 is_stmt 0 view .LVU3715
10691 00b8 2368 ldr r3, [r4]
10692 .LVL739:
6069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10693 .loc 1 6069 24 view .LVU3716
10694 00ba 1A68 ldr r2, [r3]
6069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10695 .loc 1 6069 8 view .LVU3717
10696 00bc 12F4004F tst r2, #32768
10697 00c0 03D0 beq .L663
6071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10698 .loc 1 6071 7 is_stmt 1 view .LVU3718
6071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10699 .loc 1 6071 21 is_stmt 0 view .LVU3719
10700 00c2 1A68 ldr r2, [r3]
6071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10701 .loc 1 6071 27 view .LVU3720
10702 00c4 22F40042 bic r2, r2, #32768
10703 00c8 1A60 str r2, [r3]
10704 .L663:
6074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10705 .loc 1 6074 5 is_stmt 1 view .LVU3721
6074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10706 .loc 1 6074 9 is_stmt 0 view .LVU3722
10707 00ca E06B ldr r0, [r4, #60]
10708 00cc FFF7FEFF bl HAL_DMA_GetState
10709 .LVL740:
6074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10710 .loc 1 6074 8 view .LVU3723
10711 00d0 0128 cmp r0, #1
10712 00d2 0ED0 beq .L664
6078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 371
10713 .loc 1 6078 7 is_stmt 1 view .LVU3724
6078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10714 .loc 1 6078 11 is_stmt 0 view .LVU3725
10715 00d4 E36B ldr r3, [r4, #60]
6078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10716 .loc 1 6078 39 view .LVU3726
10717 00d6 0B4A ldr r2, .L666+8
10718 00d8 9A63 str r2, [r3, #56]
6081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10719 .loc 1 6081 7 is_stmt 1 view .LVU3727
6081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10720 .loc 1 6081 7 view .LVU3728
10721 00da 0023 movs r3, #0
10722 00dc 84F84030 strb r3, [r4, #64]
6081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10723 .loc 1 6081 7 view .LVU3729
6084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10724 .loc 1 6084 7 view .LVU3730
6084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10725 .loc 1 6084 11 is_stmt 0 view .LVU3731
10726 00e0 E06B ldr r0, [r4, #60]
10727 00e2 FFF7FEFF bl HAL_DMA_Abort_IT
10728 .LVL741:
6084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10729 .loc 1 6084 10 view .LVU3732
10730 00e6 0028 cmp r0, #0
10731 00e8 B4D0 beq .L652
6087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10732 .loc 1 6087 9 is_stmt 1 view .LVU3733
6087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10733 .loc 1 6087 13 is_stmt 0 view .LVU3734
10734 00ea E06B ldr r0, [r4, #60]
6087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10735 .loc 1 6087 21 view .LVU3735
10736 00ec 836B ldr r3, [r0, #56]
6087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10737 .loc 1 6087 9 view .LVU3736
10738 00ee 9847 blx r3
10739 .LVL742:
10740 00f0 B0E7 b .L652
10741 .L664:
6092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10742 .loc 1 6092 7 is_stmt 1 view .LVU3737
10743 00f2 2046 mov r0, r4
10744 00f4 FFF7FEFF bl I2C_TreatErrorCallback
10745 .LVL743:
10746 00f8 ACE7 b .L652
10747 .L667:
10748 00fa 00BF .align 2
10749 .L666:
10750 00fc 0000FFFF .word -65536
10751 0100 00000000 .word I2C_Slave_ISR_IT
10752 0104 00000000 .word I2C_DMAAbort
10753 .cfi_endproc
10754 .LFE390:
10756 .section .text.I2C_ITSlaveCplt,"ax",%progbits
10757 .align 1
ARM GAS /tmp/ccbUHtu7.s page 372
10758 .syntax unified
10759 .thumb
10760 .thumb_func
10762 I2C_ITSlaveCplt:
10763 .LVL744:
10764 .LFB388:
5785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
10765 .loc 1 5785 1 view -0
10766 .cfi_startproc
10767 @ args = 0, pretend = 0, frame = 0
10768 @ frame_needed = 0, uses_anonymous_args = 0
5785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
10769 .loc 1 5785 1 is_stmt 0 view .LVU3739
10770 0000 70B5 push {r4, r5, r6, lr}
10771 .LCFI120:
10772 .cfi_def_cfa_offset 16
10773 .cfi_offset 4, -16
10774 .cfi_offset 5, -12
10775 .cfi_offset 6, -8
10776 .cfi_offset 14, -4
10777 0002 0446 mov r4, r0
10778 0004 0D46 mov r5, r1
5786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
10779 .loc 1 5786 3 is_stmt 1 view .LVU3740
5786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
10780 .loc 1 5786 26 is_stmt 0 view .LVU3741
10781 0006 0268 ldr r2, [r0]
5786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
10782 .loc 1 5786 12 view .LVU3742
10783 0008 1668 ldr r6, [r2]
10784 .LVL745:
5787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
10785 .loc 1 5787 3 is_stmt 1 view .LVU3743
5788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10786 .loc 1 5788 3 view .LVU3744
5788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10787 .loc 1 5788 24 is_stmt 0 view .LVU3745
10788 000a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
10789 000e DBB2 uxtb r3, r3
10790 .LVL746:
5791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10791 .loc 1 5791 3 is_stmt 1 view .LVU3746
10792 0010 2021 movs r1, #32
10793 .LVL747:
5791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10794 .loc 1 5791 3 is_stmt 0 view .LVU3747
10795 0012 D161 str r1, [r2, #28]
5794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10796 .loc 1 5794 3 is_stmt 1 view .LVU3748
5794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10797 .loc 1 5794 6 is_stmt 0 view .LVU3749
10798 0014 212B cmp r3, #33
10799 0016 0DD0 beq .L669
5794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10800 .loc 1 5794 43 discriminator 1 view .LVU3750
10801 0018 292B cmp r3, #41
10802 001a 0BD0 beq .L669
ARM GAS /tmp/ccbUHtu7.s page 373
5799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10803 .loc 1 5799 8 is_stmt 1 view .LVU3751
5799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10804 .loc 1 5799 11 is_stmt 0 view .LVU3752
10805 001c 222B cmp r3, #34
10806 001e 01D0 beq .L672
5799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10807 .loc 1 5799 48 discriminator 1 view .LVU3753
10808 0020 2A2B cmp r3, #42
10809 0022 0ED1 bne .L671
10810 .L672:
5801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
10811 .loc 1 5801 5 is_stmt 1 view .LVU3754
10812 0024 48F20201 movw r1, #32770
10813 0028 2046 mov r0, r4
10814 .LVL748:
5801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
10815 .loc 1 5801 5 is_stmt 0 view .LVU3755
10816 002a FFF7FEFF bl I2C_Disable_IRQ
10817 .LVL749:
5802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10818 .loc 1 5802 5 is_stmt 1 view .LVU3756
5802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10819 .loc 1 5802 25 is_stmt 0 view .LVU3757
10820 002e 2223 movs r3, #34
10821 0030 2363 str r3, [r4, #48]
10822 0032 06E0 b .L671
10823 .LVL750:
10824 .L669:
5796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
10825 .loc 1 5796 5 is_stmt 1 view .LVU3758
10826 0034 48F20101 movw r1, #32769
10827 0038 2046 mov r0, r4
10828 .LVL751:
5796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
10829 .loc 1 5796 5 is_stmt 0 view .LVU3759
10830 003a FFF7FEFF bl I2C_Disable_IRQ
10831 .LVL752:
5797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10832 .loc 1 5797 5 is_stmt 1 view .LVU3760
5797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10833 .loc 1 5797 25 is_stmt 0 view .LVU3761
10834 003e 2123 movs r3, #33
10835 0040 2363 str r3, [r4, #48]
10836 .L671:
5810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10837 .loc 1 5810 3 is_stmt 1 view .LVU3762
5810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10838 .loc 1 5810 7 is_stmt 0 view .LVU3763
10839 0042 2268 ldr r2, [r4]
5810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10840 .loc 1 5810 17 view .LVU3764
10841 0044 5368 ldr r3, [r2, #4]
5810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10842 .loc 1 5810 23 view .LVU3765
10843 0046 43F40043 orr r3, r3, #32768
10844 004a 5360 str r3, [r2, #4]
ARM GAS /tmp/ccbUHtu7.s page 374
5813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10845 .loc 1 5813 3 is_stmt 1 view .LVU3766
10846 004c 2268 ldr r2, [r4]
10847 004e 5368 ldr r3, [r2, #4]
10848 0050 23F0FF73 bic r3, r3, #33423360
10849 0054 23F48B33 bic r3, r3, #71168
10850 0058 23F4FF73 bic r3, r3, #510
10851 005c 23F00103 bic r3, r3, #1
10852 0060 5360 str r3, [r2, #4]
5816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10853 .loc 1 5816 3 view .LVU3767
10854 0062 2046 mov r0, r4
10855 0064 FFF7FEFF bl I2C_Flush_TXDR
10856 .LVL753:
5819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10857 .loc 1 5819 3 view .LVU3768
5819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10858 .loc 1 5819 6 is_stmt 0 view .LVU3769
10859 0068 16F4804F tst r6, #16384
10860 006c 40D0 beq .L673
5822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10861 .loc 1 5822 5 is_stmt 1 view .LVU3770
5822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10862 .loc 1 5822 9 is_stmt 0 view .LVU3771
10863 006e 2268 ldr r2, [r4]
5822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10864 .loc 1 5822 19 view .LVU3772
10865 0070 1368 ldr r3, [r2]
5822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10866 .loc 1 5822 25 view .LVU3773
10867 0072 23F48043 bic r3, r3, #16384
10868 0076 1360 str r3, [r2]
5824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10869 .loc 1 5824 5 is_stmt 1 view .LVU3774
5824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10870 .loc 1 5824 13 is_stmt 0 view .LVU3775
10871 0078 A36B ldr r3, [r4, #56]
5824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10872 .loc 1 5824 8 view .LVU3776
10873 007a 1BB1 cbz r3, .L674
5826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10874 .loc 1 5826 7 is_stmt 1 view .LVU3777
5826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10875 .loc 1 5826 35 is_stmt 0 view .LVU3778
10876 007c 1B68 ldr r3, [r3]
10877 007e 5B68 ldr r3, [r3, #4]
5826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10878 .loc 1 5826 25 view .LVU3779
10879 0080 9BB2 uxth r3, r3
5826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10880 .loc 1 5826 23 view .LVU3780
10881 0082 6385 strh r3, [r4, #42] @ movhi
10882 .L674:
5842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10883 .loc 1 5842 3 is_stmt 1 view .LVU3781
5845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10884 .loc 1 5845 3 view .LVU3782
ARM GAS /tmp/ccbUHtu7.s page 375
5845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10885 .loc 1 5845 6 is_stmt 0 view .LVU3783
10886 0084 15F0040F tst r5, #4
10887 0088 11D0 beq .L675
5848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10888 .loc 1 5848 5 is_stmt 1 view .LVU3784
5848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10889 .loc 1 5848 16 is_stmt 0 view .LVU3785
10890 008a 25F00405 bic r5, r5, #4
10891 .LVL754:
5851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10892 .loc 1 5851 5 is_stmt 1 view .LVU3786
5851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10893 .loc 1 5851 36 is_stmt 0 view .LVU3787
10894 008e 2368 ldr r3, [r4]
5851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10895 .loc 1 5851 46 view .LVU3788
10896 0090 5A6A ldr r2, [r3, #36]
5851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10897 .loc 1 5851 10 view .LVU3789
10898 0092 636A ldr r3, [r4, #36]
5851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10899 .loc 1 5851 21 view .LVU3790
10900 0094 1A70 strb r2, [r3]
5854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10901 .loc 1 5854 5 is_stmt 1 view .LVU3791
5854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10902 .loc 1 5854 9 is_stmt 0 view .LVU3792
10903 0096 636A ldr r3, [r4, #36]
5854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10904 .loc 1 5854 19 view .LVU3793
10905 0098 0133 adds r3, r3, #1
10906 009a 6362 str r3, [r4, #36]
5856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10907 .loc 1 5856 5 is_stmt 1 view .LVU3794
5856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10908 .loc 1 5856 14 is_stmt 0 view .LVU3795
10909 009c 238D ldrh r3, [r4, #40]
5856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10910 .loc 1 5856 8 view .LVU3796
10911 009e 33B1 cbz r3, .L675
5858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
10912 .loc 1 5858 7 is_stmt 1 view .LVU3797
5858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
10913 .loc 1 5858 21 is_stmt 0 view .LVU3798
10914 00a0 013B subs r3, r3, #1
10915 00a2 2385 strh r3, [r4, #40] @ movhi
5859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10916 .loc 1 5859 7 is_stmt 1 view .LVU3799
5859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10917 .loc 1 5859 11 is_stmt 0 view .LVU3800
10918 00a4 638D ldrh r3, [r4, #42]
10919 00a6 9BB2 uxth r3, r3
5859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10920 .loc 1 5859 22 view .LVU3801
10921 00a8 013B subs r3, r3, #1
10922 00aa 9BB2 uxth r3, r3
ARM GAS /tmp/ccbUHtu7.s page 376
10923 00ac 6385 strh r3, [r4, #42] @ movhi
10924 .L675:
5864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10925 .loc 1 5864 3 is_stmt 1 view .LVU3802
5864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10926 .loc 1 5864 11 is_stmt 0 view .LVU3803
10927 00ae 638D ldrh r3, [r4, #42]
10928 00b0 9BB2 uxth r3, r3
5864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10929 .loc 1 5864 6 view .LVU3804
10930 00b2 1BB1 cbz r3, .L676
5867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10931 .loc 1 5867 5 is_stmt 1 view .LVU3805
5867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10932 .loc 1 5867 9 is_stmt 0 view .LVU3806
10933 00b4 636C ldr r3, [r4, #68]
5867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
10934 .loc 1 5867 21 view .LVU3807
10935 00b6 43F00403 orr r3, r3, #4
10936 00ba 6364 str r3, [r4, #68]
10937 .L676:
5870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
10938 .loc 1 5870 3 is_stmt 1 view .LVU3808
5870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferISR = NULL;
10939 .loc 1 5870 14 is_stmt 0 view .LVU3809
10940 00bc 0023 movs r3, #0
10941 00be 84F84230 strb r3, [r4, #66]
5871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10942 .loc 1 5871 3 is_stmt 1 view .LVU3810
5871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10943 .loc 1 5871 17 is_stmt 0 view .LVU3811
10944 00c2 6363 str r3, [r4, #52]
5873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10945 .loc 1 5873 3 is_stmt 1 view .LVU3812
5873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10946 .loc 1 5873 11 is_stmt 0 view .LVU3813
10947 00c4 636C ldr r3, [r4, #68]
5873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10948 .loc 1 5873 6 view .LVU3814
10949 00c6 1BBB cbnz r3, .L682
5885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10950 .loc 1 5885 8 is_stmt 1 view .LVU3815
5885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10951 .loc 1 5885 16 is_stmt 0 view .LVU3816
10952 00c8 E36A ldr r3, [r4, #44]
5885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10953 .loc 1 5885 11 view .LVU3817
10954 00ca 13F5803F cmn r3, #65536
10955 00ce 2DD1 bne .L683
5905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10956 .loc 1 5905 8 is_stmt 1 view .LVU3818
5905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10957 .loc 1 5905 16 is_stmt 0 view .LVU3819
10958 00d0 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
10959 00d4 DBB2 uxtb r3, r3
5905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10960 .loc 1 5905 11 view .LVU3820
ARM GAS /tmp/ccbUHtu7.s page 377
10961 00d6 222B cmp r3, #34
10962 00d8 38D0 beq .L684
5922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10963 .loc 1 5922 5 is_stmt 1 view .LVU3821
5922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10964 .loc 1 5922 17 is_stmt 0 view .LVU3822
10965 00da 2023 movs r3, #32
10966 00dc 84F84130 strb r3, [r4, #65]
5923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10967 .loc 1 5923 5 is_stmt 1 view .LVU3823
5923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10968 .loc 1 5923 25 is_stmt 0 view .LVU3824
10969 00e0 0023 movs r3, #0
10970 00e2 2363 str r3, [r4, #48]
5926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10971 .loc 1 5926 5 is_stmt 1 view .LVU3825
5926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10972 .loc 1 5926 5 view .LVU3826
10973 00e4 84F84030 strb r3, [r4, #64]
5926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10974 .loc 1 5926 5 view .LVU3827
5932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10975 .loc 1 5932 5 view .LVU3828
10976 00e8 2046 mov r0, r4
10977 00ea FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
10978 .LVL755:
5935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10979 .loc 1 5935 1 is_stmt 0 view .LVU3829
10980 00ee 2CE0 b .L668
10981 .LVL756:
10982 .L673:
5829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10983 .loc 1 5829 8 is_stmt 1 view .LVU3830
5829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10984 .loc 1 5829 11 is_stmt 0 view .LVU3831
10985 00f0 16F4004F tst r6, #32768
10986 00f4 C6D0 beq .L674
5832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10987 .loc 1 5832 5 is_stmt 1 view .LVU3832
5832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10988 .loc 1 5832 9 is_stmt 0 view .LVU3833
10989 00f6 2268 ldr r2, [r4]
5832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10990 .loc 1 5832 19 view .LVU3834
10991 00f8 1368 ldr r3, [r2]
5832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
10992 .loc 1 5832 25 view .LVU3835
10993 00fa 23F40043 bic r3, r3, #32768
10994 00fe 1360 str r3, [r2]
5834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10995 .loc 1 5834 5 is_stmt 1 view .LVU3836
5834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10996 .loc 1 5834 13 is_stmt 0 view .LVU3837
10997 0100 E36B ldr r3, [r4, #60]
5834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
10998 .loc 1 5834 8 view .LVU3838
10999 0102 002B cmp r3, #0
ARM GAS /tmp/ccbUHtu7.s page 378
11000 0104 BED0 beq .L674
5836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11001 .loc 1 5836 7 is_stmt 1 view .LVU3839
5836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11002 .loc 1 5836 35 is_stmt 0 view .LVU3840
11003 0106 1B68 ldr r3, [r3]
11004 0108 5B68 ldr r3, [r3, #4]
5836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11005 .loc 1 5836 25 view .LVU3841
11006 010a 9BB2 uxth r3, r3
5836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11007 .loc 1 5836 23 view .LVU3842
11008 010c 6385 strh r3, [r4, #42] @ movhi
11009 010e B9E7 b .L674
11010 .LVL757:
11011 .L682:
5876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11012 .loc 1 5876 5 is_stmt 1 view .LVU3843
5876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11013 .loc 1 5876 27 is_stmt 0 view .LVU3844
11014 0110 616C ldr r1, [r4, #68]
5876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11015 .loc 1 5876 5 view .LVU3845
11016 0112 2046 mov r0, r4
11017 0114 FFF7FEFF bl I2C_ITError
11018 .LVL758:
5879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11019 .loc 1 5879 5 is_stmt 1 view .LVU3846
5879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11020 .loc 1 5879 13 is_stmt 0 view .LVU3847
11021 0118 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11022 011c DBB2 uxtb r3, r3
5879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11023 .loc 1 5879 8 view .LVU3848
11024 011e 282B cmp r3, #40
11025 0120 13D1 bne .L668
5882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11026 .loc 1 5882 7 is_stmt 1 view .LVU3849
11027 0122 2946 mov r1, r5
11028 0124 2046 mov r0, r4
11029 0126 FFF7FEFF bl I2C_ITListenCplt
11030 .LVL759:
11031 012a 0EE0 b .L668
11032 .L683:
5888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11033 .loc 1 5888 5 view .LVU3850
11034 012c 2046 mov r0, r4
11035 012e FFF7FEFF bl I2C_ITSlaveSeqCplt
11036 .LVL760:
5890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11037 .loc 1 5890 5 view .LVU3851
5890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11038 .loc 1 5890 23 is_stmt 0 view .LVU3852
11039 0132 0C4B ldr r3, .L685
11040 0134 E362 str r3, [r4, #44]
5891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11041 .loc 1 5891 5 is_stmt 1 view .LVU3853
ARM GAS /tmp/ccbUHtu7.s page 379
5891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11042 .loc 1 5891 17 is_stmt 0 view .LVU3854
11043 0136 2023 movs r3, #32
11044 0138 84F84130 strb r3, [r4, #65]
5892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11045 .loc 1 5892 5 is_stmt 1 view .LVU3855
5892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11046 .loc 1 5892 25 is_stmt 0 view .LVU3856
11047 013c 0023 movs r3, #0
11048 013e 2363 str r3, [r4, #48]
5895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11049 .loc 1 5895 5 is_stmt 1 view .LVU3857
5895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11050 .loc 1 5895 5 view .LVU3858
11051 0140 84F84030 strb r3, [r4, #64]
5895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11052 .loc 1 5895 5 view .LVU3859
5901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11053 .loc 1 5901 5 view .LVU3860
11054 0144 2046 mov r0, r4
11055 0146 FFF7FEFF bl HAL_I2C_ListenCpltCallback
11056 .LVL761:
11057 .L668:
5935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11058 .loc 1 5935 1 is_stmt 0 view .LVU3861
11059 014a 70BD pop {r4, r5, r6, pc}
11060 .LVL762:
11061 .L684:
5907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11062 .loc 1 5907 5 is_stmt 1 view .LVU3862
5907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11063 .loc 1 5907 17 is_stmt 0 view .LVU3863
11064 014c 2023 movs r3, #32
11065 014e 84F84130 strb r3, [r4, #65]
5908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11066 .loc 1 5908 5 is_stmt 1 view .LVU3864
5908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11067 .loc 1 5908 25 is_stmt 0 view .LVU3865
11068 0152 0023 movs r3, #0
11069 0154 2363 str r3, [r4, #48]
5911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11070 .loc 1 5911 5 is_stmt 1 view .LVU3866
5911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11071 .loc 1 5911 5 view .LVU3867
11072 0156 84F84030 strb r3, [r4, #64]
5911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11073 .loc 1 5911 5 view .LVU3868
5917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11074 .loc 1 5917 5 view .LVU3869
11075 015a 2046 mov r0, r4
11076 015c FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
11077 .LVL763:
11078 0160 F3E7 b .L668
11079 .L686:
11080 0162 00BF .align 2
11081 .L685:
11082 0164 0000FFFF .word -65536
ARM GAS /tmp/ccbUHtu7.s page 380
11083 .cfi_endproc
11084 .LFE388:
11086 .section .text.I2C_Slave_ISR_IT,"ax",%progbits
11087 .align 1
11088 .syntax unified
11089 .thumb
11090 .thumb_func
11092 I2C_Slave_ISR_IT:
11093 .LVL764:
11094 .LFB379:
4891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
11095 .loc 1 4891 1 view -0
11096 .cfi_startproc
11097 @ args = 0, pretend = 0, frame = 0
11098 @ frame_needed = 0, uses_anonymous_args = 0
4891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
11099 .loc 1 4891 1 is_stmt 0 view .LVU3871
11100 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
11101 .LCFI121:
11102 .cfi_def_cfa_offset 24
11103 .cfi_offset 3, -24
11104 .cfi_offset 4, -20
11105 .cfi_offset 5, -16
11106 .cfi_offset 6, -12
11107 .cfi_offset 7, -8
11108 .cfi_offset 14, -4
4892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11109 .loc 1 4892 3 is_stmt 1 view .LVU3872
4892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11110 .loc 1 4892 12 is_stmt 0 view .LVU3873
11111 0002 C76A ldr r7, [r0, #44]
11112 .LVL765:
4893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11113 .loc 1 4893 3 is_stmt 1 view .LVU3874
4896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11114 .loc 1 4896 3 view .LVU3875
4896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11115 .loc 1 4896 3 view .LVU3876
11116 0004 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
11117 0008 012B cmp r3, #1
11118 000a 00F09E80 beq .L701
11119 000e 0446 mov r4, r0
11120 0010 0D46 mov r5, r1
11121 0012 1646 mov r6, r2
4896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11122 .loc 1 4896 3 discriminator 2 view .LVU3877
11123 0014 0123 movs r3, #1
11124 0016 80F84030 strb r3, [r0, #64]
4896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11125 .loc 1 4896 3 discriminator 2 view .LVU3878
4899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11126 .loc 1 4899 3 discriminator 2 view .LVU3879
4899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11127 .loc 1 4899 6 is_stmt 0 discriminator 2 view .LVU3880
11128 001a 11F0200F tst r1, #32
11129 001e 02D0 beq .L689
4899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
ARM GAS /tmp/ccbUHtu7.s page 381
11130 .loc 1 4899 61 discriminator 1 view .LVU3881
11131 0020 12F0200F tst r2, #32
11132 0024 19D1 bne .L703
11133 .LVL766:
11134 .L689:
4906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11135 .loc 1 4906 3 is_stmt 1 view .LVU3882
4906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11136 .loc 1 4906 6 is_stmt 0 view .LVU3883
11137 0026 15F0100F tst r5, #16
11138 002a 3ED0 beq .L690
4906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11139 .loc 1 4906 58 discriminator 1 view .LVU3884
11140 002c 16F0100F tst r6, #16
11141 0030 3BD0 beq .L690
4913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11142 .loc 1 4913 5 is_stmt 1 view .LVU3885
4913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11143 .loc 1 4913 13 is_stmt 0 view .LVU3886
11144 0032 638D ldrh r3, [r4, #42]
11145 0034 9BB2 uxth r3, r3
4913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11146 .loc 1 4913 8 view .LVU3887
11147 0036 43BB cbnz r3, .L691
4915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11148 .loc 1 4915 7 is_stmt 1 view .LVU3888
4915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11149 .loc 1 4915 16 is_stmt 0 view .LVU3889
11150 0038 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11151 003c DBB2 uxtb r3, r3
4915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11152 .loc 1 4915 10 view .LVU3890
11153 003e 282B cmp r3, #40
11154 0040 0ED0 beq .L704
11155 .L692:
4922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11156 .loc 1 4922 12 is_stmt 1 view .LVU3891
4922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11157 .loc 1 4922 21 is_stmt 0 view .LVU3892
11158 0042 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11159 0046 DBB2 uxtb r3, r3
4922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11160 .loc 1 4922 15 view .LVU3893
11161 0048 292B cmp r3, #41
11162 004a 11D0 beq .L705
11163 .L694:
4937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11164 .loc 1 4937 9 is_stmt 1 view .LVU3894
11165 004c 2368 ldr r3, [r4]
11166 004e 1022 movs r2, #16
11167 0050 DA61 str r2, [r3, #28]
11168 .L693:
5014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11169 .loc 1 5014 3 view .LVU3895
5017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11170 .loc 1 5017 3 view .LVU3896
5017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 382
11171 .loc 1 5017 3 view .LVU3897
11172 0052 0020 movs r0, #0
11173 0054 84F84000 strb r0, [r4, #64]
5017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11174 .loc 1 5017 3 view .LVU3898
5019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11175 .loc 1 5019 3 view .LVU3899
11176 .LVL767:
11177 .L688:
5020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11178 .loc 1 5020 1 is_stmt 0 view .LVU3900
11179 0058 F8BD pop {r3, r4, r5, r6, r7, pc}
11180 .LVL768:
11181 .L703:
4903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11182 .loc 1 4903 5 is_stmt 1 view .LVU3901
11183 005a FFF7FEFF bl I2C_ITSlaveCplt
11184 .LVL769:
4903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11185 .loc 1 4903 5 is_stmt 0 view .LVU3902
11186 005e E2E7 b .L689
11187 .L704:
4915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11188 .loc 1 4915 49 discriminator 1 view .LVU3903
11189 0060 B7F1007F cmp r7, #33554432
11190 0064 EDD1 bne .L692
4920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11191 .loc 1 4920 9 is_stmt 1 view .LVU3904
11192 0066 2946 mov r1, r5
11193 0068 2046 mov r0, r4
11194 006a FFF7FEFF bl I2C_ITListenCplt
11195 .LVL770:
11196 006e F0E7 b .L693
11197 .L705:
4922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11198 .loc 1 4922 62 is_stmt 0 discriminator 1 view .LVU3905
11199 0070 17F5803F cmn r7, #65536
11200 0074 EAD0 beq .L694
4925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11201 .loc 1 4925 9 is_stmt 1 view .LVU3906
11202 0076 2368 ldr r3, [r4]
11203 0078 1022 movs r2, #16
11204 007a DA61 str r2, [r3, #28]
4928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11205 .loc 1 4928 9 view .LVU3907
11206 007c 2046 mov r0, r4
11207 007e FFF7FEFF bl I2C_Flush_TXDR
11208 .LVL771:
4932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11209 .loc 1 4932 9 view .LVU3908
11210 0082 2046 mov r0, r4
11211 0084 FFF7FEFF bl I2C_ITSlaveSeqCplt
11212 .LVL772:
11213 0088 E3E7 b .L693
11214 .L691:
4944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11215 .loc 1 4944 7 view .LVU3909
ARM GAS /tmp/ccbUHtu7.s page 383
11216 008a 2368 ldr r3, [r4]
11217 008c 1022 movs r2, #16
11218 008e DA61 str r2, [r3, #28]
4947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11219 .loc 1 4947 7 view .LVU3910
4947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11220 .loc 1 4947 11 is_stmt 0 view .LVU3911
11221 0090 636C ldr r3, [r4, #68]
4947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11222 .loc 1 4947 23 view .LVU3912
11223 0092 43F00403 orr r3, r3, #4
11224 0096 6364 str r3, [r4, #68]
4949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11225 .loc 1 4949 7 is_stmt 1 view .LVU3913
4949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11226 .loc 1 4949 10 is_stmt 0 view .LVU3914
11227 0098 17B1 cbz r7, .L695
4949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11228 .loc 1 4949 43 discriminator 1 view .LVU3915
11229 009a B7F1807F cmp r7, #16777216
11230 009e D8D1 bne .L693
11231 .L695:
4952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11232 .loc 1 4952 9 is_stmt 1 view .LVU3916
4952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11233 .loc 1 4952 31 is_stmt 0 view .LVU3917
11234 00a0 616C ldr r1, [r4, #68]
4952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11235 .loc 1 4952 9 view .LVU3918
11236 00a2 2046 mov r0, r4
11237 00a4 FFF7FEFF bl I2C_ITError
11238 .LVL773:
11239 00a8 D3E7 b .L693
11240 .L690:
4956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11241 .loc 1 4956 8 is_stmt 1 view .LVU3919
4956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11242 .loc 1 4956 11 is_stmt 0 view .LVU3920
11243 00aa 15F0040F tst r5, #4
11244 00ae 1FD0 beq .L696
4956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11245 .loc 1 4956 65 discriminator 1 view .LVU3921
11246 00b0 16F0040F tst r6, #4
11247 00b4 1CD0 beq .L696
4959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11248 .loc 1 4959 5 is_stmt 1 view .LVU3922
4959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11249 .loc 1 4959 13 is_stmt 0 view .LVU3923
11250 00b6 638D ldrh r3, [r4, #42]
11251 00b8 9BB2 uxth r3, r3
4959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11252 .loc 1 4959 8 view .LVU3924
11253 00ba 73B1 cbz r3, .L697
4962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11254 .loc 1 4962 7 is_stmt 1 view .LVU3925
4962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11255 .loc 1 4962 38 is_stmt 0 view .LVU3926
ARM GAS /tmp/ccbUHtu7.s page 384
11256 00bc 2368 ldr r3, [r4]
4962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11257 .loc 1 4962 48 view .LVU3927
11258 00be 5A6A ldr r2, [r3, #36]
4962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11259 .loc 1 4962 12 view .LVU3928
11260 00c0 636A ldr r3, [r4, #36]
4962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11261 .loc 1 4962 23 view .LVU3929
11262 00c2 1A70 strb r2, [r3]
4965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11263 .loc 1 4965 7 is_stmt 1 view .LVU3930
4965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11264 .loc 1 4965 11 is_stmt 0 view .LVU3931
11265 00c4 636A ldr r3, [r4, #36]
4965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11266 .loc 1 4965 21 view .LVU3932
11267 00c6 0133 adds r3, r3, #1
11268 00c8 6362 str r3, [r4, #36]
4967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
11269 .loc 1 4967 7 is_stmt 1 view .LVU3933
4967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
11270 .loc 1 4967 11 is_stmt 0 view .LVU3934
11271 00ca 238D ldrh r3, [r4, #40]
4967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
11272 .loc 1 4967 21 view .LVU3935
11273 00cc 013B subs r3, r3, #1
11274 00ce 2385 strh r3, [r4, #40] @ movhi
4968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11275 .loc 1 4968 7 is_stmt 1 view .LVU3936
4968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11276 .loc 1 4968 11 is_stmt 0 view .LVU3937
11277 00d0 638D ldrh r3, [r4, #42]
11278 00d2 9BB2 uxth r3, r3
4968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11279 .loc 1 4968 22 view .LVU3938
11280 00d4 013B subs r3, r3, #1
11281 00d6 9BB2 uxth r3, r3
11282 00d8 6385 strh r3, [r4, #42] @ movhi
11283 .L697:
4971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11284 .loc 1 4971 5 is_stmt 1 view .LVU3939
4971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11285 .loc 1 4971 14 is_stmt 0 view .LVU3940
11286 00da 638D ldrh r3, [r4, #42]
11287 00dc 9BB2 uxth r3, r3
4971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11288 .loc 1 4971 8 view .LVU3941
11289 00de 002B cmp r3, #0
11290 00e0 B7D1 bne .L693
4971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11291 .loc 1 4971 33 discriminator 1 view .LVU3942
11292 00e2 17F5803F cmn r7, #65536
11293 00e6 B4D0 beq .L693
4975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11294 .loc 1 4975 7 is_stmt 1 view .LVU3943
11295 00e8 2046 mov r0, r4
ARM GAS /tmp/ccbUHtu7.s page 385
11296 00ea FFF7FEFF bl I2C_ITSlaveSeqCplt
11297 .LVL774:
11298 00ee B0E7 b .L693
11299 .L696:
4978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
11300 .loc 1 4978 8 view .LVU3944
4978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
11301 .loc 1 4978 11 is_stmt 0 view .LVU3945
11302 00f0 15F0080F tst r5, #8
11303 00f4 02D0 beq .L698
4978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
11304 .loc 1 4978 65 discriminator 1 view .LVU3946
11305 00f6 16F0080F tst r6, #8
11306 00fa 18D1 bne .L706
11307 .L698:
4983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11308 .loc 1 4983 8 is_stmt 1 view .LVU3947
4983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11309 .loc 1 4983 11 is_stmt 0 view .LVU3948
11310 00fc 15F0020F tst r5, #2
11311 0100 A7D0 beq .L693
4983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11312 .loc 1 4983 65 discriminator 1 view .LVU3949
11313 0102 16F0020F tst r6, #2
11314 0106 A4D0 beq .L693
4990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11315 .loc 1 4990 5 is_stmt 1 view .LVU3950
4990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11316 .loc 1 4990 13 is_stmt 0 view .LVU3951
11317 0108 638D ldrh r3, [r4, #42]
11318 010a 9BB2 uxth r3, r3
4990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11319 .loc 1 4990 8 view .LVU3952
11320 010c A3B1 cbz r3, .L699
4993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11321 .loc 1 4993 7 is_stmt 1 view .LVU3953
4993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11322 .loc 1 4993 35 is_stmt 0 view .LVU3954
11323 010e 626A ldr r2, [r4, #36]
4993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11324 .loc 1 4993 11 view .LVU3955
11325 0110 2368 ldr r3, [r4]
4993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11326 .loc 1 4993 30 view .LVU3956
11327 0112 1278 ldrb r2, [r2] @ zero_extendqisi2
4993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11328 .loc 1 4993 28 view .LVU3957
11329 0114 9A62 str r2, [r3, #40]
4996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11330 .loc 1 4996 7 is_stmt 1 view .LVU3958
4996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11331 .loc 1 4996 11 is_stmt 0 view .LVU3959
11332 0116 636A ldr r3, [r4, #36]
4996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11333 .loc 1 4996 21 view .LVU3960
11334 0118 0133 adds r3, r3, #1
11335 011a 6362 str r3, [r4, #36]
ARM GAS /tmp/ccbUHtu7.s page 386
4998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
11336 .loc 1 4998 7 is_stmt 1 view .LVU3961
4998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
11337 .loc 1 4998 11 is_stmt 0 view .LVU3962
11338 011c 638D ldrh r3, [r4, #42]
11339 011e 9BB2 uxth r3, r3
4998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize--;
11340 .loc 1 4998 22 view .LVU3963
11341 0120 013B subs r3, r3, #1
11342 0122 9BB2 uxth r3, r3
11343 0124 6385 strh r3, [r4, #42] @ movhi
4999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11344 .loc 1 4999 7 is_stmt 1 view .LVU3964
4999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11345 .loc 1 4999 11 is_stmt 0 view .LVU3965
11346 0126 238D ldrh r3, [r4, #40]
4999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11347 .loc 1 4999 21 view .LVU3966
11348 0128 013B subs r3, r3, #1
11349 012a 2385 strh r3, [r4, #40] @ movhi
11350 012c 91E7 b .L693
11351 .L706:
4981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11352 .loc 1 4981 5 is_stmt 1 view .LVU3967
11353 012e 2946 mov r1, r5
11354 0130 2046 mov r0, r4
11355 0132 FFF7FEFF bl I2C_ITAddrCplt
11356 .LVL775:
11357 0136 8CE7 b .L693
11358 .L699:
5003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11359 .loc 1 5003 7 view .LVU3968
5003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11360 .loc 1 5003 10 is_stmt 0 view .LVU3969
11361 0138 B7F1807F cmp r7, #16777216
11362 013c 01D0 beq .L700
5003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11363 .loc 1 5003 42 discriminator 1 view .LVU3970
11364 013e 002F cmp r7, #0
11365 0140 87D1 bne .L693
11366 .L700:
5007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11367 .loc 1 5007 9 is_stmt 1 view .LVU3971
11368 0142 2046 mov r0, r4
11369 0144 FFF7FEFF bl I2C_ITSlaveSeqCplt
11370 .LVL776:
11371 0148 83E7 b .L693
11372 .LVL777:
11373 .L701:
4896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11374 .loc 1 4896 3 is_stmt 0 view .LVU3972
11375 014a 0220 movs r0, #2
11376 .LVL778:
4896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11377 .loc 1 4896 3 view .LVU3973
11378 014c 84E7 b .L688
11379 .cfi_endproc
ARM GAS /tmp/ccbUHtu7.s page 387
11380 .LFE379:
11382 .section .text.I2C_ITMasterCplt,"ax",%progbits
11383 .align 1
11384 .syntax unified
11385 .thumb
11386 .thumb_func
11388 I2C_ITMasterCplt:
11389 .LVL779:
11390 .LFB387:
5642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmperror;
11391 .loc 1 5642 1 is_stmt 1 view -0
11392 .cfi_startproc
11393 @ args = 0, pretend = 0, frame = 8
11394 @ frame_needed = 0, uses_anonymous_args = 0
5642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmperror;
11395 .loc 1 5642 1 is_stmt 0 view .LVU3975
11396 0000 30B5 push {r4, r5, lr}
11397 .LCFI122:
11398 .cfi_def_cfa_offset 12
11399 .cfi_offset 4, -12
11400 .cfi_offset 5, -8
11401 .cfi_offset 14, -4
11402 0002 83B0 sub sp, sp, #12
11403 .LCFI123:
11404 .cfi_def_cfa_offset 24
11405 0004 0446 mov r4, r0
11406 0006 0D46 mov r5, r1
5643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11407 .loc 1 5643 3 is_stmt 1 view .LVU3976
5644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** __IO uint32_t tmpreg;
11408 .loc 1 5644 3 view .LVU3977
11409 .LVL780:
5645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11410 .loc 1 5645 3 view .LVU3978
5648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11411 .loc 1 5648 3 view .LVU3979
11412 0008 0368 ldr r3, [r0]
11413 000a 2022 movs r2, #32
11414 000c DA61 str r2, [r3, #28]
5651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11415 .loc 1 5651 3 view .LVU3980
5651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11416 .loc 1 5651 11 is_stmt 0 view .LVU3981
11417 000e 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
11418 0012 DBB2 uxtb r3, r3
5651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11419 .loc 1 5651 6 view .LVU3982
11420 0014 212B cmp r3, #33
11421 0016 33D0 beq .L719
5656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11422 .loc 1 5656 8 is_stmt 1 view .LVU3983
5656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11423 .loc 1 5656 16 is_stmt 0 view .LVU3984
11424 0018 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
11425 001c DBB2 uxtb r3, r3
5656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11426 .loc 1 5656 11 view .LVU3985
ARM GAS /tmp/ccbUHtu7.s page 388
11427 001e 222B cmp r3, #34
11428 0020 34D0 beq .L720
11429 .LVL781:
11430 .L709:
5664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11431 .loc 1 5664 3 is_stmt 1 view .LVU3986
5667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11432 .loc 1 5667 3 view .LVU3987
11433 0022 2268 ldr r2, [r4]
11434 0024 5368 ldr r3, [r2, #4]
11435 0026 23F0FF73 bic r3, r3, #33423360
11436 002a 23F48B33 bic r3, r3, #71168
11437 002e 23F4FF73 bic r3, r3, #510
11438 0032 23F00103 bic r3, r3, #1
11439 0036 5360 str r3, [r2, #4]
5670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11440 .loc 1 5670 3 view .LVU3988
5670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11441 .loc 1 5670 23 is_stmt 0 view .LVU3989
11442 0038 0023 movs r3, #0
11443 003a 6363 str r3, [r4, #52]
5671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11444 .loc 1 5671 3 is_stmt 1 view .LVU3990
5671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11445 .loc 1 5671 23 is_stmt 0 view .LVU3991
11446 003c A3F58033 sub r3, r3, #65536
11447 0040 E362 str r3, [r4, #44]
5673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11448 .loc 1 5673 3 is_stmt 1 view .LVU3992
5673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11449 .loc 1 5673 6 is_stmt 0 view .LVU3993
11450 0042 15F0100F tst r5, #16
11451 0046 06D0 beq .L710
5676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11452 .loc 1 5676 5 is_stmt 1 view .LVU3994
11453 0048 2368 ldr r3, [r4]
11454 004a 1022 movs r2, #16
11455 004c DA61 str r2, [r3, #28]
5679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11456 .loc 1 5679 5 view .LVU3995
5679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11457 .loc 1 5679 9 is_stmt 0 view .LVU3996
11458 004e 636C ldr r3, [r4, #68]
5679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11459 .loc 1 5679 21 view .LVU3997
11460 0050 43F00403 orr r3, r3, #4
11461 0054 6364 str r3, [r4, #68]
11462 .L710:
5683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11463 .loc 1 5683 3 is_stmt 1 view .LVU3998
5683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11464 .loc 1 5683 12 is_stmt 0 view .LVU3999
11465 0056 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11466 005a DBB2 uxtb r3, r3
5683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11467 .loc 1 5683 6 view .LVU4000
11468 005c 602B cmp r3, #96
ARM GAS /tmp/ccbUHtu7.s page 389
11469 005e 1BD0 beq .L721
11470 .L711:
5691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11471 .loc 1 5691 3 is_stmt 1 view .LVU4001
11472 0060 2046 mov r0, r4
11473 0062 FFF7FEFF bl I2C_Flush_TXDR
11474 .LVL782:
5694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11475 .loc 1 5694 3 view .LVU4002
5694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11476 .loc 1 5694 12 is_stmt 0 view .LVU4003
11477 0066 626C ldr r2, [r4, #68]
11478 .LVL783:
5697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11479 .loc 1 5697 3 is_stmt 1 view .LVU4004
5697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11480 .loc 1 5697 12 is_stmt 0 view .LVU4005
11481 0068 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11482 006c DBB2 uxtb r3, r3
5697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11483 .loc 1 5697 6 view .LVU4006
11484 006e 602B cmp r3, #96
11485 0070 00D0 beq .L712
5697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11486 .loc 1 5697 44 discriminator 1 view .LVU4007
11487 0072 D2B1 cbz r2, .L713
11488 .L712:
5700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11489 .loc 1 5700 5 is_stmt 1 view .LVU4008
5700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11490 .loc 1 5700 27 is_stmt 0 view .LVU4009
11491 0074 616C ldr r1, [r4, #68]
5700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11492 .loc 1 5700 5 view .LVU4010
11493 0076 2046 mov r0, r4
11494 0078 FFF7FEFF bl I2C_ITError
11495 .LVL784:
11496 .L707:
5776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11497 .loc 1 5776 1 view .LVU4011
11498 007c 03B0 add sp, sp, #12
11499 .LCFI124:
11500 .cfi_remember_state
11501 .cfi_def_cfa_offset 12
11502 @ sp needed
11503 007e 30BD pop {r4, r5, pc}
11504 .LVL785:
11505 .L719:
11506 .LCFI125:
11507 .cfi_restore_state
5653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
11508 .loc 1 5653 5 is_stmt 1 view .LVU4012
11509 0080 0121 movs r1, #1
11510 .LVL786:
5653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
11511 .loc 1 5653 5 is_stmt 0 view .LVU4013
11512 0082 FFF7FEFF bl I2C_Disable_IRQ
ARM GAS /tmp/ccbUHtu7.s page 390
11513 .LVL787:
5654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11514 .loc 1 5654 5 is_stmt 1 view .LVU4014
5654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11515 .loc 1 5654 25 is_stmt 0 view .LVU4015
11516 0086 1123 movs r3, #17
11517 0088 2363 str r3, [r4, #48]
11518 008a CAE7 b .L709
11519 .LVL788:
11520 .L720:
5658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
11521 .loc 1 5658 5 is_stmt 1 view .LVU4016
11522 008c 0221 movs r1, #2
11523 .LVL789:
5658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
11524 .loc 1 5658 5 is_stmt 0 view .LVU4017
11525 008e FFF7FEFF bl I2C_Disable_IRQ
11526 .LVL790:
5659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11527 .loc 1 5659 5 is_stmt 1 view .LVU4018
5659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11528 .loc 1 5659 25 is_stmt 0 view .LVU4019
11529 0092 1223 movs r3, #18
11530 0094 2363 str r3, [r4, #48]
11531 0096 C4E7 b .L709
11532 .L721:
5683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11533 .loc 1 5683 44 discriminator 1 view .LVU4020
11534 0098 15F0040F tst r5, #4
11535 009c E0D0 beq .L711
5686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(tmpreg);
11536 .loc 1 5686 5 is_stmt 1 view .LVU4021
5686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(tmpreg);
11537 .loc 1 5686 27 is_stmt 0 view .LVU4022
11538 009e 2368 ldr r3, [r4]
5686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(tmpreg);
11539 .loc 1 5686 37 view .LVU4023
11540 00a0 5B6A ldr r3, [r3, #36]
11541 00a2 DBB2 uxtb r3, r3
5686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** UNUSED(tmpreg);
11542 .loc 1 5686 12 view .LVU4024
11543 00a4 0193 str r3, [sp, #4]
5687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11544 .loc 1 5687 5 is_stmt 1 view .LVU4025
11545 00a6 019B ldr r3, [sp, #4]
11546 00a8 DAE7 b .L711
11547 .LVL791:
11548 .L713:
5703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11549 .loc 1 5703 8 view .LVU4026
5703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11550 .loc 1 5703 16 is_stmt 0 view .LVU4027
11551 00aa 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11552 00ae DBB2 uxtb r3, r3
5703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11553 .loc 1 5703 11 view .LVU4028
11554 00b0 212B cmp r3, #33
ARM GAS /tmp/ccbUHtu7.s page 391
11555 00b2 17D0 beq .L722
5738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11556 .loc 1 5738 8 is_stmt 1 view .LVU4029
5738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11557 .loc 1 5738 16 is_stmt 0 view .LVU4030
11558 00b4 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11559 00b8 DBB2 uxtb r3, r3
5738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11560 .loc 1 5738 11 view .LVU4031
11561 00ba 222B cmp r3, #34
11562 00bc DED1 bne .L707
5740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11563 .loc 1 5740 5 is_stmt 1 view .LVU4032
5740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11564 .loc 1 5740 17 is_stmt 0 view .LVU4033
11565 00be 2023 movs r3, #32
11566 00c0 84F84130 strb r3, [r4, #65]
5741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11567 .loc 1 5741 5 is_stmt 1 view .LVU4034
5741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11568 .loc 1 5741 25 is_stmt 0 view .LVU4035
11569 00c4 0023 movs r3, #0
11570 00c6 2363 str r3, [r4, #48]
5743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11571 .loc 1 5743 5 is_stmt 1 view .LVU4036
5743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11572 .loc 1 5743 13 is_stmt 0 view .LVU4037
11573 00c8 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2
11574 00cc DBB2 uxtb r3, r3
5743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11575 .loc 1 5743 8 view .LVU4038
11576 00ce 402B cmp r3, #64
11577 00d0 24D0 beq .L723
5759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11578 .loc 1 5759 7 is_stmt 1 view .LVU4039
5759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11579 .loc 1 5759 18 is_stmt 0 view .LVU4040
11580 00d2 0023 movs r3, #0
11581 00d4 84F84230 strb r3, [r4, #66]
5762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11582 .loc 1 5762 7 is_stmt 1 view .LVU4041
5762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11583 .loc 1 5762 7 view .LVU4042
11584 00d8 84F84030 strb r3, [r4, #64]
5762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11585 .loc 1 5762 7 view .LVU4043
5768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11586 .loc 1 5768 7 view .LVU4044
11587 00dc 2046 mov r0, r4
11588 00de FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
11589 .LVL792:
5775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11590 .loc 1 5775 3 view .LVU4045
5776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11591 .loc 1 5776 1 is_stmt 0 view .LVU4046
11592 00e2 CBE7 b .L707
11593 .LVL793:
ARM GAS /tmp/ccbUHtu7.s page 392
11594 .L722:
5705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11595 .loc 1 5705 5 is_stmt 1 view .LVU4047
5705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11596 .loc 1 5705 17 is_stmt 0 view .LVU4048
11597 00e4 2023 movs r3, #32
11598 00e6 84F84130 strb r3, [r4, #65]
5706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11599 .loc 1 5706 5 is_stmt 1 view .LVU4049
5706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11600 .loc 1 5706 25 is_stmt 0 view .LVU4050
11601 00ea 0023 movs r3, #0
11602 00ec 2363 str r3, [r4, #48]
5708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11603 .loc 1 5708 5 is_stmt 1 view .LVU4051
5708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11604 .loc 1 5708 13 is_stmt 0 view .LVU4052
11605 00ee 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2
11606 00f2 DBB2 uxtb r3, r3
5708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11607 .loc 1 5708 8 view .LVU4053
11608 00f4 402B cmp r3, #64
11609 00f6 08D0 beq .L724
5724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11610 .loc 1 5724 7 is_stmt 1 view .LVU4054
5724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11611 .loc 1 5724 18 is_stmt 0 view .LVU4055
11612 00f8 0023 movs r3, #0
11613 00fa 84F84230 strb r3, [r4, #66]
5727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11614 .loc 1 5727 7 is_stmt 1 view .LVU4056
5727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11615 .loc 1 5727 7 view .LVU4057
11616 00fe 84F84030 strb r3, [r4, #64]
5727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11617 .loc 1 5727 7 view .LVU4058
5733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11618 .loc 1 5733 7 view .LVU4059
11619 0102 2046 mov r0, r4
11620 0104 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
11621 .LVL794:
5733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11622 .loc 1 5733 7 is_stmt 0 view .LVU4060
11623 0108 B8E7 b .L707
11624 .LVL795:
11625 .L724:
5710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11626 .loc 1 5710 7 is_stmt 1 view .LVU4061
5710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11627 .loc 1 5710 18 is_stmt 0 view .LVU4062
11628 010a 0023 movs r3, #0
11629 010c 84F84230 strb r3, [r4, #66]
5713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11630 .loc 1 5713 7 is_stmt 1 view .LVU4063
5713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11631 .loc 1 5713 7 view .LVU4064
11632 0110 84F84030 strb r3, [r4, #64]
ARM GAS /tmp/ccbUHtu7.s page 393
5713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11633 .loc 1 5713 7 view .LVU4065
5719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11634 .loc 1 5719 7 view .LVU4066
11635 0114 2046 mov r0, r4
11636 0116 FFF7FEFF bl HAL_I2C_MemTxCpltCallback
11637 .LVL796:
5719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11638 .loc 1 5719 7 is_stmt 0 view .LVU4067
11639 011a AFE7 b .L707
11640 .LVL797:
11641 .L723:
5745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11642 .loc 1 5745 7 is_stmt 1 view .LVU4068
5745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11643 .loc 1 5745 18 is_stmt 0 view .LVU4069
11644 011c 0023 movs r3, #0
11645 011e 84F84230 strb r3, [r4, #66]
5748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11646 .loc 1 5748 7 is_stmt 1 view .LVU4070
5748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11647 .loc 1 5748 7 view .LVU4071
11648 0122 84F84030 strb r3, [r4, #64]
5748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11649 .loc 1 5748 7 view .LVU4072
5754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11650 .loc 1 5754 7 view .LVU4073
11651 0126 2046 mov r0, r4
11652 0128 FFF7FEFF bl HAL_I2C_MemRxCpltCallback
11653 .LVL798:
5754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11654 .loc 1 5754 7 is_stmt 0 view .LVU4074
11655 012c A6E7 b .L707
11656 .cfi_endproc
11657 .LFE387:
11659 .section .text.I2C_Master_ISR_IT,"ax",%progbits
11660 .align 1
11661 .syntax unified
11662 .thumb
11663 .thumb_func
11665 I2C_Master_ISR_IT:
11666 .LVL799:
11667 .LFB378:
4745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t devaddress;
11668 .loc 1 4745 1 is_stmt 1 view -0
11669 .cfi_startproc
11670 @ args = 0, pretend = 0, frame = 0
11671 @ frame_needed = 0, uses_anonymous_args = 0
4746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11672 .loc 1 4746 3 view .LVU4076
4747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11673 .loc 1 4747 3 view .LVU4077
4750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11674 .loc 1 4750 3 view .LVU4078
4750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11675 .loc 1 4750 3 view .LVU4079
11676 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
ARM GAS /tmp/ccbUHtu7.s page 394
11677 0004 012B cmp r3, #1
11678 0006 00F0B980 beq .L739
4745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t devaddress;
11679 .loc 1 4745 1 is_stmt 0 discriminator 2 view .LVU4080
11680 000a 70B5 push {r4, r5, r6, lr}
11681 .LCFI126:
11682 .cfi_def_cfa_offset 16
11683 .cfi_offset 4, -16
11684 .cfi_offset 5, -12
11685 .cfi_offset 6, -8
11686 .cfi_offset 14, -4
11687 000c 82B0 sub sp, sp, #8
11688 .LCFI127:
11689 .cfi_def_cfa_offset 24
11690 000e 0446 mov r4, r0
11691 0010 0D46 mov r5, r1
11692 0012 1646 mov r6, r2
4750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11693 .loc 1 4750 3 is_stmt 1 discriminator 2 view .LVU4081
11694 0014 0123 movs r3, #1
11695 0016 80F84030 strb r3, [r0, #64]
4750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11696 .loc 1 4750 3 discriminator 2 view .LVU4082
4752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11697 .loc 1 4752 3 discriminator 2 view .LVU4083
4752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11698 .loc 1 4752 6 is_stmt 0 discriminator 2 view .LVU4084
11699 001a 11F0100F tst r1, #16
11700 001e 02D0 beq .L727
4752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11701 .loc 1 4752 58 discriminator 1 view .LVU4085
11702 0020 12F0100F tst r2, #16
11703 0024 22D1 bne .L744
11704 .L727:
4766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11705 .loc 1 4766 8 is_stmt 1 view .LVU4086
4766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11706 .loc 1 4766 11 is_stmt 0 view .LVU4087
11707 0026 15F0040F tst r5, #4
11708 002a 29D0 beq .L729
4766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11709 .loc 1 4766 65 discriminator 1 view .LVU4088
11710 002c 16F0040F tst r6, #4
11711 0030 26D0 beq .L729
4770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11712 .loc 1 4770 5 is_stmt 1 view .LVU4089
4770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11713 .loc 1 4770 16 is_stmt 0 view .LVU4090
11714 0032 25F00405 bic r5, r5, #4
11715 .LVL800:
4773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11716 .loc 1 4773 5 is_stmt 1 view .LVU4091
4773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11717 .loc 1 4773 36 is_stmt 0 view .LVU4092
11718 0036 2368 ldr r3, [r4]
4773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11719 .loc 1 4773 46 view .LVU4093
ARM GAS /tmp/ccbUHtu7.s page 395
11720 0038 5A6A ldr r2, [r3, #36]
11721 .LVL801:
4773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11722 .loc 1 4773 10 view .LVU4094
11723 003a 636A ldr r3, [r4, #36]
4773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11724 .loc 1 4773 21 view .LVU4095
11725 003c 1A70 strb r2, [r3]
4776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11726 .loc 1 4776 5 is_stmt 1 view .LVU4096
4776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11727 .loc 1 4776 9 is_stmt 0 view .LVU4097
11728 003e 636A ldr r3, [r4, #36]
4776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11729 .loc 1 4776 19 view .LVU4098
11730 0040 0133 adds r3, r3, #1
11731 0042 6362 str r3, [r4, #36]
4778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
11732 .loc 1 4778 5 is_stmt 1 view .LVU4099
4778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
11733 .loc 1 4778 9 is_stmt 0 view .LVU4100
11734 0044 238D ldrh r3, [r4, #40]
4778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
11735 .loc 1 4778 19 view .LVU4101
11736 0046 013B subs r3, r3, #1
11737 0048 2385 strh r3, [r4, #40] @ movhi
4779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11738 .loc 1 4779 5 is_stmt 1 view .LVU4102
4779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11739 .loc 1 4779 9 is_stmt 0 view .LVU4103
11740 004a 638D ldrh r3, [r4, #42]
11741 004c 9BB2 uxth r3, r3
4779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11742 .loc 1 4779 20 view .LVU4104
11743 004e 013B subs r3, r3, #1
11744 0050 9BB2 uxth r3, r3
11745 0052 6385 strh r3, [r4, #42] @ movhi
11746 .LVL802:
11747 .L728:
4866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11748 .loc 1 4866 3 is_stmt 1 view .LVU4105
4868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11749 .loc 1 4868 3 view .LVU4106
4868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11750 .loc 1 4868 6 is_stmt 0 view .LVU4107
11751 0054 15F0200F tst r5, #32
11752 0058 03D0 beq .L738
4868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11753 .loc 1 4868 61 discriminator 1 view .LVU4108
11754 005a 16F0200F tst r6, #32
11755 005e 40F08880 bne .L745
11756 .L738:
4876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11757 .loc 1 4876 3 is_stmt 1 view .LVU4109
4876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11758 .loc 1 4876 3 view .LVU4110
11759 0062 0020 movs r0, #0
ARM GAS /tmp/ccbUHtu7.s page 396
11760 0064 84F84000 strb r0, [r4, #64]
4876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11761 .loc 1 4876 3 view .LVU4111
4878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11762 .loc 1 4878 3 view .LVU4112
4879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11763 .loc 1 4879 1 is_stmt 0 view .LVU4113
11764 0068 02B0 add sp, sp, #8
11765 .LCFI128:
11766 .cfi_remember_state
11767 .cfi_def_cfa_offset 16
11768 @ sp needed
11769 006a 70BD pop {r4, r5, r6, pc}
11770 .LVL803:
11771 .L744:
11772 .LCFI129:
11773 .cfi_restore_state
4756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11774 .loc 1 4756 5 is_stmt 1 view .LVU4114
11775 006c 0368 ldr r3, [r0]
11776 006e 1022 movs r2, #16
11777 .LVL804:
4756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11778 .loc 1 4756 5 is_stmt 0 view .LVU4115
11779 0070 DA61 str r2, [r3, #28]
4761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11780 .loc 1 4761 5 is_stmt 1 view .LVU4116
4761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11781 .loc 1 4761 9 is_stmt 0 view .LVU4117
11782 0072 436C ldr r3, [r0, #68]
4761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11783 .loc 1 4761 21 view .LVU4118
11784 0074 43F00403 orr r3, r3, #4
11785 0078 4364 str r3, [r0, #68]
4764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11786 .loc 1 4764 5 is_stmt 1 view .LVU4119
11787 007a FFF7FEFF bl I2C_Flush_TXDR
11788 .LVL805:
4764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11789 .loc 1 4764 5 is_stmt 0 view .LVU4120
11790 007e E9E7 b .L728
11791 .LVL806:
11792 .L729:
4781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11793 .loc 1 4781 8 is_stmt 1 view .LVU4121
4781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11794 .loc 1 4781 11 is_stmt 0 view .LVU4122
11795 0080 15F0020F tst r5, #2
11796 0084 12D0 beq .L730
4781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11797 .loc 1 4781 65 discriminator 1 view .LVU4123
11798 0086 16F0020F tst r6, #2
11799 008a 0FD0 beq .L730
4785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11800 .loc 1 4785 5 is_stmt 1 view .LVU4124
4785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11801 .loc 1 4785 33 is_stmt 0 view .LVU4125
ARM GAS /tmp/ccbUHtu7.s page 397
11802 008c 626A ldr r2, [r4, #36]
11803 .LVL807:
4785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11804 .loc 1 4785 9 view .LVU4126
11805 008e 2368 ldr r3, [r4]
4785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11806 .loc 1 4785 28 view .LVU4127
11807 0090 1278 ldrb r2, [r2] @ zero_extendqisi2
4785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11808 .loc 1 4785 26 view .LVU4128
11809 0092 9A62 str r2, [r3, #40]
4788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11810 .loc 1 4788 5 is_stmt 1 view .LVU4129
4788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11811 .loc 1 4788 9 is_stmt 0 view .LVU4130
11812 0094 636A ldr r3, [r4, #36]
4788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11813 .loc 1 4788 19 view .LVU4131
11814 0096 0133 adds r3, r3, #1
11815 0098 6362 str r3, [r4, #36]
4790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
11816 .loc 1 4790 5 is_stmt 1 view .LVU4132
4790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
11817 .loc 1 4790 9 is_stmt 0 view .LVU4133
11818 009a 238D ldrh r3, [r4, #40]
4790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferCount--;
11819 .loc 1 4790 19 view .LVU4134
11820 009c 013B subs r3, r3, #1
11821 009e 2385 strh r3, [r4, #40] @ movhi
4791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11822 .loc 1 4791 5 is_stmt 1 view .LVU4135
4791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11823 .loc 1 4791 9 is_stmt 0 view .LVU4136
11824 00a0 638D ldrh r3, [r4, #42]
11825 00a2 9BB2 uxth r3, r3
4791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11826 .loc 1 4791 20 view .LVU4137
11827 00a4 013B subs r3, r3, #1
11828 00a6 9BB2 uxth r3, r3
11829 00a8 6385 strh r3, [r4, #42] @ movhi
11830 00aa D3E7 b .L728
11831 .LVL808:
11832 .L730:
4793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
11833 .loc 1 4793 8 is_stmt 1 view .LVU4138
4793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
11834 .loc 1 4793 11 is_stmt 0 view .LVU4139
11835 00ac 15F0800F tst r5, #128
11836 00b0 3FD0 beq .L731
4793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
11837 .loc 1 4793 64 discriminator 1 view .LVU4140
11838 00b2 16F0400F tst r6, #64
11839 00b6 3CD0 beq .L731
4796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11840 .loc 1 4796 5 is_stmt 1 view .LVU4141
4796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11841 .loc 1 4796 14 is_stmt 0 view .LVU4142
ARM GAS /tmp/ccbUHtu7.s page 398
11842 00b8 638D ldrh r3, [r4, #42]
11843 00ba 9BB2 uxth r3, r3
4796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11844 .loc 1 4796 8 view .LVU4143
11845 00bc 5BB3 cbz r3, .L732
4796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11846 .loc 1 4796 41 discriminator 1 view .LVU4144
11847 00be 238D ldrh r3, [r4, #40]
4796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11848 .loc 1 4796 33 discriminator 1 view .LVU4145
11849 00c0 4BBB cbnz r3, .L732
4798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11850 .loc 1 4798 7 is_stmt 1 view .LVU4146
4798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11851 .loc 1 4798 35 is_stmt 0 view .LVU4147
11852 00c2 2368 ldr r3, [r4]
4798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11853 .loc 1 4798 45 view .LVU4148
11854 00c4 5968 ldr r1, [r3, #4]
11855 .LVL809:
4798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
11856 .loc 1 4798 18 view .LVU4149
11857 00c6 C1F30901 ubfx r1, r1, #0, #10
11858 .LVL810:
4800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11859 .loc 1 4800 7 is_stmt 1 view .LVU4150
4800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11860 .loc 1 4800 15 is_stmt 0 view .LVU4151
11861 00ca 638D ldrh r3, [r4, #42]
11862 00cc 9BB2 uxth r3, r3
4800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11863 .loc 1 4800 10 view .LVU4152
11864 00ce FF2B cmp r3, #255
11865 00d0 0ED8 bhi .L746
4807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
11866 .loc 1 4807 9 is_stmt 1 view .LVU4153
4807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
11867 .loc 1 4807 30 is_stmt 0 view .LVU4154
11868 00d2 628D ldrh r2, [r4, #42]
11869 .LVL811:
4807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
11870 .loc 1 4807 30 view .LVU4155
11871 00d4 92B2 uxth r2, r2
4807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
11872 .loc 1 4807 24 view .LVU4156
11873 00d6 2285 strh r2, [r4, #40] @ movhi
4808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11874 .loc 1 4808 9 is_stmt 1 view .LVU4157
4808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11875 .loc 1 4808 17 is_stmt 0 view .LVU4158
11876 00d8 E36A ldr r3, [r4, #44]
4808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11877 .loc 1 4808 12 view .LVU4159
11878 00da 13F5803F cmn r3, #65536
11879 00de 11D0 beq .L734
4810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
11880 .loc 1 4810 11 is_stmt 1 view .LVU4160
ARM GAS /tmp/ccbUHtu7.s page 399
4811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11881 .loc 1 4811 34 is_stmt 0 view .LVU4161
11882 00e0 E36A ldr r3, [r4, #44]
4810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
11883 .loc 1 4810 11 view .LVU4162
11884 00e2 0020 movs r0, #0
11885 .LVL812:
4810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
11886 .loc 1 4810 11 view .LVU4163
11887 00e4 0090 str r0, [sp]
11888 00e6 D2B2 uxtb r2, r2
11889 00e8 2046 mov r0, r4
11890 00ea FFF7FEFF bl I2C_TransferConfig
11891 .LVL813:
4810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
11892 .loc 1 4810 11 view .LVU4164
11893 00ee B1E7 b .L728
11894 .LVL814:
11895 .L746:
4802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
11896 .loc 1 4802 9 is_stmt 1 view .LVU4165
4802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
11897 .loc 1 4802 24 is_stmt 0 view .LVU4166
11898 00f0 FF22 movs r2, #255
11899 .LVL815:
4802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
11900 .loc 1 4802 24 view .LVU4167
11901 00f2 2285 strh r2, [r4, #40] @ movhi
4803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11902 .loc 1 4803 9 is_stmt 1 view .LVU4168
11903 00f4 0023 movs r3, #0
11904 00f6 0093 str r3, [sp]
11905 00f8 4FF08073 mov r3, #16777216
11906 00fc 2046 mov r0, r4
11907 .LVL816:
4803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11908 .loc 1 4803 9 is_stmt 0 view .LVU4169
11909 00fe FFF7FEFF bl I2C_TransferConfig
11910 .LVL817:
4803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11911 .loc 1 4803 9 view .LVU4170
11912 0102 A7E7 b .L728
11913 .LVL818:
11914 .L734:
4815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
11915 .loc 1 4815 11 is_stmt 1 view .LVU4171
11916 0104 0023 movs r3, #0
11917 0106 0093 str r3, [sp]
11918 0108 4FF00073 mov r3, #33554432
11919 010c D2B2 uxtb r2, r2
11920 010e 2046 mov r0, r4
11921 .LVL819:
4815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
11922 .loc 1 4815 11 is_stmt 0 view .LVU4172
11923 0110 FFF7FEFF bl I2C_TransferConfig
11924 .LVL820:
4815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
ARM GAS /tmp/ccbUHtu7.s page 400
11925 .loc 1 4815 11 view .LVU4173
11926 0114 9EE7 b .L728
11927 .LVL821:
11928 .L732:
4823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11929 .loc 1 4823 7 is_stmt 1 view .LVU4174
4823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11930 .loc 1 4823 11 is_stmt 0 view .LVU4175
11931 0116 2368 ldr r3, [r4]
11932 0118 5B68 ldr r3, [r3, #4]
4823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11933 .loc 1 4823 10 view .LVU4176
11934 011a 13F0007F tst r3, #33554432
11935 011e 03D1 bne .L735
4826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11936 .loc 1 4826 9 is_stmt 1 view .LVU4177
11937 0120 2046 mov r0, r4
11938 .LVL822:
4826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11939 .loc 1 4826 9 is_stmt 0 view .LVU4178
11940 0122 FFF7FEFF bl I2C_ITMasterSeqCplt
11941 .LVL823:
4826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11942 .loc 1 4826 9 view .LVU4179
11943 0126 95E7 b .L728
11944 .LVL824:
11945 .L735:
4832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11946 .loc 1 4832 9 is_stmt 1 view .LVU4180
11947 0128 4021 movs r1, #64
11948 .LVL825:
4832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11949 .loc 1 4832 9 is_stmt 0 view .LVU4181
11950 012a 2046 mov r0, r4
11951 .LVL826:
4832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11952 .loc 1 4832 9 view .LVU4182
11953 012c FFF7FEFF bl I2C_ITError
11954 .LVL827:
4832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11955 .loc 1 4832 9 view .LVU4183
11956 0130 90E7 b .L728
11957 .LVL828:
11958 .L731:
4836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
11959 .loc 1 4836 8 is_stmt 1 view .LVU4184
4836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
11960 .loc 1 4836 11 is_stmt 0 view .LVU4185
11961 0132 15F0400F tst r5, #64
11962 0136 8DD0 beq .L728
4836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
11963 .loc 1 4836 63 discriminator 1 view .LVU4186
11964 0138 16F0400F tst r6, #64
11965 013c 8AD0 beq .L728
4839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11966 .loc 1 4839 5 is_stmt 1 view .LVU4187
4839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 401
11967 .loc 1 4839 13 is_stmt 0 view .LVU4188
11968 013e 638D ldrh r3, [r4, #42]
11969 0140 9BB2 uxth r3, r3
4839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11970 .loc 1 4839 8 view .LVU4189
11971 0142 8BB9 cbnz r3, .L736
4841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11972 .loc 1 4841 7 is_stmt 1 view .LVU4190
4841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11973 .loc 1 4841 11 is_stmt 0 view .LVU4191
11974 0144 2368 ldr r3, [r4]
11975 0146 5A68 ldr r2, [r3, #4]
11976 .LVL829:
4841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11977 .loc 1 4841 10 view .LVU4192
11978 0148 12F0007F tst r2, #33554432
11979 014c 82D1 bne .L728
4844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11980 .loc 1 4844 9 is_stmt 1 view .LVU4193
4844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11981 .loc 1 4844 17 is_stmt 0 view .LVU4194
11982 014e E26A ldr r2, [r4, #44]
4844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
11983 .loc 1 4844 12 view .LVU4195
11984 0150 12F5803F cmn r2, #65536
11985 0154 04D1 bne .L737
4847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11986 .loc 1 4847 11 is_stmt 1 view .LVU4196
4847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11987 .loc 1 4847 25 is_stmt 0 view .LVU4197
11988 0156 5A68 ldr r2, [r3, #4]
4847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11989 .loc 1 4847 31 view .LVU4198
11990 0158 42F48042 orr r2, r2, #16384
11991 015c 5A60 str r2, [r3, #4]
11992 015e 79E7 b .L728
11993 .L737:
4852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11994 .loc 1 4852 11 is_stmt 1 view .LVU4199
11995 0160 2046 mov r0, r4
11996 .LVL830:
4852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
11997 .loc 1 4852 11 is_stmt 0 view .LVU4200
11998 0162 FFF7FEFF bl I2C_ITMasterSeqCplt
11999 .LVL831:
4852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12000 .loc 1 4852 11 view .LVU4201
12001 0166 75E7 b .L728
12002 .LVL832:
12003 .L736:
4860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12004 .loc 1 4860 7 is_stmt 1 view .LVU4202
12005 0168 4021 movs r1, #64
12006 .LVL833:
4860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12007 .loc 1 4860 7 is_stmt 0 view .LVU4203
12008 016a 2046 mov r0, r4
ARM GAS /tmp/ccbUHtu7.s page 402
12009 .LVL834:
4860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12010 .loc 1 4860 7 view .LVU4204
12011 016c FFF7FEFF bl I2C_ITError
12012 .LVL835:
4860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12013 .loc 1 4860 7 view .LVU4205
12014 0170 70E7 b .L728
12015 .LVL836:
12016 .L745:
4872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12017 .loc 1 4872 5 is_stmt 1 view .LVU4206
12018 0172 2946 mov r1, r5
12019 0174 2046 mov r0, r4
12020 0176 FFF7FEFF bl I2C_ITMasterCplt
12021 .LVL837:
12022 017a 72E7 b .L738
12023 .LVL838:
12024 .L739:
12025 .LCFI130:
12026 .cfi_def_cfa_offset 0
12027 .cfi_restore 4
12028 .cfi_restore 5
12029 .cfi_restore 6
12030 .cfi_restore 14
4750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12031 .loc 1 4750 3 is_stmt 0 view .LVU4207
12032 017c 0220 movs r0, #2
12033 .LVL839:
4879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12034 .loc 1 4879 1 view .LVU4208
12035 017e 7047 bx lr
12036 .cfi_endproc
12037 .LFE378:
12039 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits
12040 .align 1
12041 .syntax unified
12042 .thumb
12043 .thumb_func
12045 I2C_Slave_ISR_DMA:
12046 .LVL840:
12047 .LFB381:
5172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
12048 .loc 1 5172 1 is_stmt 1 view -0
12049 .cfi_startproc
12050 @ args = 0, pretend = 0, frame = 0
12051 @ frame_needed = 0, uses_anonymous_args = 0
5172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
12052 .loc 1 5172 1 is_stmt 0 view .LVU4210
12053 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
12054 .LCFI131:
12055 .cfi_def_cfa_offset 24
12056 .cfi_offset 3, -24
12057 .cfi_offset 4, -20
12058 .cfi_offset 5, -16
12059 .cfi_offset 6, -12
12060 .cfi_offset 7, -8
ARM GAS /tmp/ccbUHtu7.s page 403
12061 .cfi_offset 14, -4
5173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
12062 .loc 1 5173 3 is_stmt 1 view .LVU4211
5173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
12063 .loc 1 5173 12 is_stmt 0 view .LVU4212
12064 0002 C76A ldr r7, [r0, #44]
12065 .LVL841:
5174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
12066 .loc 1 5174 3 is_stmt 1 view .LVU4213
5175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12067 .loc 1 5175 3 view .LVU4214
5178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12068 .loc 1 5178 3 view .LVU4215
5178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12069 .loc 1 5178 3 view .LVU4216
12070 0004 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
12071 0008 012B cmp r3, #1
12072 000a 00F08780 beq .L764
12073 000e 0446 mov r4, r0
12074 0010 0D46 mov r5, r1
12075 0012 1646 mov r6, r2
5178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12076 .loc 1 5178 3 discriminator 2 view .LVU4217
12077 0014 0123 movs r3, #1
12078 0016 80F84030 strb r3, [r0, #64]
5178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12079 .loc 1 5178 3 discriminator 2 view .LVU4218
5181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12080 .loc 1 5181 3 discriminator 2 view .LVU4219
5181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12081 .loc 1 5181 6 is_stmt 0 discriminator 2 view .LVU4220
12082 001a 11F0200F tst r1, #32
12083 001e 02D0 beq .L749
5181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12084 .loc 1 5181 58 discriminator 1 view .LVU4221
12085 0020 12F0200F tst r2, #32
12086 0024 12D1 bne .L769
12087 .LVL842:
12088 .L749:
5188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12089 .loc 1 5188 3 is_stmt 1 view .LVU4222
5188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12090 .loc 1 5188 6 is_stmt 0 view .LVU4223
12091 0026 15F0100F tst r5, #16
12092 002a 68D0 beq .L750
5188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12093 .loc 1 5188 55 discriminator 1 view .LVU4224
12094 002c 16F0100F tst r6, #16
12095 0030 65D0 beq .L750
5195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
12096 .loc 1 5195 5 is_stmt 1 view .LVU4225
5195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
12097 .loc 1 5195 8 is_stmt 0 view .LVU4226
12098 0032 16F4404F tst r6, #49152
12099 0036 5ED0 beq .L751
5199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12100 .loc 1 5199 7 is_stmt 1 view .LVU4227
ARM GAS /tmp/ccbUHtu7.s page 404
5199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12101 .loc 1 5199 15 is_stmt 0 view .LVU4228
12102 0038 E36B ldr r3, [r4, #60]
5199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12103 .loc 1 5199 10 view .LVU4229
12104 003a 53B1 cbz r3, .L765
5201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12105 .loc 1 5201 9 is_stmt 1 view .LVU4230
5201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12106 .loc 1 5201 12 is_stmt 0 view .LVU4231
12107 003c 16F40042 ands r2, r6, #32768
12108 0040 08D0 beq .L752
5203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12109 .loc 1 5203 11 is_stmt 1 view .LVU4232
5203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12110 .loc 1 5203 15 is_stmt 0 view .LVU4233
12111 0042 1B68 ldr r3, [r3]
12112 0044 5B68 ldr r3, [r3, #4]
5203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12113 .loc 1 5203 14 view .LVU4234
12114 0046 3BB3 cbz r3, .L766
5174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
12115 .loc 1 5174 12 view .LVU4235
12116 0048 0022 movs r2, #0
12117 004a 03E0 b .L752
12118 .LVL843:
12119 .L769:
5185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12120 .loc 1 5185 5 is_stmt 1 view .LVU4236
12121 004c FFF7FEFF bl I2C_ITSlaveCplt
12122 .LVL844:
5185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12123 .loc 1 5185 5 is_stmt 0 view .LVU4237
12124 0050 E9E7 b .L749
12125 .L765:
5174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
12126 .loc 1 5174 12 view .LVU4238
12127 0052 0022 movs r2, #0
12128 .L752:
12129 .LVL845:
5211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12130 .loc 1 5211 7 is_stmt 1 view .LVU4239
5211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12131 .loc 1 5211 15 is_stmt 0 view .LVU4240
12132 0054 A36B ldr r3, [r4, #56]
5211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12133 .loc 1 5211 10 view .LVU4241
12134 0056 2BB1 cbz r3, .L753
5213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12135 .loc 1 5213 9 is_stmt 1 view .LVU4242
5213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12136 .loc 1 5213 12 is_stmt 0 view .LVU4243
12137 0058 16F4804F tst r6, #16384
12138 005c 02D0 beq .L753
5215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12139 .loc 1 5215 11 is_stmt 1 view .LVU4244
5215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
ARM GAS /tmp/ccbUHtu7.s page 405
12140 .loc 1 5215 15 is_stmt 0 view .LVU4245
12141 005e 1B68 ldr r3, [r3]
12142 0060 5B68 ldr r3, [r3, #4]
5215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12143 .loc 1 5215 14 view .LVU4246
12144 0062 DBB1 cbz r3, .L754
12145 .L753:
5222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12146 .loc 1 5222 7 is_stmt 1 view .LVU4247
5222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12147 .loc 1 5222 10 is_stmt 0 view .LVU4248
12148 0064 012A cmp r2, #1
12149 0066 19D0 beq .L754
5253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12150 .loc 1 5253 9 is_stmt 1 view .LVU4249
12151 0068 2368 ldr r3, [r4]
12152 006a 1022 movs r2, #16
12153 .LVL846:
5253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12154 .loc 1 5253 9 is_stmt 0 view .LVU4250
12155 006c DA61 str r2, [r3, #28]
5256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12156 .loc 1 5256 9 is_stmt 1 view .LVU4251
5256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12157 .loc 1 5256 13 is_stmt 0 view .LVU4252
12158 006e 636C ldr r3, [r4, #68]
5256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12159 .loc 1 5256 25 view .LVU4253
12160 0070 43F00403 orr r3, r3, #4
12161 0074 6364 str r3, [r4, #68]
5259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12162 .loc 1 5259 9 is_stmt 1 view .LVU4254
5259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12163 .loc 1 5259 18 is_stmt 0 view .LVU4255
12164 0076 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12165 007a DBB2 uxtb r3, r3
12166 .LVL847:
5261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12167 .loc 1 5261 9 is_stmt 1 view .LVU4256
5261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12168 .loc 1 5261 12 is_stmt 0 view .LVU4257
12169 007c 17B1 cbz r7, .L759
5261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12170 .loc 1 5261 45 discriminator 1 view .LVU4258
12171 007e B7F1807F cmp r7, #16777216
12172 0082 42D1 bne .L757
12173 .L759:
5263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12174 .loc 1 5263 11 is_stmt 1 view .LVU4259
12175 0084 213B subs r3, r3, #33
12176 .LVL848:
5263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12177 .loc 1 5263 11 is_stmt 0 view .LVU4260
12178 0086 092B cmp r3, #9
12179 0088 2DD8 bhi .L760
12180 008a DFE803F0 tbb [pc, r3]
12181 .L762:
ARM GAS /tmp/ccbUHtu7.s page 406
12182 008e 2A .byte (.L763-.L762)/2
12183 008f 31 .byte (.L761-.L762)/2
12184 0090 2C .byte (.L760-.L762)/2
12185 0091 2C .byte (.L760-.L762)/2
12186 0092 2C .byte (.L760-.L762)/2
12187 0093 2C .byte (.L760-.L762)/2
12188 0094 2C .byte (.L760-.L762)/2
12189 0095 2C .byte (.L760-.L762)/2
12190 0096 2A .byte (.L763-.L762)/2
12191 0097 31 .byte (.L761-.L762)/2
12192 .LVL849:
12193 .p2align 1
12194 .L766:
5205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12195 .loc 1 5205 26 view .LVU4261
12196 0098 0122 movs r2, #1
12197 009a DBE7 b .L752
12198 .LVL850:
12199 .L754:
5224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12200 .loc 1 5224 9 is_stmt 1 view .LVU4262
5224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12201 .loc 1 5224 18 is_stmt 0 view .LVU4263
12202 009c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12203 00a0 DBB2 uxtb r3, r3
5224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12204 .loc 1 5224 12 view .LVU4264
12205 00a2 282B cmp r3, #40
12206 00a4 08D0 beq .L770
12207 .L756:
5231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12208 .loc 1 5231 14 is_stmt 1 view .LVU4265
5231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12209 .loc 1 5231 23 is_stmt 0 view .LVU4266
12210 00a6 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12211 00aa DBB2 uxtb r3, r3
5231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12212 .loc 1 5231 17 view .LVU4267
12213 00ac 292B cmp r3, #41
12214 00ae 0BD0 beq .L771
12215 .L758:
5246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12216 .loc 1 5246 11 is_stmt 1 view .LVU4268
12217 00b0 2368 ldr r3, [r4]
12218 00b2 1022 movs r2, #16
12219 00b4 DA61 str r2, [r3, #28]
12220 00b6 28E0 b .L757
12221 .L770:
5224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12222 .loc 1 5224 51 is_stmt 0 discriminator 1 view .LVU4269
12223 00b8 B7F1007F cmp r7, #33554432
12224 00bc F3D1 bne .L756
5229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12225 .loc 1 5229 11 is_stmt 1 view .LVU4270
12226 00be 2946 mov r1, r5
12227 00c0 2046 mov r0, r4
12228 00c2 FFF7FEFF bl I2C_ITListenCplt
ARM GAS /tmp/ccbUHtu7.s page 407
12229 .LVL851:
12230 00c6 20E0 b .L757
12231 .L771:
5231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12232 .loc 1 5231 64 is_stmt 0 discriminator 1 view .LVU4271
12233 00c8 17F5803F cmn r7, #65536
12234 00cc F0D0 beq .L758
5234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12235 .loc 1 5234 11 is_stmt 1 view .LVU4272
12236 00ce 2368 ldr r3, [r4]
12237 00d0 1022 movs r2, #16
12238 00d2 DA61 str r2, [r3, #28]
5237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12239 .loc 1 5237 11 view .LVU4273
12240 00d4 2046 mov r0, r4
12241 00d6 FFF7FEFF bl I2C_Flush_TXDR
12242 .LVL852:
5241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12243 .loc 1 5241 11 view .LVU4274
12244 00da 2046 mov r0, r4
12245 00dc FFF7FEFF bl I2C_ITSlaveSeqCplt
12246 .LVL853:
12247 00e0 13E0 b .L757
12248 .LVL854:
12249 .L763:
5265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12250 .loc 1 5265 13 view .LVU4275
5265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12251 .loc 1 5265 33 is_stmt 0 view .LVU4276
12252 00e2 2123 movs r3, #33
12253 .LVL855:
5265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12254 .loc 1 5265 33 view .LVU4277
12255 00e4 2363 str r3, [r4, #48]
12256 .L760:
5277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12257 .loc 1 5277 11 is_stmt 1 view .LVU4278
5277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12258 .loc 1 5277 33 is_stmt 0 view .LVU4279
12259 00e6 616C ldr r1, [r4, #68]
5277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12260 .loc 1 5277 11 view .LVU4280
12261 00e8 2046 mov r0, r4
12262 00ea FFF7FEFF bl I2C_ITError
12263 .LVL856:
12264 00ee 0CE0 b .L757
12265 .LVL857:
12266 .L761:
5269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12267 .loc 1 5269 13 is_stmt 1 view .LVU4281
5269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12268 .loc 1 5269 33 is_stmt 0 view .LVU4282
12269 00f0 2223 movs r3, #34
12270 .LVL858:
5269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12271 .loc 1 5269 33 view .LVU4283
12272 00f2 2363 str r3, [r4, #48]
ARM GAS /tmp/ccbUHtu7.s page 408
12273 00f4 F7E7 b .L760
12274 .LVL859:
12275 .L751:
5284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12276 .loc 1 5284 7 is_stmt 1 view .LVU4284
12277 00f6 2368 ldr r3, [r4]
12278 00f8 1022 movs r2, #16
12279 00fa DA61 str r2, [r3, #28]
12280 00fc 05E0 b .L757
12281 .L750:
5287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12282 .loc 1 5287 8 view .LVU4285
5287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12283 .loc 1 5287 11 is_stmt 0 view .LVU4286
12284 00fe 15F0080F tst r5, #8
12285 0102 02D0 beq .L757
5287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12286 .loc 1 5287 62 discriminator 1 view .LVU4287
12287 0104 16F0080F tst r6, #8
12288 0108 03D1 bne .L772
12289 .LVL860:
12290 .L757:
5295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12291 .loc 1 5295 3 is_stmt 1 view .LVU4288
5298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12292 .loc 1 5298 3 view .LVU4289
5298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12293 .loc 1 5298 3 view .LVU4290
12294 010a 0020 movs r0, #0
12295 010c 84F84000 strb r0, [r4, #64]
5298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12296 .loc 1 5298 3 view .LVU4291
5300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12297 .loc 1 5300 3 view .LVU4292
12298 .LVL861:
12299 .L748:
5301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12300 .loc 1 5301 1 is_stmt 0 view .LVU4293
12301 0110 F8BD pop {r3, r4, r5, r6, r7, pc}
12302 .LVL862:
12303 .L772:
5290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12304 .loc 1 5290 5 is_stmt 1 view .LVU4294
12305 0112 2946 mov r1, r5
12306 0114 2046 mov r0, r4
12307 0116 FFF7FEFF bl I2C_ITAddrCplt
12308 .LVL863:
12309 011a F6E7 b .L757
12310 .LVL864:
12311 .L764:
5178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12312 .loc 1 5178 3 is_stmt 0 view .LVU4295
12313 011c 0220 movs r0, #2
12314 .LVL865:
5178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12315 .loc 1 5178 3 view .LVU4296
12316 011e F7E7 b .L748
ARM GAS /tmp/ccbUHtu7.s page 409
12317 .cfi_endproc
12318 .LFE381:
12320 .section .text.I2C_Master_ISR_DMA,"ax",%progbits
12321 .align 1
12322 .syntax unified
12323 .thumb
12324 .thumb_func
12326 I2C_Master_ISR_DMA:
12327 .LVL866:
12328 .LFB380:
5032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t devaddress;
12329 .loc 1 5032 1 is_stmt 1 view -0
12330 .cfi_startproc
12331 @ args = 0, pretend = 0, frame = 0
12332 @ frame_needed = 0, uses_anonymous_args = 0
5033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t xfermode;
12333 .loc 1 5033 3 view .LVU4298
5034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12334 .loc 1 5034 3 view .LVU4299
5037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12335 .loc 1 5037 3 view .LVU4300
5037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12336 .loc 1 5037 3 view .LVU4301
12337 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
12338 0004 012B cmp r3, #1
12339 0006 00F09A80 beq .L786
5032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint16_t devaddress;
12340 .loc 1 5032 1 is_stmt 0 discriminator 2 view .LVU4302
12341 000a 10B5 push {r4, lr}
12342 .LCFI132:
12343 .cfi_def_cfa_offset 8
12344 .cfi_offset 4, -8
12345 .cfi_offset 14, -4
12346 000c 82B0 sub sp, sp, #8
12347 .LCFI133:
12348 .cfi_def_cfa_offset 16
12349 000e 0446 mov r4, r0
5037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12350 .loc 1 5037 3 is_stmt 1 discriminator 2 view .LVU4303
12351 0010 0123 movs r3, #1
12352 0012 80F84030 strb r3, [r0, #64]
5037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12353 .loc 1 5037 3 discriminator 2 view .LVU4304
5039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12354 .loc 1 5039 3 discriminator 2 view .LVU4305
5039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12355 .loc 1 5039 6 is_stmt 0 discriminator 2 view .LVU4306
12356 0016 11F0100F tst r1, #16
12357 001a 02D0 beq .L775
5039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12358 .loc 1 5039 55 discriminator 1 view .LVU4307
12359 001c 12F0100F tst r2, #16
12360 0020 32D1 bne .L792
12361 .L775:
5056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12362 .loc 1 5056 8 is_stmt 1 view .LVU4308
5056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
ARM GAS /tmp/ccbUHtu7.s page 410
12363 .loc 1 5056 11 is_stmt 0 view .LVU4309
12364 0022 11F0800F tst r1, #128
12365 0026 60D0 beq .L777
5056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12366 .loc 1 5056 61 discriminator 1 view .LVU4310
12367 0028 12F0400F tst r2, #64
12368 002c 5DD0 beq .L777
5060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12369 .loc 1 5060 5 is_stmt 1 view .LVU4311
12370 002e 2268 ldr r2, [r4]
12371 .LVL867:
5060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12372 .loc 1 5060 5 is_stmt 0 view .LVU4312
12373 0030 1368 ldr r3, [r2]
12374 0032 23F04003 bic r3, r3, #64
12375 0036 1360 str r3, [r2]
5062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12376 .loc 1 5062 5 is_stmt 1 view .LVU4313
5062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12377 .loc 1 5062 13 is_stmt 0 view .LVU4314
12378 0038 638D ldrh r3, [r4, #42]
12379 003a 9BB2 uxth r3, r3
5062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12380 .loc 1 5062 8 view .LVU4315
12381 003c 002B cmp r3, #0
12382 003e 46D0 beq .L778
5065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12383 .loc 1 5065 7 is_stmt 1 view .LVU4316
5065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12384 .loc 1 5065 35 is_stmt 0 view .LVU4317
12385 0040 2368 ldr r3, [r4]
5065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12386 .loc 1 5065 45 view .LVU4318
12387 0042 5968 ldr r1, [r3, #4]
12388 .LVL868:
5065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12389 .loc 1 5065 18 view .LVU4319
12390 0044 C1F30901 ubfx r1, r1, #0, #10
12391 .LVL869:
5068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12392 .loc 1 5068 7 is_stmt 1 view .LVU4320
5068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12393 .loc 1 5068 15 is_stmt 0 view .LVU4321
12394 0048 638D ldrh r3, [r4, #42]
12395 004a 9BB2 uxth r3, r3
5068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12396 .loc 1 5068 10 view .LVU4322
12397 004c FF2B cmp r3, #255
12398 004e 2DD9 bls .L779
5070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
12399 .loc 1 5070 9 is_stmt 1 view .LVU4323
5070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
12400 .loc 1 5070 24 is_stmt 0 view .LVU4324
12401 0050 FF23 movs r3, #255
12402 0052 2385 strh r3, [r4, #40] @ movhi
5071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12403 .loc 1 5071 9 is_stmt 1 view .LVU4325
ARM GAS /tmp/ccbUHtu7.s page 411
12404 .LVL870:
5071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12405 .loc 1 5071 18 is_stmt 0 view .LVU4326
12406 0054 4FF08073 mov r3, #16777216
12407 .LVL871:
12408 .L780:
5087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12409 .loc 1 5087 7 is_stmt 1 view .LVU4327
12410 0058 0022 movs r2, #0
12411 005a 0092 str r2, [sp]
12412 005c 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
12413 0060 2046 mov r0, r4
12414 .LVL872:
5087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12415 .loc 1 5087 7 is_stmt 0 view .LVU4328
12416 0062 FFF7FEFF bl I2C_TransferConfig
12417 .LVL873:
5090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12418 .loc 1 5090 7 is_stmt 1 view .LVU4329
5090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12419 .loc 1 5090 11 is_stmt 0 view .LVU4330
12420 0066 638D ldrh r3, [r4, #42]
12421 0068 9BB2 uxth r3, r3
5090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12422 .loc 1 5090 30 view .LVU4331
12423 006a 228D ldrh r2, [r4, #40]
5090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12424 .loc 1 5090 23 view .LVU4332
12425 006c 9B1A subs r3, r3, r2
12426 006e 9BB2 uxth r3, r3
12427 0070 6385 strh r3, [r4, #42] @ movhi
5093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12428 .loc 1 5093 7 is_stmt 1 view .LVU4333
5093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12429 .loc 1 5093 15 is_stmt 0 view .LVU4334
12430 0072 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12431 0076 DBB2 uxtb r3, r3
5093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12432 .loc 1 5093 10 view .LVU4335
12433 0078 222B cmp r3, #34
12434 007a 22D0 beq .L793
5099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12435 .loc 1 5099 9 is_stmt 1 view .LVU4336
5099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12436 .loc 1 5099 13 is_stmt 0 view .LVU4337
12437 007c 2268 ldr r2, [r4]
5099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12438 .loc 1 5099 23 view .LVU4338
12439 007e 1368 ldr r3, [r2]
5099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12440 .loc 1 5099 29 view .LVU4339
12441 0080 43F48043 orr r3, r3, #16384
12442 0084 1360 str r3, [r2]
12443 0086 0CE0 b .L776
12444 .LVL874:
12445 .L792:
5043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
ARM GAS /tmp/ccbUHtu7.s page 412
12446 .loc 1 5043 5 is_stmt 1 view .LVU4340
12447 0088 0368 ldr r3, [r0]
12448 008a 1022 movs r2, #16
12449 .LVL875:
5043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12450 .loc 1 5043 5 is_stmt 0 view .LVU4341
12451 008c DA61 str r2, [r3, #28]
5046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12452 .loc 1 5046 5 is_stmt 1 view .LVU4342
5046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12453 .loc 1 5046 9 is_stmt 0 view .LVU4343
12454 008e 436C ldr r3, [r0, #68]
5046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12455 .loc 1 5046 21 view .LVU4344
12456 0090 43F00403 orr r3, r3, #4
12457 0094 4364 str r3, [r0, #68]
5051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12458 .loc 1 5051 5 is_stmt 1 view .LVU4345
12459 0096 2021 movs r1, #32
12460 .LVL876:
5051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12461 .loc 1 5051 5 is_stmt 0 view .LVU4346
12462 0098 FFF7FEFF bl I2C_Enable_IRQ
12463 .LVL877:
5054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12464 .loc 1 5054 5 is_stmt 1 view .LVU4347
12465 009c 2046 mov r0, r4
12466 009e FFF7FEFF bl I2C_Flush_TXDR
12467 .LVL878:
12468 .L776:
5154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12469 .loc 1 5154 3 view .LVU4348
5157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12470 .loc 1 5157 3 view .LVU4349
5157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12471 .loc 1 5157 3 view .LVU4350
12472 00a2 0020 movs r0, #0
12473 00a4 84F84000 strb r0, [r4, #64]
5157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12474 .loc 1 5157 3 view .LVU4351
5159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12475 .loc 1 5159 3 view .LVU4352
5160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12476 .loc 1 5160 1 is_stmt 0 view .LVU4353
12477 00a8 02B0 add sp, sp, #8
12478 .LCFI134:
12479 .cfi_remember_state
12480 .cfi_def_cfa_offset 8
12481 @ sp needed
12482 00aa 10BD pop {r4, pc}
12483 .LVL879:
12484 .L779:
12485 .LCFI135:
12486 .cfi_restore_state
5075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
12487 .loc 1 5075 9 is_stmt 1 view .LVU4354
5075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
ARM GAS /tmp/ccbUHtu7.s page 413
12488 .loc 1 5075 30 is_stmt 0 view .LVU4355
12489 00ac 638D ldrh r3, [r4, #42]
5075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
12490 .loc 1 5075 24 view .LVU4356
12491 00ae 2385 strh r3, [r4, #40] @ movhi
5076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12492 .loc 1 5076 9 is_stmt 1 view .LVU4357
5076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12493 .loc 1 5076 17 is_stmt 0 view .LVU4358
12494 00b0 E36A ldr r3, [r4, #44]
5076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12495 .loc 1 5076 12 view .LVU4359
12496 00b2 13F5803F cmn r3, #65536
12497 00b6 01D0 beq .L787
5078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12498 .loc 1 5078 11 is_stmt 1 view .LVU4360
5078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12499 .loc 1 5078 20 is_stmt 0 view .LVU4361
12500 00b8 E36A ldr r3, [r4, #44]
12501 .LVL880:
5078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12502 .loc 1 5078 20 view .LVU4362
12503 00ba CDE7 b .L780
12504 .LVL881:
12505 .L787:
5082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12506 .loc 1 5082 20 view .LVU4363
12507 00bc 4FF00073 mov r3, #33554432
12508 00c0 CAE7 b .L780
12509 .LVL882:
12510 .L793:
5095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12511 .loc 1 5095 9 is_stmt 1 view .LVU4364
5095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12512 .loc 1 5095 13 is_stmt 0 view .LVU4365
12513 00c2 2268 ldr r2, [r4]
5095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12514 .loc 1 5095 23 view .LVU4366
12515 00c4 1368 ldr r3, [r2]
5095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12516 .loc 1 5095 29 view .LVU4367
12517 00c6 43F40043 orr r3, r3, #32768
12518 00ca 1360 str r3, [r2]
12519 00cc E9E7 b .L776
12520 .LVL883:
12521 .L778:
5105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12522 .loc 1 5105 7 is_stmt 1 view .LVU4368
5105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12523 .loc 1 5105 11 is_stmt 0 view .LVU4369
12524 00ce 2368 ldr r3, [r4]
12525 00d0 5B68 ldr r3, [r3, #4]
5105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12526 .loc 1 5105 10 view .LVU4370
12527 00d2 13F0007F tst r3, #33554432
12528 00d6 03D1 bne .L782
5108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
ARM GAS /tmp/ccbUHtu7.s page 414
12529 .loc 1 5108 9 is_stmt 1 view .LVU4371
12530 00d8 2046 mov r0, r4
12531 .LVL884:
5108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12532 .loc 1 5108 9 is_stmt 0 view .LVU4372
12533 00da FFF7FEFF bl I2C_ITMasterSeqCplt
12534 .LVL885:
5108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12535 .loc 1 5108 9 view .LVU4373
12536 00de E0E7 b .L776
12537 .LVL886:
12538 .L782:
5114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12539 .loc 1 5114 9 is_stmt 1 view .LVU4374
12540 00e0 4021 movs r1, #64
12541 .LVL887:
5114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12542 .loc 1 5114 9 is_stmt 0 view .LVU4375
12543 00e2 2046 mov r0, r4
12544 .LVL888:
5114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12545 .loc 1 5114 9 view .LVU4376
12546 00e4 FFF7FEFF bl I2C_ITError
12547 .LVL889:
12548 00e8 DBE7 b .L776
12549 .LVL890:
12550 .L777:
5118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12551 .loc 1 5118 8 is_stmt 1 view .LVU4377
5118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12552 .loc 1 5118 11 is_stmt 0 view .LVU4378
12553 00ea 11F0400F tst r1, #64
12554 00ee 1CD0 beq .L783
5118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12555 .loc 1 5118 60 discriminator 1 view .LVU4379
12556 00f0 12F0400F tst r2, #64
12557 00f4 19D0 beq .L783
5121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12558 .loc 1 5121 5 is_stmt 1 view .LVU4380
5121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12559 .loc 1 5121 13 is_stmt 0 view .LVU4381
12560 00f6 638D ldrh r3, [r4, #42]
12561 00f8 9BB2 uxth r3, r3
5121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12562 .loc 1 5121 8 view .LVU4382
12563 00fa 8BB9 cbnz r3, .L784
5123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12564 .loc 1 5123 7 is_stmt 1 view .LVU4383
5123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12565 .loc 1 5123 11 is_stmt 0 view .LVU4384
12566 00fc 2368 ldr r3, [r4]
12567 00fe 5A68 ldr r2, [r3, #4]
12568 .LVL891:
5123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12569 .loc 1 5123 10 view .LVU4385
12570 0100 12F0007F tst r2, #33554432
12571 0104 CDD1 bne .L776
ARM GAS /tmp/ccbUHtu7.s page 415
5126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12572 .loc 1 5126 9 is_stmt 1 view .LVU4386
5126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12573 .loc 1 5126 17 is_stmt 0 view .LVU4387
12574 0106 E26A ldr r2, [r4, #44]
5126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12575 .loc 1 5126 12 view .LVU4388
12576 0108 12F5803F cmn r2, #65536
12577 010c 04D1 bne .L785
5129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12578 .loc 1 5129 11 is_stmt 1 view .LVU4389
5129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12579 .loc 1 5129 25 is_stmt 0 view .LVU4390
12580 010e 5A68 ldr r2, [r3, #4]
5129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12581 .loc 1 5129 31 view .LVU4391
12582 0110 42F48042 orr r2, r2, #16384
12583 0114 5A60 str r2, [r3, #4]
12584 0116 C4E7 b .L776
12585 .L785:
5134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12586 .loc 1 5134 11 is_stmt 1 view .LVU4392
12587 0118 2046 mov r0, r4
12588 .LVL892:
5134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12589 .loc 1 5134 11 is_stmt 0 view .LVU4393
12590 011a FFF7FEFF bl I2C_ITMasterSeqCplt
12591 .LVL893:
5134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12592 .loc 1 5134 11 view .LVU4394
12593 011e C0E7 b .L776
12594 .LVL894:
12595 .L784:
5142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12596 .loc 1 5142 7 is_stmt 1 view .LVU4395
12597 0120 4021 movs r1, #64
12598 .LVL895:
5142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12599 .loc 1 5142 7 is_stmt 0 view .LVU4396
12600 0122 2046 mov r0, r4
12601 .LVL896:
5142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12602 .loc 1 5142 7 view .LVU4397
12603 0124 FFF7FEFF bl I2C_ITError
12604 .LVL897:
5142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12605 .loc 1 5142 7 view .LVU4398
12606 0128 BBE7 b .L776
12607 .LVL898:
12608 .L783:
5145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12609 .loc 1 5145 8 is_stmt 1 view .LVU4399
5145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12610 .loc 1 5145 11 is_stmt 0 view .LVU4400
12611 012a 11F0200F tst r1, #32
12612 012e B8D0 beq .L776
5145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
ARM GAS /tmp/ccbUHtu7.s page 416
12613 .loc 1 5145 63 discriminator 1 view .LVU4401
12614 0130 12F0200F tst r2, #32
12615 0134 B5D0 beq .L776
5149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12616 .loc 1 5149 5 is_stmt 1 view .LVU4402
12617 0136 2046 mov r0, r4
12618 .LVL899:
5149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12619 .loc 1 5149 5 is_stmt 0 view .LVU4403
12620 0138 FFF7FEFF bl I2C_ITMasterCplt
12621 .LVL900:
5149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12622 .loc 1 5149 5 view .LVU4404
12623 013c B1E7 b .L776
12624 .LVL901:
12625 .L786:
12626 .LCFI136:
12627 .cfi_def_cfa_offset 0
12628 .cfi_restore 4
12629 .cfi_restore 14
5037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12630 .loc 1 5037 3 view .LVU4405
12631 013e 0220 movs r0, #2
12632 .LVL902:
5160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12633 .loc 1 5160 1 view .LVU4406
12634 0140 7047 bx lr
12635 .cfi_endproc
12636 .LFE380:
12638 .section .text.I2C_DMAError,"ax",%progbits
12639 .align 1
12640 .syntax unified
12641 .thumb
12642 .thumb_func
12644 I2C_DMAError:
12645 .LVL903:
12646 .LFB397:
6322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
12647 .loc 1 6322 1 is_stmt 1 view -0
12648 .cfi_startproc
12649 @ args = 0, pretend = 0, frame = 0
12650 @ frame_needed = 0, uses_anonymous_args = 0
6322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
12651 .loc 1 6322 1 is_stmt 0 view .LVU4408
12652 0000 08B5 push {r3, lr}
12653 .LCFI137:
12654 .cfi_def_cfa_offset 8
12655 .cfi_offset 3, -8
12656 .cfi_offset 14, -4
6324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12657 .loc 1 6324 3 is_stmt 1 view .LVU4409
6324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12658 .loc 1 6324 22 is_stmt 0 view .LVU4410
12659 0002 806A ldr r0, [r0, #40]
12660 .LVL904:
6327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12661 .loc 1 6327 3 is_stmt 1 view .LVU4411
ARM GAS /tmp/ccbUHtu7.s page 417
6327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12662 .loc 1 6327 7 is_stmt 0 view .LVU4412
12663 0004 0268 ldr r2, [r0]
6327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12664 .loc 1 6327 17 view .LVU4413
12665 0006 5368 ldr r3, [r2, #4]
6327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12666 .loc 1 6327 23 view .LVU4414
12667 0008 43F40043 orr r3, r3, #32768
12668 000c 5360 str r3, [r2, #4]
6330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12669 .loc 1 6330 3 is_stmt 1 view .LVU4415
12670 000e 1021 movs r1, #16
12671 0010 FFF7FEFF bl I2C_ITError
12672 .LVL905:
6331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12673 .loc 1 6331 1 is_stmt 0 view .LVU4416
12674 0014 08BD pop {r3, pc}
12675 .cfi_endproc
12676 .LFE397:
12678 .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits
12679 .align 1
12680 .syntax unified
12681 .thumb
12682 .thumb_func
12684 I2C_DMAMasterTransmitCplt:
12685 .LVL906:
12686 .LFB393:
6166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
12687 .loc 1 6166 1 is_stmt 1 view -0
12688 .cfi_startproc
12689 @ args = 0, pretend = 0, frame = 0
12690 @ frame_needed = 0, uses_anonymous_args = 0
6166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
12691 .loc 1 6166 1 is_stmt 0 view .LVU4418
12692 0000 10B5 push {r4, lr}
12693 .LCFI138:
12694 .cfi_def_cfa_offset 8
12695 .cfi_offset 4, -8
12696 .cfi_offset 14, -4
6168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12697 .loc 1 6168 3 is_stmt 1 view .LVU4419
6168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12698 .loc 1 6168 22 is_stmt 0 view .LVU4420
12699 0002 846A ldr r4, [r0, #40]
12700 .LVL907:
6171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12701 .loc 1 6171 3 is_stmt 1 view .LVU4421
6171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12702 .loc 1 6171 7 is_stmt 0 view .LVU4422
12703 0004 2268 ldr r2, [r4]
6171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12704 .loc 1 6171 17 view .LVU4423
12705 0006 1368 ldr r3, [r2]
6171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12706 .loc 1 6171 23 view .LVU4424
12707 0008 23F48043 bic r3, r3, #16384
ARM GAS /tmp/ccbUHtu7.s page 418
12708 000c 1360 str r3, [r2]
6174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12709 .loc 1 6174 3 is_stmt 1 view .LVU4425
6174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12710 .loc 1 6174 11 is_stmt 0 view .LVU4426
12711 000e 638D ldrh r3, [r4, #42]
12712 0010 9BB2 uxth r3, r3
6174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12713 .loc 1 6174 6 view .LVU4427
12714 0012 ABB1 cbz r3, .L803
6183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12715 .loc 1 6183 5 is_stmt 1 view .LVU4428
6183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12716 .loc 1 6183 9 is_stmt 0 view .LVU4429
12717 0014 616A ldr r1, [r4, #36]
6183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12718 .loc 1 6183 27 view .LVU4430
12719 0016 238D ldrh r3, [r4, #40]
6183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12720 .loc 1 6183 20 view .LVU4431
12721 0018 1944 add r1, r1, r3
12722 001a 6162 str r1, [r4, #36]
6186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12723 .loc 1 6186 5 is_stmt 1 view .LVU4432
6186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12724 .loc 1 6186 13 is_stmt 0 view .LVU4433
12725 001c 638D ldrh r3, [r4, #42]
12726 001e 9BB2 uxth r3, r3
6186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12727 .loc 1 6186 8 view .LVU4434
12728 0020 FF2B cmp r3, #255
12729 0022 12D9 bls .L799
6188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12730 .loc 1 6188 7 is_stmt 1 view .LVU4435
6188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12731 .loc 1 6188 22 is_stmt 0 view .LVU4436
12732 0024 FF23 movs r3, #255
12733 0026 2385 strh r3, [r4, #40] @ movhi
12734 .L800:
6196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
12735 .loc 1 6196 5 is_stmt 1 view .LVU4437
6196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
12736 .loc 1 6196 81 is_stmt 0 view .LVU4438
12737 0028 2268 ldr r2, [r4]
6196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
12738 .loc 1 6196 9 view .LVU4439
12739 002a 238D ldrh r3, [r4, #40]
12740 002c 2832 adds r2, r2, #40
12741 002e A06B ldr r0, [r4, #56]
12742 .LVL908:
6196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
12743 .loc 1 6196 9 view .LVU4440
12744 0030 FFF7FEFF bl HAL_DMA_Start_IT
12745 .LVL909:
6196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
12746 .loc 1 6196 8 view .LVU4441
12747 0034 60B1 cbz r0, .L801
ARM GAS /tmp/ccbUHtu7.s page 419
6200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12748 .loc 1 6200 7 is_stmt 1 view .LVU4442
12749 0036 1021 movs r1, #16
12750 0038 2046 mov r0, r4
12751 003a FFF7FEFF bl I2C_ITError
12752 .LVL910:
12753 .L796:
6208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12754 .loc 1 6208 1 is_stmt 0 view .LVU4443
12755 003e 10BD pop {r4, pc}
12756 .LVL911:
12757 .L803:
6177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12758 .loc 1 6177 5 is_stmt 1 view .LVU4444
12759 0040 2021 movs r1, #32
12760 0042 2046 mov r0, r4
12761 .LVL912:
6177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12762 .loc 1 6177 5 is_stmt 0 view .LVU4445
12763 0044 FFF7FEFF bl I2C_Enable_IRQ
12764 .LVL913:
12765 0048 F9E7 b .L796
12766 .LVL914:
12767 .L799:
6192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12768 .loc 1 6192 7 is_stmt 1 view .LVU4446
6192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12769 .loc 1 6192 28 is_stmt 0 view .LVU4447
12770 004a 638D ldrh r3, [r4, #42]
6192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12771 .loc 1 6192 22 view .LVU4448
12772 004c 2385 strh r3, [r4, #40] @ movhi
12773 004e EBE7 b .L800
12774 .LVL915:
12775 .L801:
6205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12776 .loc 1 6205 7 is_stmt 1 view .LVU4449
12777 0050 4021 movs r1, #64
12778 0052 2046 mov r0, r4
12779 0054 FFF7FEFF bl I2C_Enable_IRQ
12780 .LVL916:
6208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12781 .loc 1 6208 1 is_stmt 0 view .LVU4450
12782 0058 F1E7 b .L796
12783 .cfi_endproc
12784 .LFE393:
12786 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits
12787 .align 1
12788 .syntax unified
12789 .thumb
12790 .thumb_func
12792 I2C_DMAMasterReceiveCplt:
12793 .LVL917:
12794 .LFB395:
6244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
12795 .loc 1 6244 1 is_stmt 1 view -0
12796 .cfi_startproc
ARM GAS /tmp/ccbUHtu7.s page 420
12797 @ args = 0, pretend = 0, frame = 0
12798 @ frame_needed = 0, uses_anonymous_args = 0
6244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
12799 .loc 1 6244 1 is_stmt 0 view .LVU4452
12800 0000 10B5 push {r4, lr}
12801 .LCFI139:
12802 .cfi_def_cfa_offset 8
12803 .cfi_offset 4, -8
12804 .cfi_offset 14, -4
6246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12805 .loc 1 6246 3 is_stmt 1 view .LVU4453
6246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12806 .loc 1 6246 22 is_stmt 0 view .LVU4454
12807 0002 846A ldr r4, [r0, #40]
12808 .LVL918:
6249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12809 .loc 1 6249 3 is_stmt 1 view .LVU4455
6249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12810 .loc 1 6249 7 is_stmt 0 view .LVU4456
12811 0004 2268 ldr r2, [r4]
6249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12812 .loc 1 6249 17 view .LVU4457
12813 0006 1368 ldr r3, [r2]
6249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12814 .loc 1 6249 23 view .LVU4458
12815 0008 23F40043 bic r3, r3, #32768
12816 000c 1360 str r3, [r2]
6252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12817 .loc 1 6252 3 is_stmt 1 view .LVU4459
6252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12818 .loc 1 6252 11 is_stmt 0 view .LVU4460
12819 000e 638D ldrh r3, [r4, #42]
12820 0010 9BB2 uxth r3, r3
6252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12821 .loc 1 6252 6 view .LVU4461
12822 0012 ABB1 cbz r3, .L811
6261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12823 .loc 1 6261 5 is_stmt 1 view .LVU4462
6261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12824 .loc 1 6261 9 is_stmt 0 view .LVU4463
12825 0014 626A ldr r2, [r4, #36]
6261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12826 .loc 1 6261 27 view .LVU4464
12827 0016 238D ldrh r3, [r4, #40]
6261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12828 .loc 1 6261 20 view .LVU4465
12829 0018 1A44 add r2, r2, r3
12830 001a 6262 str r2, [r4, #36]
6264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12831 .loc 1 6264 5 is_stmt 1 view .LVU4466
6264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12832 .loc 1 6264 13 is_stmt 0 view .LVU4467
12833 001c 638D ldrh r3, [r4, #42]
12834 001e 9BB2 uxth r3, r3
6264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12835 .loc 1 6264 8 view .LVU4468
12836 0020 FF2B cmp r3, #255
ARM GAS /tmp/ccbUHtu7.s page 421
12837 0022 12D9 bls .L807
6266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12838 .loc 1 6266 7 is_stmt 1 view .LVU4469
6266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12839 .loc 1 6266 22 is_stmt 0 view .LVU4470
12840 0024 FF23 movs r3, #255
12841 0026 2385 strh r3, [r4, #40] @ movhi
12842 .L808:
6274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
12843 .loc 1 6274 5 is_stmt 1 view .LVU4471
6274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
12844 .loc 1 6274 55 is_stmt 0 view .LVU4472
12845 0028 2168 ldr r1, [r4]
6274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
12846 .loc 1 6274 9 view .LVU4473
12847 002a 238D ldrh r3, [r4, #40]
12848 002c 2431 adds r1, r1, #36
12849 002e E06B ldr r0, [r4, #60]
12850 .LVL919:
6274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
12851 .loc 1 6274 9 view .LVU4474
12852 0030 FFF7FEFF bl HAL_DMA_Start_IT
12853 .LVL920:
6274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
12854 .loc 1 6274 8 view .LVU4475
12855 0034 60B1 cbz r0, .L809
6278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12856 .loc 1 6278 7 is_stmt 1 view .LVU4476
12857 0036 1021 movs r1, #16
12858 0038 2046 mov r0, r4
12859 003a FFF7FEFF bl I2C_ITError
12860 .LVL921:
12861 .L804:
6286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12862 .loc 1 6286 1 is_stmt 0 view .LVU4477
12863 003e 10BD pop {r4, pc}
12864 .LVL922:
12865 .L811:
6255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12866 .loc 1 6255 5 is_stmt 1 view .LVU4478
12867 0040 2021 movs r1, #32
12868 0042 2046 mov r0, r4
12869 .LVL923:
6255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12870 .loc 1 6255 5 is_stmt 0 view .LVU4479
12871 0044 FFF7FEFF bl I2C_Enable_IRQ
12872 .LVL924:
12873 0048 F9E7 b .L804
12874 .LVL925:
12875 .L807:
6270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12876 .loc 1 6270 7 is_stmt 1 view .LVU4480
6270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12877 .loc 1 6270 28 is_stmt 0 view .LVU4481
12878 004a 638D ldrh r3, [r4, #42]
6270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12879 .loc 1 6270 22 view .LVU4482
ARM GAS /tmp/ccbUHtu7.s page 422
12880 004c 2385 strh r3, [r4, #40] @ movhi
12881 004e EBE7 b .L808
12882 .LVL926:
12883 .L809:
6283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12884 .loc 1 6283 7 is_stmt 1 view .LVU4483
12885 0050 4021 movs r1, #64
12886 0052 2046 mov r0, r4
12887 0054 FFF7FEFF bl I2C_Enable_IRQ
12888 .LVL927:
6286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12889 .loc 1 6286 1 is_stmt 0 view .LVU4484
12890 0058 F1E7 b .L804
12891 .cfi_endproc
12892 .LFE395:
12894 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits
12895 .align 1
12896 .global HAL_I2C_ER_IRQHandler
12897 .syntax unified
12898 .thumb
12899 .thumb_func
12901 HAL_I2C_ER_IRQHandler:
12902 .LVL928:
12903 .LFB364:
4462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
12904 .loc 1 4462 1 is_stmt 1 view -0
12905 .cfi_startproc
12906 @ args = 0, pretend = 0, frame = 0
12907 @ frame_needed = 0, uses_anonymous_args = 0
4462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
12908 .loc 1 4462 1 is_stmt 0 view .LVU4486
12909 0000 10B5 push {r4, lr}
12910 .LCFI140:
12911 .cfi_def_cfa_offset 8
12912 .cfi_offset 4, -8
12913 .cfi_offset 14, -4
4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
12914 .loc 1 4463 3 is_stmt 1 view .LVU4487
4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
12915 .loc 1 4463 24 is_stmt 0 view .LVU4488
12916 0002 0268 ldr r2, [r0]
4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
12917 .loc 1 4463 12 view .LVU4489
12918 0004 9369 ldr r3, [r2, #24]
12919 .LVL929:
4464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmperror;
12920 .loc 1 4464 3 is_stmt 1 view .LVU4490
4464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** uint32_t tmperror;
12921 .loc 1 4464 12 is_stmt 0 view .LVU4491
12922 0006 1168 ldr r1, [r2]
12923 .LVL930:
4465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12924 .loc 1 4465 3 is_stmt 1 view .LVU4492
4468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
12925 .loc 1 4468 3 view .LVU4493
4468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
12926 .loc 1 4468 6 is_stmt 0 view .LVU4494
ARM GAS /tmp/ccbUHtu7.s page 423
12927 0008 13F4807F tst r3, #256
12928 000c 09D0 beq .L813
4468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
12929 .loc 1 4468 57 discriminator 1 view .LVU4495
12930 000e 11F0800F tst r1, #128
12931 0012 06D0 beq .L813
4471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12932 .loc 1 4471 5 is_stmt 1 view .LVU4496
4471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12933 .loc 1 4471 9 is_stmt 0 view .LVU4497
12934 0014 446C ldr r4, [r0, #68]
4471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12935 .loc 1 4471 21 view .LVU4498
12936 0016 44F00104 orr r4, r4, #1
12937 001a 4464 str r4, [r0, #68]
4474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12938 .loc 1 4474 5 is_stmt 1 view .LVU4499
12939 001c 4FF48074 mov r4, #256
12940 0020 D461 str r4, [r2, #28]
12941 .L813:
4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
12942 .loc 1 4478 3 view .LVU4500
4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
12943 .loc 1 4478 6 is_stmt 0 view .LVU4501
12944 0022 13F4806F tst r3, #1024
12945 0026 0AD0 beq .L814
4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
12946 .loc 1 4478 56 discriminator 1 view .LVU4502
12947 0028 11F0800F tst r1, #128
12948 002c 07D0 beq .L814
4481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12949 .loc 1 4481 5 is_stmt 1 view .LVU4503
4481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12950 .loc 1 4481 9 is_stmt 0 view .LVU4504
12951 002e 426C ldr r2, [r0, #68]
4481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12952 .loc 1 4481 21 view .LVU4505
12953 0030 42F00802 orr r2, r2, #8
12954 0034 4264 str r2, [r0, #68]
4484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12955 .loc 1 4484 5 is_stmt 1 view .LVU4506
12956 0036 0268 ldr r2, [r0]
12957 0038 4FF48064 mov r4, #1024
12958 003c D461 str r4, [r2, #28]
12959 .L814:
4488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
12960 .loc 1 4488 3 view .LVU4507
4488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
12961 .loc 1 4488 6 is_stmt 0 view .LVU4508
12962 003e 13F4007F tst r3, #512
12963 0042 0AD0 beq .L815
4488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
12964 .loc 1 4488 57 discriminator 1 view .LVU4509
12965 0044 11F0800F tst r1, #128
12966 0048 07D0 beq .L815
4491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12967 .loc 1 4491 5 is_stmt 1 view .LVU4510
ARM GAS /tmp/ccbUHtu7.s page 424
4491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12968 .loc 1 4491 9 is_stmt 0 view .LVU4511
12969 004a 436C ldr r3, [r0, #68]
12970 .LVL931:
4491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12971 .loc 1 4491 21 view .LVU4512
12972 004c 43F00203 orr r3, r3, #2
12973 0050 4364 str r3, [r0, #68]
4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12974 .loc 1 4494 5 is_stmt 1 view .LVU4513
12975 0052 0368 ldr r3, [r0]
12976 0054 4FF40072 mov r2, #512
12977 0058 DA61 str r2, [r3, #28]
12978 .L815:
4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12979 .loc 1 4498 3 view .LVU4514
4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12980 .loc 1 4498 12 is_stmt 0 view .LVU4515
12981 005a 416C ldr r1, [r0, #68]
12982 .LVL932:
4501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12983 .loc 1 4501 3 is_stmt 1 view .LVU4516
4501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
12984 .loc 1 4501 6 is_stmt 0 view .LVU4517
12985 005c 11F00B0F tst r1, #11
12986 0060 00D1 bne .L818
12987 .LVL933:
12988 .L812:
4505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12989 .loc 1 4505 1 view .LVU4518
12990 0062 10BD pop {r4, pc}
12991 .LVL934:
12992 .L818:
4503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
12993 .loc 1 4503 5 is_stmt 1 view .LVU4519
12994 0064 FFF7FEFF bl I2C_ITError
12995 .LVL935:
4505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
12996 .loc 1 4505 1 is_stmt 0 view .LVU4520
12997 0068 FBE7 b .L812
12998 .cfi_endproc
12999 .LFE364:
13001 .section .text.I2C_DMAAbort,"ax",%progbits
13002 .align 1
13003 .syntax unified
13004 .thumb
13005 .thumb_func
13007 I2C_DMAAbort:
13008 .LVL936:
13009 .LFB398:
6340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13010 .loc 1 6340 1 is_stmt 1 view -0
13011 .cfi_startproc
13012 @ args = 0, pretend = 0, frame = 0
13013 @ frame_needed = 0, uses_anonymous_args = 0
6340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13014 .loc 1 6340 1 is_stmt 0 view .LVU4522
ARM GAS /tmp/ccbUHtu7.s page 425
13015 0000 08B5 push {r3, lr}
13016 .LCFI141:
13017 .cfi_def_cfa_offset 8
13018 .cfi_offset 3, -8
13019 .cfi_offset 14, -4
6342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
13020 .loc 1 6342 3 is_stmt 1 view .LVU4523
6342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
13021 .loc 1 6342 22 is_stmt 0 view .LVU4524
13022 0002 806A ldr r0, [r0, #40]
13023 .LVL937:
6345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
13024 .loc 1 6345 3 is_stmt 1 view .LVU4525
6345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
13025 .loc 1 6345 11 is_stmt 0 view .LVU4526
13026 0004 836B ldr r3, [r0, #56]
6345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
13027 .loc 1 6345 6 view .LVU4527
13028 0006 0BB1 cbz r3, .L820
6347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13029 .loc 1 6347 5 is_stmt 1 view .LVU4528
6347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13030 .loc 1 6347 37 is_stmt 0 view .LVU4529
13031 0008 0022 movs r2, #0
13032 000a 9A63 str r2, [r3, #56]
13033 .L820:
6349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
13034 .loc 1 6349 3 is_stmt 1 view .LVU4530
6349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
13035 .loc 1 6349 11 is_stmt 0 view .LVU4531
13036 000c C36B ldr r3, [r0, #60]
6349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** {
13037 .loc 1 6349 6 view .LVU4532
13038 000e 0BB1 cbz r3, .L821
6351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13039 .loc 1 6351 5 is_stmt 1 view .LVU4533
6351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13040 .loc 1 6351 37 is_stmt 0 view .LVU4534
13041 0010 0022 movs r2, #0
13042 0012 9A63 str r2, [r3, #56]
13043 .L821:
6354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13044 .loc 1 6354 3 is_stmt 1 view .LVU4535
13045 0014 FFF7FEFF bl I2C_TreatErrorCallback
13046 .LVL938:
6355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
13047 .loc 1 6355 1 is_stmt 0 view .LVU4536
13048 0018 08BD pop {r3, pc}
13049 .cfi_endproc
13050 .LFE398:
13052 .section .text.HAL_I2C_GetState,"ax",%progbits
13053 .align 1
13054 .global HAL_I2C_GetState
13055 .syntax unified
13056 .thumb
13057 .thumb_func
13059 HAL_I2C_GetState:
ARM GAS /tmp/ccbUHtu7.s page 426
13060 .LVL939:
13061 .LFB375:
4696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** /* Return I2C handle state */
13062 .loc 1 4696 1 is_stmt 1 view -0
13063 .cfi_startproc
13064 @ args = 0, pretend = 0, frame = 0
13065 @ frame_needed = 0, uses_anonymous_args = 0
13066 @ link register save eliminated.
4698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13067 .loc 1 4698 3 view .LVU4538
4698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13068 .loc 1 4698 14 is_stmt 0 view .LVU4539
13069 0000 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
13070 .LVL940:
4699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
13071 .loc 1 4699 1 view .LVU4540
13072 0004 7047 bx lr
13073 .cfi_endproc
13074 .LFE375:
13076 .section .text.HAL_I2C_GetMode,"ax",%progbits
13077 .align 1
13078 .global HAL_I2C_GetMode
13079 .syntax unified
13080 .thumb
13081 .thumb_func
13083 HAL_I2C_GetMode:
13084 .LVL941:
13085 .LFB376:
4708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return hi2c->Mode;
13086 .loc 1 4708 1 is_stmt 1 view -0
13087 .cfi_startproc
13088 @ args = 0, pretend = 0, frame = 0
13089 @ frame_needed = 0, uses_anonymous_args = 0
13090 @ link register save eliminated.
4709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13091 .loc 1 4709 3 view .LVU4542
4709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13092 .loc 1 4709 14 is_stmt 0 view .LVU4543
13093 0000 90F84200 ldrb r0, [r0, #66] @ zero_extendqisi2
13094 .LVL942:
4710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
13095 .loc 1 4710 1 view .LVU4544
13096 0004 7047 bx lr
13097 .cfi_endproc
13098 .LFE376:
13100 .section .text.HAL_I2C_GetError,"ax",%progbits
13101 .align 1
13102 .global HAL_I2C_GetError
13103 .syntax unified
13104 .thumb
13105 .thumb_func
13107 HAL_I2C_GetError:
13108 .LVL943:
13109 .LFB377:
4719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** return hi2c->ErrorCode;
13110 .loc 1 4719 1 is_stmt 1 view -0
13111 .cfi_startproc
ARM GAS /tmp/ccbUHtu7.s page 427
13112 @ args = 0, pretend = 0, frame = 0
13113 @ frame_needed = 0, uses_anonymous_args = 0
13114 @ link register save eliminated.
4720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13115 .loc 1 4720 3 view .LVU4546
4720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c **** }
13116 .loc 1 4720 14 is_stmt 0 view .LVU4547
13117 0000 406C ldr r0, [r0, #68]
13118 .LVL944:
4721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c ****
13119 .loc 1 4721 1 view .LVU4548
13120 0002 7047 bx lr
13121 .cfi_endproc
13122 .LFE377:
13124 .text
13125 .Letext0:
13126 .file 2 "/usr/lib/gcc/arm-none-eabi/12.2.1/include/stdint.h"
13127 .file 3 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
13128 .file 4 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"
13129 .file 5 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
13130 .file 6 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"
13131 .file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_i2c.h"
13132 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"
ARM GAS /tmp/ccbUHtu7.s page 428
DEFINED SYMBOLS
*ABS*:00000000 stm32g4xx_hal_i2c.c
/tmp/ccbUHtu7.s:21 .text.I2C_Flush_TXDR:00000000 $t
/tmp/ccbUHtu7.s:26 .text.I2C_Flush_TXDR:00000000 I2C_Flush_TXDR
/tmp/ccbUHtu7.s:64 .text.I2C_TransferConfig:00000000 $t
/tmp/ccbUHtu7.s:69 .text.I2C_TransferConfig:00000000 I2C_TransferConfig
/tmp/ccbUHtu7.s:127 .text.I2C_Enable_IRQ:00000000 $t
/tmp/ccbUHtu7.s:132 .text.I2C_Enable_IRQ:00000000 I2C_Enable_IRQ
/tmp/ccbUHtu7.s:255 .text.I2C_Enable_IRQ:0000006c $d
/tmp/ccbUHtu7.s:12326 .text.I2C_Master_ISR_DMA:00000000 I2C_Master_ISR_DMA
/tmp/ccbUHtu7.s:12045 .text.I2C_Slave_ISR_DMA:00000000 I2C_Slave_ISR_DMA
/tmp/ccbUHtu7.s:261 .text.I2C_Disable_IRQ:00000000 $t
/tmp/ccbUHtu7.s:266 .text.I2C_Disable_IRQ:00000000 I2C_Disable_IRQ
/tmp/ccbUHtu7.s:390 .text.I2C_ConvertOtherXferOptions:00000000 $t
/tmp/ccbUHtu7.s:395 .text.I2C_ConvertOtherXferOptions:00000000 I2C_ConvertOtherXferOptions
/tmp/ccbUHtu7.s:436 .text.I2C_IsErrorOccurred:00000000 $t
/tmp/ccbUHtu7.s:441 .text.I2C_IsErrorOccurred:00000000 I2C_IsErrorOccurred
/tmp/ccbUHtu7.s:734 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 $t
/tmp/ccbUHtu7.s:739 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 I2C_WaitOnTXISFlagUntilTimeout
/tmp/ccbUHtu7.s:830 .text.I2C_WaitOnFlagUntilTimeout:00000000 $t
/tmp/ccbUHtu7.s:835 .text.I2C_WaitOnFlagUntilTimeout:00000000 I2C_WaitOnFlagUntilTimeout
/tmp/ccbUHtu7.s:921 .text.I2C_RequestMemoryWrite:00000000 $t
/tmp/ccbUHtu7.s:926 .text.I2C_RequestMemoryWrite:00000000 I2C_RequestMemoryWrite
/tmp/ccbUHtu7.s:1045 .text.I2C_RequestMemoryWrite:00000078 $d
/tmp/ccbUHtu7.s:1050 .text.I2C_RequestMemoryRead:00000000 $t
/tmp/ccbUHtu7.s:1055 .text.I2C_RequestMemoryRead:00000000 I2C_RequestMemoryRead
/tmp/ccbUHtu7.s:1174 .text.I2C_RequestMemoryRead:00000074 $d
/tmp/ccbUHtu7.s:1179 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 $t
/tmp/ccbUHtu7.s:1184 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 I2C_WaitOnSTOPFlagUntilTimeout
/tmp/ccbUHtu7.s:1271 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 $t
/tmp/ccbUHtu7.s:1276 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 I2C_WaitOnRXNEFlagUntilTimeout
/tmp/ccbUHtu7.s:1430 .text.HAL_I2C_MspInit:00000000 $t
/tmp/ccbUHtu7.s:1436 .text.HAL_I2C_MspInit:00000000 HAL_I2C_MspInit
/tmp/ccbUHtu7.s:1451 .text.HAL_I2C_Init:00000000 $t
/tmp/ccbUHtu7.s:1457 .text.HAL_I2C_Init:00000000 HAL_I2C_Init
/tmp/ccbUHtu7.s:1649 .text.HAL_I2C_MspDeInit:00000000 $t
/tmp/ccbUHtu7.s:1655 .text.HAL_I2C_MspDeInit:00000000 HAL_I2C_MspDeInit
/tmp/ccbUHtu7.s:1670 .text.HAL_I2C_DeInit:00000000 $t
/tmp/ccbUHtu7.s:1676 .text.HAL_I2C_DeInit:00000000 HAL_I2C_DeInit
/tmp/ccbUHtu7.s:1741 .text.HAL_I2C_Master_Transmit:00000000 $t
/tmp/ccbUHtu7.s:1747 .text.HAL_I2C_Master_Transmit:00000000 HAL_I2C_Master_Transmit
/tmp/ccbUHtu7.s:2057 .text.HAL_I2C_Master_Transmit:00000178 $d
/tmp/ccbUHtu7.s:2062 .text.HAL_I2C_Master_Receive:00000000 $t
/tmp/ccbUHtu7.s:2068 .text.HAL_I2C_Master_Receive:00000000 HAL_I2C_Master_Receive
/tmp/ccbUHtu7.s:2377 .text.HAL_I2C_Master_Receive:00000178 $d
/tmp/ccbUHtu7.s:2382 .text.HAL_I2C_Slave_Transmit:00000000 $t
/tmp/ccbUHtu7.s:2388 .text.HAL_I2C_Slave_Transmit:00000000 HAL_I2C_Slave_Transmit
/tmp/ccbUHtu7.s:2766 .text.HAL_I2C_Slave_Receive:00000000 $t
/tmp/ccbUHtu7.s:2772 .text.HAL_I2C_Slave_Receive:00000000 HAL_I2C_Slave_Receive
/tmp/ccbUHtu7.s:3120 .text.HAL_I2C_Master_Transmit_IT:00000000 $t
/tmp/ccbUHtu7.s:3126 .text.HAL_I2C_Master_Transmit_IT:00000000 HAL_I2C_Master_Transmit_IT
/tmp/ccbUHtu7.s:3279 .text.HAL_I2C_Master_Transmit_IT:0000008c $d
/tmp/ccbUHtu7.s:11665 .text.I2C_Master_ISR_IT:00000000 I2C_Master_ISR_IT
/tmp/ccbUHtu7.s:3286 .text.HAL_I2C_Master_Receive_IT:00000000 $t
/tmp/ccbUHtu7.s:3292 .text.HAL_I2C_Master_Receive_IT:00000000 HAL_I2C_Master_Receive_IT
/tmp/ccbUHtu7.s:3445 .text.HAL_I2C_Master_Receive_IT:0000008c $d
/tmp/ccbUHtu7.s:3452 .text.HAL_I2C_Slave_Transmit_IT:00000000 $t
ARM GAS /tmp/ccbUHtu7.s page 429
/tmp/ccbUHtu7.s:3458 .text.HAL_I2C_Slave_Transmit_IT:00000000 HAL_I2C_Slave_Transmit_IT
/tmp/ccbUHtu7.s:3561 .text.HAL_I2C_Slave_Transmit_IT:0000005c $d
/tmp/ccbUHtu7.s:11092 .text.I2C_Slave_ISR_IT:00000000 I2C_Slave_ISR_IT
/tmp/ccbUHtu7.s:3567 .text.HAL_I2C_Slave_Receive_IT:00000000 $t
/tmp/ccbUHtu7.s:3573 .text.HAL_I2C_Slave_Receive_IT:00000000 HAL_I2C_Slave_Receive_IT
/tmp/ccbUHtu7.s:3676 .text.HAL_I2C_Slave_Receive_IT:0000005c $d
/tmp/ccbUHtu7.s:3682 .text.HAL_I2C_Master_Transmit_DMA:00000000 $t
/tmp/ccbUHtu7.s:3688 .text.HAL_I2C_Master_Transmit_DMA:00000000 HAL_I2C_Master_Transmit_DMA
/tmp/ccbUHtu7.s:3990 .text.HAL_I2C_Master_Transmit_DMA:0000013c $d
/tmp/ccbUHtu7.s:12684 .text.I2C_DMAMasterTransmitCplt:00000000 I2C_DMAMasterTransmitCplt
/tmp/ccbUHtu7.s:12644 .text.I2C_DMAError:00000000 I2C_DMAError
/tmp/ccbUHtu7.s:4000 .text.HAL_I2C_Master_Receive_DMA:00000000 $t
/tmp/ccbUHtu7.s:4006 .text.HAL_I2C_Master_Receive_DMA:00000000 HAL_I2C_Master_Receive_DMA
/tmp/ccbUHtu7.s:4308 .text.HAL_I2C_Master_Receive_DMA:00000138 $d
/tmp/ccbUHtu7.s:12792 .text.I2C_DMAMasterReceiveCplt:00000000 I2C_DMAMasterReceiveCplt
/tmp/ccbUHtu7.s:4318 .text.HAL_I2C_Slave_Transmit_DMA:00000000 $t
/tmp/ccbUHtu7.s:4324 .text.HAL_I2C_Slave_Transmit_DMA:00000000 HAL_I2C_Slave_Transmit_DMA
/tmp/ccbUHtu7.s:4545 .text.HAL_I2C_Slave_Transmit_DMA:000000e0 $d
/tmp/ccbUHtu7.s:9921 .text.I2C_DMASlaveTransmitCplt:00000000 I2C_DMASlaveTransmitCplt
/tmp/ccbUHtu7.s:4553 .text.HAL_I2C_Slave_Receive_DMA:00000000 $t
/tmp/ccbUHtu7.s:4559 .text.HAL_I2C_Slave_Receive_DMA:00000000 HAL_I2C_Slave_Receive_DMA
/tmp/ccbUHtu7.s:4782 .text.HAL_I2C_Slave_Receive_DMA:000000e4 $d
/tmp/ccbUHtu7.s:9973 .text.I2C_DMASlaveReceiveCplt:00000000 I2C_DMASlaveReceiveCplt
/tmp/ccbUHtu7.s:4790 .text.HAL_I2C_Mem_Write:00000000 $t
/tmp/ccbUHtu7.s:4796 .text.HAL_I2C_Mem_Write:00000000 HAL_I2C_Mem_Write
/tmp/ccbUHtu7.s:5154 .text.HAL_I2C_Mem_Read:00000000 $t
/tmp/ccbUHtu7.s:5160 .text.HAL_I2C_Mem_Read:00000000 HAL_I2C_Mem_Read
/tmp/ccbUHtu7.s:5518 .text.HAL_I2C_Mem_Read:000001ac $d
/tmp/ccbUHtu7.s:5523 .text.HAL_I2C_Mem_Write_IT:00000000 $t
/tmp/ccbUHtu7.s:5529 .text.HAL_I2C_Mem_Write_IT:00000000 HAL_I2C_Mem_Write_IT
/tmp/ccbUHtu7.s:5738 .text.HAL_I2C_Mem_Write_IT:000000dc $d
/tmp/ccbUHtu7.s:5744 .text.HAL_I2C_Mem_Read_IT:00000000 $t
/tmp/ccbUHtu7.s:5750 .text.HAL_I2C_Mem_Read_IT:00000000 HAL_I2C_Mem_Read_IT
/tmp/ccbUHtu7.s:5960 .text.HAL_I2C_Mem_Read_IT:000000dc $d
/tmp/ccbUHtu7.s:5967 .text.HAL_I2C_Mem_Write_DMA:00000000 $t
/tmp/ccbUHtu7.s:5973 .text.HAL_I2C_Mem_Write_DMA:00000000 HAL_I2C_Mem_Write_DMA
/tmp/ccbUHtu7.s:6291 .text.HAL_I2C_Mem_Write_DMA:0000015c $d
/tmp/ccbUHtu7.s:6299 .text.HAL_I2C_Mem_Read_DMA:00000000 $t
/tmp/ccbUHtu7.s:6305 .text.HAL_I2C_Mem_Read_DMA:00000000 HAL_I2C_Mem_Read_DMA
/tmp/ccbUHtu7.s:6624 .text.HAL_I2C_Mem_Read_DMA:0000015c $d
/tmp/ccbUHtu7.s:6633 .text.HAL_I2C_IsDeviceReady:00000000 $t
/tmp/ccbUHtu7.s:6639 .text.HAL_I2C_IsDeviceReady:00000000 HAL_I2C_IsDeviceReady
/tmp/ccbUHtu7.s:6972 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 $t
/tmp/ccbUHtu7.s:6978 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 HAL_I2C_Master_Seq_Transmit_IT
/tmp/ccbUHtu7.s:7169 .text.HAL_I2C_Master_Seq_Transmit_IT:000000ac $d
/tmp/ccbUHtu7.s:7175 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 $t
/tmp/ccbUHtu7.s:7181 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 HAL_I2C_Master_Seq_Transmit_DMA
/tmp/ccbUHtu7.s:7514 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000160 $d
/tmp/ccbUHtu7.s:7523 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 $t
/tmp/ccbUHtu7.s:7529 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 HAL_I2C_Master_Seq_Receive_IT
/tmp/ccbUHtu7.s:7720 .text.HAL_I2C_Master_Seq_Receive_IT:000000ac $d
/tmp/ccbUHtu7.s:7726 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 $t
/tmp/ccbUHtu7.s:7732 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 HAL_I2C_Master_Seq_Receive_DMA
/tmp/ccbUHtu7.s:8065 .text.HAL_I2C_Master_Seq_Receive_DMA:00000160 $d
/tmp/ccbUHtu7.s:8074 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 $t
/tmp/ccbUHtu7.s:8080 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 HAL_I2C_Slave_Seq_Transmit_IT
/tmp/ccbUHtu7.s:8281 .text.HAL_I2C_Slave_Seq_Transmit_IT:000000d0 $d
ARM GAS /tmp/ccbUHtu7.s page 430
/tmp/ccbUHtu7.s:13007 .text.I2C_DMAAbort:00000000 I2C_DMAAbort
/tmp/ccbUHtu7.s:8287 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 $t
/tmp/ccbUHtu7.s:8293 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 HAL_I2C_Slave_Seq_Transmit_DMA
/tmp/ccbUHtu7.s:8672 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000194 $d
/tmp/ccbUHtu7.s:8680 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 $t
/tmp/ccbUHtu7.s:8686 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 HAL_I2C_Slave_Seq_Receive_IT
/tmp/ccbUHtu7.s:8887 .text.HAL_I2C_Slave_Seq_Receive_IT:000000d0 $d
/tmp/ccbUHtu7.s:8893 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 $t
/tmp/ccbUHtu7.s:8899 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 HAL_I2C_Slave_Seq_Receive_DMA
/tmp/ccbUHtu7.s:9275 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000190 $d
/tmp/ccbUHtu7.s:9283 .text.HAL_I2C_EnableListen_IT:00000000 $t
/tmp/ccbUHtu7.s:9289 .text.HAL_I2C_EnableListen_IT:00000000 HAL_I2C_EnableListen_IT
/tmp/ccbUHtu7.s:9336 .text.HAL_I2C_EnableListen_IT:00000028 $d
/tmp/ccbUHtu7.s:9341 .text.HAL_I2C_DisableListen_IT:00000000 $t
/tmp/ccbUHtu7.s:9347 .text.HAL_I2C_DisableListen_IT:00000000 HAL_I2C_DisableListen_IT
/tmp/ccbUHtu7.s:9413 .text.HAL_I2C_Master_Abort_IT:00000000 $t
/tmp/ccbUHtu7.s:9419 .text.HAL_I2C_Master_Abort_IT:00000000 HAL_I2C_Master_Abort_IT
/tmp/ccbUHtu7.s:9560 .text.HAL_I2C_Master_Abort_IT:00000080 $d
/tmp/ccbUHtu7.s:9565 .text.HAL_I2C_EV_IRQHandler:00000000 $t
/tmp/ccbUHtu7.s:9571 .text.HAL_I2C_EV_IRQHandler:00000000 HAL_I2C_EV_IRQHandler
/tmp/ccbUHtu7.s:9609 .text.HAL_I2C_MasterTxCpltCallback:00000000 $t
/tmp/ccbUHtu7.s:9615 .text.HAL_I2C_MasterTxCpltCallback:00000000 HAL_I2C_MasterTxCpltCallback
/tmp/ccbUHtu7.s:9630 .text.HAL_I2C_MasterRxCpltCallback:00000000 $t
/tmp/ccbUHtu7.s:9636 .text.HAL_I2C_MasterRxCpltCallback:00000000 HAL_I2C_MasterRxCpltCallback
/tmp/ccbUHtu7.s:9651 .text.I2C_ITMasterSeqCplt:00000000 $t
/tmp/ccbUHtu7.s:9656 .text.I2C_ITMasterSeqCplt:00000000 I2C_ITMasterSeqCplt
/tmp/ccbUHtu7.s:9741 .text.HAL_I2C_SlaveTxCpltCallback:00000000 $t
/tmp/ccbUHtu7.s:9747 .text.HAL_I2C_SlaveTxCpltCallback:00000000 HAL_I2C_SlaveTxCpltCallback
/tmp/ccbUHtu7.s:9762 .text.HAL_I2C_SlaveRxCpltCallback:00000000 $t
/tmp/ccbUHtu7.s:9768 .text.HAL_I2C_SlaveRxCpltCallback:00000000 HAL_I2C_SlaveRxCpltCallback
/tmp/ccbUHtu7.s:9783 .text.I2C_ITSlaveSeqCplt:00000000 $t
/tmp/ccbUHtu7.s:9788 .text.I2C_ITSlaveSeqCplt:00000000 I2C_ITSlaveSeqCplt
/tmp/ccbUHtu7.s:9916 .text.I2C_DMASlaveTransmitCplt:00000000 $t
/tmp/ccbUHtu7.s:9968 .text.I2C_DMASlaveReceiveCplt:00000000 $t
/tmp/ccbUHtu7.s:10029 .text.HAL_I2C_AddrCallback:00000000 $t
/tmp/ccbUHtu7.s:10035 .text.HAL_I2C_AddrCallback:00000000 HAL_I2C_AddrCallback
/tmp/ccbUHtu7.s:10052 .text.I2C_ITAddrCplt:00000000 $t
/tmp/ccbUHtu7.s:10057 .text.I2C_ITAddrCplt:00000000 I2C_ITAddrCplt
/tmp/ccbUHtu7.s:10217 .text.HAL_I2C_ListenCpltCallback:00000000 $t
/tmp/ccbUHtu7.s:10223 .text.HAL_I2C_ListenCpltCallback:00000000 HAL_I2C_ListenCpltCallback
/tmp/ccbUHtu7.s:10238 .text.I2C_ITListenCplt:00000000 $t
/tmp/ccbUHtu7.s:10243 .text.I2C_ITListenCplt:00000000 I2C_ITListenCplt
/tmp/ccbUHtu7.s:10347 .text.I2C_ITListenCplt:00000064 $d
/tmp/ccbUHtu7.s:10352 .text.HAL_I2C_MemTxCpltCallback:00000000 $t
/tmp/ccbUHtu7.s:10358 .text.HAL_I2C_MemTxCpltCallback:00000000 HAL_I2C_MemTxCpltCallback
/tmp/ccbUHtu7.s:10373 .text.HAL_I2C_MemRxCpltCallback:00000000 $t
/tmp/ccbUHtu7.s:10379 .text.HAL_I2C_MemRxCpltCallback:00000000 HAL_I2C_MemRxCpltCallback
/tmp/ccbUHtu7.s:10394 .text.HAL_I2C_ErrorCallback:00000000 $t
/tmp/ccbUHtu7.s:10400 .text.HAL_I2C_ErrorCallback:00000000 HAL_I2C_ErrorCallback
/tmp/ccbUHtu7.s:10415 .text.HAL_I2C_AbortCpltCallback:00000000 $t
/tmp/ccbUHtu7.s:10421 .text.HAL_I2C_AbortCpltCallback:00000000 HAL_I2C_AbortCpltCallback
/tmp/ccbUHtu7.s:10436 .text.I2C_TreatErrorCallback:00000000 $t
/tmp/ccbUHtu7.s:10441 .text.I2C_TreatErrorCallback:00000000 I2C_TreatErrorCallback
/tmp/ccbUHtu7.s:10498 .text.I2C_ITError:00000000 $t
/tmp/ccbUHtu7.s:10503 .text.I2C_ITError:00000000 I2C_ITError
/tmp/ccbUHtu7.s:10750 .text.I2C_ITError:000000fc $d
/tmp/ccbUHtu7.s:10757 .text.I2C_ITSlaveCplt:00000000 $t
ARM GAS /tmp/ccbUHtu7.s page 431
/tmp/ccbUHtu7.s:10762 .text.I2C_ITSlaveCplt:00000000 I2C_ITSlaveCplt
/tmp/ccbUHtu7.s:11082 .text.I2C_ITSlaveCplt:00000164 $d
/tmp/ccbUHtu7.s:11087 .text.I2C_Slave_ISR_IT:00000000 $t
/tmp/ccbUHtu7.s:11383 .text.I2C_ITMasterCplt:00000000 $t
/tmp/ccbUHtu7.s:11388 .text.I2C_ITMasterCplt:00000000 I2C_ITMasterCplt
/tmp/ccbUHtu7.s:11660 .text.I2C_Master_ISR_IT:00000000 $t
/tmp/ccbUHtu7.s:12040 .text.I2C_Slave_ISR_DMA:00000000 $t
/tmp/ccbUHtu7.s:12182 .text.I2C_Slave_ISR_DMA:0000008e $d
/tmp/ccbUHtu7.s:12193 .text.I2C_Slave_ISR_DMA:00000098 $t
/tmp/ccbUHtu7.s:12321 .text.I2C_Master_ISR_DMA:00000000 $t
/tmp/ccbUHtu7.s:12639 .text.I2C_DMAError:00000000 $t
/tmp/ccbUHtu7.s:12679 .text.I2C_DMAMasterTransmitCplt:00000000 $t
/tmp/ccbUHtu7.s:12787 .text.I2C_DMAMasterReceiveCplt:00000000 $t
/tmp/ccbUHtu7.s:12895 .text.HAL_I2C_ER_IRQHandler:00000000 $t
/tmp/ccbUHtu7.s:12901 .text.HAL_I2C_ER_IRQHandler:00000000 HAL_I2C_ER_IRQHandler
/tmp/ccbUHtu7.s:13002 .text.I2C_DMAAbort:00000000 $t
/tmp/ccbUHtu7.s:13053 .text.HAL_I2C_GetState:00000000 $t
/tmp/ccbUHtu7.s:13059 .text.HAL_I2C_GetState:00000000 HAL_I2C_GetState
/tmp/ccbUHtu7.s:13077 .text.HAL_I2C_GetMode:00000000 $t
/tmp/ccbUHtu7.s:13083 .text.HAL_I2C_GetMode:00000000 HAL_I2C_GetMode
/tmp/ccbUHtu7.s:13101 .text.HAL_I2C_GetError:00000000 $t
/tmp/ccbUHtu7.s:13107 .text.HAL_I2C_GetError:00000000 HAL_I2C_GetError
UNDEFINED SYMBOLS
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort_IT
HAL_DMA_GetState