ARM GAS /tmp/ccRVAHyi.s page 1
1 .cpu cortex-m0
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 0
10 .eabi_attribute 18, 4
11 .file "stm32f0xx_hal_i2c.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.I2C_Flush_TXDR,"ax",%progbits
16 .align 1
17 .arch armv6s-m
18 .syntax unified
19 .code 16
20 .thumb_func
21 .fpu softvfp
23 I2C_Flush_TXDR:
24 .LVL0:
25 .LFB103:
26 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c"
1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @file stm32f0xx_hal_i2c.c
4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @author MCD Application Team
5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C HAL module driver.
6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral:
8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + IO operation functions
10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + Peripheral State and Errors functions
11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================================================================
14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### How to use this driver #####
15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================================================================
16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The I2C HAL driver can be used as follows:
18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example:
20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef hi2c;
21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the HAL_I2C_MspInit() API:
23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) Enable the I2Cx interface clock
24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) I2C pins configuration
25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs
26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain
27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process
28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority
29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel
30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process
31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for
32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the transmit or receive channel
ARM GAS /tmp/ccRVAHyi.s page 2
33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using
34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the DMA handle parameters
35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel
36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the DMA Tx or Rx channel
39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres
41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure
42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the HAL_I2C_Init(), configures also the low level H
44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized HAL_I2C_MspInit(&hi2c) API.
45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function HAL_I2C_IsDeviceRead
47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Polling mode IO operation ***
51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =================================
52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using HAL_I2C_Master_Transmit(
54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using HAL_I2C_Master_Receive()
55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Transmit()
56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Receive()
57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Polling mode IO MEM operation ***
59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =====================================
60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using HAL_I2C_Mem_W
62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using HAL_I2C_Mem_
63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode IO operation ***
66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===================================
67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Trans
69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Receiv
72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Transmi
75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Receive_
78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation ***
ARM GAS /tmp/ccRVAHyi.s page 3
90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==========================================================
91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition
93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** when a direction change during transfer
94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer
96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Option field values are defined through I2C_XFEROPTIONS and are listed below:
97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functional is same as associated interfac
98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** no sequential mode
99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and data to transfer without a final stop condition
101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a
102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** start condition, address and data to transfer without a final stop cond
103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** an then permit a call the same master sequential interface several time
104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (like HAL_I2C_Master_Seq_Transmit_IT() then HAL_I2C_Master_Seq_Transmit
105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA() then HAL_I2C_Master_Seq_Transmit_D
106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart
107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transfer
109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases
110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart
111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transfer
113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases
114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re
115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** after several call of the same master sequential interface several time
116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (link with option I2C_FIRST_AND_NEXT_FRAME).
117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Usage can, transfer several bytes one by one using
118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT
119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT
120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA
121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA
122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** with option I2C_FIRST_AND_NEXT_FRAME then I2C_NEXT_FRAME.
123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit
124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Receive sequence permit to call the opposite interface Receive or Tra
125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio
126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c
127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** each call of the same master sequential
128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** interface.
129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave
130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** each bytes using
131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT
132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT
133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA
134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA
135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** with option I2C_FIRST_FRAME then I2C_OTHER_FRAME.
136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to
137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** generation of STOP condition.
138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Different sequential I2C interfaces are listed below:
140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using
141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT() or using HAL_I2C_Master_Seq_Transmit_DMA()
142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_MasterTxCpltCallback() is execut
143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_MasterTxCpltC
144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using
145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Seq_Receive_IT() or using HAL_I2C_Master_Seq_Receive_DMA()
146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_MasterRxCpltCallback() is executed
ARM GAS /tmp/ccRVAHyi.s page 4
147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Abort a master IT or DMA I2C process communication with Interrupt using HAL_I2C_Master_A
149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using HAL_I2C_EnableListen_IT()
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_DisableListen_IT()
153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) When address slave I2C match, HAL_I2C_AddrCallback() is executed and users can
154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code to check the Address Match Code and the transmission direction reques
155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (Write/Read).
156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At Listen mode end HAL_I2C_ListenCpltCallback() is executed and users can
157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ListenCpltCallback()
158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using
159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Transmit_IT() or using HAL_I2C_Slave_Seq_Transmit_DMA()
160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_SlaveTxCpltCallback() is execute
161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCa
162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using
163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Receive_IT() or using HAL_I2C_Slave_Seq_Receive_DMA()
164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_SlaveRxCpltCallback() is executed a
165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode IO MEM operation ***
172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =======================================
173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address
175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Mem_Write_IT()
176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Mem_Read_IT()
180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** DMA mode IO operation ***
186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================
187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Transmit_DMA()
190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Receive_DMA()
194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Slave_Transmit_DMA()
198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Slave_Receive_DMA()
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
ARM GAS /tmp/ccRVAHyi.s page 5
204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** DMA mode IO MEM operation ***
213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =================================
214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Mem_Write_DMA()
217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Mem_Read_DMA()
221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** I2C HAL driver macros list ***
228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==================================
229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver.
231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE: Enable the I2C peripheral
233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE: Disable the I2C peripheral
234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode
235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not
236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt
238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Callback registration ***
241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =============================================
242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1
244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks.
245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Use Functions HAL_I2C_RegisterCallback() or HAL_I2C_RegisterAddrCallback()
246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to register an interrupt callback.
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Function HAL_I2C_RegisterCallback() allows to register following callbacks:
249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
ARM GAS /tmp/ccRVAHyi.s page 6
261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and a pointer to the user callback function.
262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : HAL_I2C_RegisterAddrCall
264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Use function HAL_I2C_UnRegisterCallback to reset a callback to the default
266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** weak function.
267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle,
268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and the Callback ID.
269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This function allows to reset following callbacks:
270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : HAL_I2C_UnRegisterAddrCallback().
283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** By default, after the HAL_I2C_Init() and when the state is HAL_I2C_STATE_RESET
285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions:
286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** examples HAL_I2C_MasterTxCpltCallback(), HAL_I2C_MasterRxCpltCallback().
287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are
288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** reset to the legacy weak functions in the HAL_I2C_Init()/ HAL_I2C_DeInit() only when
289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** these callbacks are null (not registered beforehand).
290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the HAL_I2C_Init()/ HAL_I2C_DeInit()
291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Callbacks can be registered/unregistered in HAL_I2C_STATE_READY state only.
294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** in HAL_I2C_STATE_READY or HAL_I2C_STATE_RESET state,
296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** using HAL_I2C_RegisterCallback() before calling HAL_I2C_DeInit()
299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Init() function.
300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or
302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks
303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** are set to the corresponding weak functions.
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros
307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @attention
311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
© Copyright (c) 2016 STMicroelectronics.
313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * All rights reserved.
314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This software component is licensed by ST under BSD 3-Clause license,
316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the "License"; You may not use this file except in compliance with the
317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * License. You may obtain a copy of the License at:
ARM GAS /tmp/ccRVAHyi.s page 7
318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * opensource.org/licenses/BSD-3-Clause
319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #include "stm32f0xx_hal.h"
325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup STM32F0xx_HAL_Driver
327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C I2C
331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C HAL module driver
332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define
341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */
344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR (10000U) /*!< 10 s */
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY (25U) /*!< 25 ms */
346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR (25U) /*!< 25 ms */
347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE (25U) /*!< 25 ms */
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF (25U) /*!< 25 ms */
349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TC (25U) /*!< 25 ms */
350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR (25U) /*!< 25 ms */
351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS (25U) /*!< 25 ms */
352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG (25U) /*!< 25 ms */
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define MAX_NBYTE_SIZE 255U
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define SLAVE_ADDR_SHIFT 7U
356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define SLAVE_ADDR_MSK 0x06U
357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | \
360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_STATE_BUSY_RX) & \
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)(~((uint32_t)HAL_I2C_STATE_READY))))
362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Mask State define, keep only RX and TX bits */
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE))
364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Default Value */
365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER))
367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Master Busy TX, combinaison of State LSB and Mode enum */
368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER))
370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Master Busy RX, combinaison of State LSB and Mode enum */
371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE))
373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Slave Busy TX, combinaison of State LSB and Mode enum */
374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
ARM GAS /tmp/ccRVAHyi.s page 8
375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE))
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Slave Busy RX, combinaison of State LSB and Mode enum */
377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM))
379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Memory Busy TX, combinaison of State LSB and Mode enum */
380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM))
382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Memory Busy RX, combinaison of State LSB and Mode enum */
383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_TX_IT (uint16_t)(0x0001U) /*!< Bit field can be combinated with
387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */
388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_RX_IT (uint16_t)(0x0002U) /*!< Bit field can be combinated with
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */
390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT (uint16_t)(0x8000U) /*!< Bit field can be combinated with @ref I2
391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and @ref I2C_XFER_RX_IT */
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT (uint16_t)(0x0010U) /*!< Bit definition to manage addition of glo
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and NACK treatment */
395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT (uint16_t)(0x0020U) /*!< Bit definition to manage only STOP evene
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT (uint16_t)(0x0040U) /*!< Bit definition to manage only Reload of
397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */
399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME (0xFFFF0000U)
400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private macro -------------------------------------------------------------*/
405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma);
413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma);
414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma);
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma);
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle IT transfer */
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c);
422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c);
423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode);
427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle IT transfer */
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
ARM GAS /tmp/ccRVAHyi.s page 9
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources);
439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources);
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources);
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources);
445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart);
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */
459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to treat different error callback */
463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c);
464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to flush TXDR register */
466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c);
467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to handle start, restart or stop a transfer */
469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Request);
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to Convert Specific options */
473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initialization and Configuration functions
486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
ARM GAS /tmp/ccRVAHyi.s page 10
489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### Initialization and de-initialization functions #####
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and
492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** deinitialize the I2Cx peripheral:
493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures
495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the selected configuration:
499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Clock Timing
500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 1
501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Addressing mode (Master, Slave)
502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Dual Addressing mode
503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 2
504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 2 Mask
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) General call mode
506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Nostretch mode
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** of the selected I2Cx peripheral.
510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters
517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle.
518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c == NULL)
526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET)
541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Allocate lock resource and initialize it */
543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED;
544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
ARM GAS /tmp/ccRVAHyi.s page 11
546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the I2C Callback settings */
547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback
548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback
549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback
550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback
551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback
552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback
557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL)
559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */
561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c);
565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c);
568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the selected I2C peripheral */
574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx TIMINGR Configuration ------------------*/
577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK;
579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Own Address1 before set the Own Address1 configuration */
582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN;
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and ack own address1 mode */
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1);
588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else /* I2C_ADDRESSINGMODE_10BIT */
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1);
592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/
595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Addressing Master mode */
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 = (I2C_CR2_ADD10);
599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */
601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK);
602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 12
603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */
605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE;
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \
609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/
612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode);
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the selected I2C peripheral */
616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral.
628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c == NULL)
636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL)
650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c);
656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c);
659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
ARM GAS /tmp/ccRVAHyi.s page 13
660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initialize the I2C MSP.
674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file
685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP.
690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file
701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Register a User I2C Callback
707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * To be used instead of the weak predefined callback
708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered
711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
ARM GAS /tmp/ccRVAHyi.s page 14
717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pCallback pointer to the Callback function
724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb
727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** pI2C_CallbackTypeDef pCallback)
728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (pCallback == NULL)
732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback;
747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback;
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback;
755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback;
759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback;
763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback;
767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback;
771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
ARM GAS /tmp/ccRVAHyi.s page 15
774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback;
775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback;
779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
ARM GAS /tmp/ccRVAHyi.s page 16
831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Unregister an I2C Callback
835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback
836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered
839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal
855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb
867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb
871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba
875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba
879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac
883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
ARM GAS /tmp/ccRVAHyi.s page 17
888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
ARM GAS /tmp/ccRVAHyi.s page 18
945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback
955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback
956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function
959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC
962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (pCallback == NULL)
966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = pCallback;
978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback
995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal
996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 19
1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */
1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Data transfers functions
1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### IO operation functions #####
1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data
1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transfers.
1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) There are two modes of transfer:
1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode.
1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The status of all data processing is returned by the same function
1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** after finishing transfer.
1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts
1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup.
1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The end of the data processing will be indicated through the
1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** using DMA mode.
1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Blocking mode functions are :
1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit()
1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive()
1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit()
1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive()
1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write()
1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read()
ARM GAS /tmp/ccRVAHyi.s page 20
1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady()
1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are :
1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT()
1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT()
1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT()
1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT()
1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT()
1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT()
1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT()
1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT()
1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT()
1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT()
1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT()
1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT()
1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT()
1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are :
1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA()
1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA()
1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA()
1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA()
1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA()
1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA()
1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA()
1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA()
1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA()
1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA()
1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback()
1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback()
1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback()
1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback()
1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback()
1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback()
1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback()
1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback()
1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback()
1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback()
1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode.
1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
ARM GAS /tmp/ccRVAHyi.s page 21
1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout)
1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 22
1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set */
1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode.
1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
ARM GAS /tmp/ccRVAHyi.s page 23
1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout)
1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 24
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set */
1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
ARM GAS /tmp/ccRVAHyi.s page 25
1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode.
1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Timeout)
1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If 10bit addressing mode is selected */
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
ARM GAS /tmp/ccRVAHyi.s page 26
1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK)
1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP flag is set */
1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Normal use case for Transmitter mode */
1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* A NACK is generated to confirm the end of transfer */
1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP flag */
1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
ARM GAS /tmp/ccRVAHyi.s page 27
1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode
1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Timeout)
1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
ARM GAS /tmp/ccRVAHyi.s page 28
1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK)
1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP flag is set */
ARM GAS /tmp/ccRVAHyi.s page 29
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP flag */
1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt
1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size)
1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 30
1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_WRIT
1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt
1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
ARM GAS /tmp/ccRVAHyi.s page 31
1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size)
1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 32
1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt
1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
ARM GAS /tmp/ccRVAHyi.s page 33
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt
1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA
1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
ARM GAS /tmp/ccRVAHyi.s page 34
1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size)
1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 35
1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
ARM GAS /tmp/ccRVAHyi.s page 36
1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA
1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size)
2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
ARM GAS /tmp/ccRVAHyi.s page 37
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART *
2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 38
2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
2116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 39
2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA
2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
ARM GAS /tmp/ccRVAHyi.s page 40
2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA
2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
ARM GAS /tmp/ccRVAHyi.s page 41
2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 42
2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address
2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Ti
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
ARM GAS /tmp/ccRVAHyi.s page 43
2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
2417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
2420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 44
2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
2429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
2437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } while (hi2c->XferCount > 0U);
2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
2469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
ARM GAS /tmp/ccRVAHyi.s page 45
2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address
2489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
2501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Tim
2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
2521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
2523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
2538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS /tmp/ccRVAHyi.s page 46
2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
2545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
2560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
2562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK)
2563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
2571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
2588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } while (hi2c->XferCount > 0U);
ARM GAS /tmp/ccRVAHyi.s page 47
2598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
2610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
2611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
2627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
2638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
2642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
ARM GAS /tmp/ccRVAHyi.s page 48
2655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar
2688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
2689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
2697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
2707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
ARM GAS /tmp/ccRVAHyi.s page 49
2712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
2721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
2732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
2736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
2758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
2768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 50
2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
2773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart
2782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
2799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
2800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
2803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address
2813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
2824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 51
2826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
2851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
2861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
2871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar
2875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
2876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 52
2883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
2889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
2893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
2897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
2922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
2931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
ARM GAS /tmp/ccRVAHyi.s page 53
2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address.
2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be read
2968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
2971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
ARM GAS /tmp/ccRVAHyi.s page 54
2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
2998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart
3022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
3038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
3041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
3042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
3043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
ARM GAS /tmp/ccRVAHyi.s page 55
3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_RE
3063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
3074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
3078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Checks if target device is ready for communication.
3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This function is used with Memory devices
3105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Trials Number of trials
3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
ARM GAS /tmp/ccRVAHyi.s page 56
3111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
3114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Timeout)
3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
3117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0UL;
3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp1;
3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp2;
3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
3126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
3137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Start */
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress);
3140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/
3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
3144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
3146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while ((tmp1 == RESET) && (tmp2 == RESET))
3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
3151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
ARM GAS /tmp/ccRVAHyi.s page 57
3168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */
3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET)
3173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Device is ready */
3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/
3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if the maximum allowed number of trials has been reached */
3207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_Trials == Trials)
3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
3219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Trials */
3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Trials++;
3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } while (I2C_Trials < Trials);
ARM GAS /tmp/ccRVAHyi.s page 58
3225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
3270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 59
3282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do not generate Restart Condition */
3293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
ARM GAS /tmp/ccRVAHyi.s page 60
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin
3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do not generate Restart Condition */
3381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
3383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
ARM GAS /tmp/ccRVAHyi.s page 61
3396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
3402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
3411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
3416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
3447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
ARM GAS /tmp/ccRVAHyi.s page 62
3453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
3473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
3475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
3476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
3485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
3500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
ARM GAS /tmp/ccRVAHyi.s page 63
3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8
3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do not generate Restart Condition */
3548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
ARM GAS /tmp/ccRVAHyi.s page 64
3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
3576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with DMA
3587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
3594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
ARM GAS /tmp/ccRVAHyi.s page 65
3624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do not generate Restart Condition */
3636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
3638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
3666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
3671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 66
3681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
3706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
3728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
3730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
3731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
ARM GAS /tmp/ccRVAHyi.s page 67
3738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
3740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
3755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
3760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
3764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t XferOptions)
3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
3772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
3779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
3784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
3788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
3792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
3794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 68
3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
3800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
3803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
3806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
3812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
3817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
3828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
3829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
3840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
3851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
ARM GAS /tmp/ccRVAHyi.s page 69
3852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t
3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t XferOptions)
3861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
3870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
3880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
3882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
3886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
3898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
3901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
3904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
ARM GAS /tmp/ccRVAHyi.s page 70
3909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
3911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
3913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
3916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
3920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
3922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
3923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
3936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
3940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
3941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
3948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
3950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
3953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
3962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
3964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
ARM GAS /tmp/ccRVAHyi.s page 71
3966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset XferSize */
3986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = 0;
3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
3992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
4004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
4016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
4017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
4020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
4021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
ARM GAS /tmp/ccRVAHyi.s page 72
4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
4032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
4036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
4037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si
4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t XferOptions)
4042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
4044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
4056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
4062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
4068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
ARM GAS /tmp/ccRVAHyi.s page 73
4080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
4096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
4101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT)
4103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
4115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
4117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
4128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
4132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
4133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
ARM GAS /tmp/ccRVAHyi.s page 74
4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t XferOptions)
4138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
4142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
4154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
4156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
4160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
4163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
4166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
4177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
4186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
4188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
4190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
4193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 75
4194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
4197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
4199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
4200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
4203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
4210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
4213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
4220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
4227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
4230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
4232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
4233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
4236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
4239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR,
4240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
4241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
4245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
4249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
4250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 76
4251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
4258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
4261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset XferSize */
4263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = 0;
4264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
4268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
4272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT)
4281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
4293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
4294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
4295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
4297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
4298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
ARM GAS /tmp/ccRVAHyi.s page 77
4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt.
4309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
4314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
4316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
4319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the Address Match interrupt */
4321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
4328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt.
4333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C
4335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
4338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
4340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmp;
4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */
4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
4344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
4347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
4348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
4350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the Address Match interrupt */
4352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
4359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt.
4364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS /tmp/ccRVAHyi.s page 78
4365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
4367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
4368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
4371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
4373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
4375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
4378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
4379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
4382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
4384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
4386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
4387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
4391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */
4394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
4395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */
4397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe
4398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP);
4399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
4406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
4407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong usage of abort function */
4413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */
4414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 79
4422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
4423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
4424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request.
4428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c)
4433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
4435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
4436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
4437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/
4439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferISR != NULL)
4440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources);
4442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request.
4447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
4452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
4454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
4455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
4456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/
4458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && \
4459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR;
4462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear BERR flag */
4464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
4465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/
4468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && \
4469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR;
4472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear OVR flag */
4474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
4475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/
4478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && \
ARM GAS /tmp/ccRVAHyi.s page 80
4479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO;
4482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ARLO flag */
4484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
4485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
4489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */
4491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_
4492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, tmperror);
4494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback.
4499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
4504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
4510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback.
4515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
4520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
4526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback.
4530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
4535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 81
4536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
4541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback.
4546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
4551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
4557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Slave Address Match callback.
4562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE
4565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code
4566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
4569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(TransferDirection);
4573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(AddrMatchCode);
4574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file
4577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Listen Complete callback.
4582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
4587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file
ARM GAS /tmp/ccRVAHyi.s page 82
4593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback.
4598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file
4609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback.
4614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
4619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file
4625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C error callback.
4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
4635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file
4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C abort callback.
4646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
ARM GAS /tmp/ccRVAHyi.s page 83
4650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
4651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file
4657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
4662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
4665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions
4666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
4667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
4668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
4669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions #####
4670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
4671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
4672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral
4673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and the data flow.
4674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
4676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
4677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Return the I2C handle state.
4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL state
4684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c)
4686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return I2C handle state */
4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->State;
4689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode.
4693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for I2C module
4695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL mode
4696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c)
4698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->Mode;
4700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Return the I2C error code.
4704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval I2C Error Code
ARM GAS /tmp/ccRVAHyi.s page 84
4707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c)
4709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->ErrorCode;
4711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
4715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
4719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
4722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
4723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt.
4727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
4730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
4731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
4734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources)
4735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
4737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
4743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
4744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
4746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */
4749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
4750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
4751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
4752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
4754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
4757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
4758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
4761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
ARM GAS /tmp/ccRVAHyi.s page 85
4764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
4766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
4767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
4769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
4770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
4772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
4773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
4776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
4778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
4779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
4781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
4782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \
4784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
4785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
4789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
4791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
4793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
4799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
4801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
4802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
4806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
4807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
4813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
4817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
ARM GAS /tmp/ccRVAHyi.s page 86
4821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
4823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \
4827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
4828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
4830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
4832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
4835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
4843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
4849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
4851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
4856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
4859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
4860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */
4862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags);
4863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt.
4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
4876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
4877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
ARM GAS /tmp/ccRVAHyi.s page 87
4878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
4880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources)
4881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
4883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
4884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if STOPF is set */
4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
4890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
4891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave complete process */
4893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, tmpITFlags);
4894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
4897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
4898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check that I2C transfer finished */
4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
4901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean XferCount == 0*/
4902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So clear Flag NACKF only */
4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
4904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
4906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
4907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
4910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
4911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)
4913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
4915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
4918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
4919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
4921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
4922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
4923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
4927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
4933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
4934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
ARM GAS /tmp/ccRVAHyi.s page 88
4935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
4937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
4938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
4943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
4947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
4948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
4953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
4955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
4956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
4958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
4959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && \
4962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
4963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
4965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
4966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && \
4969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
4970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, tmpITFlags);
4972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
4974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
4975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */
4977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */
4978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if all Data have already been sent */
4979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */
4980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
4981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
4984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
4986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
4987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
4990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
ARM GAS /tmp/ccRVAHyi.s page 89
4992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
4994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
4996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
4998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA.
5014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
5016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
5019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources)
5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
5024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
5025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */
5036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
5040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
5041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
5042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
5044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \
5047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 90
5049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC interrupt */
5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI);
5051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Recover Slave address */
5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
5056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
5062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
5067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
5069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */
5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
5078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
5081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
5083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
5098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
5099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
5103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 91
5106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \
5109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
5112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
5117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
5119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
5120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
5124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
5125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
5131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */
5139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
5140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA.
5154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
5156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
5159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources)
5162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 92
5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
5164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
5165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
5166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if STOPF is set */
5171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave complete process */
5175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags);
5176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check that I2C transfer finished */
5182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
5183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean XferCount == 0 */
5184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So clear Flag NACKF only */
5185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) ||
5186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
5187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Split check of hdmarx, for MISRA compliance */
5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
5190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)
5192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_DMA_GET_COUNTER(hi2c->hdmarx) == 0U)
5194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** treatdmanack = 1U;
5196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Split check of hdmatx, for MISRA compliance */
5201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
5202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET)
5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_DMA_GET_COUNTER(hi2c->hdmatx) == 0U)
5206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** treatdmanack = 1U;
5208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (treatdmanack == 1U)
5213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
5215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
5216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
5217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
5219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags);
ARM GAS /tmp/ccRVAHyi.s page 93
5220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM
5222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
5227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
5230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
5242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current hi2c->State, solve MISRA2012-Rule-13.5 */
5249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpstate = hi2c->State;
5250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
5252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
5254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN
5258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
5264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
5268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Only Clear NACK Flag, no DMA treatment is pending */
5274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 94
5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && \
5278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
5279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags);
5281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques
5295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
5297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
5298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
5299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
5300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
5301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
5302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
5303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
5304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
5306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
5307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart)
5308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
5310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
5318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
5319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Memory Address */
5321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send MSB of Memory Address */
5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
5328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 95
5334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send LSB of Memory Address */
5336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK)
5341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request
5350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
5352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
5353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
5354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
5355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
5356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
5357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
5358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
5359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
5361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
5362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart)
5363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
5365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
5374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Memory Address */
5376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send MSB of Memory Address */
5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
5383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send LSB of Memory Address */
ARM GAS /tmp/ccRVAHyi.s page 96
5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TC flag is set */
5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK)
5396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Address complete process callback.
5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection;
5412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t slaveaddrcode;
5413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd1code;
5414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd2code;
5415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
5417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(ITFlags);
5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */
5420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
5421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c);
5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
5424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
5425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
5426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If 10bits addressing mode is selected */
5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
5429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((slaveaddrcode & SLAVE_ADDR_MSK) == ((ownadd1code >> SLAVE_ADDR_SHIFT) & SLAVE_ADDR_MSK))
5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = ownadd1code;
5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount++;
5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
5435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Address Event counter */
5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount = 0U;
5438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
5440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
5446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
ARM GAS /tmp/ccRVAHyi.s page 97
5448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = ownadd2code;
5456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR Interrupts */
5458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
5459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
5464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */
5472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR Interrupts */
5475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
5476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
5481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Else clear address flag only */
5489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
5492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Master sequential complete process.
5501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c)
ARM GAS /tmp/ccRVAHyi.s page 98
5505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
5507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */
5510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */
5511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
5526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
5528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
5531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
5538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
5546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
5548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Slave sequential complete process.
5554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c)
5558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
5560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
ARM GAS /tmp/ccRVAHyi.s page 99
5562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
5565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
5566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
5569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
5571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
5573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
5574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
5578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
5581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */
5583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
5584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
5587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
5595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
5597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
5601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */
5603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
5604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
5607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
5615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
5617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 100
5619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Master complete process.
5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
5634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
5635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __IO uint32_t tmpreg;
5636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
5638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
5639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
5641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
5650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
5654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
5657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
5658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
5660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET)
5664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set acknowledge error code */
5669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Fetch Last receive data if any */
5673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) && (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET))
5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
ARM GAS /tmp/ccRVAHyi.s page 101
5676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpreg = (uint8_t)hi2c->Instance->RXDR;
5677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(tmpreg);
5678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
5681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
5684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
5685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE))
5688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
5691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */
5693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
5699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c);
5708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c);
5710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
5722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
5724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
5728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 102
5733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
5734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c);
5743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
5745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
5757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
5759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Slave complete process.
5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
5777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
5778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
5779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
5781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
5782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
5785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
5787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
ARM GAS /tmp/ccRVAHyi.s page 103
5790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
5792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
5797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
5800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
5801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
5803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
5804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
5806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
5809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
5810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
5812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
5813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
5815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)__HAL_DMA_GET_COUNTER(hi2c->hdmatx);
5817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
5820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
5822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
5823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
5825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)__HAL_DMA_GET_COUNTER(hi2c->hdmarx);
5827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
5832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
5835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)
5836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
5838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
5839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
5842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
5845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
ARM GAS /tmp/ccRVAHyi.s page 104
5847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
5850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */
5854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
5864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
5867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
5869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
5870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
5872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
5873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
5876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Sequential Complete callback, to inform upper layer of the end of Transfer */
5878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
5888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
5890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
5892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
ARM GAS /tmp/ccRVAHyi.s page 105
5904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
5906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
5908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
5921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Listen complete process.
5929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
5936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
5943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET)
5944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
5946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
5947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
5949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
5950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
5952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
5955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 106
5961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all Interrupts*/
5962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
5963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
5971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
5975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C interrupts error process.
5980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ErrorCode Error code to handle.
5982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode)
5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
5987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmppreviousstate;
5988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
5990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U;
5993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set new error code */
5995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode;
5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_LISTEN) ||
5999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
6001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */
6003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */
6006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
6008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts */
6012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If state is an abort treatment on going, don't change state */
6015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This change will be do later */
6016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT)
6017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 107
6018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */
6019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
6022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX transfer if any */
6025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmppreviousstate = hi2c->PreviousState;
6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \
6027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
6028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
6030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY)
6035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
6037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
6039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
6047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX transfer if any */
6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->hdmarx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_RX) || \
6057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
6058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
6060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY)
6065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
6067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
6069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
6074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
ARM GAS /tmp/ccRVAHyi.s page 108
6075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
6077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
6078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Error callback treatment.
6093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
6094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c)
6097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
6099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
6109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
6111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
6125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Tx data register flush process.
6131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
ARM GAS /tmp/ccRVAHyi.s page 109
6132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c)
6135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
27 .loc 1 6135 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
6136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a pending TXIS flag is set */
6137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */
6138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET)
32 .loc 1 6138 3 view .LVU1
33 .loc 1 6138 7 is_stmt 0 view .LVU2
34 0000 0368 ldr r3, [r0]
35 0002 9A69 ldr r2, [r3, #24]
36 .loc 1 6138 6 view .LVU3
37 0004 9207 lsls r2, r2, #30
38 0006 01D5 bpl .L2
6139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U;
39 .loc 1 6140 5 is_stmt 1 view .LVU4
40 .loc 1 6140 26 is_stmt 0 view .LVU5
41 0008 0022 movs r2, #0
42 000a 9A62 str r2, [r3, #40]
43 .L2:
6141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register if not empty */
6144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
44 .loc 1 6144 3 is_stmt 1 view .LVU6
45 .loc 1 6144 7 is_stmt 0 view .LVU7
46 000c 0368 ldr r3, [r0]
47 000e 9A69 ldr r2, [r3, #24]
48 .loc 1 6144 6 view .LVU8
49 0010 D207 lsls r2, r2, #31
50 0012 03D4 bmi .L1
6145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE);
51 .loc 1 6146 5 is_stmt 1 view .LVU9
52 0014 9A69 ldr r2, [r3, #24]
53 0016 0121 movs r1, #1
54 0018 0A43 orrs r2, r1
55 001a 9A61 str r2, [r3, #24]
56 .L1:
6147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
57 .loc 1 6148 1 is_stmt 0 view .LVU10
58 @ sp needed
59 001c 7047 bx lr
60 .cfi_endproc
61 .LFE103:
63 .section .text.I2C_TransferConfig,"ax",%progbits
64 .align 1
65 .syntax unified
66 .code 16
67 .thumb_func
ARM GAS /tmp/ccRVAHyi.s page 110
68 .fpu softvfp
70 I2C_TransferConfig:
71 .LVL1:
72 .LFB115:
6149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback.
6152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
6153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma)
6156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
6165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupt */
6167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
6168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
6170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Buffer pointer */
6173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
6174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the XferSize to transfer */
6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
6177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
6179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
6187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
6188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
6195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback.
ARM GAS /tmp/ccRVAHyi.s page 111
6202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
6203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma)
6206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
6210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
6212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
6214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
6217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
6218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
6219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
6223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
6224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback.
6230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
6231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma)
6234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
6239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
6242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
6243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupt */
6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
6246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
6248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Buffer pointer */
6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
6252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the XferSize to transfer */
6254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
6257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
ARM GAS /tmp/ccRVAHyi.s page 112
6259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr,
6265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
6266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
6273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
6274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C slave receive process complete callback.
6280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
6281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma)
6284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_DMA_GET_COUNTER(hi2c->hdmarx) == 0U) && \
6290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
6291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
6293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
6297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
6301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
6302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
6303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C communication error callback.
6308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
6309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
6312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 113
6316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Acknowledge */
6317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
6318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C communication abort callback
6325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure).
6326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle.
6327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
6330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset AbortCpltCallback */
6335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
6336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
6340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout.
6349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check.
6352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Status The new Flag status (SET or RESET).
6353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
6354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
6355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
6356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
6358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart)
6359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
6361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS /tmp/ccRVAHyi.s page 114
6373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag.
6382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
6385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
6386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
6387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart)
6390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
6392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */
6394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
6395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag.
6420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
6423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
6424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
6425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart)
6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
ARM GAS /tmp/ccRVAHyi.s page 115
6430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */
6432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
6433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag.
6455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
6458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
6459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
6460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart)
6463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
6465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */
6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
6468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a STOPF is detected */
6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
6474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if an RXNE is pending */
6476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
6477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U))
6478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return HAL_OK */
6480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* The Reading of data from RXDR will be done in caller function */
6481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
6486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
ARM GAS /tmp/ccRVAHyi.s page 116
6487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
6489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
6490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles Acknowledge failed detection during an I2C Communication.
6519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
6522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
6523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
6524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_
6526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
6528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* In case of Soft End condition, generate the STOP condition */
6530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
6531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
6533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
6534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP Flag is reset */
6536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */
6537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
6538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 117
6544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACKF Flag */
6557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
6560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
6563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
6564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
6566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
6567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar
6582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
6583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed.
6584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed.
6585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter must be a value between 0 and 255.
6586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation.
6587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
6588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode .
6589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode.
6590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode.
6591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation.
6592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
6593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition.
6594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0).
6595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request.
6596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request.
6597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
6600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Request)
ARM GAS /tmp/ccRVAHyi.s page 118
6601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
73 .loc 1 6601 1 is_stmt 1 view -0
74 .cfi_startproc
75 @ args = 4, pretend = 0, frame = 0
76 @ frame_needed = 0, uses_anonymous_args = 0
77 .loc 1 6601 1 is_stmt 0 view .LVU12
78 0000 F0B5 push {r4, r5, r6, r7, lr}
79 .LCFI0:
80 .cfi_def_cfa_offset 20
81 .cfi_offset 4, -20
82 .cfi_offset 5, -16
83 .cfi_offset 6, -12
84 .cfi_offset 7, -8
85 .cfi_offset 14, -4
86 0002 059C ldr r4, [sp, #20]
6602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
6603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
87 .loc 1 6603 3 is_stmt 1 view .LVU13
6604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
88 .loc 1 6604 3 view .LVU14
6605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
89 .loc 1 6605 3 view .LVU15
6606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* update CR2 register */
6608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2,
90 .loc 1 6608 3 view .LVU16
91 0004 0568 ldr r5, [r0]
92 0006 6868 ldr r0, [r5, #4]
93 .LVL2:
94 .loc 1 6608 3 is_stmt 0 view .LVU17
95 0008 660D lsrs r6, r4, #21
96 000a 8027 movs r7, #128
97 000c FF00 lsls r7, r7, #3
98 000e 3740 ands r7, r6
99 0010 054E ldr r6, .L5
100 0012 3E43 orrs r6, r7
101 0014 B043 bics r0, r6
102 0016 8905 lsls r1, r1, #22
103 .LVL3:
104 .loc 1 6608 3 view .LVU18
105 0018 890D lsrs r1, r1, #22
106 001a 1204 lsls r2, r2, #16
107 .LVL4:
108 .loc 1 6608 3 view .LVU19
109 001c 1143 orrs r1, r2
110 001e 1943 orrs r1, r3
111 0020 2143 orrs r1, r4
112 0022 0143 orrs r1, r0
113 0024 6960 str r1, [r5, #4]
6609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
6610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | \
6611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_CR2_START | I2C_CR2_STOP)), \
6612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \
6613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
6614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request));
6615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
114 .loc 1 6615 1 view .LVU20
ARM GAS /tmp/ccRVAHyi.s page 119
115 @ sp needed
116 0026 F0BD pop {r4, r5, r6, r7, pc}
117 .L6:
118 .align 2
119 .L5:
120 0028 FF63FF03 .word 67068927
121 .cfi_endproc
122 .LFE115:
124 .section .text.I2C_Enable_IRQ,"ax",%progbits
125 .align 1
126 .syntax unified
127 .code 16
128 .thumb_func
129 .fpu softvfp
131 I2C_Enable_IRQ:
132 .LVL5:
133 .LFB116:
6616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts.
6619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
6622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
6625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
134 .loc 1 6625 1 is_stmt 1 view -0
135 .cfi_startproc
136 @ args = 0, pretend = 0, frame = 0
137 @ frame_needed = 0, uses_anonymous_args = 0
138 @ link register save eliminated.
6626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
139 .loc 1 6626 3 view .LVU22
6627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferISR == I2C_Master_ISR_DMA) || \
140 .loc 1 6628 3 view .LVU23
141 .loc 1 6628 12 is_stmt 0 view .LVU24
142 0000 436B ldr r3, [r0, #52]
143 .loc 1 6628 6 view .LVU25
144 0002 194A ldr r2, .L22
145 0004 9342 cmp r3, r2
146 0006 13D0 beq .L8
147 .loc 1 6628 45 discriminator 1 view .LVU26
148 0008 184A ldr r2, .L22+4
149 000a 9342 cmp r3, r2
150 000c 10D0 beq .L8
6629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
6630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
6632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
6634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
6635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
6638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 120
6639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
6640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
6641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
6644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
6646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= (I2C_IT_STOPI | I2C_IT_TCI);
6647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT)
6650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
6652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
6653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
151 .loc 1 6657 5 is_stmt 1 view .LVU27
152 .loc 1 6657 49 is_stmt 0 view .LVU28
153 000e 0BB2 sxth r3, r1
154 .loc 1 6657 8 view .LVU29
155 0010 002B cmp r3, #0
156 0012 27DB blt .L18
6626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
157 .loc 1 6626 12 view .LVU30
158 0014 0023 movs r3, #0
159 .L14:
160 .LVL6:
6658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, and ADDR interrupts */
6660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
6661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
161 .loc 1 6663 5 is_stmt 1 view .LVU31
162 .loc 1 6663 8 is_stmt 0 view .LVU32
163 0016 CA07 lsls r2, r1, #31
164 0018 01D5 bpl .L15
6664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
6666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
165 .loc 1 6666 7 is_stmt 1 view .LVU33
166 .loc 1 6666 14 is_stmt 0 view .LVU34
167 001a F222 movs r2, #242
168 001c 1343 orrs r3, r2
169 .LVL7:
170 .L15:
6667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
171 .loc 1 6669 5 is_stmt 1 view .LVU35
172 .loc 1 6669 8 is_stmt 0 view .LVU36
173 001e 8A07 lsls r2, r1, #30
174 0020 01D5 bpl .L16
6670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 121
6671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
6672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
175 .loc 1 6672 7 is_stmt 1 view .LVU37
176 .loc 1 6672 14 is_stmt 0 view .LVU38
177 0022 F422 movs r2, #244
178 0024 1343 orrs r3, r2
179 .LVL8:
180 .L16:
6673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
181 .loc 1 6675 5 is_stmt 1 view .LVU39
182 .loc 1 6675 8 is_stmt 0 view .LVU40
183 0026 2029 cmp r1, #32
184 0028 0CD1 bne .L13
6676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
6678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
185 .loc 1 6678 7 is_stmt 1 view .LVU41
186 .loc 1 6678 14 is_stmt 0 view .LVU42
187 002a 2022 movs r2, #32
188 002c 1343 orrs r3, r2
189 .LVL9:
190 .loc 1 6678 14 view .LVU43
191 002e 09E0 b .L13
192 .LVL10:
193 .L8:
6631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
194 .loc 1 6631 5 is_stmt 1 view .LVU44
6631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
195 .loc 1 6631 49 is_stmt 0 view .LVU45
196 0030 0BB2 sxth r3, r1
6631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
197 .loc 1 6631 8 view .LVU46
198 0032 002B cmp r3, #0
199 0034 0BDB blt .L17
6626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
200 .loc 1 6626 12 view .LVU47
201 0036 0023 movs r3, #0
202 .L10:
203 .LVL11:
6637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
204 .loc 1 6637 5 is_stmt 1 view .LVU48
6637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
205 .loc 1 6637 8 is_stmt 0 view .LVU49
206 0038 1029 cmp r1, #16
207 003a 0AD0 beq .L19
208 .L11:
6643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
209 .loc 1 6643 5 is_stmt 1 view .LVU50
6643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
210 .loc 1 6643 8 is_stmt 0 view .LVU51
211 003c 2029 cmp r1, #32
212 003e 0BD0 beq .L20
213 .L12:
6649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
214 .loc 1 6649 5 is_stmt 1 view .LVU52
ARM GAS /tmp/ccRVAHyi.s page 122
6649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
215 .loc 1 6649 8 is_stmt 0 view .LVU53
216 0040 4029 cmp r1, #64
217 0042 0CD0 beq .L21
218 .L13:
6679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable interrupts only at the end */
6683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */
6684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* all interrupts requested done */
6685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr);
219 .loc 1 6685 3 is_stmt 1 view .LVU54
220 0044 0168 ldr r1, [r0]
221 .LVL12:
222 .loc 1 6685 3 is_stmt 0 view .LVU55
223 0046 0A68 ldr r2, [r1]
224 0048 1343 orrs r3, r2
225 .LVL13:
226 .loc 1 6685 3 view .LVU56
227 004a 0B60 str r3, [r1]
6686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
228 .loc 1 6686 1 view .LVU57
229 @ sp needed
230 004c 7047 bx lr
231 .LVL14:
232 .L17:
6634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
233 .loc 1 6634 14 view .LVU58
234 004e B823 movs r3, #184
235 0050 F2E7 b .L10
236 .LVL15:
237 .L19:
6640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
238 .loc 1 6640 7 is_stmt 1 view .LVU59
6640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
239 .loc 1 6640 14 is_stmt 0 view .LVU60
240 0052 9022 movs r2, #144
241 0054 1343 orrs r3, r2
242 .LVL16:
6640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
243 .loc 1 6640 14 view .LVU61
244 0056 F1E7 b .L11
245 .L20:
6646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
246 .loc 1 6646 7 is_stmt 1 view .LVU62
6646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
247 .loc 1 6646 14 is_stmt 0 view .LVU63
248 0058 6022 movs r2, #96
249 005a 1343 orrs r3, r2
250 .LVL17:
6646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
251 .loc 1 6646 14 view .LVU64
252 005c F0E7 b .L12
253 .L21:
6652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
254 .loc 1 6652 7 is_stmt 1 view .LVU65
ARM GAS /tmp/ccRVAHyi.s page 123
6652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
255 .loc 1 6652 14 is_stmt 0 view .LVU66
256 005e 4022 movs r2, #64
257 0060 1343 orrs r3, r2
258 .LVL18:
6652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
259 .loc 1 6652 14 view .LVU67
260 0062 EFE7 b .L13
261 .LVL19:
262 .L18:
6660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
263 .loc 1 6660 14 view .LVU68
264 0064 B823 movs r3, #184
265 0066 D6E7 b .L14
266 .L23:
267 .align 2
268 .L22:
269 0068 00000000 .word I2C_Master_ISR_DMA
270 006c 00000000 .word I2C_Slave_ISR_DMA
271 .cfi_endproc
272 .LFE116:
274 .section .text.I2C_Disable_IRQ,"ax",%progbits
275 .align 1
276 .syntax unified
277 .code 16
278 .thumb_func
279 .fpu softvfp
281 I2C_Disable_IRQ:
282 .LVL20:
283 .LFB117:
6687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts.
6690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
6693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
6696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
284 .loc 1 6696 1 is_stmt 1 view -0
285 .cfi_startproc
286 @ args = 0, pretend = 0, frame = 0
287 @ frame_needed = 0, uses_anonymous_args = 0
288 .loc 1 6696 1 is_stmt 0 view .LVU70
289 0000 30B5 push {r4, r5, lr}
290 .LCFI1:
291 .cfi_def_cfa_offset 12
292 .cfi_offset 4, -12
293 .cfi_offset 5, -8
294 .cfi_offset 14, -4
6697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
295 .loc 1 6697 3 is_stmt 1 view .LVU71
296 .LVL21:
6698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
297 .loc 1 6699 3 view .LVU72
ARM GAS /tmp/ccRVAHyi.s page 124
298 .loc 1 6699 6 is_stmt 0 view .LVU73
299 0002 CB07 lsls r3, r1, #31
300 0004 09D5 bpl .L31
6700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC and TXI interrupts */
6702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI;
301 .loc 1 6702 5 is_stmt 1 view .LVU74
302 .LVL22:
6703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
303 .loc 1 6704 5 view .LVU75
304 .loc 1 6704 24 is_stmt 0 view .LVU76
305 0006 4123 movs r3, #65
306 0008 C35C ldrb r3, [r0, r3]
307 .loc 1 6704 8 view .LVU77
308 000a 2822 movs r2, #40
309 000c 1340 ands r3, r2
310 000e 282B cmp r3, #40
311 0010 01D0 beq .L34
6705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
6707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
312 .loc 1 6707 14 view .LVU78
313 0012 F223 movs r3, #242
314 0014 02E0 b .L25
315 .L34:
6702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
316 .loc 1 6702 12 view .LVU79
317 0016 1A33 adds r3, r3, #26
318 0018 00E0 b .L25
319 .LVL23:
320 .L31:
6697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
321 .loc 1 6697 12 view .LVU80
322 001a 0023 movs r3, #0
323 .LVL24:
324 .L25:
6708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
325 .loc 1 6711 3 is_stmt 1 view .LVU81
326 .loc 1 6711 6 is_stmt 0 view .LVU82
327 001c 8A07 lsls r2, r1, #30
328 001e 09D5 bpl .L26
6712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC and RXI interrupts */
6714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI;
329 .loc 1 6714 5 is_stmt 1 view .LVU83
330 .loc 1 6714 12 is_stmt 0 view .LVU84
331 0020 4424 movs r4, #68
332 0022 1C43 orrs r4, r3
333 .LVL25:
6715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
334 .loc 1 6716 5 is_stmt 1 view .LVU85
335 .loc 1 6716 24 is_stmt 0 view .LVU86
ARM GAS /tmp/ccRVAHyi.s page 125
336 0024 4122 movs r2, #65
337 0026 825C ldrb r2, [r0, r2]
338 .loc 1 6716 8 view .LVU87
339 0028 2825 movs r5, #40
340 002a 2A40 ands r2, r5
341 002c 282A cmp r2, #40
342 002e 0FD0 beq .L33
6717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
6719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
343 .loc 1 6719 7 is_stmt 1 view .LVU88
344 .loc 1 6719 14 is_stmt 0 view .LVU89
345 0030 F422 movs r2, #244
346 0032 1343 orrs r3, r2
347 .LVL26:
348 .L26:
6720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
349 .loc 1 6723 3 is_stmt 1 view .LVU90
350 .loc 1 6723 47 is_stmt 0 view .LVU91
351 0034 0AB2 sxth r2, r1
352 .loc 1 6723 6 view .LVU92
353 0036 002A cmp r2, #0
354 0038 0CDB blt .L35
355 .L27:
6724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */
6726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
6727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
356 .loc 1 6729 3 is_stmt 1 view .LVU93
357 .loc 1 6729 6 is_stmt 0 view .LVU94
358 003a 1029 cmp r1, #16
359 003c 0DD0 beq .L36
360 .L28:
6730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
6732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
6733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
361 .loc 1 6735 3 is_stmt 1 view .LVU95
362 .loc 1 6735 6 is_stmt 0 view .LVU96
363 003e 2029 cmp r1, #32
364 0040 0ED0 beq .L37
365 .L29:
6736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
6738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
6739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT)
366 .loc 1 6741 3 is_stmt 1 view .LVU97
367 .loc 1 6741 6 is_stmt 0 view .LVU98
ARM GAS /tmp/ccRVAHyi.s page 126
368 0042 4029 cmp r1, #64
369 0044 0FD0 beq .L38
370 .L30:
6742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
6744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
6745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable interrupts only at the end */
6748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */
6749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* all disable interrupts request are not done */
6750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr);
371 .loc 1 6750 3 is_stmt 1 view .LVU99
372 0046 0168 ldr r1, [r0]
373 .LVL27:
374 .loc 1 6750 3 is_stmt 0 view .LVU100
375 0048 0A68 ldr r2, [r1]
376 004a 9A43 bics r2, r3
377 004c 0A60 str r2, [r1]
6751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
378 .loc 1 6751 1 view .LVU101
379 @ sp needed
380 004e 30BD pop {r4, r5, pc}
381 .LVL28:
382 .L33:
6714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
383 .loc 1 6714 12 view .LVU102
384 0050 2300 movs r3, r4
385 0052 EFE7 b .L26
386 .LVL29:
387 .L35:
6726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
388 .loc 1 6726 5 is_stmt 1 view .LVU103
6726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
389 .loc 1 6726 12 is_stmt 0 view .LVU104
390 0054 B822 movs r2, #184
391 0056 1343 orrs r3, r2
392 .LVL30:
6726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
393 .loc 1 6726 12 view .LVU105
394 0058 EFE7 b .L27
395 .L36:
6732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
396 .loc 1 6732 5 is_stmt 1 view .LVU106
6732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
397 .loc 1 6732 12 is_stmt 0 view .LVU107
398 005a 9022 movs r2, #144
399 005c 1343 orrs r3, r2
400 .LVL31:
6732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
401 .loc 1 6732 12 view .LVU108
402 005e EEE7 b .L28
403 .L37:
6738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
404 .loc 1 6738 5 is_stmt 1 view .LVU109
6738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
405 .loc 1 6738 12 is_stmt 0 view .LVU110
ARM GAS /tmp/ccRVAHyi.s page 127
406 0060 2022 movs r2, #32
407 0062 1343 orrs r3, r2
408 .LVL32:
6738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
409 .loc 1 6738 12 view .LVU111
410 0064 EDE7 b .L29
411 .L38:
6744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
412 .loc 1 6744 5 is_stmt 1 view .LVU112
6744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
413 .loc 1 6744 12 is_stmt 0 view .LVU113
414 0066 4022 movs r2, #64
415 0068 1343 orrs r3, r2
416 .LVL33:
6744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
417 .loc 1 6744 12 view .LVU114
418 006a ECE7 b .L30
419 .cfi_endproc
420 .LFE117:
422 .section .text.I2C_ConvertOtherXferOptions,"ax",%progbits
423 .align 1
424 .syntax unified
425 .code 16
426 .thumb_func
427 .fpu softvfp
429 I2C_ConvertOtherXferOptions:
430 .LVL34:
431 .LFB118:
6752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functional XferOptions.
6755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
6756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c)
6759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
432 .loc 1 6759 1 is_stmt 1 view -0
433 .cfi_startproc
434 @ args = 0, pretend = 0, frame = 0
435 @ frame_needed = 0, uses_anonymous_args = 0
436 @ link register save eliminated.
6760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */
6761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
6762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */
6763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME)
437 .loc 1 6763 3 view .LVU116
438 .loc 1 6763 11 is_stmt 0 view .LVU117
439 0000 C36A ldr r3, [r0, #44]
440 .loc 1 6763 6 view .LVU118
441 0002 AA2B cmp r3, #170
442 0004 05D0 beq .L42
6764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME;
6766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */
6768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
6769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */
ARM GAS /tmp/ccRVAHyi.s page 128
6770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */
6771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME)
443 .loc 1 6771 8 is_stmt 1 view .LVU119
444 .loc 1 6771 16 is_stmt 0 view .LVU120
445 0006 C26A ldr r2, [r0, #44]
446 .loc 1 6771 11 view .LVU121
447 0008 AA23 movs r3, #170
448 000a 1B02 lsls r3, r3, #8
449 000c 9A42 cmp r2, r3
450 000e 03D0 beq .L43
451 .L39:
6772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME;
6774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
6778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
452 .loc 1 6779 1 view .LVU122
453 @ sp needed
454 0010 7047 bx lr
455 .L42:
6765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
456 .loc 1 6765 5 is_stmt 1 view .LVU123
6765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
457 .loc 1 6765 23 is_stmt 0 view .LVU124
458 0012 0023 movs r3, #0
459 0014 C362 str r3, [r0, #44]
460 0016 FBE7 b .L39
461 .L43:
6773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
462 .loc 1 6773 5 is_stmt 1 view .LVU125
6773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
463 .loc 1 6773 23 is_stmt 0 view .LVU126
464 0018 8023 movs r3, #128
465 001a 9B04 lsls r3, r3, #18
466 001c C362 str r3, [r0, #44]
6778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
467 .loc 1 6778 3 is_stmt 1 view .LVU127
468 .loc 1 6779 1 is_stmt 0 view .LVU128
469 001e F7E7 b .L39
470 .cfi_endproc
471 .LFE118:
473 .section .text.I2C_IsAcknowledgeFailed,"ax",%progbits
474 .align 1
475 .syntax unified
476 .code 16
477 .thumb_func
478 .fpu softvfp
480 I2C_IsAcknowledgeFailed:
481 .LVL35:
482 .LFB114:
6526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
483 .loc 1 6526 1 is_stmt 1 view -0
484 .cfi_startproc
485 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccRVAHyi.s page 129
486 @ frame_needed = 0, uses_anonymous_args = 0
6526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
487 .loc 1 6526 1 is_stmt 0 view .LVU130
488 0000 70B5 push {r4, r5, r6, lr}
489 .LCFI2:
490 .cfi_def_cfa_offset 16
491 .cfi_offset 4, -16
492 .cfi_offset 5, -12
493 .cfi_offset 6, -8
494 .cfi_offset 14, -4
495 0002 0400 movs r4, r0
496 0004 0E00 movs r6, r1
497 0006 1500 movs r5, r2
6527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
498 .loc 1 6527 3 is_stmt 1 view .LVU131
6527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
499 .loc 1 6527 7 is_stmt 0 view .LVU132
500 0008 0368 ldr r3, [r0]
501 000a 9A69 ldr r2, [r3, #24]
502 .LVL36:
6527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
503 .loc 1 6527 6 view .LVU133
504 000c D206 lsls r2, r2, #27
505 000e 3BD5 bpl .L51
6530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
506 .loc 1 6530 5 is_stmt 1 view .LVU134
6530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
507 .loc 1 6530 9 is_stmt 0 view .LVU135
508 0010 5A68 ldr r2, [r3, #4]
6530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
509 .loc 1 6530 8 view .LVU136
510 0012 9201 lsls r2, r2, #6
511 0014 04D4 bmi .L47
6533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
512 .loc 1 6533 7 is_stmt 1 view .LVU137
6533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
513 .loc 1 6533 27 is_stmt 0 view .LVU138
514 0016 5968 ldr r1, [r3, #4]
515 .LVL37:
6533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
516 .loc 1 6533 27 view .LVU139
517 0018 8022 movs r2, #128
518 001a D201 lsls r2, r2, #7
519 001c 0A43 orrs r2, r1
520 001e 5A60 str r2, [r3, #4]
521 .LVL38:
522 .L47:
6537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
523 .loc 1 6537 12 view .LVU140
524 0020 2368 ldr r3, [r4]
525 0022 9A69 ldr r2, [r3, #24]
6537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
526 .loc 1 6537 11 view .LVU141
527 0024 9206 lsls r2, r2, #26
528 0026 15D4 bmi .L52
6540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
529 .loc 1 6540 7 is_stmt 1 view .LVU142
ARM GAS /tmp/ccRVAHyi.s page 130
6540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
530 .loc 1 6540 10 is_stmt 0 view .LVU143
531 0028 731C adds r3, r6, #1
532 002a F9D0 beq .L47
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
533 .loc 1 6542 9 is_stmt 1 view .LVU144
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
534 .loc 1 6542 15 is_stmt 0 view .LVU145
535 002c FFF7FEFF bl HAL_GetTick
536 .LVL39:
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
537 .loc 1 6542 29 view .LVU146
538 0030 401B subs r0, r0, r5
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
539 .loc 1 6542 12 view .LVU147
540 0032 B042 cmp r0, r6
541 0034 01D8 bhi .L48
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
542 .loc 1 6542 53 discriminator 1 view .LVU148
543 0036 002E cmp r6, #0
544 0038 F2D1 bne .L47
545 .L48:
6544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
546 .loc 1 6544 11 is_stmt 1 view .LVU149
6544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
547 .loc 1 6544 27 is_stmt 0 view .LVU150
548 003a 636C ldr r3, [r4, #68]
549 003c 2022 movs r2, #32
550 003e 1343 orrs r3, r2
551 0040 6364 str r3, [r4, #68]
6545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
552 .loc 1 6545 11 is_stmt 1 view .LVU151
6545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
553 .loc 1 6545 23 is_stmt 0 view .LVU152
554 0042 4123 movs r3, #65
555 0044 E254 strb r2, [r4, r3]
6546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
556 .loc 1 6546 11 is_stmt 1 view .LVU153
6546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
557 .loc 1 6546 22 is_stmt 0 view .LVU154
558 0046 0023 movs r3, #0
559 0048 2232 adds r2, r2, #34
560 004a A354 strb r3, [r4, r2]
6549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
561 .loc 1 6549 11 is_stmt 1 view .LVU155
6549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
562 .loc 1 6549 11 view .LVU156
563 004c 023A subs r2, r2, #2
564 004e A354 strb r3, [r4, r2]
6551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
565 .loc 1 6551 11 view .LVU157
6551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
566 .loc 1 6551 18 is_stmt 0 view .LVU158
567 0050 0120 movs r0, #1
568 0052 1AE0 b .L45
569 .L52:
6557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 131
570 .loc 1 6557 5 is_stmt 1 view .LVU159
571 0054 1022 movs r2, #16
572 0056 DA61 str r2, [r3, #28]
6560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
573 .loc 1 6560 5 view .LVU160
574 0058 2368 ldr r3, [r4]
575 005a 2025 movs r5, #32
576 .LVL40:
6560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
577 .loc 1 6560 5 is_stmt 0 view .LVU161
578 005c DD61 str r5, [r3, #28]
6563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
579 .loc 1 6563 5 is_stmt 1 view .LVU162
580 005e 2000 movs r0, r4
581 0060 FFF7FEFF bl I2C_Flush_TXDR
582 .LVL41:
6566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
583 .loc 1 6566 5 view .LVU163
584 0064 2268 ldr r2, [r4]
585 0066 5368 ldr r3, [r2, #4]
586 0068 0849 ldr r1, .L53
587 006a 0B40 ands r3, r1
588 006c 5360 str r3, [r2, #4]
6568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
589 .loc 1 6568 5 view .LVU164
6568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
590 .loc 1 6568 21 is_stmt 0 view .LVU165
591 006e 636C ldr r3, [r4, #68]
592 0070 0422 movs r2, #4
593 0072 1343 orrs r3, r2
594 0074 6364 str r3, [r4, #68]
6569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
595 .loc 1 6569 5 is_stmt 1 view .LVU166
6569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
596 .loc 1 6569 17 is_stmt 0 view .LVU167
597 0076 4123 movs r3, #65
598 0078 E554 strb r5, [r4, r3]
6570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
599 .loc 1 6570 5 is_stmt 1 view .LVU168
6570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
600 .loc 1 6570 16 is_stmt 0 view .LVU169
601 007a 0023 movs r3, #0
602 007c 3E32 adds r2, r2, #62
603 007e A354 strb r3, [r4, r2]
6573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
604 .loc 1 6573 5 is_stmt 1 view .LVU170
6573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
605 .loc 1 6573 5 view .LVU171
606 0080 023A subs r2, r2, #2
607 0082 A354 strb r3, [r4, r2]
6575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
608 .loc 1 6575 5 view .LVU172
6575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
609 .loc 1 6575 12 is_stmt 0 view .LVU173
610 0084 0120 movs r0, #1
611 0086 00E0 b .L45
612 .LVL42:
ARM GAS /tmp/ccRVAHyi.s page 132
613 .L51:
6577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
614 .loc 1 6577 10 view .LVU174
615 0088 0020 movs r0, #0
616 .LVL43:
617 .L45:
6578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
618 .loc 1 6578 1 view .LVU175
619 @ sp needed
620 .LVL44:
621 .LVL45:
6578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
622 .loc 1 6578 1 view .LVU176
623 008a 70BD pop {r4, r5, r6, pc}
624 .L54:
625 .align 2
626 .L53:
627 008c 00E800FE .word -33495040
628 .cfi_endproc
629 .LFE114:
631 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits
632 .align 1
633 .syntax unified
634 .code 16
635 .thumb_func
636 .fpu softvfp
638 I2C_WaitOnTXISFlagUntilTimeout:
639 .LVL46:
640 .LFB111:
6390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
641 .loc 1 6390 1 is_stmt 1 view -0
642 .cfi_startproc
643 @ args = 0, pretend = 0, frame = 0
644 @ frame_needed = 0, uses_anonymous_args = 0
6390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
645 .loc 1 6390 1 is_stmt 0 view .LVU178
646 0000 70B5 push {r4, r5, r6, lr}
647 .LCFI3:
648 .cfi_def_cfa_offset 16
649 .cfi_offset 4, -16
650 .cfi_offset 5, -12
651 .cfi_offset 6, -8
652 .cfi_offset 14, -4
653 0002 0400 movs r4, r0
654 0004 0D00 movs r5, r1
655 0006 1600 movs r6, r2
6391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
656 .loc 1 6391 3 is_stmt 1 view .LVU179
657 .LVL47:
658 .L58:
6391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
659 .loc 1 6391 10 is_stmt 0 view .LVU180
660 0008 2368 ldr r3, [r4]
661 000a 9B69 ldr r3, [r3, #24]
6391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
662 .loc 1 6391 9 view .LVU181
663 000c 9B07 lsls r3, r3, #30
ARM GAS /tmp/ccRVAHyi.s page 133
664 000e 1CD4 bmi .L62
6394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
665 .loc 1 6394 5 is_stmt 1 view .LVU182
6394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
666 .loc 1 6394 9 is_stmt 0 view .LVU183
667 0010 3200 movs r2, r6
668 0012 2900 movs r1, r5
669 0014 2000 movs r0, r4
670 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
671 .LVL48:
6394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
672 .loc 1 6394 8 view .LVU184
673 001a 0028 cmp r0, #0
674 001c 17D1 bne .L61
6400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
675 .loc 1 6400 5 is_stmt 1 view .LVU185
6400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
676 .loc 1 6400 8 is_stmt 0 view .LVU186
677 001e 6B1C adds r3, r5, #1
678 0020 F2D0 beq .L58
6402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
679 .loc 1 6402 7 is_stmt 1 view .LVU187
6402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
680 .loc 1 6402 13 is_stmt 0 view .LVU188
681 0022 FFF7FEFF bl HAL_GetTick
682 .LVL49:
6402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
683 .loc 1 6402 27 view .LVU189
684 0026 801B subs r0, r0, r6
6402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
685 .loc 1 6402 10 view .LVU190
686 0028 A842 cmp r0, r5
687 002a 01D8 bhi .L59
6402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
688 .loc 1 6402 51 discriminator 1 view .LVU191
689 002c 002D cmp r5, #0
690 002e EBD1 bne .L58
691 .L59:
6404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
692 .loc 1 6404 9 is_stmt 1 view .LVU192
6404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
693 .loc 1 6404 25 is_stmt 0 view .LVU193
694 0030 636C ldr r3, [r4, #68]
695 0032 2022 movs r2, #32
696 0034 1343 orrs r3, r2
697 0036 6364 str r3, [r4, #68]
6405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
698 .loc 1 6405 9 is_stmt 1 view .LVU194
6405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
699 .loc 1 6405 21 is_stmt 0 view .LVU195
700 0038 4123 movs r3, #65
701 003a E254 strb r2, [r4, r3]
6406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
702 .loc 1 6406 9 is_stmt 1 view .LVU196
6406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
703 .loc 1 6406 20 is_stmt 0 view .LVU197
704 003c 0023 movs r3, #0
ARM GAS /tmp/ccRVAHyi.s page 134
705 003e 2232 adds r2, r2, #34
706 0040 A354 strb r3, [r4, r2]
6409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
707 .loc 1 6409 9 is_stmt 1 view .LVU198
6409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
708 .loc 1 6409 9 view .LVU199
709 0042 023A subs r2, r2, #2
710 0044 A354 strb r3, [r4, r2]
6411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
711 .loc 1 6411 9 view .LVU200
6411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
712 .loc 1 6411 16 is_stmt 0 view .LVU201
713 0046 0120 movs r0, #1
714 0048 00E0 b .L57
715 .L62:
6415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
716 .loc 1 6415 10 view .LVU202
717 004a 0020 movs r0, #0
718 .L57:
6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
719 .loc 1 6416 1 view .LVU203
720 @ sp needed
721 .LVL50:
722 .LVL51:
723 .LVL52:
6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
724 .loc 1 6416 1 view .LVU204
725 004c 70BD pop {r4, r5, r6, pc}
726 .LVL53:
727 .L61:
6396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
728 .loc 1 6396 14 view .LVU205
729 004e 0120 movs r0, #1
730 0050 FCE7 b .L57
731 .cfi_endproc
732 .LFE111:
734 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
735 .align 1
736 .syntax unified
737 .code 16
738 .thumb_func
739 .fpu softvfp
741 I2C_WaitOnFlagUntilTimeout:
742 .LVL54:
743 .LFB110:
6359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
744 .loc 1 6359 1 is_stmt 1 view -0
745 .cfi_startproc
746 @ args = 4, pretend = 0, frame = 0
747 @ frame_needed = 0, uses_anonymous_args = 0
6359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
748 .loc 1 6359 1 is_stmt 0 view .LVU207
749 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
750 .LCFI4:
751 .cfi_def_cfa_offset 24
752 .cfi_offset 3, -24
753 .cfi_offset 4, -20
ARM GAS /tmp/ccRVAHyi.s page 135
754 .cfi_offset 5, -16
755 .cfi_offset 6, -12
756 .cfi_offset 7, -8
757 .cfi_offset 14, -4
758 0002 0600 movs r6, r0
759 0004 0C00 movs r4, r1
760 0006 1700 movs r7, r2
761 0008 1D00 movs r5, r3
6360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
762 .loc 1 6360 3 is_stmt 1 view .LVU208
763 .LVL55:
764 .L65:
6360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
765 .loc 1 6360 10 is_stmt 0 view .LVU209
766 000a 3368 ldr r3, [r6]
767 000c 9B69 ldr r3, [r3, #24]
768 000e 2340 ands r3, r4
769 0010 1B1B subs r3, r3, r4
770 0012 5A42 rsbs r2, r3, #0
771 0014 5341 adcs r3, r3, r2
6360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
772 .loc 1 6360 9 view .LVU210
773 0016 BB42 cmp r3, r7
774 0018 16D1 bne .L69
6363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
775 .loc 1 6363 5 is_stmt 1 view .LVU211
6363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
776 .loc 1 6363 8 is_stmt 0 view .LVU212
777 001a 6B1C adds r3, r5, #1
778 001c F5D0 beq .L65
6365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
779 .loc 1 6365 7 is_stmt 1 view .LVU213
6365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
780 .loc 1 6365 13 is_stmt 0 view .LVU214
781 001e FFF7FEFF bl HAL_GetTick
782 .LVL56:
6365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
783 .loc 1 6365 27 view .LVU215
784 0022 069B ldr r3, [sp, #24]
785 0024 C01A subs r0, r0, r3
6365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
786 .loc 1 6365 10 view .LVU216
787 0026 A842 cmp r0, r5
788 0028 01D8 bhi .L66
6365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
789 .loc 1 6365 51 discriminator 1 view .LVU217
790 002a 002D cmp r5, #0
791 002c EDD1 bne .L65
792 .L66:
6367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
793 .loc 1 6367 9 is_stmt 1 view .LVU218
6367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
794 .loc 1 6367 25 is_stmt 0 view .LVU219
795 002e 736C ldr r3, [r6, #68]
796 0030 2022 movs r2, #32
797 0032 1343 orrs r3, r2
798 0034 7364 str r3, [r6, #68]
ARM GAS /tmp/ccRVAHyi.s page 136
6368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
799 .loc 1 6368 9 is_stmt 1 view .LVU220
6368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
800 .loc 1 6368 21 is_stmt 0 view .LVU221
801 0036 4123 movs r3, #65
802 0038 F254 strb r2, [r6, r3]
6369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
803 .loc 1 6369 9 is_stmt 1 view .LVU222
6369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
804 .loc 1 6369 20 is_stmt 0 view .LVU223
805 003a 0023 movs r3, #0
806 003c 2232 adds r2, r2, #34
807 003e B354 strb r3, [r6, r2]
6372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
808 .loc 1 6372 9 is_stmt 1 view .LVU224
6372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
809 .loc 1 6372 9 view .LVU225
810 0040 023A subs r2, r2, #2
811 0042 B354 strb r3, [r6, r2]
6373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
812 .loc 1 6373 9 view .LVU226
6373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
813 .loc 1 6373 16 is_stmt 0 view .LVU227
814 0044 0120 movs r0, #1
815 0046 00E0 b .L67
816 .L69:
6377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
817 .loc 1 6377 10 view .LVU228
818 0048 0020 movs r0, #0
819 .L67:
6378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
820 .loc 1 6378 1 view .LVU229
821 @ sp needed
822 .LVL57:
823 .LVL58:
824 .LVL59:
6378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
825 .loc 1 6378 1 view .LVU230
826 004a F8BD pop {r3, r4, r5, r6, r7, pc}
827 .cfi_endproc
828 .LFE110:
830 .section .text.I2C_RequestMemoryWrite,"ax",%progbits
831 .align 1
832 .syntax unified
833 .code 16
834 .thumb_func
835 .fpu softvfp
837 I2C_RequestMemoryWrite:
838 .LVL60:
839 .LFB93:
5308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
840 .loc 1 5308 1 is_stmt 1 view -0
841 .cfi_startproc
842 @ args = 8, pretend = 0, frame = 0
843 @ frame_needed = 0, uses_anonymous_args = 0
5308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
844 .loc 1 5308 1 is_stmt 0 view .LVU232
ARM GAS /tmp/ccRVAHyi.s page 137
845 0000 70B5 push {r4, r5, r6, lr}
846 .LCFI5:
847 .cfi_def_cfa_offset 16
848 .cfi_offset 4, -16
849 .cfi_offset 5, -12
850 .cfi_offset 6, -8
851 .cfi_offset 14, -4
852 0002 82B0 sub sp, sp, #8
853 .LCFI6:
854 .cfi_def_cfa_offset 24
855 0004 0400 movs r4, r0
856 0006 1500 movs r5, r2
857 0008 1E00 movs r6, r3
5309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
858 .loc 1 5309 3 is_stmt 1 view .LVU233
859 000a 8023 movs r3, #128
860 .LVL61:
5309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
861 .loc 1 5309 3 is_stmt 0 view .LVU234
862 000c F2B2 uxtb r2, r6
863 .LVL62:
5309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
864 .loc 1 5309 3 view .LVU235
865 000e 1948 ldr r0, .L78
866 .LVL63:
5309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
867 .loc 1 5309 3 view .LVU236
868 0010 0090 str r0, [sp]
869 0012 5B04 lsls r3, r3, #17
870 0014 2000 movs r0, r4
871 0016 FFF7FEFF bl I2C_TransferConfig
872 .LVL64:
5312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
873 .loc 1 5312 3 is_stmt 1 view .LVU237
5312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
874 .loc 1 5312 7 is_stmt 0 view .LVU238
875 001a 079A ldr r2, [sp, #28]
876 001c 0699 ldr r1, [sp, #24]
877 001e 2000 movs r0, r4
878 0020 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
879 .LVL65:
5312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
880 .loc 1 5312 6 view .LVU239
881 0024 0028 cmp r0, #0
882 0026 1ED1 bne .L74
5318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
883 .loc 1 5318 3 is_stmt 1 view .LVU240
5318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
884 .loc 1 5318 6 is_stmt 0 view .LVU241
885 0028 012E cmp r6, #1
886 002a 0ED1 bne .L72
5321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
887 .loc 1 5321 5 is_stmt 1 view .LVU242
5321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
888 .loc 1 5321 9 is_stmt 0 view .LVU243
889 002c 2368 ldr r3, [r4]
5321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 138
890 .loc 1 5321 28 view .LVU244
891 002e EDB2 uxtb r5, r5
5321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
892 .loc 1 5321 26 view .LVU245
893 0030 9D62 str r5, [r3, #40]
894 .L73:
5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
895 .loc 1 5340 3 is_stmt 1 view .LVU246
5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
896 .loc 1 5340 7 is_stmt 0 view .LVU247
897 0032 079B ldr r3, [sp, #28]
898 0034 0093 str r3, [sp]
899 0036 069B ldr r3, [sp, #24]
900 0038 0022 movs r2, #0
901 003a 8021 movs r1, #128
902 003c 2000 movs r0, r4
903 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
904 .LVL66:
5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
905 .loc 1 5340 6 view .LVU248
906 0042 0028 cmp r0, #0
907 0044 13D1 bne .L77
908 .L71:
5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
909 .loc 1 5346 1 view .LVU249
910 0046 02B0 add sp, sp, #8
911 @ sp needed
912 .LVL67:
5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
913 .loc 1 5346 1 view .LVU250
914 0048 70BD pop {r4, r5, r6, pc}
915 .LVL68:
916 .L72:
5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
917 .loc 1 5327 5 is_stmt 1 view .LVU251
5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
918 .loc 1 5327 9 is_stmt 0 view .LVU252
919 004a 2368 ldr r3, [r4]
5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
920 .loc 1 5327 28 view .LVU253
921 004c 2A0A lsrs r2, r5, #8
5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
922 .loc 1 5327 26 view .LVU254
923 004e 9A62 str r2, [r3, #40]
5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
924 .loc 1 5330 5 is_stmt 1 view .LVU255
5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
925 .loc 1 5330 9 is_stmt 0 view .LVU256
926 0050 079A ldr r2, [sp, #28]
927 0052 0699 ldr r1, [sp, #24]
928 0054 2000 movs r0, r4
929 0056 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
930 .LVL69:
5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
931 .loc 1 5330 8 view .LVU257
932 005a 0028 cmp r0, #0
933 005c 05D1 bne .L75
ARM GAS /tmp/ccRVAHyi.s page 139
5336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
934 .loc 1 5336 5 is_stmt 1 view .LVU258
5336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
935 .loc 1 5336 9 is_stmt 0 view .LVU259
936 005e 2368 ldr r3, [r4]
5336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
937 .loc 1 5336 28 view .LVU260
938 0060 EDB2 uxtb r5, r5
5336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
939 .loc 1 5336 26 view .LVU261
940 0062 9D62 str r5, [r3, #40]
941 0064 E5E7 b .L73
942 .L74:
5314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
943 .loc 1 5314 12 view .LVU262
944 0066 0120 movs r0, #1
945 0068 EDE7 b .L71
946 .L75:
5332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
947 .loc 1 5332 14 view .LVU263
948 006a 0120 movs r0, #1
949 006c EBE7 b .L71
950 .L77:
5342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
951 .loc 1 5342 12 view .LVU264
952 006e 0120 movs r0, #1
953 0070 E9E7 b .L71
954 .L79:
955 0072 C046 .align 2
956 .L78:
957 0074 00200080 .word -2147475456
958 .cfi_endproc
959 .LFE93:
961 .section .text.I2C_RequestMemoryRead,"ax",%progbits
962 .align 1
963 .syntax unified
964 .code 16
965 .thumb_func
966 .fpu softvfp
968 I2C_RequestMemoryRead:
969 .LVL70:
970 .LFB94:
5363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
971 .loc 1 5363 1 is_stmt 1 view -0
972 .cfi_startproc
973 @ args = 8, pretend = 0, frame = 0
974 @ frame_needed = 0, uses_anonymous_args = 0
5363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
975 .loc 1 5363 1 is_stmt 0 view .LVU266
976 0000 70B5 push {r4, r5, r6, lr}
977 .LCFI7:
978 .cfi_def_cfa_offset 16
979 .cfi_offset 4, -16
980 .cfi_offset 5, -12
981 .cfi_offset 6, -8
982 .cfi_offset 14, -4
983 0002 82B0 sub sp, sp, #8
ARM GAS /tmp/ccRVAHyi.s page 140
984 .LCFI8:
985 .cfi_def_cfa_offset 24
986 0004 0400 movs r4, r0
987 0006 1500 movs r5, r2
988 0008 1E00 movs r6, r3
5364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
989 .loc 1 5364 3 is_stmt 1 view .LVU267
990 000a DAB2 uxtb r2, r3
991 .LVL71:
5364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
992 .loc 1 5364 3 is_stmt 0 view .LVU268
993 000c 184B ldr r3, .L88
994 .LVL72:
5364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
995 .loc 1 5364 3 view .LVU269
996 000e 0093 str r3, [sp]
997 0010 0023 movs r3, #0
998 0012 FFF7FEFF bl I2C_TransferConfig
999 .LVL73:
5367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1000 .loc 1 5367 3 is_stmt 1 view .LVU270
5367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1001 .loc 1 5367 7 is_stmt 0 view .LVU271
1002 0016 079A ldr r2, [sp, #28]
1003 0018 0699 ldr r1, [sp, #24]
1004 001a 2000 movs r0, r4
1005 001c FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1006 .LVL74:
5367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1007 .loc 1 5367 6 view .LVU272
1008 0020 0028 cmp r0, #0
1009 0022 1ED1 bne .L84
5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1010 .loc 1 5373 3 is_stmt 1 view .LVU273
5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1011 .loc 1 5373 6 is_stmt 0 view .LVU274
1012 0024 012E cmp r6, #1
1013 0026 0ED1 bne .L82
5376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1014 .loc 1 5376 5 is_stmt 1 view .LVU275
5376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1015 .loc 1 5376 9 is_stmt 0 view .LVU276
1016 0028 2368 ldr r3, [r4]
5376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1017 .loc 1 5376 28 view .LVU277
1018 002a EDB2 uxtb r5, r5
5376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1019 .loc 1 5376 26 view .LVU278
1020 002c 9D62 str r5, [r3, #40]
1021 .L83:
5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1022 .loc 1 5395 3 is_stmt 1 view .LVU279
5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1023 .loc 1 5395 7 is_stmt 0 view .LVU280
1024 002e 079B ldr r3, [sp, #28]
1025 0030 0093 str r3, [sp]
1026 0032 069B ldr r3, [sp, #24]
ARM GAS /tmp/ccRVAHyi.s page 141
1027 0034 0022 movs r2, #0
1028 0036 4021 movs r1, #64
1029 0038 2000 movs r0, r4
1030 003a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1031 .LVL75:
5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1032 .loc 1 5395 6 view .LVU281
1033 003e 0028 cmp r0, #0
1034 0040 13D1 bne .L87
1035 .L81:
5401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1036 .loc 1 5401 1 view .LVU282
1037 0042 02B0 add sp, sp, #8
1038 @ sp needed
1039 .LVL76:
5401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1040 .loc 1 5401 1 view .LVU283
1041 0044 70BD pop {r4, r5, r6, pc}
1042 .LVL77:
1043 .L82:
5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1044 .loc 1 5382 5 is_stmt 1 view .LVU284
5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1045 .loc 1 5382 9 is_stmt 0 view .LVU285
1046 0046 2368 ldr r3, [r4]
5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1047 .loc 1 5382 28 view .LVU286
1048 0048 2A0A lsrs r2, r5, #8
5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1049 .loc 1 5382 26 view .LVU287
1050 004a 9A62 str r2, [r3, #40]
5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1051 .loc 1 5385 5 is_stmt 1 view .LVU288
5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1052 .loc 1 5385 9 is_stmt 0 view .LVU289
1053 004c 079A ldr r2, [sp, #28]
1054 004e 0699 ldr r1, [sp, #24]
1055 0050 2000 movs r0, r4
1056 0052 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1057 .LVL78:
5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1058 .loc 1 5385 8 view .LVU290
1059 0056 0028 cmp r0, #0
1060 0058 05D1 bne .L85
5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1061 .loc 1 5391 5 is_stmt 1 view .LVU291
5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1062 .loc 1 5391 9 is_stmt 0 view .LVU292
1063 005a 2368 ldr r3, [r4]
5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1064 .loc 1 5391 28 view .LVU293
1065 005c EDB2 uxtb r5, r5
5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1066 .loc 1 5391 26 view .LVU294
1067 005e 9D62 str r5, [r3, #40]
1068 0060 E5E7 b .L83
1069 .L84:
ARM GAS /tmp/ccRVAHyi.s page 142
5369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1070 .loc 1 5369 12 view .LVU295
1071 0062 0120 movs r0, #1
1072 0064 EDE7 b .L81
1073 .L85:
5387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1074 .loc 1 5387 14 view .LVU296
1075 0066 0120 movs r0, #1
1076 0068 EBE7 b .L81
1077 .L87:
5397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1078 .loc 1 5397 12 view .LVU297
1079 006a 0120 movs r0, #1
1080 006c E9E7 b .L81
1081 .L89:
1082 006e C046 .align 2
1083 .L88:
1084 0070 00200080 .word -2147475456
1085 .cfi_endproc
1086 .LFE94:
1088 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
1089 .align 1
1090 .syntax unified
1091 .code 16
1092 .thumb_func
1093 .fpu softvfp
1095 I2C_WaitOnSTOPFlagUntilTimeout:
1096 .LVL79:
1097 .LFB112:
6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
1098 .loc 1 6428 1 is_stmt 1 view -0
1099 .cfi_startproc
1100 @ args = 0, pretend = 0, frame = 0
1101 @ frame_needed = 0, uses_anonymous_args = 0
6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
1102 .loc 1 6428 1 is_stmt 0 view .LVU299
1103 0000 70B5 push {r4, r5, r6, lr}
1104 .LCFI9:
1105 .cfi_def_cfa_offset 16
1106 .cfi_offset 4, -16
1107 .cfi_offset 5, -12
1108 .cfi_offset 6, -8
1109 .cfi_offset 14, -4
1110 0002 0500 movs r5, r0
1111 0004 0C00 movs r4, r1
1112 0006 1600 movs r6, r2
6429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1113 .loc 1 6429 3 is_stmt 1 view .LVU300
1114 .LVL80:
1115 .L91:
6429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1116 .loc 1 6429 10 is_stmt 0 view .LVU301
1117 0008 2B68 ldr r3, [r5]
1118 000a 9B69 ldr r3, [r3, #24]
6429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1119 .loc 1 6429 9 view .LVU302
1120 000c 9B06 lsls r3, r3, #26
ARM GAS /tmp/ccRVAHyi.s page 143
1121 000e 1AD4 bmi .L96
6432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1122 .loc 1 6432 5 is_stmt 1 view .LVU303
6432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1123 .loc 1 6432 9 is_stmt 0 view .LVU304
1124 0010 3200 movs r2, r6
1125 0012 2100 movs r1, r4
1126 0014 2800 movs r0, r5
1127 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
1128 .LVL81:
6432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1129 .loc 1 6432 8 view .LVU305
1130 001a 0028 cmp r0, #0
1131 001c 15D1 bne .L95
6438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1132 .loc 1 6438 5 is_stmt 1 view .LVU306
6438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1133 .loc 1 6438 11 is_stmt 0 view .LVU307
1134 001e FFF7FEFF bl HAL_GetTick
1135 .LVL82:
6438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1136 .loc 1 6438 25 view .LVU308
1137 0022 801B subs r0, r0, r6
6438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1138 .loc 1 6438 8 view .LVU309
1139 0024 A042 cmp r0, r4
1140 0026 01D8 bhi .L93
6438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1141 .loc 1 6438 49 discriminator 1 view .LVU310
1142 0028 002C cmp r4, #0
1143 002a EDD1 bne .L91
1144 .L93:
6440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1145 .loc 1 6440 7 is_stmt 1 view .LVU311
6440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1146 .loc 1 6440 23 is_stmt 0 view .LVU312
1147 002c 6B6C ldr r3, [r5, #68]
1148 002e 2022 movs r2, #32
1149 0030 1343 orrs r3, r2
1150 0032 6B64 str r3, [r5, #68]
6441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1151 .loc 1 6441 7 is_stmt 1 view .LVU313
6441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1152 .loc 1 6441 19 is_stmt 0 view .LVU314
1153 0034 4123 movs r3, #65
1154 0036 EA54 strb r2, [r5, r3]
6442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1155 .loc 1 6442 7 is_stmt 1 view .LVU315
6442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1156 .loc 1 6442 18 is_stmt 0 view .LVU316
1157 0038 0023 movs r3, #0
1158 003a 2232 adds r2, r2, #34
1159 003c AB54 strb r3, [r5, r2]
6445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1160 .loc 1 6445 7 is_stmt 1 view .LVU317
6445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1161 .loc 1 6445 7 view .LVU318
ARM GAS /tmp/ccRVAHyi.s page 144
1162 003e 023A subs r2, r2, #2
1163 0040 AB54 strb r3, [r5, r2]
6447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1164 .loc 1 6447 7 view .LVU319
6447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1165 .loc 1 6447 14 is_stmt 0 view .LVU320
1166 0042 0120 movs r0, #1
1167 .L92:
6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1168 .loc 1 6451 1 view .LVU321
1169 @ sp needed
1170 .LVL83:
1171 .LVL84:
1172 .LVL85:
6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1173 .loc 1 6451 1 view .LVU322
1174 0044 70BD pop {r4, r5, r6, pc}
1175 .LVL86:
1176 .L96:
6450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1177 .loc 1 6450 10 view .LVU323
1178 0046 0020 movs r0, #0
1179 0048 FCE7 b .L92
1180 .L95:
6434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1181 .loc 1 6434 14 view .LVU324
1182 004a 0120 movs r0, #1
1183 004c FAE7 b .L92
1184 .cfi_endproc
1185 .LFE112:
1187 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
1188 .align 1
1189 .syntax unified
1190 .code 16
1191 .thumb_func
1192 .fpu softvfp
1194 I2C_WaitOnRXNEFlagUntilTimeout:
1195 .LVL87:
1196 .LFB113:
6463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
1197 .loc 1 6463 1 is_stmt 1 view -0
1198 .cfi_startproc
1199 @ args = 0, pretend = 0, frame = 0
1200 @ frame_needed = 0, uses_anonymous_args = 0
6463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
1201 .loc 1 6463 1 is_stmt 0 view .LVU326
1202 0000 70B5 push {r4, r5, r6, lr}
1203 .LCFI10:
1204 .cfi_def_cfa_offset 16
1205 .cfi_offset 4, -16
1206 .cfi_offset 5, -12
1207 .cfi_offset 6, -8
1208 .cfi_offset 14, -4
1209 0002 0400 movs r4, r0
1210 0004 0D00 movs r5, r1
1211 0006 1600 movs r6, r2
6464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 145
1212 .loc 1 6464 3 is_stmt 1 view .LVU327
1213 .LVL88:
1214 .L98:
6464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1215 .loc 1 6464 10 is_stmt 0 view .LVU328
1216 0008 2368 ldr r3, [r4]
1217 000a 9B69 ldr r3, [r3, #24]
6464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1218 .loc 1 6464 9 view .LVU329
1219 000c 5B07 lsls r3, r3, #29
1220 000e 33D4 bmi .L105
6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1221 .loc 1 6467 5 is_stmt 1 view .LVU330
6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1222 .loc 1 6467 9 is_stmt 0 view .LVU331
1223 0010 3200 movs r2, r6
1224 0012 2900 movs r1, r5
1225 0014 2000 movs r0, r4
1226 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
1227 .LVL89:
6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1228 .loc 1 6467 8 view .LVU332
1229 001a 0028 cmp r0, #0
1230 001c 2ED1 bne .L104
6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1231 .loc 1 6473 5 is_stmt 1 view .LVU333
6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1232 .loc 1 6473 9 is_stmt 0 view .LVU334
1233 001e 2368 ldr r3, [r4]
1234 0020 9A69 ldr r2, [r3, #24]
6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1235 .loc 1 6473 8 view .LVU335
1236 0022 9206 lsls r2, r2, #26
1237 0024 11D4 bmi .L106
6503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1238 .loc 1 6503 5 is_stmt 1 view .LVU336
6503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1239 .loc 1 6503 11 is_stmt 0 view .LVU337
1240 0026 FFF7FEFF bl HAL_GetTick
1241 .LVL90:
6503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1242 .loc 1 6503 25 view .LVU338
1243 002a 801B subs r0, r0, r6
6503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1244 .loc 1 6503 8 view .LVU339
1245 002c A842 cmp r0, r5
1246 002e 01D8 bhi .L102
6503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1247 .loc 1 6503 49 discriminator 1 view .LVU340
1248 0030 002D cmp r5, #0
1249 0032 E9D1 bne .L98
1250 .L102:
6505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1251 .loc 1 6505 7 is_stmt 1 view .LVU341
6505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1252 .loc 1 6505 23 is_stmt 0 view .LVU342
1253 0034 636C ldr r3, [r4, #68]
ARM GAS /tmp/ccRVAHyi.s page 146
1254 0036 2022 movs r2, #32
1255 0038 1343 orrs r3, r2
1256 003a 6364 str r3, [r4, #68]
6506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1257 .loc 1 6506 7 is_stmt 1 view .LVU343
6506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1258 .loc 1 6506 19 is_stmt 0 view .LVU344
1259 003c 4123 movs r3, #65
1260 003e E254 strb r2, [r4, r3]
6509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1261 .loc 1 6509 7 is_stmt 1 view .LVU345
6509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1262 .loc 1 6509 7 view .LVU346
1263 0040 013B subs r3, r3, #1
1264 0042 0022 movs r2, #0
1265 0044 E254 strb r2, [r4, r3]
6511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1266 .loc 1 6511 7 view .LVU347
6511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1267 .loc 1 6511 14 is_stmt 0 view .LVU348
1268 0046 0120 movs r0, #1
1269 .L99:
6515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1270 .loc 1 6515 1 view .LVU349
1271 @ sp needed
1272 .LVL91:
1273 .LVL92:
1274 .LVL93:
6515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1275 .loc 1 6515 1 view .LVU350
1276 0048 70BD pop {r4, r5, r6, pc}
1277 .LVL94:
1278 .L106:
6477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1279 .loc 1 6477 7 is_stmt 1 view .LVU351
6477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1280 .loc 1 6477 12 is_stmt 0 view .LVU352
1281 004a 9A69 ldr r2, [r3, #24]
6477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1282 .loc 1 6477 10 view .LVU353
1283 004c 5207 lsls r2, r2, #29
1284 004e 02D5 bpl .L101
6477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1285 .loc 1 6477 68 discriminator 1 view .LVU354
1286 0050 228D ldrh r2, [r4, #40]
6477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1287 .loc 1 6477 60 discriminator 1 view .LVU355
1288 0052 002A cmp r2, #0
1289 0054 F8D1 bne .L99
1290 .L101:
6486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1291 .loc 1 6486 9 is_stmt 1 view .LVU356
1292 0056 2022 movs r2, #32
1293 0058 DA61 str r2, [r3, #28]
6489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1294 .loc 1 6489 9 view .LVU357
1295 005a 2168 ldr r1, [r4]
ARM GAS /tmp/ccRVAHyi.s page 147
1296 005c 4B68 ldr r3, [r1, #4]
1297 005e 0848 ldr r0, .L107
1298 0060 0340 ands r3, r0
1299 0062 4B60 str r3, [r1, #4]
6491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1300 .loc 1 6491 9 view .LVU358
6491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1301 .loc 1 6491 25 is_stmt 0 view .LVU359
1302 0064 0023 movs r3, #0
1303 0066 6364 str r3, [r4, #68]
6492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1304 .loc 1 6492 9 is_stmt 1 view .LVU360
6492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1305 .loc 1 6492 21 is_stmt 0 view .LVU361
1306 0068 4121 movs r1, #65
1307 006a 6254 strb r2, [r4, r1]
6493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1308 .loc 1 6493 9 is_stmt 1 view .LVU362
6493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1309 .loc 1 6493 20 is_stmt 0 view .LVU363
1310 006c 2232 adds r2, r2, #34
1311 006e A354 strb r3, [r4, r2]
6496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1312 .loc 1 6496 9 is_stmt 1 view .LVU364
6496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1313 .loc 1 6496 9 view .LVU365
1314 0070 023A subs r2, r2, #2
1315 0072 A354 strb r3, [r4, r2]
6498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1316 .loc 1 6498 9 view .LVU366
6498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1317 .loc 1 6498 16 is_stmt 0 view .LVU367
1318 0074 0120 movs r0, #1
1319 0076 E7E7 b .L99
1320 .L105:
6514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1321 .loc 1 6514 10 view .LVU368
1322 0078 0020 movs r0, #0
1323 007a E5E7 b .L99
1324 .L104:
6469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1325 .loc 1 6469 14 view .LVU369
1326 007c 0120 movs r0, #1
1327 007e E3E7 b .L99
1328 .L108:
1329 .align 2
1330 .L107:
1331 0080 00E800FE .word -33495040
1332 .cfi_endproc
1333 .LFE113:
1335 .section .text.HAL_I2C_MspInit,"ax",%progbits
1336 .align 1
1337 .weak HAL_I2C_MspInit
1338 .syntax unified
1339 .code 16
1340 .thumb_func
1341 .fpu softvfp
ARM GAS /tmp/ccRVAHyi.s page 148
1343 HAL_I2C_MspInit:
1344 .LVL95:
1345 .LFB42:
679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
1346 .loc 1 679 1 is_stmt 1 view -0
1347 .cfi_startproc
1348 @ args = 0, pretend = 0, frame = 0
1349 @ frame_needed = 0, uses_anonymous_args = 0
1350 @ link register save eliminated.
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1351 .loc 1 681 3 view .LVU371
686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1352 .loc 1 686 1 is_stmt 0 view .LVU372
1353 @ sp needed
1354 0000 7047 bx lr
1355 .cfi_endproc
1356 .LFE42:
1358 .section .text.HAL_I2C_Init,"ax",%progbits
1359 .align 1
1360 .global HAL_I2C_Init
1361 .syntax unified
1362 .code 16
1363 .thumb_func
1364 .fpu softvfp
1366 HAL_I2C_Init:
1367 .LVL96:
1368 .LFB40:
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
1369 .loc 1 523 1 is_stmt 1 view -0
1370 .cfi_startproc
1371 @ args = 0, pretend = 0, frame = 0
1372 @ frame_needed = 0, uses_anonymous_args = 0
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
1373 .loc 1 523 1 is_stmt 0 view .LVU374
1374 0000 10B5 push {r4, lr}
1375 .LCFI11:
1376 .cfi_def_cfa_offset 8
1377 .cfi_offset 4, -8
1378 .cfi_offset 14, -4
1379 0002 041E subs r4, r0, #0
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1380 .loc 1 525 3 is_stmt 1 view .LVU375
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1381 .loc 1 525 6 is_stmt 0 view .LVU376
1382 0004 59D0 beq .L116
531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
1383 .loc 1 531 3 is_stmt 1 view .LVU377
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
1384 .loc 1 532 3 view .LVU378
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
1385 .loc 1 533 3 view .LVU379
534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
1386 .loc 1 534 3 view .LVU380
535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
1387 .loc 1 535 3 view .LVU381
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
1388 .loc 1 536 3 view .LVU382
ARM GAS /tmp/ccRVAHyi.s page 149
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
1389 .loc 1 537 3 view .LVU383
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1390 .loc 1 538 3 view .LVU384
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1391 .loc 1 540 3 view .LVU385
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1392 .loc 1 540 11 is_stmt 0 view .LVU386
1393 0006 4123 movs r3, #65
1394 0008 C35C ldrb r3, [r0, r3]
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1395 .loc 1 540 6 view .LVU387
1396 000a 002B cmp r3, #0
1397 000c 43D0 beq .L117
1398 .LVL97:
1399 .L112:
571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1400 .loc 1 571 3 is_stmt 1 view .LVU388
571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1401 .loc 1 571 15 is_stmt 0 view .LVU389
1402 000e 4123 movs r3, #65
1403 0010 2422 movs r2, #36
1404 0012 E254 strb r2, [r4, r3]
574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1405 .loc 1 574 3 is_stmt 1 view .LVU390
1406 0014 2268 ldr r2, [r4]
1407 0016 1368 ldr r3, [r2]
1408 0018 0121 movs r1, #1
1409 001a 8B43 bics r3, r1
1410 001c 1360 str r3, [r2]
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1411 .loc 1 578 3 view .LVU391
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1412 .loc 1 578 7 is_stmt 0 view .LVU392
1413 001e 2268 ldr r2, [r4]
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1414 .loc 1 578 47 view .LVU393
1415 0020 274B ldr r3, .L120
1416 0022 6168 ldr r1, [r4, #4]
1417 0024 0B40 ands r3, r1
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1418 .loc 1 578 27 view .LVU394
1419 0026 1361 str r3, [r2, #16]
582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1420 .loc 1 582 3 is_stmt 1 view .LVU395
582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1421 .loc 1 582 7 is_stmt 0 view .LVU396
1422 0028 2268 ldr r2, [r4]
582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1423 .loc 1 582 24 view .LVU397
1424 002a 9368 ldr r3, [r2, #8]
1425 002c 2549 ldr r1, .L120+4
1426 002e 0B40 ands r3, r1
1427 0030 9360 str r3, [r2, #8]
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1428 .loc 1 585 3 is_stmt 1 view .LVU398
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 150
1429 .loc 1 585 6 is_stmt 0 view .LVU399
1430 0032 E368 ldr r3, [r4, #12]
1431 0034 012B cmp r3, #1
1432 0036 34D0 beq .L118
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1433 .loc 1 591 5 is_stmt 1 view .LVU400
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1434 .loc 1 591 9 is_stmt 0 view .LVU401
1435 0038 2268 ldr r2, [r4]
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1436 .loc 1 591 63 view .LVU402
1437 003a 8423 movs r3, #132
1438 003c 1B02 lsls r3, r3, #8
1439 003e A168 ldr r1, [r4, #8]
1440 0040 0B43 orrs r3, r1
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1441 .loc 1 591 26 view .LVU403
1442 0042 9360 str r3, [r2, #8]
1443 .L114:
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1444 .loc 1 596 3 is_stmt 1 view .LVU404
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1445 .loc 1 596 6 is_stmt 0 view .LVU405
1446 0044 E368 ldr r3, [r4, #12]
1447 0046 022B cmp r3, #2
1448 0048 32D0 beq .L119
1449 .L115:
601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1450 .loc 1 601 3 is_stmt 1 view .LVU406
601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1451 .loc 1 601 7 is_stmt 0 view .LVU407
1452 004a 2268 ldr r2, [r4]
601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1453 .loc 1 601 23 view .LVU408
1454 004c 5168 ldr r1, [r2, #4]
1455 004e 1E4B ldr r3, .L120+8
1456 0050 0B43 orrs r3, r1
1457 0052 5360 str r3, [r2, #4]
605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1458 .loc 1 605 3 is_stmt 1 view .LVU409
605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1459 .loc 1 605 7 is_stmt 0 view .LVU410
1460 0054 2268 ldr r2, [r4]
605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1461 .loc 1 605 24 view .LVU411
1462 0056 D368 ldr r3, [r2, #12]
1463 0058 1A49 ldr r1, .L120+4
1464 005a 0B40 ands r3, r1
1465 005c D360 str r3, [r2, #12]
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1466 .loc 1 608 3 is_stmt 1 view .LVU412
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1467 .loc 1 608 54 is_stmt 0 view .LVU413
1468 005e 2369 ldr r3, [r4, #16]
1469 0060 6269 ldr r2, [r4, #20]
1470 0062 1343 orrs r3, r2
609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 151
1471 .loc 1 609 56 view .LVU414
1472 0064 A269 ldr r2, [r4, #24]
1473 0066 1202 lsls r2, r2, #8
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1474 .loc 1 608 7 view .LVU415
1475 0068 2168 ldr r1, [r4]
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1476 .loc 1 608 79 view .LVU416
1477 006a 1343 orrs r3, r2
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1478 .loc 1 608 24 view .LVU417
1479 006c CB60 str r3, [r1, #12]
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1480 .loc 1 613 3 is_stmt 1 view .LVU418
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1481 .loc 1 613 7 is_stmt 0 view .LVU419
1482 006e 2268 ldr r2, [r4]
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1483 .loc 1 613 53 view .LVU420
1484 0070 E369 ldr r3, [r4, #28]
1485 0072 216A ldr r1, [r4, #32]
1486 0074 0B43 orrs r3, r1
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1487 .loc 1 613 23 view .LVU421
1488 0076 1360 str r3, [r2]
616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1489 .loc 1 616 3 is_stmt 1 view .LVU422
1490 0078 2268 ldr r2, [r4]
1491 007a 1368 ldr r3, [r2]
1492 007c 0121 movs r1, #1
1493 007e 0B43 orrs r3, r1
1494 0080 1360 str r3, [r2]
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1495 .loc 1 618 3 view .LVU423
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1496 .loc 1 618 19 is_stmt 0 view .LVU424
1497 0082 0023 movs r3, #0
1498 0084 6364 str r3, [r4, #68]
619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1499 .loc 1 619 3 is_stmt 1 view .LVU425
619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1500 .loc 1 619 15 is_stmt 0 view .LVU426
1501 0086 4122 movs r2, #65
1502 0088 1F31 adds r1, r1, #31
1503 008a A154 strb r1, [r4, r2]
620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1504 .loc 1 620 3 is_stmt 1 view .LVU427
620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1505 .loc 1 620 23 is_stmt 0 view .LVU428
1506 008c 2363 str r3, [r4, #48]
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1507 .loc 1 621 3 is_stmt 1 view .LVU429
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1508 .loc 1 621 14 is_stmt 0 view .LVU430
1509 008e 0132 adds r2, r2, #1
1510 0090 A354 strb r3, [r4, r2]
623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 152
1511 .loc 1 623 3 is_stmt 1 view .LVU431
623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1512 .loc 1 623 10 is_stmt 0 view .LVU432
1513 0092 0020 movs r0, #0
1514 .L111:
624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1515 .loc 1 624 1 view .LVU433
1516 @ sp needed
1517 .LVL98:
624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1518 .loc 1 624 1 view .LVU434
1519 0094 10BD pop {r4, pc}
1520 .LVL99:
1521 .L117:
543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1522 .loc 1 543 5 is_stmt 1 view .LVU435
543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1523 .loc 1 543 16 is_stmt 0 view .LVU436
1524 0096 4033 adds r3, r3, #64
1525 0098 0022 movs r2, #0
1526 009a C254 strb r2, [r0, r3]
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1527 .loc 1 567 5 is_stmt 1 view .LVU437
1528 009c FFF7FEFF bl HAL_I2C_MspInit
1529 .LVL100:
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1530 .loc 1 567 5 is_stmt 0 view .LVU438
1531 00a0 B5E7 b .L112
1532 .L118:
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1533 .loc 1 587 5 is_stmt 1 view .LVU439
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1534 .loc 1 587 9 is_stmt 0 view .LVU440
1535 00a2 2268 ldr r2, [r4]
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1536 .loc 1 587 44 view .LVU441
1537 00a4 8023 movs r3, #128
1538 00a6 1B02 lsls r3, r3, #8
1539 00a8 A168 ldr r1, [r4, #8]
1540 00aa 0B43 orrs r3, r1
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1541 .loc 1 587 26 view .LVU442
1542 00ac 9360 str r3, [r2, #8]
1543 00ae C9E7 b .L114
1544 .L119:
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1545 .loc 1 598 5 is_stmt 1 view .LVU443
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1546 .loc 1 598 9 is_stmt 0 view .LVU444
1547 00b0 2368 ldr r3, [r4]
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1548 .loc 1 598 25 view .LVU445
1549 00b2 8022 movs r2, #128
1550 00b4 1201 lsls r2, r2, #4
1551 00b6 5A60 str r2, [r3, #4]
1552 00b8 C7E7 b .L115
1553 .LVL101:
ARM GAS /tmp/ccRVAHyi.s page 153
1554 .L116:
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1555 .loc 1 527 12 view .LVU446
1556 00ba 0120 movs r0, #1
1557 .LVL102:
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1558 .loc 1 527 12 view .LVU447
1559 00bc EAE7 b .L111
1560 .L121:
1561 00be C046 .align 2
1562 .L120:
1563 00c0 FFFFFFF0 .word -251658241
1564 00c4 FF7FFFFF .word -32769
1565 00c8 00800002 .word 33587200
1566 .cfi_endproc
1567 .LFE40:
1569 .section .text.HAL_I2C_MspDeInit,"ax",%progbits
1570 .align 1
1571 .weak HAL_I2C_MspDeInit
1572 .syntax unified
1573 .code 16
1574 .thumb_func
1575 .fpu softvfp
1577 HAL_I2C_MspDeInit:
1578 .LVL103:
1579 .LFB43:
695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
1580 .loc 1 695 1 is_stmt 1 view -0
1581 .cfi_startproc
1582 @ args = 0, pretend = 0, frame = 0
1583 @ frame_needed = 0, uses_anonymous_args = 0
1584 @ link register save eliminated.
697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1585 .loc 1 697 3 view .LVU449
702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1586 .loc 1 702 1 is_stmt 0 view .LVU450
1587 @ sp needed
1588 0000 7047 bx lr
1589 .cfi_endproc
1590 .LFE43:
1592 .section .text.HAL_I2C_DeInit,"ax",%progbits
1593 .align 1
1594 .global HAL_I2C_DeInit
1595 .syntax unified
1596 .code 16
1597 .thumb_func
1598 .fpu softvfp
1600 HAL_I2C_DeInit:
1601 .LVL104:
1602 .LFB41:
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
1603 .loc 1 633 1 is_stmt 1 view -0
1604 .cfi_startproc
1605 @ args = 0, pretend = 0, frame = 0
1606 @ frame_needed = 0, uses_anonymous_args = 0
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
1607 .loc 1 633 1 is_stmt 0 view .LVU452
ARM GAS /tmp/ccRVAHyi.s page 154
1608 0000 70B5 push {r4, r5, r6, lr}
1609 .LCFI12:
1610 .cfi_def_cfa_offset 16
1611 .cfi_offset 4, -16
1612 .cfi_offset 5, -12
1613 .cfi_offset 6, -8
1614 .cfi_offset 14, -4
1615 0002 041E subs r4, r0, #0
635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1616 .loc 1 635 3 is_stmt 1 view .LVU453
635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1617 .loc 1 635 6 is_stmt 0 view .LVU454
1618 0004 13D0 beq .L125
641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1619 .loc 1 641 3 is_stmt 1 view .LVU455
643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1620 .loc 1 643 3 view .LVU456
643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1621 .loc 1 643 15 is_stmt 0 view .LVU457
1622 0006 4125 movs r5, #65
1623 0008 2423 movs r3, #36
1624 000a 4355 strb r3, [r0, r5]
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1625 .loc 1 646 3 is_stmt 1 view .LVU458
1626 000c 0268 ldr r2, [r0]
1627 000e 1368 ldr r3, [r2]
1628 0010 0121 movs r1, #1
1629 0012 8B43 bics r3, r1
1630 0014 1360 str r3, [r2]
658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1631 .loc 1 658 3 view .LVU459
1632 0016 FFF7FEFF bl HAL_I2C_MspDeInit
1633 .LVL105:
661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
1634 .loc 1 661 3 view .LVU460
661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
1635 .loc 1 661 19 is_stmt 0 view .LVU461
1636 001a 0023 movs r3, #0
1637 001c 6364 str r3, [r4, #68]
662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1638 .loc 1 662 3 is_stmt 1 view .LVU462
662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1639 .loc 1 662 15 is_stmt 0 view .LVU463
1640 001e 6355 strb r3, [r4, r5]
663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1641 .loc 1 663 3 is_stmt 1 view .LVU464
663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1642 .loc 1 663 23 is_stmt 0 view .LVU465
1643 0020 2363 str r3, [r4, #48]
664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1644 .loc 1 664 3 is_stmt 1 view .LVU466
664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1645 .loc 1 664 14 is_stmt 0 view .LVU467
1646 0022 4222 movs r2, #66
1647 0024 A354 strb r3, [r4, r2]
667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1648 .loc 1 667 3 is_stmt 1 view .LVU468
ARM GAS /tmp/ccRVAHyi.s page 155
667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1649 .loc 1 667 3 view .LVU469
1650 0026 023A subs r2, r2, #2
1651 0028 A354 strb r3, [r4, r2]
669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1652 .loc 1 669 3 view .LVU470
669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1653 .loc 1 669 10 is_stmt 0 view .LVU471
1654 002a 0020 movs r0, #0
1655 .L124:
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1656 .loc 1 670 1 view .LVU472
1657 @ sp needed
1658 .LVL106:
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1659 .loc 1 670 1 view .LVU473
1660 002c 70BD pop {r4, r5, r6, pc}
1661 .LVL107:
1662 .L125:
637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1663 .loc 1 637 12 view .LVU474
1664 002e 0120 movs r0, #1
1665 .LVL108:
637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1666 .loc 1 637 12 view .LVU475
1667 0030 FCE7 b .L124
1668 .cfi_endproc
1669 .LFE41:
1671 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits
1672 .align 1
1673 .global HAL_I2C_Master_Transmit
1674 .syntax unified
1675 .code 16
1676 .thumb_func
1677 .fpu softvfp
1679 HAL_I2C_Master_Transmit:
1680 .LVL109:
1681 .LFB44:
1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1682 .loc 1 1117 1 is_stmt 1 view -0
1683 .cfi_startproc
1684 @ args = 4, pretend = 0, frame = 8
1685 @ frame_needed = 0, uses_anonymous_args = 0
1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1686 .loc 1 1117 1 is_stmt 0 view .LVU477
1687 0000 F0B5 push {r4, r5, r6, r7, lr}
1688 .LCFI13:
1689 .cfi_def_cfa_offset 20
1690 .cfi_offset 4, -20
1691 .cfi_offset 5, -16
1692 .cfi_offset 6, -12
1693 .cfi_offset 7, -8
1694 .cfi_offset 14, -4
1695 0002 85B0 sub sp, sp, #20
1696 .LCFI14:
1697 .cfi_def_cfa_offset 40
1698 0004 0500 movs r5, r0
ARM GAS /tmp/ccRVAHyi.s page 156
1699 0006 0391 str r1, [sp, #12]
1700 0008 1700 movs r7, r2
1701 000a 1E00 movs r6, r3
1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1702 .loc 1 1118 3 is_stmt 1 view .LVU478
1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1703 .loc 1 1120 3 view .LVU479
1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1704 .loc 1 1120 11 is_stmt 0 view .LVU480
1705 000c 4123 movs r3, #65
1706 .LVL110:
1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1707 .loc 1 1120 11 view .LVU481
1708 000e C35C ldrb r3, [r0, r3]
1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1709 .loc 1 1120 6 view .LVU482
1710 0010 202B cmp r3, #32
1711 0012 00D0 beq .LCB1585
1712 0014 99E0 b .L134 @long jump
1713 .LCB1585:
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1714 .loc 1 1123 5 is_stmt 1 view .LVU483
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1715 .loc 1 1123 5 view .LVU484
1716 0016 2033 adds r3, r3, #32
1717 0018 C35C ldrb r3, [r0, r3]
1718 001a 012B cmp r3, #1
1719 001c 00D1 bne .LCB1591
1720 001e 97E0 b .L135 @long jump
1721 .LCB1591:
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1722 .loc 1 1123 5 discriminator 2 view .LVU485
1723 0020 4023 movs r3, #64
1724 0022 0122 movs r2, #1
1725 .LVL111:
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1726 .loc 1 1123 5 is_stmt 0 discriminator 2 view .LVU486
1727 0024 C254 strb r2, [r0, r3]
1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1728 .loc 1 1126 5 is_stmt 1 discriminator 2 view .LVU487
1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1729 .loc 1 1126 17 is_stmt 0 discriminator 2 view .LVU488
1730 0026 FFF7FEFF bl HAL_GetTick
1731 .LVL112:
1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1732 .loc 1 1126 17 discriminator 2 view .LVU489
1733 002a 0400 movs r4, r0
1734 .LVL113:
1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1735 .loc 1 1128 5 is_stmt 1 discriminator 2 view .LVU490
1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1736 .loc 1 1128 9 is_stmt 0 discriminator 2 view .LVU491
1737 002c 8021 movs r1, #128
1738 002e 0090 str r0, [sp]
1739 0030 1923 movs r3, #25
1740 0032 0122 movs r2, #1
1741 0034 0902 lsls r1, r1, #8
ARM GAS /tmp/ccRVAHyi.s page 157
1742 0036 2800 movs r0, r5
1743 .LVL114:
1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1744 .loc 1 1128 9 discriminator 2 view .LVU492
1745 0038 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1746 .LVL115:
1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1747 .loc 1 1128 8 discriminator 2 view .LVU493
1748 003c 0028 cmp r0, #0
1749 003e 00D0 beq .LCB1613
1750 0040 88E0 b .L136 @long jump
1751 .LCB1613:
1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1752 .loc 1 1133 5 is_stmt 1 view .LVU494
1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1753 .loc 1 1133 21 is_stmt 0 view .LVU495
1754 0042 4123 movs r3, #65
1755 0044 2122 movs r2, #33
1756 0046 EA54 strb r2, [r5, r3]
1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1757 .loc 1 1134 5 is_stmt 1 view .LVU496
1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1758 .loc 1 1134 21 is_stmt 0 view .LVU497
1759 0048 0133 adds r3, r3, #1
1760 004a 113A subs r2, r2, #17
1761 004c EA54 strb r2, [r5, r3]
1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1762 .loc 1 1135 5 is_stmt 1 view .LVU498
1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1763 .loc 1 1135 21 is_stmt 0 view .LVU499
1764 004e 0023 movs r3, #0
1765 0050 6B64 str r3, [r5, #68]
1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1766 .loc 1 1138 5 is_stmt 1 view .LVU500
1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1767 .loc 1 1138 21 is_stmt 0 view .LVU501
1768 0052 6F62 str r7, [r5, #36]
1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
1769 .loc 1 1139 5 is_stmt 1 view .LVU502
1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
1770 .loc 1 1139 21 is_stmt 0 view .LVU503
1771 0054 6E85 strh r6, [r5, #42]
1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1772 .loc 1 1140 5 is_stmt 1 view .LVU504
1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1773 .loc 1 1140 21 is_stmt 0 view .LVU505
1774 0056 6B63 str r3, [r5, #52]
1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1775 .loc 1 1144 5 is_stmt 1 view .LVU506
1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1776 .loc 1 1144 13 is_stmt 0 view .LVU507
1777 0058 6B8D ldrh r3, [r5, #42]
1778 005a 9BB2 uxth r3, r3
1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1779 .loc 1 1144 8 view .LVU508
1780 005c FF2B cmp r3, #255
1781 005e 0BD9 bls .L128
ARM GAS /tmp/ccRVAHyi.s page 158
1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1782 .loc 1 1146 7 is_stmt 1 view .LVU509
1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1783 .loc 1 1146 22 is_stmt 0 view .LVU510
1784 0060 FF23 movs r3, #255
1785 0062 2B85 strh r3, [r5, #40]
1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1786 .loc 1 1147 7 is_stmt 1 view .LVU511
1787 0064 7F3B subs r3, r3, #127
1788 0066 3F4A ldr r2, .L141
1789 0068 0092 str r2, [sp]
1790 006a 5B04 lsls r3, r3, #17
1791 006c FF22 movs r2, #255
1792 006e 0399 ldr r1, [sp, #12]
1793 0070 2800 movs r0, r5
1794 0072 FFF7FEFF bl I2C_TransferConfig
1795 .LVL116:
1796 0076 18E0 b .L130
1797 .L128:
1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1798 .loc 1 1152 7 view .LVU512
1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1799 .loc 1 1152 28 is_stmt 0 view .LVU513
1800 0078 6A8D ldrh r2, [r5, #42]
1801 007a 92B2 uxth r2, r2
1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1802 .loc 1 1152 22 view .LVU514
1803 007c 2A85 strh r2, [r5, #40]
1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1804 .loc 1 1153 7 is_stmt 1 view .LVU515
1805 007e 8023 movs r3, #128
1806 0080 D2B2 uxtb r2, r2
1807 0082 3849 ldr r1, .L141
1808 0084 0091 str r1, [sp]
1809 0086 9B04 lsls r3, r3, #18
1810 0088 0399 ldr r1, [sp, #12]
1811 008a 2800 movs r0, r5
1812 008c FFF7FEFF bl I2C_TransferConfig
1813 .LVL117:
1814 0090 0BE0 b .L130
1815 .L132:
1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1816 .loc 1 1189 11 view .LVU516
1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1817 .loc 1 1189 32 is_stmt 0 view .LVU517
1818 0092 6A8D ldrh r2, [r5, #42]
1819 0094 92B2 uxth r2, r2
1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1820 .loc 1 1189 26 view .LVU518
1821 0096 2A85 strh r2, [r5, #40]
1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1822 .loc 1 1190 11 is_stmt 1 view .LVU519
1823 0098 8023 movs r3, #128
1824 009a D2B2 uxtb r2, r2
1825 009c 0021 movs r1, #0
1826 009e 0091 str r1, [sp]
1827 00a0 9B04 lsls r3, r3, #18
ARM GAS /tmp/ccRVAHyi.s page 159
1828 00a2 0399 ldr r1, [sp, #12]
1829 00a4 2800 movs r0, r5
1830 00a6 FFF7FEFF bl I2C_TransferConfig
1831 .LVL118:
1832 .L130:
1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1833 .loc 1 1157 16 is_stmt 0 view .LVU520
1834 00aa 6B8D ldrh r3, [r5, #42]
1835 00ac 9BB2 uxth r3, r3
1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1836 .loc 1 1157 11 view .LVU521
1837 00ae 002B cmp r3, #0
1838 00b0 34D0 beq .L140
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1839 .loc 1 1160 7 is_stmt 1 view .LVU522
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1840 .loc 1 1160 11 is_stmt 0 view .LVU523
1841 00b2 2200 movs r2, r4
1842 00b4 0A99 ldr r1, [sp, #40]
1843 00b6 2800 movs r0, r5
1844 00b8 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1845 .LVL119:
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1846 .loc 1 1160 10 view .LVU524
1847 00bc 0028 cmp r0, #0
1848 00be 4BD1 bne .L137
1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1849 .loc 1 1165 7 is_stmt 1 view .LVU525
1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1850 .loc 1 1165 11 is_stmt 0 view .LVU526
1851 00c0 2B68 ldr r3, [r5]
1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1852 .loc 1 1165 30 view .LVU527
1853 00c2 6A6A ldr r2, [r5, #36]
1854 00c4 1278 ldrb r2, [r2]
1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1855 .loc 1 1165 28 view .LVU528
1856 00c6 9A62 str r2, [r3, #40]
1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1857 .loc 1 1168 7 is_stmt 1 view .LVU529
1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1858 .loc 1 1168 21 is_stmt 0 view .LVU530
1859 00c8 6B6A ldr r3, [r5, #36]
1860 00ca 0133 adds r3, r3, #1
1861 00cc 6B62 str r3, [r5, #36]
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
1862 .loc 1 1170 7 is_stmt 1 view .LVU531
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
1863 .loc 1 1170 11 is_stmt 0 view .LVU532
1864 00ce 6B8D ldrh r3, [r5, #42]
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
1865 .loc 1 1170 22 view .LVU533
1866 00d0 013B subs r3, r3, #1
1867 00d2 9BB2 uxth r3, r3
1868 00d4 6B85 strh r3, [r5, #42]
1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1869 .loc 1 1171 7 is_stmt 1 view .LVU534
ARM GAS /tmp/ccRVAHyi.s page 160
1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1870 .loc 1 1171 11 is_stmt 0 view .LVU535
1871 00d6 2B8D ldrh r3, [r5, #40]
1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1872 .loc 1 1171 21 view .LVU536
1873 00d8 013B subs r3, r3, #1
1874 00da 9BB2 uxth r3, r3
1875 00dc 2B85 strh r3, [r5, #40]
1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1876 .loc 1 1173 7 is_stmt 1 view .LVU537
1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1877 .loc 1 1173 16 is_stmt 0 view .LVU538
1878 00de 6A8D ldrh r2, [r5, #42]
1879 00e0 92B2 uxth r2, r2
1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1880 .loc 1 1173 10 view .LVU539
1881 00e2 002A cmp r2, #0
1882 00e4 E1D0 beq .L130
1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1883 .loc 1 1173 35 discriminator 1 view .LVU540
1884 00e6 002B cmp r3, #0
1885 00e8 DFD1 bne .L130
1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1886 .loc 1 1176 9 is_stmt 1 view .LVU541
1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1887 .loc 1 1176 13 is_stmt 0 view .LVU542
1888 00ea 0094 str r4, [sp]
1889 00ec 0A9B ldr r3, [sp, #40]
1890 00ee 0022 movs r2, #0
1891 00f0 8021 movs r1, #128
1892 00f2 2800 movs r0, r5
1893 00f4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1894 .LVL120:
1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1895 .loc 1 1176 12 view .LVU543
1896 00f8 0028 cmp r0, #0
1897 00fa 2FD1 bne .L138
1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1898 .loc 1 1181 9 is_stmt 1 view .LVU544
1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1899 .loc 1 1181 17 is_stmt 0 view .LVU545
1900 00fc 6B8D ldrh r3, [r5, #42]
1901 00fe 9BB2 uxth r3, r3
1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1902 .loc 1 1181 12 view .LVU546
1903 0100 FF2B cmp r3, #255
1904 0102 C6D9 bls .L132
1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1905 .loc 1 1183 11 is_stmt 1 view .LVU547
1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1906 .loc 1 1183 26 is_stmt 0 view .LVU548
1907 0104 FF23 movs r3, #255
1908 0106 2B85 strh r3, [r5, #40]
1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1909 .loc 1 1184 11 is_stmt 1 view .LVU549
1910 0108 7F3B subs r3, r3, #127
1911 010a 0022 movs r2, #0
ARM GAS /tmp/ccRVAHyi.s page 161
1912 010c 0092 str r2, [sp]
1913 010e 5B04 lsls r3, r3, #17
1914 0110 FF32 adds r2, r2, #255
1915 0112 0399 ldr r1, [sp, #12]
1916 0114 2800 movs r0, r5
1917 0116 FFF7FEFF bl I2C_TransferConfig
1918 .LVL121:
1919 011a C6E7 b .L130
1920 .L140:
1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1921 .loc 1 1198 5 view .LVU550
1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1922 .loc 1 1198 9 is_stmt 0 view .LVU551
1923 011c 2200 movs r2, r4
1924 011e 0A99 ldr r1, [sp, #40]
1925 0120 2800 movs r0, r5
1926 0122 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
1927 .LVL122:
1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1928 .loc 1 1198 8 view .LVU552
1929 0126 0028 cmp r0, #0
1930 0128 1AD1 bne .L139
1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1931 .loc 1 1204 5 is_stmt 1 view .LVU553
1932 012a 2B68 ldr r3, [r5]
1933 012c 2022 movs r2, #32
1934 012e DA61 str r2, [r3, #28]
1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1935 .loc 1 1207 5 view .LVU554
1936 0130 2968 ldr r1, [r5]
1937 0132 4B68 ldr r3, [r1, #4]
1938 0134 0C4C ldr r4, .L141+4
1939 .LVL123:
1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1940 .loc 1 1207 5 is_stmt 0 view .LVU555
1941 0136 2340 ands r3, r4
1942 0138 4B60 str r3, [r1, #4]
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1943 .loc 1 1209 5 is_stmt 1 view .LVU556
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1944 .loc 1 1209 17 is_stmt 0 view .LVU557
1945 013a 4123 movs r3, #65
1946 013c EA54 strb r2, [r5, r3]
1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1947 .loc 1 1210 5 is_stmt 1 view .LVU558
1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1948 .loc 1 1210 17 is_stmt 0 view .LVU559
1949 013e 0023 movs r3, #0
1950 0140 2232 adds r2, r2, #34
1951 0142 AB54 strb r3, [r5, r2]
1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1952 .loc 1 1213 5 is_stmt 1 view .LVU560
1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1953 .loc 1 1213 5 view .LVU561
1954 0144 023A subs r2, r2, #2
1955 0146 AB54 strb r3, [r5, r2]
1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 162
1956 .loc 1 1215 5 view .LVU562
1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1957 .loc 1 1215 12 is_stmt 0 view .LVU563
1958 0148 00E0 b .L127
1959 .LVL124:
1960 .L134:
1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1961 .loc 1 1219 12 view .LVU564
1962 014a 0220 movs r0, #2
1963 .LVL125:
1964 .L127:
1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1965 .loc 1 1221 1 view .LVU565
1966 014c 05B0 add sp, sp, #20
1967 @ sp needed
1968 .LVL126:
1969 .LVL127:
1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1970 .loc 1 1221 1 view .LVU566
1971 014e F0BD pop {r4, r5, r6, r7, pc}
1972 .LVL128:
1973 .L135:
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1974 .loc 1 1123 5 view .LVU567
1975 0150 0220 movs r0, #2
1976 .LVL129:
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1977 .loc 1 1123 5 view .LVU568
1978 0152 FBE7 b .L127
1979 .LVL130:
1980 .L136:
1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1981 .loc 1 1130 14 view .LVU569
1982 0154 0120 movs r0, #1
1983 0156 F9E7 b .L127
1984 .L137:
1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1985 .loc 1 1162 16 view .LVU570
1986 0158 0120 movs r0, #1
1987 015a F7E7 b .L127
1988 .L138:
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1989 .loc 1 1178 18 view .LVU571
1990 015c 0120 movs r0, #1
1991 015e F5E7 b .L127
1992 .L139:
1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1993 .loc 1 1200 14 view .LVU572
1994 0160 0120 movs r0, #1
1995 0162 F3E7 b .L127
1996 .L142:
1997 .align 2
1998 .L141:
1999 0164 00200080 .word -2147475456
2000 0168 00E800FE .word -33495040
2001 .cfi_endproc
2002 .LFE44:
ARM GAS /tmp/ccRVAHyi.s page 163
2004 .section .text.HAL_I2C_Master_Receive,"ax",%progbits
2005 .align 1
2006 .global HAL_I2C_Master_Receive
2007 .syntax unified
2008 .code 16
2009 .thumb_func
2010 .fpu softvfp
2012 HAL_I2C_Master_Receive:
2013 .LVL131:
2014 .LFB45:
1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2015 .loc 1 1236 1 is_stmt 1 view -0
2016 .cfi_startproc
2017 @ args = 4, pretend = 0, frame = 8
2018 @ frame_needed = 0, uses_anonymous_args = 0
1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2019 .loc 1 1236 1 is_stmt 0 view .LVU574
2020 0000 F0B5 push {r4, r5, r6, r7, lr}
2021 .LCFI15:
2022 .cfi_def_cfa_offset 20
2023 .cfi_offset 4, -20
2024 .cfi_offset 5, -16
2025 .cfi_offset 6, -12
2026 .cfi_offset 7, -8
2027 .cfi_offset 14, -4
2028 0002 85B0 sub sp, sp, #20
2029 .LCFI16:
2030 .cfi_def_cfa_offset 40
2031 0004 0500 movs r5, r0
2032 0006 0391 str r1, [sp, #12]
2033 0008 1700 movs r7, r2
2034 000a 1E00 movs r6, r3
1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2035 .loc 1 1237 3 is_stmt 1 view .LVU575
1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2036 .loc 1 1239 3 view .LVU576
1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2037 .loc 1 1239 11 is_stmt 0 view .LVU577
2038 000c 4123 movs r3, #65
2039 .LVL132:
1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2040 .loc 1 1239 11 view .LVU578
2041 000e C35C ldrb r3, [r0, r3]
1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2042 .loc 1 1239 6 view .LVU579
2043 0010 202B cmp r3, #32
2044 0012 00D0 beq .LCB1899
2045 0014 99E0 b .L151 @long jump
2046 .LCB1899:
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2047 .loc 1 1242 5 is_stmt 1 view .LVU580
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2048 .loc 1 1242 5 view .LVU581
2049 0016 2033 adds r3, r3, #32
2050 0018 C35C ldrb r3, [r0, r3]
2051 001a 012B cmp r3, #1
2052 001c 00D1 bne .LCB1905
ARM GAS /tmp/ccRVAHyi.s page 164
2053 001e 97E0 b .L152 @long jump
2054 .LCB1905:
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2055 .loc 1 1242 5 discriminator 2 view .LVU582
2056 0020 4023 movs r3, #64
2057 0022 0122 movs r2, #1
2058 .LVL133:
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2059 .loc 1 1242 5 is_stmt 0 discriminator 2 view .LVU583
2060 0024 C254 strb r2, [r0, r3]
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2061 .loc 1 1245 5 is_stmt 1 discriminator 2 view .LVU584
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2062 .loc 1 1245 17 is_stmt 0 discriminator 2 view .LVU585
2063 0026 FFF7FEFF bl HAL_GetTick
2064 .LVL134:
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2065 .loc 1 1245 17 discriminator 2 view .LVU586
2066 002a 0400 movs r4, r0
2067 .LVL135:
1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2068 .loc 1 1247 5 is_stmt 1 discriminator 2 view .LVU587
1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2069 .loc 1 1247 9 is_stmt 0 discriminator 2 view .LVU588
2070 002c 8021 movs r1, #128
2071 002e 0090 str r0, [sp]
2072 0030 1923 movs r3, #25
2073 0032 0122 movs r2, #1
2074 0034 0902 lsls r1, r1, #8
2075 0036 2800 movs r0, r5
2076 .LVL136:
1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2077 .loc 1 1247 9 discriminator 2 view .LVU589
2078 0038 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2079 .LVL137:
1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2080 .loc 1 1247 8 discriminator 2 view .LVU590
2081 003c 0028 cmp r0, #0
2082 003e 00D0 beq .LCB1927
2083 0040 88E0 b .L153 @long jump
2084 .LCB1927:
1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2085 .loc 1 1252 5 is_stmt 1 view .LVU591
1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2086 .loc 1 1252 21 is_stmt 0 view .LVU592
2087 0042 4123 movs r3, #65
2088 0044 2222 movs r2, #34
2089 0046 EA54 strb r2, [r5, r3]
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2090 .loc 1 1253 5 is_stmt 1 view .LVU593
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2091 .loc 1 1253 21 is_stmt 0 view .LVU594
2092 0048 0133 adds r3, r3, #1
2093 004a 123A subs r2, r2, #18
2094 004c EA54 strb r2, [r5, r3]
1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2095 .loc 1 1254 5 is_stmt 1 view .LVU595
ARM GAS /tmp/ccRVAHyi.s page 165
1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2096 .loc 1 1254 21 is_stmt 0 view .LVU596
2097 004e 0023 movs r3, #0
2098 0050 6B64 str r3, [r5, #68]
1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2099 .loc 1 1257 5 is_stmt 1 view .LVU597
1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2100 .loc 1 1257 21 is_stmt 0 view .LVU598
2101 0052 6F62 str r7, [r5, #36]
1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2102 .loc 1 1258 5 is_stmt 1 view .LVU599
1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2103 .loc 1 1258 21 is_stmt 0 view .LVU600
2104 0054 6E85 strh r6, [r5, #42]
1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2105 .loc 1 1259 5 is_stmt 1 view .LVU601
1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2106 .loc 1 1259 21 is_stmt 0 view .LVU602
2107 0056 6B63 str r3, [r5, #52]
1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2108 .loc 1 1263 5 is_stmt 1 view .LVU603
1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2109 .loc 1 1263 13 is_stmt 0 view .LVU604
2110 0058 6B8D ldrh r3, [r5, #42]
2111 005a 9BB2 uxth r3, r3
1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2112 .loc 1 1263 8 view .LVU605
2113 005c FF2B cmp r3, #255
2114 005e 0BD9 bls .L145
1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2115 .loc 1 1265 7 is_stmt 1 view .LVU606
1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2116 .loc 1 1265 22 is_stmt 0 view .LVU607
2117 0060 FF23 movs r3, #255
2118 0062 2B85 strh r3, [r5, #40]
1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2119 .loc 1 1266 7 is_stmt 1 view .LVU608
2120 0064 7F3B subs r3, r3, #127
2121 0066 3F4A ldr r2, .L158
2122 0068 0092 str r2, [sp]
2123 006a 5B04 lsls r3, r3, #17
2124 006c FF22 movs r2, #255
2125 006e 0399 ldr r1, [sp, #12]
2126 0070 2800 movs r0, r5
2127 0072 FFF7FEFF bl I2C_TransferConfig
2128 .LVL138:
2129 0076 18E0 b .L147
2130 .L145:
1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2131 .loc 1 1271 7 view .LVU609
1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2132 .loc 1 1271 28 is_stmt 0 view .LVU610
2133 0078 6A8D ldrh r2, [r5, #42]
2134 007a 92B2 uxth r2, r2
1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2135 .loc 1 1271 22 view .LVU611
2136 007c 2A85 strh r2, [r5, #40]
ARM GAS /tmp/ccRVAHyi.s page 166
1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2137 .loc 1 1272 7 is_stmt 1 view .LVU612
2138 007e 8023 movs r3, #128
2139 0080 D2B2 uxtb r2, r2
2140 0082 3849 ldr r1, .L158
2141 0084 0091 str r1, [sp]
2142 0086 9B04 lsls r3, r3, #18
2143 0088 0399 ldr r1, [sp, #12]
2144 008a 2800 movs r0, r5
2145 008c FFF7FEFF bl I2C_TransferConfig
2146 .LVL139:
2147 0090 0BE0 b .L147
2148 .L149:
1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2149 .loc 1 1309 11 view .LVU613
1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2150 .loc 1 1309 32 is_stmt 0 view .LVU614
2151 0092 6A8D ldrh r2, [r5, #42]
2152 0094 92B2 uxth r2, r2
1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2153 .loc 1 1309 26 view .LVU615
2154 0096 2A85 strh r2, [r5, #40]
1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2155 .loc 1 1310 11 is_stmt 1 view .LVU616
2156 0098 8023 movs r3, #128
2157 009a D2B2 uxtb r2, r2
2158 009c 0021 movs r1, #0
2159 009e 0091 str r1, [sp]
2160 00a0 9B04 lsls r3, r3, #18
2161 00a2 0399 ldr r1, [sp, #12]
2162 00a4 2800 movs r0, r5
2163 00a6 FFF7FEFF bl I2C_TransferConfig
2164 .LVL140:
2165 .L147:
1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2166 .loc 1 1276 16 is_stmt 0 view .LVU617
2167 00aa 6B8D ldrh r3, [r5, #42]
2168 00ac 9BB2 uxth r3, r3
1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2169 .loc 1 1276 11 view .LVU618
2170 00ae 002B cmp r3, #0
2171 00b0 34D0 beq .L157
1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2172 .loc 1 1279 7 is_stmt 1 view .LVU619
1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2173 .loc 1 1279 11 is_stmt 0 view .LVU620
2174 00b2 2200 movs r2, r4
2175 00b4 0A99 ldr r1, [sp, #40]
2176 00b6 2800 movs r0, r5
2177 00b8 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
2178 .LVL141:
1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2179 .loc 1 1279 10 view .LVU621
2180 00bc 0028 cmp r0, #0
2181 00be 4BD1 bne .L154
1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2182 .loc 1 1285 7 is_stmt 1 view .LVU622
ARM GAS /tmp/ccRVAHyi.s page 167
1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2183 .loc 1 1285 38 is_stmt 0 view .LVU623
2184 00c0 2B68 ldr r3, [r5]
1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2185 .loc 1 1285 48 view .LVU624
2186 00c2 5B6A ldr r3, [r3, #36]
1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2187 .loc 1 1285 23 view .LVU625
2188 00c4 6A6A ldr r2, [r5, #36]
2189 00c6 1370 strb r3, [r2]
1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2190 .loc 1 1288 7 is_stmt 1 view .LVU626
1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2191 .loc 1 1288 21 is_stmt 0 view .LVU627
2192 00c8 6B6A ldr r3, [r5, #36]
2193 00ca 0133 adds r3, r3, #1
2194 00cc 6B62 str r3, [r5, #36]
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2195 .loc 1 1290 7 is_stmt 1 view .LVU628
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2196 .loc 1 1290 11 is_stmt 0 view .LVU629
2197 00ce 2B8D ldrh r3, [r5, #40]
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2198 .loc 1 1290 21 view .LVU630
2199 00d0 013B subs r3, r3, #1
2200 00d2 9BB2 uxth r3, r3
2201 00d4 2B85 strh r3, [r5, #40]
1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2202 .loc 1 1291 7 is_stmt 1 view .LVU631
1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2203 .loc 1 1291 11 is_stmt 0 view .LVU632
2204 00d6 6A8D ldrh r2, [r5, #42]
1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2205 .loc 1 1291 22 view .LVU633
2206 00d8 013A subs r2, r2, #1
2207 00da 92B2 uxth r2, r2
2208 00dc 6A85 strh r2, [r5, #42]
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2209 .loc 1 1293 7 is_stmt 1 view .LVU634
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2210 .loc 1 1293 16 is_stmt 0 view .LVU635
2211 00de 6A8D ldrh r2, [r5, #42]
2212 00e0 92B2 uxth r2, r2
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2213 .loc 1 1293 10 view .LVU636
2214 00e2 002A cmp r2, #0
2215 00e4 E1D0 beq .L147
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2216 .loc 1 1293 35 discriminator 1 view .LVU637
2217 00e6 002B cmp r3, #0
2218 00e8 DFD1 bne .L147
1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2219 .loc 1 1296 9 is_stmt 1 view .LVU638
1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2220 .loc 1 1296 13 is_stmt 0 view .LVU639
2221 00ea 0094 str r4, [sp]
2222 00ec 0A9B ldr r3, [sp, #40]
ARM GAS /tmp/ccRVAHyi.s page 168
2223 00ee 0022 movs r2, #0
2224 00f0 8021 movs r1, #128
2225 00f2 2800 movs r0, r5
2226 00f4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2227 .LVL142:
1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2228 .loc 1 1296 12 view .LVU640
2229 00f8 0028 cmp r0, #0
2230 00fa 2FD1 bne .L155
1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2231 .loc 1 1301 9 is_stmt 1 view .LVU641
1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2232 .loc 1 1301 17 is_stmt 0 view .LVU642
2233 00fc 6B8D ldrh r3, [r5, #42]
2234 00fe 9BB2 uxth r3, r3
1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2235 .loc 1 1301 12 view .LVU643
2236 0100 FF2B cmp r3, #255
2237 0102 C6D9 bls .L149
1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2238 .loc 1 1303 11 is_stmt 1 view .LVU644
1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2239 .loc 1 1303 26 is_stmt 0 view .LVU645
2240 0104 FF23 movs r3, #255
2241 0106 2B85 strh r3, [r5, #40]
1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2242 .loc 1 1304 11 is_stmt 1 view .LVU646
2243 0108 7F3B subs r3, r3, #127
2244 010a 0022 movs r2, #0
2245 010c 0092 str r2, [sp]
2246 010e 5B04 lsls r3, r3, #17
2247 0110 FF32 adds r2, r2, #255
2248 0112 0399 ldr r1, [sp, #12]
2249 0114 2800 movs r0, r5
2250 0116 FFF7FEFF bl I2C_TransferConfig
2251 .LVL143:
2252 011a C6E7 b .L147
2253 .L157:
1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2254 .loc 1 1318 5 view .LVU647
1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2255 .loc 1 1318 9 is_stmt 0 view .LVU648
2256 011c 2200 movs r2, r4
2257 011e 0A99 ldr r1, [sp, #40]
2258 0120 2800 movs r0, r5
2259 0122 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2260 .LVL144:
1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2261 .loc 1 1318 8 view .LVU649
2262 0126 0028 cmp r0, #0
2263 0128 1AD1 bne .L156
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2264 .loc 1 1324 5 is_stmt 1 view .LVU650
2265 012a 2B68 ldr r3, [r5]
2266 012c 2022 movs r2, #32
2267 012e DA61 str r2, [r3, #28]
1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 169
2268 .loc 1 1327 5 view .LVU651
2269 0130 2968 ldr r1, [r5]
2270 0132 4B68 ldr r3, [r1, #4]
2271 0134 0C4C ldr r4, .L158+4
2272 .LVL145:
1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2273 .loc 1 1327 5 is_stmt 0 view .LVU652
2274 0136 2340 ands r3, r4
2275 0138 4B60 str r3, [r1, #4]
1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2276 .loc 1 1329 5 is_stmt 1 view .LVU653
1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2277 .loc 1 1329 17 is_stmt 0 view .LVU654
2278 013a 4123 movs r3, #65
2279 013c EA54 strb r2, [r5, r3]
1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2280 .loc 1 1330 5 is_stmt 1 view .LVU655
1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2281 .loc 1 1330 17 is_stmt 0 view .LVU656
2282 013e 0023 movs r3, #0
2283 0140 2232 adds r2, r2, #34
2284 0142 AB54 strb r3, [r5, r2]
1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2285 .loc 1 1333 5 is_stmt 1 view .LVU657
1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2286 .loc 1 1333 5 view .LVU658
2287 0144 023A subs r2, r2, #2
2288 0146 AB54 strb r3, [r5, r2]
1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2289 .loc 1 1335 5 view .LVU659
1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2290 .loc 1 1335 12 is_stmt 0 view .LVU660
2291 0148 00E0 b .L144
2292 .LVL146:
2293 .L151:
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2294 .loc 1 1339 12 view .LVU661
2295 014a 0220 movs r0, #2
2296 .LVL147:
2297 .L144:
1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2298 .loc 1 1341 1 view .LVU662
2299 014c 05B0 add sp, sp, #20
2300 @ sp needed
2301 .LVL148:
2302 .LVL149:
1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2303 .loc 1 1341 1 view .LVU663
2304 014e F0BD pop {r4, r5, r6, r7, pc}
2305 .LVL150:
2306 .L152:
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2307 .loc 1 1242 5 view .LVU664
2308 0150 0220 movs r0, #2
2309 .LVL151:
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2310 .loc 1 1242 5 view .LVU665
ARM GAS /tmp/ccRVAHyi.s page 170
2311 0152 FBE7 b .L144
2312 .LVL152:
2313 .L153:
1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2314 .loc 1 1249 14 view .LVU666
2315 0154 0120 movs r0, #1
2316 0156 F9E7 b .L144
2317 .L154:
1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2318 .loc 1 1281 16 view .LVU667
2319 0158 0120 movs r0, #1
2320 015a F7E7 b .L144
2321 .L155:
1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2322 .loc 1 1298 18 view .LVU668
2323 015c 0120 movs r0, #1
2324 015e F5E7 b .L144
2325 .L156:
1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2326 .loc 1 1320 14 view .LVU669
2327 0160 0120 movs r0, #1
2328 0162 F3E7 b .L144
2329 .L159:
2330 .align 2
2331 .L158:
2332 0164 00240080 .word -2147474432
2333 0168 00E800FE .word -33495040
2334 .cfi_endproc
2335 .LFE45:
2337 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits
2338 .align 1
2339 .global HAL_I2C_Slave_Transmit
2340 .syntax unified
2341 .code 16
2342 .thumb_func
2343 .fpu softvfp
2345 HAL_I2C_Slave_Transmit:
2346 .LVL153:
2347 .LFB46:
1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2348 .loc 1 1354 1 is_stmt 1 view -0
2349 .cfi_startproc
2350 @ args = 0, pretend = 0, frame = 8
2351 @ frame_needed = 0, uses_anonymous_args = 0
1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2352 .loc 1 1354 1 is_stmt 0 view .LVU671
2353 0000 F0B5 push {r4, r5, r6, r7, lr}
2354 .LCFI17:
2355 .cfi_def_cfa_offset 20
2356 .cfi_offset 4, -20
2357 .cfi_offset 5, -16
2358 .cfi_offset 6, -12
2359 .cfi_offset 7, -8
2360 .cfi_offset 14, -4
2361 0002 85B0 sub sp, sp, #20
2362 .LCFI18:
2363 .cfi_def_cfa_offset 40
ARM GAS /tmp/ccRVAHyi.s page 171
2364 0004 0400 movs r4, r0
2365 0006 0F00 movs r7, r1
2366 0008 1500 movs r5, r2
2367 000a 0393 str r3, [sp, #12]
1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2368 .loc 1 1355 3 is_stmt 1 view .LVU672
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2369 .loc 1 1357 3 view .LVU673
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2370 .loc 1 1357 11 is_stmt 0 view .LVU674
2371 000c 4123 movs r3, #65
2372 .LVL154:
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2373 .loc 1 1357 11 view .LVU675
2374 000e C35C ldrb r3, [r0, r3]
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2375 .loc 1 1357 6 view .LVU676
2376 0010 202B cmp r3, #32
2377 0012 00D0 beq .LCB2211
2378 0014 B6E0 b .L172 @long jump
2379 .LCB2211:
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2380 .loc 1 1359 5 is_stmt 1 view .LVU677
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2381 .loc 1 1359 8 is_stmt 0 view .LVU678
2382 0016 0029 cmp r1, #0
2383 0018 4CD0 beq .L162
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2384 .loc 1 1359 25 discriminator 1 view .LVU679
2385 001a 002A cmp r2, #0
2386 001c 4AD0 beq .L162
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2387 .loc 1 1365 5 is_stmt 1 view .LVU680
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2388 .loc 1 1365 5 view .LVU681
2389 001e 4023 movs r3, #64
2390 0020 C35C ldrb r3, [r0, r3]
2391 0022 012B cmp r3, #1
2392 0024 00D1 bne .LCB2222
2393 0026 B0E0 b .L173 @long jump
2394 .LCB2222:
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2395 .loc 1 1365 5 discriminator 2 view .LVU682
2396 0028 4023 movs r3, #64
2397 002a 0122 movs r2, #1
2398 .LVL155:
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2399 .loc 1 1365 5 is_stmt 0 discriminator 2 view .LVU683
2400 002c C254 strb r2, [r0, r3]
1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2401 .loc 1 1368 5 is_stmt 1 discriminator 2 view .LVU684
1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2402 .loc 1 1368 17 is_stmt 0 discriminator 2 view .LVU685
2403 002e FFF7FEFF bl HAL_GetTick
2404 .LVL156:
1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2405 .loc 1 1368 17 discriminator 2 view .LVU686
ARM GAS /tmp/ccRVAHyi.s page 172
2406 0032 0600 movs r6, r0
2407 .LVL157:
1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2408 .loc 1 1370 5 is_stmt 1 discriminator 2 view .LVU687
1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2409 .loc 1 1370 21 is_stmt 0 discriminator 2 view .LVU688
2410 0034 4123 movs r3, #65
2411 0036 2122 movs r2, #33
2412 0038 E254 strb r2, [r4, r3]
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2413 .loc 1 1371 5 is_stmt 1 discriminator 2 view .LVU689
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2414 .loc 1 1371 21 is_stmt 0 discriminator 2 view .LVU690
2415 003a 0133 adds r3, r3, #1
2416 003c 013A subs r2, r2, #1
2417 003e E254 strb r2, [r4, r3]
1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2418 .loc 1 1372 5 is_stmt 1 discriminator 2 view .LVU691
1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2419 .loc 1 1372 21 is_stmt 0 discriminator 2 view .LVU692
2420 0040 0023 movs r3, #0
2421 0042 6364 str r3, [r4, #68]
1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2422 .loc 1 1375 5 is_stmt 1 discriminator 2 view .LVU693
1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2423 .loc 1 1375 21 is_stmt 0 discriminator 2 view .LVU694
2424 0044 6762 str r7, [r4, #36]
1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2425 .loc 1 1376 5 is_stmt 1 discriminator 2 view .LVU695
1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2426 .loc 1 1376 21 is_stmt 0 discriminator 2 view .LVU696
2427 0046 6585 strh r5, [r4, #42]
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2428 .loc 1 1377 5 is_stmt 1 discriminator 2 view .LVU697
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2429 .loc 1 1377 21 is_stmt 0 discriminator 2 view .LVU698
2430 0048 6363 str r3, [r4, #52]
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2431 .loc 1 1380 5 is_stmt 1 discriminator 2 view .LVU699
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2432 .loc 1 1380 9 is_stmt 0 discriminator 2 view .LVU700
2433 004a 2268 ldr r2, [r4]
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2434 .loc 1 1380 25 discriminator 2 view .LVU701
2435 004c 5368 ldr r3, [r2, #4]
2436 004e 5149 ldr r1, .L181
2437 0050 0B40 ands r3, r1
2438 0052 5360 str r3, [r2, #4]
1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2439 .loc 1 1383 5 is_stmt 1 discriminator 2 view .LVU702
1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2440 .loc 1 1383 9 is_stmt 0 discriminator 2 view .LVU703
2441 0054 0090 str r0, [sp]
2442 0056 039B ldr r3, [sp, #12]
2443 0058 0022 movs r2, #0
2444 005a 0821 movs r1, #8
2445 005c 2000 movs r0, r4
ARM GAS /tmp/ccRVAHyi.s page 173
2446 .LVL158:
1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2447 .loc 1 1383 9 discriminator 2 view .LVU704
2448 005e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2449 .LVL159:
1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2450 .loc 1 1383 8 discriminator 2 view .LVU705
2451 0062 0028 cmp r0, #0
2452 0064 2BD1 bne .L175
1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2453 .loc 1 1391 5 is_stmt 1 view .LVU706
2454 0066 2368 ldr r3, [r4]
2455 0068 0822 movs r2, #8
2456 006a DA61 str r2, [r3, #28]
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2457 .loc 1 1394 5 view .LVU707
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2458 .loc 1 1394 8 is_stmt 0 view .LVU708
2459 006c E368 ldr r3, [r4, #12]
2460 006e 022B cmp r3, #2
2461 0070 2DD0 beq .L176
2462 .L165:
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2463 .loc 1 1409 5 is_stmt 1 view .LVU709
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2464 .loc 1 1409 9 is_stmt 0 view .LVU710
2465 0072 8021 movs r1, #128
2466 0074 0096 str r6, [sp]
2467 0076 039B ldr r3, [sp, #12]
2468 0078 0022 movs r2, #0
2469 007a 4902 lsls r1, r1, #9
2470 007c 2000 movs r0, r4
2471 007e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2472 .LVL160:
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2473 .loc 1 1409 8 view .LVU711
2474 0082 0028 cmp r0, #0
2475 0084 38D1 bne .L177
2476 .L167:
1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2477 .loc 1 1416 16 view .LVU712
2478 0086 638D ldrh r3, [r4, #42]
2479 0088 9BB2 uxth r3, r3
1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2480 .loc 1 1416 11 view .LVU713
2481 008a 002B cmp r3, #0
2482 008c 44D0 beq .L178
1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2483 .loc 1 1419 7 is_stmt 1 view .LVU714
1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2484 .loc 1 1419 11 is_stmt 0 view .LVU715
2485 008e 3200 movs r2, r6
2486 0090 0399 ldr r1, [sp, #12]
2487 0092 2000 movs r0, r4
2488 0094 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
2489 .LVL161:
1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 174
2490 .loc 1 1419 10 view .LVU716
2491 0098 0028 cmp r0, #0
2492 009a 35D1 bne .L179
1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2493 .loc 1 1427 7 is_stmt 1 view .LVU717
1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2494 .loc 1 1427 11 is_stmt 0 view .LVU718
2495 009c 2368 ldr r3, [r4]
1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2496 .loc 1 1427 30 view .LVU719
2497 009e 626A ldr r2, [r4, #36]
2498 00a0 1278 ldrb r2, [r2]
1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2499 .loc 1 1427 28 view .LVU720
2500 00a2 9A62 str r2, [r3, #40]
1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2501 .loc 1 1430 7 is_stmt 1 view .LVU721
1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2502 .loc 1 1430 21 is_stmt 0 view .LVU722
2503 00a4 636A ldr r3, [r4, #36]
2504 00a6 0133 adds r3, r3, #1
2505 00a8 6362 str r3, [r4, #36]
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2506 .loc 1 1432 7 is_stmt 1 view .LVU723
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2507 .loc 1 1432 11 is_stmt 0 view .LVU724
2508 00aa 638D ldrh r3, [r4, #42]
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2509 .loc 1 1432 22 view .LVU725
2510 00ac 013B subs r3, r3, #1
2511 00ae 9BB2 uxth r3, r3
2512 00b0 6385 strh r3, [r4, #42]
2513 00b2 E8E7 b .L167
2514 .LVL162:
2515 .L162:
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2516 .loc 1 1361 7 is_stmt 1 view .LVU726
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2517 .loc 1 1361 23 is_stmt 0 view .LVU727
2518 00b4 8023 movs r3, #128
2519 00b6 9B00 lsls r3, r3, #2
2520 00b8 6364 str r3, [r4, #68]
1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2521 .loc 1 1362 7 is_stmt 1 view .LVU728
1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2522 .loc 1 1362 15 is_stmt 0 view .LVU729
2523 00ba 0120 movs r0, #1
2524 .LVL163:
1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2525 .loc 1 1362 15 view .LVU730
2526 00bc 63E0 b .L161
2527 .LVL164:
2528 .L175:
1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2529 .loc 1 1386 7 is_stmt 1 view .LVU731
1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2530 .loc 1 1386 11 is_stmt 0 view .LVU732
ARM GAS /tmp/ccRVAHyi.s page 175
2531 00be 2268 ldr r2, [r4]
1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2532 .loc 1 1386 27 view .LVU733
2533 00c0 5168 ldr r1, [r2, #4]
2534 00c2 8023 movs r3, #128
2535 00c4 1B02 lsls r3, r3, #8
2536 00c6 0B43 orrs r3, r1
2537 00c8 5360 str r3, [r2, #4]
1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2538 .loc 1 1387 7 is_stmt 1 view .LVU734
1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2539 .loc 1 1387 14 is_stmt 0 view .LVU735
2540 00ca 0120 movs r0, #1
2541 00cc 5BE0 b .L161
2542 .L176:
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2543 .loc 1 1397 7 is_stmt 1 view .LVU736
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2544 .loc 1 1397 11 is_stmt 0 view .LVU737
2545 00ce 0096 str r6, [sp]
2546 00d0 039B ldr r3, [sp, #12]
2547 00d2 0022 movs r2, #0
2548 00d4 0821 movs r1, #8
2549 00d6 2000 movs r0, r4
2550 00d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2551 .LVL165:
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2552 .loc 1 1397 10 view .LVU738
2553 00dc 0028 cmp r0, #0
2554 00de 03D1 bne .L180
1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2555 .loc 1 1405 7 is_stmt 1 view .LVU739
2556 00e0 2368 ldr r3, [r4]
2557 00e2 0822 movs r2, #8
2558 00e4 DA61 str r2, [r3, #28]
2559 00e6 C4E7 b .L165
2560 .L180:
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2561 .loc 1 1400 9 view .LVU740
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2562 .loc 1 1400 13 is_stmt 0 view .LVU741
2563 00e8 2268 ldr r2, [r4]
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2564 .loc 1 1400 29 view .LVU742
2565 00ea 5168 ldr r1, [r2, #4]
2566 00ec 8023 movs r3, #128
2567 00ee 1B02 lsls r3, r3, #8
2568 00f0 0B43 orrs r3, r1
2569 00f2 5360 str r3, [r2, #4]
1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2570 .loc 1 1401 9 is_stmt 1 view .LVU743
1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2571 .loc 1 1401 16 is_stmt 0 view .LVU744
2572 00f4 0120 movs r0, #1
2573 00f6 46E0 b .L161
2574 .L177:
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
ARM GAS /tmp/ccRVAHyi.s page 176
2575 .loc 1 1412 7 is_stmt 1 view .LVU745
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2576 .loc 1 1412 11 is_stmt 0 view .LVU746
2577 00f8 2268 ldr r2, [r4]
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2578 .loc 1 1412 27 view .LVU747
2579 00fa 5168 ldr r1, [r2, #4]
2580 00fc 8023 movs r3, #128
2581 00fe 1B02 lsls r3, r3, #8
2582 0100 0B43 orrs r3, r1
2583 0102 5360 str r3, [r2, #4]
1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2584 .loc 1 1413 7 is_stmt 1 view .LVU748
1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2585 .loc 1 1413 14 is_stmt 0 view .LVU749
2586 0104 0120 movs r0, #1
2587 0106 3EE0 b .L161
2588 .L179:
1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2589 .loc 1 1422 9 is_stmt 1 view .LVU750
1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2590 .loc 1 1422 13 is_stmt 0 view .LVU751
2591 0108 2268 ldr r2, [r4]
1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2592 .loc 1 1422 29 view .LVU752
2593 010a 5168 ldr r1, [r2, #4]
2594 010c 8023 movs r3, #128
2595 010e 1B02 lsls r3, r3, #8
2596 0110 0B43 orrs r3, r1
2597 0112 5360 str r3, [r2, #4]
1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2598 .loc 1 1423 9 is_stmt 1 view .LVU753
1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2599 .loc 1 1423 16 is_stmt 0 view .LVU754
2600 0114 0120 movs r0, #1
2601 0116 36E0 b .L161
2602 .L178:
1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2603 .loc 1 1436 5 is_stmt 1 view .LVU755
1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2604 .loc 1 1436 9 is_stmt 0 view .LVU756
2605 0118 3200 movs r2, r6
2606 011a 0399 ldr r1, [sp, #12]
2607 011c 2000 movs r0, r4
2608 011e FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2609 .LVL166:
1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2610 .loc 1 1436 8 view .LVU757
2611 0122 0028 cmp r0, #0
2612 0124 0AD0 beq .L170
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2613 .loc 1 1439 7 is_stmt 1 view .LVU758
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2614 .loc 1 1439 11 is_stmt 0 view .LVU759
2615 0126 2268 ldr r2, [r4]
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2616 .loc 1 1439 27 view .LVU760
ARM GAS /tmp/ccRVAHyi.s page 177
2617 0128 5168 ldr r1, [r2, #4]
2618 012a 8023 movs r3, #128
2619 012c 1B02 lsls r3, r3, #8
2620 012e 0B43 orrs r3, r1
2621 0130 5360 str r3, [r2, #4]
1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2622 .loc 1 1441 7 is_stmt 1 view .LVU761
1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2623 .loc 1 1441 15 is_stmt 0 view .LVU762
2624 0132 636C ldr r3, [r4, #68]
1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2625 .loc 1 1441 10 view .LVU763
2626 0134 042B cmp r3, #4
2627 0136 2AD1 bne .L174
1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2628 .loc 1 1445 9 is_stmt 1 view .LVU764
1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2629 .loc 1 1445 25 is_stmt 0 view .LVU765
2630 0138 0023 movs r3, #0
2631 013a 6364 str r3, [r4, #68]
2632 .L170:
1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2633 .loc 1 1454 5 is_stmt 1 view .LVU766
2634 013c 2368 ldr r3, [r4]
2635 013e 2022 movs r2, #32
2636 0140 DA61 str r2, [r3, #28]
1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2637 .loc 1 1457 5 view .LVU767
1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2638 .loc 1 1457 9 is_stmt 0 view .LVU768
2639 0142 8021 movs r1, #128
2640 0144 0096 str r6, [sp]
2641 0146 039B ldr r3, [sp, #12]
2642 0148 1F3A subs r2, r2, #31
2643 014a 0902 lsls r1, r1, #8
2644 014c 2000 movs r0, r4
2645 014e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2646 .LVL167:
1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2647 .loc 1 1457 8 view .LVU769
2648 0152 0028 cmp r0, #0
2649 0154 07D0 beq .L171
1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2650 .loc 1 1460 7 is_stmt 1 view .LVU770
1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2651 .loc 1 1460 11 is_stmt 0 view .LVU771
2652 0156 2268 ldr r2, [r4]
1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2653 .loc 1 1460 27 view .LVU772
2654 0158 5168 ldr r1, [r2, #4]
2655 015a 8023 movs r3, #128
2656 015c 1B02 lsls r3, r3, #8
2657 015e 0B43 orrs r3, r1
2658 0160 5360 str r3, [r2, #4]
1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2659 .loc 1 1461 7 is_stmt 1 view .LVU773
1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 178
2660 .loc 1 1461 14 is_stmt 0 view .LVU774
2661 0162 0120 movs r0, #1
2662 0164 0FE0 b .L161
2663 .L171:
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2664 .loc 1 1465 5 is_stmt 1 view .LVU775
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2665 .loc 1 1465 9 is_stmt 0 view .LVU776
2666 0166 2268 ldr r2, [r4]
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2667 .loc 1 1465 25 view .LVU777
2668 0168 5168 ldr r1, [r2, #4]
2669 016a 8023 movs r3, #128
2670 016c 1B02 lsls r3, r3, #8
2671 016e 0B43 orrs r3, r1
2672 0170 5360 str r3, [r2, #4]
1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2673 .loc 1 1467 5 is_stmt 1 view .LVU778
1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2674 .loc 1 1467 17 is_stmt 0 view .LVU779
2675 0172 4123 movs r3, #65
2676 0174 2022 movs r2, #32
2677 0176 E254 strb r2, [r4, r3]
1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2678 .loc 1 1468 5 is_stmt 1 view .LVU780
1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2679 .loc 1 1468 17 is_stmt 0 view .LVU781
2680 0178 0023 movs r3, #0
2681 017a 2232 adds r2, r2, #34
2682 017c A354 strb r3, [r4, r2]
1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2683 .loc 1 1471 5 is_stmt 1 view .LVU782
1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2684 .loc 1 1471 5 view .LVU783
2685 017e 023A subs r2, r2, #2
2686 0180 A354 strb r3, [r4, r2]
1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2687 .loc 1 1473 5 view .LVU784
1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2688 .loc 1 1473 12 is_stmt 0 view .LVU785
2689 0182 00E0 b .L161
2690 .LVL168:
2691 .L172:
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2692 .loc 1 1477 12 view .LVU786
2693 0184 0220 movs r0, #2
2694 .LVL169:
2695 .L161:
1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2696 .loc 1 1479 1 view .LVU787
2697 0186 05B0 add sp, sp, #20
2698 @ sp needed
2699 .LVL170:
2700 .LVL171:
1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2701 .loc 1 1479 1 view .LVU788
2702 0188 F0BD pop {r4, r5, r6, r7, pc}
ARM GAS /tmp/ccRVAHyi.s page 179
2703 .LVL172:
2704 .L173:
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2705 .loc 1 1365 5 view .LVU789
2706 018a 0220 movs r0, #2
2707 .LVL173:
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2708 .loc 1 1365 5 view .LVU790
2709 018c FBE7 b .L161
2710 .LVL174:
2711 .L174:
1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2712 .loc 1 1449 16 view .LVU791
2713 018e 0120 movs r0, #1
2714 0190 F9E7 b .L161
2715 .L182:
2716 0192 C046 .align 2
2717 .L181:
2718 0194 FF7FFFFF .word -32769
2719 .cfi_endproc
2720 .LFE46:
2722 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits
2723 .align 1
2724 .global HAL_I2C_Slave_Receive
2725 .syntax unified
2726 .code 16
2727 .thumb_func
2728 .fpu softvfp
2730 HAL_I2C_Slave_Receive:
2731 .LVL175:
2732 .LFB47:
1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2733 .loc 1 1492 1 is_stmt 1 view -0
2734 .cfi_startproc
2735 @ args = 0, pretend = 0, frame = 8
2736 @ frame_needed = 0, uses_anonymous_args = 0
1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2737 .loc 1 1492 1 is_stmt 0 view .LVU793
2738 0000 F0B5 push {r4, r5, r6, r7, lr}
2739 .LCFI19:
2740 .cfi_def_cfa_offset 20
2741 .cfi_offset 4, -20
2742 .cfi_offset 5, -16
2743 .cfi_offset 6, -12
2744 .cfi_offset 7, -8
2745 .cfi_offset 14, -4
2746 0002 85B0 sub sp, sp, #20
2747 .LCFI20:
2748 .cfi_def_cfa_offset 40
2749 0004 0400 movs r4, r0
2750 0006 0F00 movs r7, r1
2751 0008 1500 movs r5, r2
2752 000a 0393 str r3, [sp, #12]
1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2753 .loc 1 1493 3 is_stmt 1 view .LVU794
1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2754 .loc 1 1495 3 view .LVU795
ARM GAS /tmp/ccRVAHyi.s page 180
1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2755 .loc 1 1495 11 is_stmt 0 view .LVU796
2756 000c 4123 movs r3, #65
2757 .LVL176:
1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2758 .loc 1 1495 11 view .LVU797
2759 000e C35C ldrb r3, [r0, r3]
1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2760 .loc 1 1495 6 view .LVU798
2761 0010 202B cmp r3, #32
2762 0012 00D0 beq .LCB2567
2763 0014 A9E0 b .L194 @long jump
2764 .LCB2567:
1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2765 .loc 1 1497 5 is_stmt 1 view .LVU799
1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2766 .loc 1 1497 8 is_stmt 0 view .LVU800
2767 0016 0029 cmp r1, #0
2768 0018 2DD0 beq .L185
1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2769 .loc 1 1497 25 discriminator 1 view .LVU801
2770 001a 002A cmp r2, #0
2771 001c 2BD0 beq .L185
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2772 .loc 1 1503 5 is_stmt 1 view .LVU802
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2773 .loc 1 1503 5 view .LVU803
2774 001e 4023 movs r3, #64
2775 0020 C35C ldrb r3, [r0, r3]
2776 0022 012B cmp r3, #1
2777 0024 00D1 bne .LCB2578
2778 0026 A3E0 b .L195 @long jump
2779 .LCB2578:
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2780 .loc 1 1503 5 discriminator 2 view .LVU804
2781 0028 4023 movs r3, #64
2782 002a 0122 movs r2, #1
2783 .LVL177:
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2784 .loc 1 1503 5 is_stmt 0 discriminator 2 view .LVU805
2785 002c C254 strb r2, [r0, r3]
1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2786 .loc 1 1506 5 is_stmt 1 discriminator 2 view .LVU806
1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2787 .loc 1 1506 17 is_stmt 0 discriminator 2 view .LVU807
2788 002e FFF7FEFF bl HAL_GetTick
2789 .LVL178:
1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2790 .loc 1 1506 17 discriminator 2 view .LVU808
2791 0032 0600 movs r6, r0
2792 .LVL179:
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2793 .loc 1 1508 5 is_stmt 1 discriminator 2 view .LVU809
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2794 .loc 1 1508 21 is_stmt 0 discriminator 2 view .LVU810
2795 0034 4123 movs r3, #65
2796 0036 2222 movs r2, #34
ARM GAS /tmp/ccRVAHyi.s page 181
2797 0038 E254 strb r2, [r4, r3]
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2798 .loc 1 1509 5 is_stmt 1 discriminator 2 view .LVU811
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2799 .loc 1 1509 21 is_stmt 0 discriminator 2 view .LVU812
2800 003a 0133 adds r3, r3, #1
2801 003c 023A subs r2, r2, #2
2802 003e E254 strb r2, [r4, r3]
1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2803 .loc 1 1510 5 is_stmt 1 discriminator 2 view .LVU813
1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2804 .loc 1 1510 21 is_stmt 0 discriminator 2 view .LVU814
2805 0040 0023 movs r3, #0
2806 0042 6364 str r3, [r4, #68]
1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2807 .loc 1 1513 5 is_stmt 1 discriminator 2 view .LVU815
1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2808 .loc 1 1513 21 is_stmt 0 discriminator 2 view .LVU816
2809 0044 6762 str r7, [r4, #36]
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2810 .loc 1 1514 5 is_stmt 1 discriminator 2 view .LVU817
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2811 .loc 1 1514 21 is_stmt 0 discriminator 2 view .LVU818
2812 0046 6585 strh r5, [r4, #42]
1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2813 .loc 1 1515 5 is_stmt 1 discriminator 2 view .LVU819
1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2814 .loc 1 1515 21 is_stmt 0 discriminator 2 view .LVU820
2815 0048 6363 str r3, [r4, #52]
1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2816 .loc 1 1518 5 is_stmt 1 discriminator 2 view .LVU821
1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2817 .loc 1 1518 9 is_stmt 0 discriminator 2 view .LVU822
2818 004a 2268 ldr r2, [r4]
1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2819 .loc 1 1518 25 discriminator 2 view .LVU823
2820 004c 5368 ldr r3, [r2, #4]
2821 004e 4949 ldr r1, .L199
2822 0050 0B40 ands r3, r1
2823 0052 5360 str r3, [r2, #4]
1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2824 .loc 1 1521 5 is_stmt 1 discriminator 2 view .LVU824
1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2825 .loc 1 1521 9 is_stmt 0 discriminator 2 view .LVU825
2826 0054 0090 str r0, [sp]
2827 0056 039B ldr r3, [sp, #12]
2828 0058 0022 movs r2, #0
2829 005a 0821 movs r1, #8
2830 005c 2000 movs r0, r4
2831 .LVL180:
1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2832 .loc 1 1521 9 discriminator 2 view .LVU826
2833 005e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2834 .LVL181:
1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2835 .loc 1 1521 8 discriminator 2 view .LVU827
2836 0062 0028 cmp r0, #0
ARM GAS /tmp/ccRVAHyi.s page 182
2837 0064 0CD0 beq .L187
1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2838 .loc 1 1524 7 is_stmt 1 view .LVU828
1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2839 .loc 1 1524 11 is_stmt 0 view .LVU829
2840 0066 2268 ldr r2, [r4]
1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2841 .loc 1 1524 27 view .LVU830
2842 0068 5168 ldr r1, [r2, #4]
2843 006a 8023 movs r3, #128
2844 006c 1B02 lsls r3, r3, #8
2845 006e 0B43 orrs r3, r1
2846 0070 5360 str r3, [r2, #4]
1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2847 .loc 1 1525 7 is_stmt 1 view .LVU831
1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2848 .loc 1 1525 14 is_stmt 0 view .LVU832
2849 0072 0120 movs r0, #1
2850 0074 7AE0 b .L184
2851 .LVL182:
2852 .L185:
1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2853 .loc 1 1499 7 is_stmt 1 view .LVU833
1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2854 .loc 1 1499 23 is_stmt 0 view .LVU834
2855 0076 8023 movs r3, #128
2856 0078 9B00 lsls r3, r3, #2
2857 007a 6364 str r3, [r4, #68]
1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2858 .loc 1 1500 7 is_stmt 1 view .LVU835
1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2859 .loc 1 1500 15 is_stmt 0 view .LVU836
2860 007c 0120 movs r0, #1
2861 .LVL183:
1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2862 .loc 1 1500 15 view .LVU837
2863 007e 75E0 b .L184
2864 .LVL184:
2865 .L187:
1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2866 .loc 1 1529 5 is_stmt 1 view .LVU838
2867 0080 2368 ldr r3, [r4]
2868 0082 0822 movs r2, #8
2869 0084 DA61 str r2, [r3, #28]
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2870 .loc 1 1532 5 view .LVU839
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2871 .loc 1 1532 9 is_stmt 0 view .LVU840
2872 0086 8021 movs r1, #128
2873 0088 0096 str r6, [sp]
2874 008a 039B ldr r3, [sp, #12]
2875 008c 073A subs r2, r2, #7
2876 008e 4902 lsls r1, r1, #9
2877 0090 2000 movs r0, r4
2878 0092 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2879 .LVL185:
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 183
2880 .loc 1 1532 8 view .LVU841
2881 0096 0028 cmp r0, #0
2882 0098 16D1 bne .L196
2883 .L188:
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2884 .loc 1 1539 16 view .LVU842
2885 009a 638D ldrh r3, [r4, #42]
2886 009c 9BB2 uxth r3, r3
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2887 .loc 1 1539 11 view .LVU843
2888 009e 002B cmp r3, #0
2889 00a0 30D0 beq .L197
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2890 .loc 1 1542 7 is_stmt 1 view .LVU844
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2891 .loc 1 1542 11 is_stmt 0 view .LVU845
2892 00a2 3200 movs r2, r6
2893 00a4 0399 ldr r1, [sp, #12]
2894 00a6 2000 movs r0, r4
2895 00a8 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
2896 .LVL186:
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2897 .loc 1 1542 10 view .LVU846
2898 00ac 0028 cmp r0, #0
2899 00ae 13D1 bne .L198
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2900 .loc 1 1563 7 is_stmt 1 view .LVU847
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2901 .loc 1 1563 38 is_stmt 0 view .LVU848
2902 00b0 2368 ldr r3, [r4]
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2903 .loc 1 1563 48 view .LVU849
2904 00b2 5B6A ldr r3, [r3, #36]
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2905 .loc 1 1563 23 view .LVU850
2906 00b4 626A ldr r2, [r4, #36]
2907 00b6 1370 strb r3, [r2]
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2908 .loc 1 1566 7 is_stmt 1 view .LVU851
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2909 .loc 1 1566 21 is_stmt 0 view .LVU852
2910 00b8 636A ldr r3, [r4, #36]
2911 00ba 0133 adds r3, r3, #1
2912 00bc 6362 str r3, [r4, #36]
1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2913 .loc 1 1568 7 is_stmt 1 view .LVU853
1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2914 .loc 1 1568 11 is_stmt 0 view .LVU854
2915 00be 638D ldrh r3, [r4, #42]
1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2916 .loc 1 1568 22 view .LVU855
2917 00c0 013B subs r3, r3, #1
2918 00c2 9BB2 uxth r3, r3
2919 00c4 6385 strh r3, [r4, #42]
2920 00c6 E8E7 b .L188
2921 .L196:
1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
ARM GAS /tmp/ccRVAHyi.s page 184
2922 .loc 1 1535 7 is_stmt 1 view .LVU856
1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2923 .loc 1 1535 11 is_stmt 0 view .LVU857
2924 00c8 2268 ldr r2, [r4]
1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2925 .loc 1 1535 27 view .LVU858
2926 00ca 5168 ldr r1, [r2, #4]
2927 00cc 8023 movs r3, #128
2928 00ce 1B02 lsls r3, r3, #8
2929 00d0 0B43 orrs r3, r1
2930 00d2 5360 str r3, [r2, #4]
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2931 .loc 1 1536 7 is_stmt 1 view .LVU859
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2932 .loc 1 1536 14 is_stmt 0 view .LVU860
2933 00d4 0120 movs r0, #1
2934 00d6 49E0 b .L184
2935 .L198:
1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2936 .loc 1 1545 9 is_stmt 1 view .LVU861
1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2937 .loc 1 1545 13 is_stmt 0 view .LVU862
2938 00d8 2268 ldr r2, [r4]
1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2939 .loc 1 1545 29 view .LVU863
2940 00da 5168 ldr r1, [r2, #4]
2941 00dc 8023 movs r3, #128
2942 00de 1B02 lsls r3, r3, #8
2943 00e0 0B43 orrs r3, r1
2944 00e2 5360 str r3, [r2, #4]
1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2945 .loc 1 1548 9 is_stmt 1 view .LVU864
1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2946 .loc 1 1548 13 is_stmt 0 view .LVU865
2947 00e4 2368 ldr r3, [r4]
2948 00e6 9A69 ldr r2, [r3, #24]
1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2949 .loc 1 1548 12 view .LVU866
2950 00e8 5207 lsls r2, r2, #29
2951 00ea 09D5 bpl .L190
1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2952 .loc 1 1551 11 is_stmt 1 view .LVU867
1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2953 .loc 1 1551 52 is_stmt 0 view .LVU868
2954 00ec 5B6A ldr r3, [r3, #36]
1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2955 .loc 1 1551 27 view .LVU869
2956 00ee 626A ldr r2, [r4, #36]
2957 00f0 1370 strb r3, [r2]
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2958 .loc 1 1554 11 is_stmt 1 view .LVU870
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2959 .loc 1 1554 25 is_stmt 0 view .LVU871
2960 00f2 636A ldr r3, [r4, #36]
2961 00f4 0133 adds r3, r3, #1
2962 00f6 6362 str r3, [r4, #36]
1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 185
2963 .loc 1 1556 11 is_stmt 1 view .LVU872
1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2964 .loc 1 1556 15 is_stmt 0 view .LVU873
2965 00f8 638D ldrh r3, [r4, #42]
1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2966 .loc 1 1556 26 view .LVU874
2967 00fa 013B subs r3, r3, #1
2968 00fc 9BB2 uxth r3, r3
2969 00fe 6385 strh r3, [r4, #42]
2970 .L190:
1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2971 .loc 1 1559 9 is_stmt 1 view .LVU875
1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2972 .loc 1 1559 16 is_stmt 0 view .LVU876
2973 0100 0120 movs r0, #1
2974 0102 33E0 b .L184
2975 .L197:
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2976 .loc 1 1572 5 is_stmt 1 view .LVU877
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2977 .loc 1 1572 9 is_stmt 0 view .LVU878
2978 0104 3200 movs r2, r6
2979 0106 0399 ldr r1, [sp, #12]
2980 0108 2000 movs r0, r4
2981 010a FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2982 .LVL187:
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2983 .loc 1 1572 8 view .LVU879
2984 010e 0028 cmp r0, #0
2985 0110 07D0 beq .L192
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2986 .loc 1 1575 7 is_stmt 1 view .LVU880
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2987 .loc 1 1575 11 is_stmt 0 view .LVU881
2988 0112 2268 ldr r2, [r4]
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2989 .loc 1 1575 27 view .LVU882
2990 0114 5168 ldr r1, [r2, #4]
2991 0116 8023 movs r3, #128
2992 0118 1B02 lsls r3, r3, #8
2993 011a 0B43 orrs r3, r1
2994 011c 5360 str r3, [r2, #4]
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2995 .loc 1 1576 7 is_stmt 1 view .LVU883
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2996 .loc 1 1576 14 is_stmt 0 view .LVU884
2997 011e 0120 movs r0, #1
2998 0120 24E0 b .L184
2999 .L192:
1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3000 .loc 1 1580 5 is_stmt 1 view .LVU885
3001 0122 2368 ldr r3, [r4]
3002 0124 2022 movs r2, #32
3003 0126 DA61 str r2, [r3, #28]
1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3004 .loc 1 1583 5 view .LVU886
1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 186
3005 .loc 1 1583 9 is_stmt 0 view .LVU887
3006 0128 8021 movs r1, #128
3007 012a 0096 str r6, [sp]
3008 012c 039B ldr r3, [sp, #12]
3009 012e 1F3A subs r2, r2, #31
3010 0130 0902 lsls r1, r1, #8
3011 0132 2000 movs r0, r4
3012 0134 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3013 .LVL188:
1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3014 .loc 1 1583 8 view .LVU888
3015 0138 0028 cmp r0, #0
3016 013a 07D0 beq .L193
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3017 .loc 1 1586 7 is_stmt 1 view .LVU889
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3018 .loc 1 1586 11 is_stmt 0 view .LVU890
3019 013c 2268 ldr r2, [r4]
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3020 .loc 1 1586 27 view .LVU891
3021 013e 5168 ldr r1, [r2, #4]
3022 0140 8023 movs r3, #128
3023 0142 1B02 lsls r3, r3, #8
3024 0144 0B43 orrs r3, r1
3025 0146 5360 str r3, [r2, #4]
1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3026 .loc 1 1587 7 is_stmt 1 view .LVU892
1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3027 .loc 1 1587 14 is_stmt 0 view .LVU893
3028 0148 0120 movs r0, #1
3029 014a 0FE0 b .L184
3030 .L193:
1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3031 .loc 1 1591 5 is_stmt 1 view .LVU894
1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3032 .loc 1 1591 9 is_stmt 0 view .LVU895
3033 014c 2268 ldr r2, [r4]
1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3034 .loc 1 1591 25 view .LVU896
3035 014e 5168 ldr r1, [r2, #4]
3036 0150 8023 movs r3, #128
3037 0152 1B02 lsls r3, r3, #8
3038 0154 0B43 orrs r3, r1
3039 0156 5360 str r3, [r2, #4]
1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3040 .loc 1 1593 5 is_stmt 1 view .LVU897
1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3041 .loc 1 1593 17 is_stmt 0 view .LVU898
3042 0158 4123 movs r3, #65
3043 015a 2022 movs r2, #32
3044 015c E254 strb r2, [r4, r3]
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3045 .loc 1 1594 5 is_stmt 1 view .LVU899
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3046 .loc 1 1594 17 is_stmt 0 view .LVU900
3047 015e 0023 movs r3, #0
3048 0160 2232 adds r2, r2, #34
ARM GAS /tmp/ccRVAHyi.s page 187
3049 0162 A354 strb r3, [r4, r2]
1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3050 .loc 1 1597 5 is_stmt 1 view .LVU901
1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3051 .loc 1 1597 5 view .LVU902
3052 0164 023A subs r2, r2, #2
3053 0166 A354 strb r3, [r4, r2]
1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3054 .loc 1 1599 5 view .LVU903
1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3055 .loc 1 1599 12 is_stmt 0 view .LVU904
3056 0168 00E0 b .L184
3057 .LVL189:
3058 .L194:
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3059 .loc 1 1603 12 view .LVU905
3060 016a 0220 movs r0, #2
3061 .LVL190:
3062 .L184:
1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3063 .loc 1 1605 1 view .LVU906
3064 016c 05B0 add sp, sp, #20
3065 @ sp needed
3066 .LVL191:
3067 .LVL192:
1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3068 .loc 1 1605 1 view .LVU907
3069 016e F0BD pop {r4, r5, r6, r7, pc}
3070 .LVL193:
3071 .L195:
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3072 .loc 1 1503 5 view .LVU908
3073 0170 0220 movs r0, #2
3074 .LVL194:
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3075 .loc 1 1503 5 view .LVU909
3076 0172 FBE7 b .L184
3077 .L200:
3078 .align 2
3079 .L199:
3080 0174 FF7FFFFF .word -32769
3081 .cfi_endproc
3082 .LFE47:
3084 .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
3085 .align 1
3086 .global HAL_I2C_Master_Transmit_IT
3087 .syntax unified
3088 .code 16
3089 .thumb_func
3090 .fpu softvfp
3092 HAL_I2C_Master_Transmit_IT:
3093 .LVL195:
3094 .LFB48:
1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3095 .loc 1 1619 1 is_stmt 1 view -0
3096 .cfi_startproc
3097 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccRVAHyi.s page 188
3098 @ frame_needed = 0, uses_anonymous_args = 0
1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3099 .loc 1 1619 1 is_stmt 0 view .LVU911
3100 0000 30B5 push {r4, r5, lr}
3101 .LCFI21:
3102 .cfi_def_cfa_offset 12
3103 .cfi_offset 4, -12
3104 .cfi_offset 5, -8
3105 .cfi_offset 14, -4
3106 0002 83B0 sub sp, sp, #12
3107 .LCFI22:
3108 .cfi_def_cfa_offset 24
3109 0004 0400 movs r4, r0
1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3110 .loc 1 1620 3 is_stmt 1 view .LVU912
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3111 .loc 1 1622 3 view .LVU913
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3112 .loc 1 1622 11 is_stmt 0 view .LVU914
3113 0006 4120 movs r0, #65
3114 .LVL196:
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3115 .loc 1 1622 11 view .LVU915
3116 0008 205C ldrb r0, [r4, r0]
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3117 .loc 1 1622 6 view .LVU916
3118 000a 2028 cmp r0, #32
3119 000c 36D1 bne .L205
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3120 .loc 1 1624 5 is_stmt 1 view .LVU917
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3121 .loc 1 1624 9 is_stmt 0 view .LVU918
3122 000e 2068 ldr r0, [r4]
3123 0010 8069 ldr r0, [r0, #24]
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3124 .loc 1 1624 8 view .LVU919
3125 0012 0004 lsls r0, r0, #16
3126 0014 34D4 bmi .L206
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3127 .loc 1 1630 5 is_stmt 1 view .LVU920
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3128 .loc 1 1630 5 view .LVU921
3129 0016 4020 movs r0, #64
3130 0018 205C ldrb r0, [r4, r0]
3131 001a 0128 cmp r0, #1
3132 001c 32D0 beq .L207
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3133 .loc 1 1630 5 discriminator 2 view .LVU922
3134 001e 4020 movs r0, #64
3135 0020 0125 movs r5, #1
3136 0022 2554 strb r5, [r4, r0]
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3137 .loc 1 1632 5 discriminator 2 view .LVU923
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3138 .loc 1 1632 23 is_stmt 0 discriminator 2 view .LVU924
3139 0024 0130 adds r0, r0, #1
3140 0026 2035 adds r5, r5, #32
ARM GAS /tmp/ccRVAHyi.s page 189
3141 0028 2554 strb r5, [r4, r0]
1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3142 .loc 1 1633 5 is_stmt 1 discriminator 2 view .LVU925
1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3143 .loc 1 1633 23 is_stmt 0 discriminator 2 view .LVU926
3144 002a 0130 adds r0, r0, #1
3145 002c 113D subs r5, r5, #17
3146 002e 2554 strb r5, [r4, r0]
1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3147 .loc 1 1634 5 is_stmt 1 discriminator 2 view .LVU927
1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3148 .loc 1 1634 23 is_stmt 0 discriminator 2 view .LVU928
3149 0030 0020 movs r0, #0
3150 0032 6064 str r0, [r4, #68]
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3151 .loc 1 1637 5 is_stmt 1 discriminator 2 view .LVU929
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3152 .loc 1 1637 23 is_stmt 0 discriminator 2 view .LVU930
3153 0034 6262 str r2, [r4, #36]
1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3154 .loc 1 1638 5 is_stmt 1 discriminator 2 view .LVU931
1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3155 .loc 1 1638 23 is_stmt 0 discriminator 2 view .LVU932
3156 0036 6385 strh r3, [r4, #42]
1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3157 .loc 1 1639 5 is_stmt 1 discriminator 2 view .LVU933
1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3158 .loc 1 1639 23 is_stmt 0 discriminator 2 view .LVU934
3159 0038 134B ldr r3, .L208
3160 .LVL197:
1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3161 .loc 1 1639 23 discriminator 2 view .LVU935
3162 003a E362 str r3, [r4, #44]
3163 .LVL198:
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3164 .loc 1 1640 5 is_stmt 1 discriminator 2 view .LVU936
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3165 .loc 1 1640 23 is_stmt 0 discriminator 2 view .LVU937
3166 003c 134B ldr r3, .L208+4
3167 003e 6363 str r3, [r4, #52]
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3168 .loc 1 1642 5 is_stmt 1 discriminator 2 view .LVU938
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3169 .loc 1 1642 13 is_stmt 0 discriminator 2 view .LVU939
3170 0040 638D ldrh r3, [r4, #42]
3171 0042 9BB2 uxth r3, r3
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3172 .loc 1 1642 8 discriminator 2 view .LVU940
3173 0044 FF2B cmp r3, #255
3174 0046 14D9 bls .L203
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3175 .loc 1 1644 7 is_stmt 1 view .LVU941
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3176 .loc 1 1644 22 is_stmt 0 view .LVU942
3177 0048 FF23 movs r3, #255
3178 004a 2385 strh r3, [r4, #40]
1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 190
3179 .loc 1 1645 7 is_stmt 1 view .LVU943
3180 .LVL199:
1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3181 .loc 1 1645 16 is_stmt 0 view .LVU944
3182 004c 8023 movs r3, #128
3183 004e 5B04 lsls r3, r3, #17
3184 .LVL200:
3185 .L204:
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3186 .loc 1 1655 5 is_stmt 1 view .LVU945
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3187 .loc 1 1655 55 is_stmt 0 view .LVU946
3188 0050 228D ldrh r2, [r4, #40]
3189 .LVL201:
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3190 .loc 1 1655 5 view .LVU947
3191 0052 D2B2 uxtb r2, r2
3192 0054 0E48 ldr r0, .L208+8
3193 0056 0090 str r0, [sp]
3194 .LVL202:
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3195 .loc 1 1655 5 view .LVU948
3196 0058 2000 movs r0, r4
3197 005a FFF7FEFF bl I2C_TransferConfig
3198 .LVL203:
1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3199 .loc 1 1658 5 is_stmt 1 view .LVU949
1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3200 .loc 1 1658 5 view .LVU950
3201 005e 4023 movs r3, #64
3202 0060 0022 movs r2, #0
3203 0062 E254 strb r2, [r4, r3]
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3204 .loc 1 1668 5 view .LVU951
3205 0064 0121 movs r1, #1
3206 0066 2000 movs r0, r4
3207 0068 FFF7FEFF bl I2C_Enable_IRQ
3208 .LVL204:
1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3209 .loc 1 1670 5 view .LVU952
1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3210 .loc 1 1670 12 is_stmt 0 view .LVU953
3211 006c 0020 movs r0, #0
3212 .L202:
1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3213 .loc 1 1676 1 view .LVU954
3214 006e 03B0 add sp, sp, #12
3215 @ sp needed
3216 .LVL205:
1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3217 .loc 1 1676 1 view .LVU955
3218 0070 30BD pop {r4, r5, pc}
3219 .LVL206:
3220 .L203:
1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3221 .loc 1 1649 7 is_stmt 1 view .LVU956
1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
ARM GAS /tmp/ccRVAHyi.s page 191
3222 .loc 1 1649 28 is_stmt 0 view .LVU957
3223 0072 638D ldrh r3, [r4, #42]
1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3224 .loc 1 1649 22 view .LVU958
3225 0074 2385 strh r3, [r4, #40]
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3226 .loc 1 1650 7 is_stmt 1 view .LVU959
3227 .LVL207:
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3228 .loc 1 1650 16 is_stmt 0 view .LVU960
3229 0076 8023 movs r3, #128
3230 0078 9B04 lsls r3, r3, #18
3231 007a E9E7 b .L204
3232 .LVL208:
3233 .L205:
1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3234 .loc 1 1674 12 view .LVU961
3235 007c 0220 movs r0, #2
3236 007e F6E7 b .L202
3237 .L206:
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3238 .loc 1 1626 14 view .LVU962
3239 0080 0220 movs r0, #2
3240 0082 F4E7 b .L202
3241 .L207:
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3242 .loc 1 1630 5 view .LVU963
3243 0084 0220 movs r0, #2
3244 0086 F2E7 b .L202
3245 .L209:
3246 .align 2
3247 .L208:
3248 0088 0000FFFF .word -65536
3249 008c 00000000 .word I2C_Master_ISR_IT
3250 0090 00200080 .word -2147475456
3251 .cfi_endproc
3252 .LFE48:
3254 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits
3255 .align 1
3256 .global HAL_I2C_Master_Receive_IT
3257 .syntax unified
3258 .code 16
3259 .thumb_func
3260 .fpu softvfp
3262 HAL_I2C_Master_Receive_IT:
3263 .LVL209:
3264 .LFB49:
1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3265 .loc 1 1690 1 is_stmt 1 view -0
3266 .cfi_startproc
3267 @ args = 0, pretend = 0, frame = 0
3268 @ frame_needed = 0, uses_anonymous_args = 0
1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3269 .loc 1 1690 1 is_stmt 0 view .LVU965
3270 0000 30B5 push {r4, r5, lr}
3271 .LCFI23:
3272 .cfi_def_cfa_offset 12
ARM GAS /tmp/ccRVAHyi.s page 192
3273 .cfi_offset 4, -12
3274 .cfi_offset 5, -8
3275 .cfi_offset 14, -4
3276 0002 83B0 sub sp, sp, #12
3277 .LCFI24:
3278 .cfi_def_cfa_offset 24
3279 0004 0400 movs r4, r0
1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3280 .loc 1 1691 3 is_stmt 1 view .LVU966
1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3281 .loc 1 1693 3 view .LVU967
1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3282 .loc 1 1693 11 is_stmt 0 view .LVU968
3283 0006 4120 movs r0, #65
3284 .LVL210:
1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3285 .loc 1 1693 11 view .LVU969
3286 0008 205C ldrb r0, [r4, r0]
1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3287 .loc 1 1693 6 view .LVU970
3288 000a 2028 cmp r0, #32
3289 000c 36D1 bne .L214
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3290 .loc 1 1695 5 is_stmt 1 view .LVU971
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3291 .loc 1 1695 9 is_stmt 0 view .LVU972
3292 000e 2068 ldr r0, [r4]
3293 0010 8069 ldr r0, [r0, #24]
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3294 .loc 1 1695 8 view .LVU973
3295 0012 0004 lsls r0, r0, #16
3296 0014 34D4 bmi .L215
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3297 .loc 1 1701 5 is_stmt 1 view .LVU974
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3298 .loc 1 1701 5 view .LVU975
3299 0016 4020 movs r0, #64
3300 0018 205C ldrb r0, [r4, r0]
3301 001a 0128 cmp r0, #1
3302 001c 32D0 beq .L216
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3303 .loc 1 1701 5 discriminator 2 view .LVU976
3304 001e 4020 movs r0, #64
3305 0020 0125 movs r5, #1
3306 0022 2554 strb r5, [r4, r0]
1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3307 .loc 1 1703 5 discriminator 2 view .LVU977
1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3308 .loc 1 1703 23 is_stmt 0 discriminator 2 view .LVU978
3309 0024 0130 adds r0, r0, #1
3310 0026 2135 adds r5, r5, #33
3311 0028 2554 strb r5, [r4, r0]
1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3312 .loc 1 1704 5 is_stmt 1 discriminator 2 view .LVU979
1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3313 .loc 1 1704 23 is_stmt 0 discriminator 2 view .LVU980
3314 002a 0130 adds r0, r0, #1
ARM GAS /tmp/ccRVAHyi.s page 193
3315 002c 123D subs r5, r5, #18
3316 002e 2554 strb r5, [r4, r0]
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3317 .loc 1 1705 5 is_stmt 1 discriminator 2 view .LVU981
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3318 .loc 1 1705 23 is_stmt 0 discriminator 2 view .LVU982
3319 0030 0020 movs r0, #0
3320 0032 6064 str r0, [r4, #68]
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3321 .loc 1 1708 5 is_stmt 1 discriminator 2 view .LVU983
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3322 .loc 1 1708 23 is_stmt 0 discriminator 2 view .LVU984
3323 0034 6262 str r2, [r4, #36]
1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3324 .loc 1 1709 5 is_stmt 1 discriminator 2 view .LVU985
1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3325 .loc 1 1709 23 is_stmt 0 discriminator 2 view .LVU986
3326 0036 6385 strh r3, [r4, #42]
1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3327 .loc 1 1710 5 is_stmt 1 discriminator 2 view .LVU987
1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3328 .loc 1 1710 23 is_stmt 0 discriminator 2 view .LVU988
3329 0038 134B ldr r3, .L217
3330 .LVL211:
1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3331 .loc 1 1710 23 discriminator 2 view .LVU989
3332 003a E362 str r3, [r4, #44]
3333 .LVL212:
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3334 .loc 1 1711 5 is_stmt 1 discriminator 2 view .LVU990
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3335 .loc 1 1711 23 is_stmt 0 discriminator 2 view .LVU991
3336 003c 134B ldr r3, .L217+4
3337 003e 6363 str r3, [r4, #52]
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3338 .loc 1 1713 5 is_stmt 1 discriminator 2 view .LVU992
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3339 .loc 1 1713 13 is_stmt 0 discriminator 2 view .LVU993
3340 0040 638D ldrh r3, [r4, #42]
3341 0042 9BB2 uxth r3, r3
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3342 .loc 1 1713 8 discriminator 2 view .LVU994
3343 0044 FF2B cmp r3, #255
3344 0046 14D9 bls .L212
1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3345 .loc 1 1715 7 is_stmt 1 view .LVU995
1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3346 .loc 1 1715 22 is_stmt 0 view .LVU996
3347 0048 FF23 movs r3, #255
3348 004a 2385 strh r3, [r4, #40]
1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3349 .loc 1 1716 7 is_stmt 1 view .LVU997
3350 .LVL213:
1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3351 .loc 1 1716 16 is_stmt 0 view .LVU998
3352 004c 8023 movs r3, #128
3353 004e 5B04 lsls r3, r3, #17
ARM GAS /tmp/ccRVAHyi.s page 194
3354 .LVL214:
3355 .L213:
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3356 .loc 1 1726 5 is_stmt 1 view .LVU999
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3357 .loc 1 1726 55 is_stmt 0 view .LVU1000
3358 0050 228D ldrh r2, [r4, #40]
3359 .LVL215:
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3360 .loc 1 1726 5 view .LVU1001
3361 0052 D2B2 uxtb r2, r2
3362 0054 0E48 ldr r0, .L217+8
3363 0056 0090 str r0, [sp]
3364 .LVL216:
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3365 .loc 1 1726 5 view .LVU1002
3366 0058 2000 movs r0, r4
3367 005a FFF7FEFF bl I2C_TransferConfig
3368 .LVL217:
1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3369 .loc 1 1729 5 is_stmt 1 view .LVU1003
1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3370 .loc 1 1729 5 view .LVU1004
3371 005e 4023 movs r3, #64
3372 0060 0022 movs r2, #0
3373 0062 E254 strb r2, [r4, r3]
1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3374 .loc 1 1739 5 view .LVU1005
3375 0064 0221 movs r1, #2
3376 0066 2000 movs r0, r4
3377 0068 FFF7FEFF bl I2C_Enable_IRQ
3378 .LVL218:
1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3379 .loc 1 1741 5 view .LVU1006
1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3380 .loc 1 1741 12 is_stmt 0 view .LVU1007
3381 006c 0020 movs r0, #0
3382 .L211:
1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3383 .loc 1 1747 1 view .LVU1008
3384 006e 03B0 add sp, sp, #12
3385 @ sp needed
3386 .LVL219:
1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3387 .loc 1 1747 1 view .LVU1009
3388 0070 30BD pop {r4, r5, pc}
3389 .LVL220:
3390 .L212:
1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3391 .loc 1 1720 7 is_stmt 1 view .LVU1010
1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3392 .loc 1 1720 28 is_stmt 0 view .LVU1011
3393 0072 638D ldrh r3, [r4, #42]
1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3394 .loc 1 1720 22 view .LVU1012
3395 0074 2385 strh r3, [r4, #40]
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 195
3396 .loc 1 1721 7 is_stmt 1 view .LVU1013
3397 .LVL221:
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3398 .loc 1 1721 16 is_stmt 0 view .LVU1014
3399 0076 8023 movs r3, #128
3400 0078 9B04 lsls r3, r3, #18
3401 007a E9E7 b .L213
3402 .LVL222:
3403 .L214:
1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3404 .loc 1 1745 12 view .LVU1015
3405 007c 0220 movs r0, #2
3406 007e F6E7 b .L211
3407 .L215:
1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3408 .loc 1 1697 14 view .LVU1016
3409 0080 0220 movs r0, #2
3410 0082 F4E7 b .L211
3411 .L216:
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3412 .loc 1 1701 5 view .LVU1017
3413 0084 0220 movs r0, #2
3414 0086 F2E7 b .L211
3415 .L218:
3416 .align 2
3417 .L217:
3418 0088 0000FFFF .word -65536
3419 008c 00000000 .word I2C_Master_ISR_IT
3420 0090 00240080 .word -2147474432
3421 .cfi_endproc
3422 .LFE49:
3424 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
3425 .align 1
3426 .global HAL_I2C_Slave_Transmit_IT
3427 .syntax unified
3428 .code 16
3429 .thumb_func
3430 .fpu softvfp
3432 HAL_I2C_Slave_Transmit_IT:
3433 .LVL223:
3434 .LFB50:
1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3435 .loc 1 1758 1 is_stmt 1 view -0
3436 .cfi_startproc
3437 @ args = 0, pretend = 0, frame = 0
3438 @ frame_needed = 0, uses_anonymous_args = 0
1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3439 .loc 1 1758 1 is_stmt 0 view .LVU1019
3440 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
3441 .LCFI25:
3442 .cfi_def_cfa_offset 24
3443 .cfi_offset 3, -24
3444 .cfi_offset 4, -20
3445 .cfi_offset 5, -16
3446 .cfi_offset 6, -12
3447 .cfi_offset 7, -8
3448 .cfi_offset 14, -4
ARM GAS /tmp/ccRVAHyi.s page 196
1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3449 .loc 1 1759 3 is_stmt 1 view .LVU1020
1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3450 .loc 1 1759 11 is_stmt 0 view .LVU1021
3451 0002 4123 movs r3, #65
3452 0004 C35C ldrb r3, [r0, r3]
1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3453 .loc 1 1759 6 view .LVU1022
3454 0006 202B cmp r3, #32
3455 0008 21D1 bne .L221
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3456 .loc 1 1762 5 is_stmt 1 view .LVU1023
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3457 .loc 1 1762 5 view .LVU1024
3458 000a 2033 adds r3, r3, #32
3459 000c C35C ldrb r3, [r0, r3]
3460 000e 012B cmp r3, #1
3461 0010 1FD0 beq .L222
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3462 .loc 1 1762 5 discriminator 2 view .LVU1025
3463 0012 4024 movs r4, #64
3464 0014 0123 movs r3, #1
3465 0016 0355 strb r3, [r0, r4]
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3466 .loc 1 1764 5 discriminator 2 view .LVU1026
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3467 .loc 1 1764 23 is_stmt 0 discriminator 2 view .LVU1027
3468 0018 4033 adds r3, r3, #64
3469 001a 2125 movs r5, #33
3470 001c C554 strb r5, [r0, r3]
1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3471 .loc 1 1765 5 is_stmt 1 discriminator 2 view .LVU1028
1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3472 .loc 1 1765 23 is_stmt 0 discriminator 2 view .LVU1029
3473 001e 0133 adds r3, r3, #1
3474 0020 013D subs r5, r5, #1
3475 0022 C554 strb r5, [r0, r3]
1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3476 .loc 1 1766 5 is_stmt 1 discriminator 2 view .LVU1030
1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3477 .loc 1 1766 23 is_stmt 0 discriminator 2 view .LVU1031
3478 0024 0025 movs r5, #0
3479 0026 4564 str r5, [r0, #68]
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3480 .loc 1 1769 5 is_stmt 1 discriminator 2 view .LVU1032
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3481 .loc 1 1769 9 is_stmt 0 discriminator 2 view .LVU1033
3482 0028 0668 ldr r6, [r0]
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3483 .loc 1 1769 25 discriminator 2 view .LVU1034
3484 002a 7368 ldr r3, [r6, #4]
3485 002c 0A4F ldr r7, .L223
3486 002e 3B40 ands r3, r7
3487 0030 7360 str r3, [r6, #4]
1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3488 .loc 1 1772 5 is_stmt 1 discriminator 2 view .LVU1035
1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
ARM GAS /tmp/ccRVAHyi.s page 197
3489 .loc 1 1772 23 is_stmt 0 discriminator 2 view .LVU1036
3490 0032 4162 str r1, [r0, #36]
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3491 .loc 1 1773 5 is_stmt 1 discriminator 2 view .LVU1037
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3492 .loc 1 1773 23 is_stmt 0 discriminator 2 view .LVU1038
3493 0034 4285 strh r2, [r0, #42]
1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3494 .loc 1 1774 5 is_stmt 1 discriminator 2 view .LVU1039
1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3495 .loc 1 1774 29 is_stmt 0 discriminator 2 view .LVU1040
3496 0036 438D ldrh r3, [r0, #42]
1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3497 .loc 1 1774 23 discriminator 2 view .LVU1041
3498 0038 0385 strh r3, [r0, #40]
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3499 .loc 1 1775 5 is_stmt 1 discriminator 2 view .LVU1042
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3500 .loc 1 1775 23 is_stmt 0 discriminator 2 view .LVU1043
3501 003a 084B ldr r3, .L223+4
3502 003c C362 str r3, [r0, #44]
1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3503 .loc 1 1776 5 is_stmt 1 discriminator 2 view .LVU1044
1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3504 .loc 1 1776 23 is_stmt 0 discriminator 2 view .LVU1045
3505 003e 084B ldr r3, .L223+8
3506 0040 4363 str r3, [r0, #52]
1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3507 .loc 1 1779 5 is_stmt 1 discriminator 2 view .LVU1046
1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3508 .loc 1 1779 5 discriminator 2 view .LVU1047
3509 0042 0555 strb r5, [r0, r4]
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3510 .loc 1 1789 5 discriminator 2 view .LVU1048
3511 0044 0749 ldr r1, .L223+12
3512 .LVL224:
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3513 .loc 1 1789 5 is_stmt 0 discriminator 2 view .LVU1049
3514 0046 FFF7FEFF bl I2C_Enable_IRQ
3515 .LVL225:
1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3516 .loc 1 1791 5 is_stmt 1 discriminator 2 view .LVU1050
1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3517 .loc 1 1791 12 is_stmt 0 discriminator 2 view .LVU1051
3518 004a 0020 movs r0, #0
3519 .L220:
1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3520 .loc 1 1797 1 view .LVU1052
3521 @ sp needed
3522 004c F8BD pop {r3, r4, r5, r6, r7, pc}
3523 .LVL226:
3524 .L221:
1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3525 .loc 1 1795 12 view .LVU1053
3526 004e 0220 movs r0, #2
3527 .LVL227:
1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 198
3528 .loc 1 1795 12 view .LVU1054
3529 0050 FCE7 b .L220
3530 .LVL228:
3531 .L222:
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3532 .loc 1 1762 5 view .LVU1055
3533 0052 0220 movs r0, #2
3534 .LVL229:
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3535 .loc 1 1762 5 view .LVU1056
3536 0054 FAE7 b .L220
3537 .L224:
3538 0056 C046 .align 2
3539 .L223:
3540 0058 FF7FFFFF .word -32769
3541 005c 0000FFFF .word -65536
3542 0060 00000000 .word I2C_Slave_ISR_IT
3543 0064 01800000 .word 32769
3544 .cfi_endproc
3545 .LFE50:
3547 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
3548 .align 1
3549 .global HAL_I2C_Slave_Receive_IT
3550 .syntax unified
3551 .code 16
3552 .thumb_func
3553 .fpu softvfp
3555 HAL_I2C_Slave_Receive_IT:
3556 .LVL230:
3557 .LFB51:
1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3558 .loc 1 1808 1 is_stmt 1 view -0
3559 .cfi_startproc
3560 @ args = 0, pretend = 0, frame = 0
3561 @ frame_needed = 0, uses_anonymous_args = 0
1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3562 .loc 1 1808 1 is_stmt 0 view .LVU1058
3563 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
3564 .LCFI26:
3565 .cfi_def_cfa_offset 24
3566 .cfi_offset 3, -24
3567 .cfi_offset 4, -20
3568 .cfi_offset 5, -16
3569 .cfi_offset 6, -12
3570 .cfi_offset 7, -8
3571 .cfi_offset 14, -4
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3572 .loc 1 1809 3 is_stmt 1 view .LVU1059
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3573 .loc 1 1809 11 is_stmt 0 view .LVU1060
3574 0002 4123 movs r3, #65
3575 0004 C35C ldrb r3, [r0, r3]
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3576 .loc 1 1809 6 view .LVU1061
3577 0006 202B cmp r3, #32
3578 0008 21D1 bne .L227
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 199
3579 .loc 1 1812 5 is_stmt 1 view .LVU1062
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3580 .loc 1 1812 5 view .LVU1063
3581 000a 2033 adds r3, r3, #32
3582 000c C35C ldrb r3, [r0, r3]
3583 000e 012B cmp r3, #1
3584 0010 1FD0 beq .L228
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3585 .loc 1 1812 5 discriminator 2 view .LVU1064
3586 0012 4024 movs r4, #64
3587 0014 0123 movs r3, #1
3588 0016 0355 strb r3, [r0, r4]
1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3589 .loc 1 1814 5 discriminator 2 view .LVU1065
1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3590 .loc 1 1814 23 is_stmt 0 discriminator 2 view .LVU1066
3591 0018 4033 adds r3, r3, #64
3592 001a 2225 movs r5, #34
3593 001c C554 strb r5, [r0, r3]
1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3594 .loc 1 1815 5 is_stmt 1 discriminator 2 view .LVU1067
1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3595 .loc 1 1815 23 is_stmt 0 discriminator 2 view .LVU1068
3596 001e 0133 adds r3, r3, #1
3597 0020 023D subs r5, r5, #2
3598 0022 C554 strb r5, [r0, r3]
1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3599 .loc 1 1816 5 is_stmt 1 discriminator 2 view .LVU1069
1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3600 .loc 1 1816 23 is_stmt 0 discriminator 2 view .LVU1070
3601 0024 0025 movs r5, #0
3602 0026 4564 str r5, [r0, #68]
1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3603 .loc 1 1819 5 is_stmt 1 discriminator 2 view .LVU1071
1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3604 .loc 1 1819 9 is_stmt 0 discriminator 2 view .LVU1072
3605 0028 0668 ldr r6, [r0]
1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3606 .loc 1 1819 25 discriminator 2 view .LVU1073
3607 002a 7368 ldr r3, [r6, #4]
3608 002c 0A4F ldr r7, .L229
3609 002e 3B40 ands r3, r7
3610 0030 7360 str r3, [r6, #4]
1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3611 .loc 1 1822 5 is_stmt 1 discriminator 2 view .LVU1074
1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3612 .loc 1 1822 23 is_stmt 0 discriminator 2 view .LVU1075
3613 0032 4162 str r1, [r0, #36]
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3614 .loc 1 1823 5 is_stmt 1 discriminator 2 view .LVU1076
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3615 .loc 1 1823 23 is_stmt 0 discriminator 2 view .LVU1077
3616 0034 4285 strh r2, [r0, #42]
1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3617 .loc 1 1824 5 is_stmt 1 discriminator 2 view .LVU1078
1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3618 .loc 1 1824 29 is_stmt 0 discriminator 2 view .LVU1079
ARM GAS /tmp/ccRVAHyi.s page 200
3619 0036 438D ldrh r3, [r0, #42]
1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3620 .loc 1 1824 23 discriminator 2 view .LVU1080
3621 0038 0385 strh r3, [r0, #40]
1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3622 .loc 1 1825 5 is_stmt 1 discriminator 2 view .LVU1081
1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3623 .loc 1 1825 23 is_stmt 0 discriminator 2 view .LVU1082
3624 003a 084B ldr r3, .L229+4
3625 003c C362 str r3, [r0, #44]
1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3626 .loc 1 1826 5 is_stmt 1 discriminator 2 view .LVU1083
1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3627 .loc 1 1826 23 is_stmt 0 discriminator 2 view .LVU1084
3628 003e 084B ldr r3, .L229+8
3629 0040 4363 str r3, [r0, #52]
1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3630 .loc 1 1829 5 is_stmt 1 discriminator 2 view .LVU1085
1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3631 .loc 1 1829 5 discriminator 2 view .LVU1086
3632 0042 0555 strb r5, [r0, r4]
1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3633 .loc 1 1839 5 discriminator 2 view .LVU1087
3634 0044 0749 ldr r1, .L229+12
3635 .LVL231:
1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3636 .loc 1 1839 5 is_stmt 0 discriminator 2 view .LVU1088
3637 0046 FFF7FEFF bl I2C_Enable_IRQ
3638 .LVL232:
1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3639 .loc 1 1841 5 is_stmt 1 discriminator 2 view .LVU1089
1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3640 .loc 1 1841 12 is_stmt 0 discriminator 2 view .LVU1090
3641 004a 0020 movs r0, #0
3642 .L226:
1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3643 .loc 1 1847 1 view .LVU1091
3644 @ sp needed
3645 004c F8BD pop {r3, r4, r5, r6, r7, pc}
3646 .LVL233:
3647 .L227:
1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3648 .loc 1 1845 12 view .LVU1092
3649 004e 0220 movs r0, #2
3650 .LVL234:
1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3651 .loc 1 1845 12 view .LVU1093
3652 0050 FCE7 b .L226
3653 .LVL235:
3654 .L228:
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3655 .loc 1 1812 5 view .LVU1094
3656 0052 0220 movs r0, #2
3657 .LVL236:
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3658 .loc 1 1812 5 view .LVU1095
3659 0054 FAE7 b .L226
ARM GAS /tmp/ccRVAHyi.s page 201
3660 .L230:
3661 0056 C046 .align 2
3662 .L229:
3663 0058 FF7FFFFF .word -32769
3664 005c 0000FFFF .word -65536
3665 0060 00000000 .word I2C_Slave_ISR_IT
3666 0064 02800000 .word 32770
3667 .cfi_endproc
3668 .LFE51:
3670 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
3671 .align 1
3672 .global HAL_I2C_Master_Transmit_DMA
3673 .syntax unified
3674 .code 16
3675 .thumb_func
3676 .fpu softvfp
3678 HAL_I2C_Master_Transmit_DMA:
3679 .LVL237:
3680 .LFB52:
1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3681 .loc 1 1861 1 is_stmt 1 view -0
3682 .cfi_startproc
3683 @ args = 0, pretend = 0, frame = 0
3684 @ frame_needed = 0, uses_anonymous_args = 0
1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3685 .loc 1 1861 1 is_stmt 0 view .LVU1097
3686 0000 70B5 push {r4, r5, r6, lr}
3687 .LCFI27:
3688 .cfi_def_cfa_offset 16
3689 .cfi_offset 4, -16
3690 .cfi_offset 5, -12
3691 .cfi_offset 6, -8
3692 .cfi_offset 14, -4
3693 0002 82B0 sub sp, sp, #8
3694 .LCFI28:
3695 .cfi_def_cfa_offset 24
3696 0004 0400 movs r4, r0
3697 0006 0D00 movs r5, r1
3698 0008 1100 movs r1, r2
3699 .LVL238:
1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3700 .loc 1 1862 3 is_stmt 1 view .LVU1098
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3701 .loc 1 1863 3 view .LVU1099
1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3702 .loc 1 1865 3 view .LVU1100
1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3703 .loc 1 1865 11 is_stmt 0 view .LVU1101
3704 000a 4122 movs r2, #65
3705 .LVL239:
1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3706 .loc 1 1865 11 view .LVU1102
3707 000c 825C ldrb r2, [r0, r2]
1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3708 .loc 1 1865 6 view .LVU1103
3709 000e 202A cmp r2, #32
3710 0010 00D0 beq .LCB3445
ARM GAS /tmp/ccRVAHyi.s page 202
3711 0012 8BE0 b .L240 @long jump
3712 .LCB3445:
1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3713 .loc 1 1867 5 is_stmt 1 view .LVU1104
1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3714 .loc 1 1867 9 is_stmt 0 view .LVU1105
3715 0014 0268 ldr r2, [r0]
3716 0016 9269 ldr r2, [r2, #24]
1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3717 .loc 1 1867 8 view .LVU1106
3718 0018 1204 lsls r2, r2, #16
3719 001a 00D5 bpl .LCB3452
3720 001c 89E0 b .L241 @long jump
3721 .LCB3452:
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3722 .loc 1 1873 5 is_stmt 1 view .LVU1107
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3723 .loc 1 1873 5 view .LVU1108
3724 001e 4022 movs r2, #64
3725 0020 825C ldrb r2, [r0, r2]
3726 0022 012A cmp r2, #1
3727 0024 00D1 bne .LCB3458
3728 0026 86E0 b .L242 @long jump
3729 .LCB3458:
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3730 .loc 1 1873 5 discriminator 2 view .LVU1109
3731 0028 4022 movs r2, #64
3732 002a 0120 movs r0, #1
3733 .LVL240:
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3734 .loc 1 1873 5 is_stmt 0 discriminator 2 view .LVU1110
3735 002c A054 strb r0, [r4, r2]
1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3736 .loc 1 1875 5 is_stmt 1 discriminator 2 view .LVU1111
1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3737 .loc 1 1875 23 is_stmt 0 discriminator 2 view .LVU1112
3738 002e 0132 adds r2, r2, #1
3739 0030 2030 adds r0, r0, #32
3740 0032 A054 strb r0, [r4, r2]
1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3741 .loc 1 1876 5 is_stmt 1 discriminator 2 view .LVU1113
1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3742 .loc 1 1876 23 is_stmt 0 discriminator 2 view .LVU1114
3743 0034 0132 adds r2, r2, #1
3744 0036 1138 subs r0, r0, #17
3745 0038 A054 strb r0, [r4, r2]
1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3746 .loc 1 1877 5 is_stmt 1 discriminator 2 view .LVU1115
1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3747 .loc 1 1877 23 is_stmt 0 discriminator 2 view .LVU1116
3748 003a 0022 movs r2, #0
3749 003c 6264 str r2, [r4, #68]
1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3750 .loc 1 1880 5 is_stmt 1 discriminator 2 view .LVU1117
1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3751 .loc 1 1880 23 is_stmt 0 discriminator 2 view .LVU1118
3752 003e 6162 str r1, [r4, #36]
ARM GAS /tmp/ccRVAHyi.s page 203
1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3753 .loc 1 1881 5 is_stmt 1 discriminator 2 view .LVU1119
1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3754 .loc 1 1881 23 is_stmt 0 discriminator 2 view .LVU1120
3755 0040 6385 strh r3, [r4, #42]
1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3756 .loc 1 1882 5 is_stmt 1 discriminator 2 view .LVU1121
1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3757 .loc 1 1882 23 is_stmt 0 discriminator 2 view .LVU1122
3758 0042 3E4B ldr r3, .L245
3759 .LVL241:
1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3760 .loc 1 1882 23 discriminator 2 view .LVU1123
3761 0044 E362 str r3, [r4, #44]
3762 .LVL242:
1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3763 .loc 1 1883 5 is_stmt 1 discriminator 2 view .LVU1124
1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3764 .loc 1 1883 23 is_stmt 0 discriminator 2 view .LVU1125
3765 0046 3E4B ldr r3, .L245+4
3766 0048 6363 str r3, [r4, #52]
1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3767 .loc 1 1885 5 is_stmt 1 discriminator 2 view .LVU1126
1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3768 .loc 1 1885 13 is_stmt 0 discriminator 2 view .LVU1127
3769 004a 638D ldrh r3, [r4, #42]
3770 004c 9BB2 uxth r3, r3
1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3771 .loc 1 1885 8 discriminator 2 view .LVU1128
3772 004e FF2B cmp r3, #255
3773 0050 29D9 bls .L233
1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3774 .loc 1 1887 7 is_stmt 1 view .LVU1129
1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3775 .loc 1 1887 22 is_stmt 0 view .LVU1130
3776 0052 FF23 movs r3, #255
3777 0054 2385 strh r3, [r4, #40]
1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3778 .loc 1 1888 7 is_stmt 1 view .LVU1131
3779 .LVL243:
1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3780 .loc 1 1888 16 is_stmt 0 view .LVU1132
3781 0056 8026 movs r6, #128
3782 0058 7604 lsls r6, r6, #17
3783 .LVL244:
3784 .L234:
1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3785 .loc 1 1896 5 is_stmt 1 view .LVU1133
1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3786 .loc 1 1896 13 is_stmt 0 view .LVU1134
3787 005a 228D ldrh r2, [r4, #40]
1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3788 .loc 1 1896 8 view .LVU1135
3789 005c 002A cmp r2, #0
3790 005e 51D0 beq .L235
1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3791 .loc 1 1898 7 is_stmt 1 view .LVU1136
ARM GAS /tmp/ccRVAHyi.s page 204
1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3792 .loc 1 1898 15 is_stmt 0 view .LVU1137
3793 0060 A36B ldr r3, [r4, #56]
1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3794 .loc 1 1898 10 view .LVU1138
3795 0062 002B cmp r3, #0
3796 0064 24D0 beq .L236
1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3797 .loc 1 1901 9 is_stmt 1 view .LVU1139
1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3798 .loc 1 1901 40 is_stmt 0 view .LVU1140
3799 0066 374A ldr r2, .L245+8
3800 0068 9A62 str r2, [r3, #40]
1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3801 .loc 1 1904 9 is_stmt 1 view .LVU1141
1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3802 .loc 1 1904 13 is_stmt 0 view .LVU1142
3803 006a A36B ldr r3, [r4, #56]
1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3804 .loc 1 1904 41 view .LVU1143
3805 006c 364A ldr r2, .L245+12
3806 006e 1A63 str r2, [r3, #48]
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3807 .loc 1 1907 9 is_stmt 1 view .LVU1144
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3808 .loc 1 1907 13 is_stmt 0 view .LVU1145
3809 0070 A26B ldr r2, [r4, #56]
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3810 .loc 1 1907 44 view .LVU1146
3811 0072 0023 movs r3, #0
3812 0074 D362 str r3, [r2, #44]
1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3813 .loc 1 1908 9 is_stmt 1 view .LVU1147
1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3814 .loc 1 1908 13 is_stmt 0 view .LVU1148
3815 0076 A26B ldr r2, [r4, #56]
1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3816 .loc 1 1908 41 view .LVU1149
3817 0078 5363 str r3, [r2, #52]
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
3818 .loc 1 1911 9 is_stmt 1 view .LVU1150
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
3819 .loc 1 1911 83 is_stmt 0 view .LVU1151
3820 007a 2268 ldr r2, [r4]
3821 007c 2832 adds r2, r2, #40
1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3822 .loc 1 1912 46 view .LVU1152
3823 007e 238D ldrh r3, [r4, #40]
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
3824 .loc 1 1911 25 view .LVU1153
3825 0080 A06B ldr r0, [r4, #56]
3826 0082 FFF7FEFF bl HAL_DMA_Start_IT
3827 .LVL245:
1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3828 .loc 1 1929 7 is_stmt 1 view .LVU1154
1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3829 .loc 1 1929 10 is_stmt 0 view .LVU1155
ARM GAS /tmp/ccRVAHyi.s page 205
3830 0086 0028 cmp r0, #0
3831 0088 20D0 beq .L244
1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3832 .loc 1 1953 9 is_stmt 1 view .LVU1156
1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3833 .loc 1 1953 25 is_stmt 0 view .LVU1157
3834 008a 4123 movs r3, #65
3835 008c 2022 movs r2, #32
3836 008e E254 strb r2, [r4, r3]
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3837 .loc 1 1954 9 is_stmt 1 view .LVU1158
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3838 .loc 1 1954 25 is_stmt 0 view .LVU1159
3839 0090 0022 movs r2, #0
3840 0092 0133 adds r3, r3, #1
3841 0094 E254 strb r2, [r4, r3]
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3842 .loc 1 1957 9 is_stmt 1 view .LVU1160
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3843 .loc 1 1957 25 is_stmt 0 view .LVU1161
3844 0096 636C ldr r3, [r4, #68]
3845 0098 1021 movs r1, #16
3846 009a 0B43 orrs r3, r1
3847 009c 6364 str r3, [r4, #68]
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3848 .loc 1 1960 9 is_stmt 1 view .LVU1162
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3849 .loc 1 1960 9 view .LVU1163
3850 009e 4023 movs r3, #64
3851 00a0 E254 strb r2, [r4, r3]
1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3852 .loc 1 1962 9 view .LVU1164
1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3853 .loc 1 1962 16 is_stmt 0 view .LVU1165
3854 00a2 0120 movs r0, #1
3855 .LVL246:
1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3856 .loc 1 1962 16 view .LVU1166
3857 00a4 43E0 b .L232
3858 .LVL247:
3859 .L233:
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3860 .loc 1 1892 7 is_stmt 1 view .LVU1167
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3861 .loc 1 1892 28 is_stmt 0 view .LVU1168
3862 00a6 638D ldrh r3, [r4, #42]
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3863 .loc 1 1892 22 view .LVU1169
3864 00a8 2385 strh r3, [r4, #40]
1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3865 .loc 1 1893 7 is_stmt 1 view .LVU1170
3866 .LVL248:
1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3867 .loc 1 1893 16 is_stmt 0 view .LVU1171
3868 00aa 8026 movs r6, #128
3869 00ac B604 lsls r6, r6, #18
3870 00ae D4E7 b .L234
ARM GAS /tmp/ccRVAHyi.s page 206
3871 .LVL249:
3872 .L236:
1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3873 .loc 1 1917 9 is_stmt 1 view .LVU1172
1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3874 .loc 1 1917 25 is_stmt 0 view .LVU1173
3875 00b0 4123 movs r3, #65
3876 00b2 2022 movs r2, #32
3877 00b4 E254 strb r2, [r4, r3]
1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3878 .loc 1 1918 9 is_stmt 1 view .LVU1174
1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3879 .loc 1 1918 25 is_stmt 0 view .LVU1175
3880 00b6 0022 movs r2, #0
3881 00b8 0133 adds r3, r3, #1
3882 00ba E254 strb r2, [r4, r3]
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3883 .loc 1 1921 9 is_stmt 1 view .LVU1176
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3884 .loc 1 1921 25 is_stmt 0 view .LVU1177
3885 00bc 636C ldr r3, [r4, #68]
3886 00be 8021 movs r1, #128
3887 .LVL250:
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3888 .loc 1 1921 25 view .LVU1178
3889 00c0 0B43 orrs r3, r1
3890 00c2 6364 str r3, [r4, #68]
1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3891 .loc 1 1924 9 is_stmt 1 view .LVU1179
1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3892 .loc 1 1924 9 view .LVU1180
3893 00c4 4023 movs r3, #64
3894 00c6 E254 strb r2, [r4, r3]
1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3895 .loc 1 1926 9 view .LVU1181
1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3896 .loc 1 1926 16 is_stmt 0 view .LVU1182
3897 00c8 0120 movs r0, #1
3898 00ca 30E0 b .L232
3899 .LVL251:
3900 .L244:
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3901 .loc 1 1933 9 is_stmt 1 view .LVU1183
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3902 .loc 1 1933 59 is_stmt 0 view .LVU1184
3903 00cc 228D ldrh r2, [r4, #40]
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3904 .loc 1 1933 9 view .LVU1185
3905 00ce D2B2 uxtb r2, r2
3906 00d0 1E4B ldr r3, .L245+16
3907 00d2 0093 str r3, [sp]
3908 00d4 3300 movs r3, r6
3909 00d6 2900 movs r1, r5
3910 00d8 2000 movs r0, r4
3911 .LVL252:
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3912 .loc 1 1933 9 view .LVU1186
ARM GAS /tmp/ccRVAHyi.s page 207
3913 00da FFF7FEFF bl I2C_TransferConfig
3914 .LVL253:
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3915 .loc 1 1936 9 is_stmt 1 view .LVU1187
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3916 .loc 1 1936 25 is_stmt 0 view .LVU1188
3917 00de 638D ldrh r3, [r4, #42]
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3918 .loc 1 1936 32 view .LVU1189
3919 00e0 228D ldrh r2, [r4, #40]
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3920 .loc 1 1936 25 view .LVU1190
3921 00e2 9B1A subs r3, r3, r2
3922 00e4 9BB2 uxth r3, r3
3923 00e6 6385 strh r3, [r4, #42]
1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3924 .loc 1 1939 9 is_stmt 1 view .LVU1191
1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3925 .loc 1 1939 9 view .LVU1192
3926 00e8 4023 movs r3, #64
3927 00ea 0022 movs r2, #0
3928 00ec E254 strb r2, [r4, r3]
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3929 .loc 1 1945 9 view .LVU1193
3930 00ee 1021 movs r1, #16
3931 00f0 2000 movs r0, r4
3932 00f2 FFF7FEFF bl I2C_Enable_IRQ
3933 .LVL254:
1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3934 .loc 1 1948 9 view .LVU1194
1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3935 .loc 1 1948 13 is_stmt 0 view .LVU1195
3936 00f6 2268 ldr r2, [r4]
1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3937 .loc 1 1948 29 view .LVU1196
3938 00f8 1168 ldr r1, [r2]
3939 00fa 8023 movs r3, #128
3940 00fc DB01 lsls r3, r3, #7
3941 00fe 0B43 orrs r3, r1
3942 0100 1360 str r3, [r2]
3943 0102 11E0 b .L239
3944 .LVL255:
3945 .L235:
1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3946 .loc 1 1968 7 is_stmt 1 view .LVU1197
1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3947 .loc 1 1968 21 is_stmt 0 view .LVU1198
3948 0104 124B ldr r3, .L245+20
3949 0106 6363 str r3, [r4, #52]
1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
3950 .loc 1 1972 7 is_stmt 1 view .LVU1199
3951 0108 8023 movs r3, #128
3952 010a D2B2 uxtb r2, r2
3953 010c 0F49 ldr r1, .L245+16
3954 .LVL256:
1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
3955 .loc 1 1972 7 is_stmt 0 view .LVU1200
ARM GAS /tmp/ccRVAHyi.s page 208
3956 010e 0091 str r1, [sp]
3957 .LVL257:
1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
3958 .loc 1 1972 7 view .LVU1201
3959 0110 9B04 lsls r3, r3, #18
3960 0112 2900 movs r1, r5
3961 0114 2000 movs r0, r4
3962 0116 FFF7FEFF bl I2C_TransferConfig
3963 .LVL258:
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3964 .loc 1 1976 7 is_stmt 1 view .LVU1202
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3965 .loc 1 1976 7 view .LVU1203
3966 011a 4023 movs r3, #64
3967 011c 0022 movs r2, #0
3968 011e E254 strb r2, [r4, r3]
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3969 .loc 1 1985 7 view .LVU1204
3970 0120 0121 movs r1, #1
3971 0122 2000 movs r0, r4
3972 0124 FFF7FEFF bl I2C_Enable_IRQ
3973 .LVL259:
3974 .L239:
1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3975 .loc 1 1988 5 view .LVU1205
1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3976 .loc 1 1988 12 is_stmt 0 view .LVU1206
3977 0128 0020 movs r0, #0
3978 012a 00E0 b .L232
3979 .LVL260:
3980 .L240:
1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3981 .loc 1 1992 12 view .LVU1207
3982 012c 0220 movs r0, #2
3983 .LVL261:
3984 .L232:
1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3985 .loc 1 1994 1 view .LVU1208
3986 012e 02B0 add sp, sp, #8
3987 @ sp needed
3988 .LVL262:
1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3989 .loc 1 1994 1 view .LVU1209
3990 0130 70BD pop {r4, r5, r6, pc}
3991 .LVL263:
3992 .L241:
1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3993 .loc 1 1869 14 view .LVU1210
3994 0132 0220 movs r0, #2
3995 .LVL264:
1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3996 .loc 1 1869 14 view .LVU1211
3997 0134 FBE7 b .L232
3998 .LVL265:
3999 .L242:
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4000 .loc 1 1873 5 view .LVU1212
ARM GAS /tmp/ccRVAHyi.s page 209
4001 0136 0220 movs r0, #2
4002 .LVL266:
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4003 .loc 1 1873 5 view .LVU1213
4004 0138 F9E7 b .L232
4005 .L246:
4006 013a C046 .align 2
4007 .L245:
4008 013c 0000FFFF .word -65536
4009 0140 00000000 .word I2C_Master_ISR_DMA
4010 0144 00000000 .word I2C_DMAMasterTransmitCplt
4011 0148 00000000 .word I2C_DMAError
4012 014c 00200080 .word -2147475456
4013 0150 00000000 .word I2C_Master_ISR_IT
4014 .cfi_endproc
4015 .LFE52:
4017 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
4018 .align 1
4019 .global HAL_I2C_Master_Receive_DMA
4020 .syntax unified
4021 .code 16
4022 .thumb_func
4023 .fpu softvfp
4025 HAL_I2C_Master_Receive_DMA:
4026 .LVL267:
4027 .LFB53:
2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
4028 .loc 1 2008 1 is_stmt 1 view -0
4029 .cfi_startproc
4030 @ args = 0, pretend = 0, frame = 0
4031 @ frame_needed = 0, uses_anonymous_args = 0
2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
4032 .loc 1 2008 1 is_stmt 0 view .LVU1215
4033 0000 70B5 push {r4, r5, r6, lr}
4034 .LCFI29:
4035 .cfi_def_cfa_offset 16
4036 .cfi_offset 4, -16
4037 .cfi_offset 5, -12
4038 .cfi_offset 6, -8
4039 .cfi_offset 14, -4
4040 0002 82B0 sub sp, sp, #8
4041 .LCFI30:
4042 .cfi_def_cfa_offset 24
4043 0004 0400 movs r4, r0
4044 0006 0D00 movs r5, r1
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4045 .loc 1 2009 3 is_stmt 1 view .LVU1216
2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4046 .loc 1 2010 3 view .LVU1217
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4047 .loc 1 2012 3 view .LVU1218
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4048 .loc 1 2012 11 is_stmt 0 view .LVU1219
4049 0008 4121 movs r1, #65
4050 .LVL268:
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4051 .loc 1 2012 11 view .LVU1220
ARM GAS /tmp/ccRVAHyi.s page 210
4052 000a 415C ldrb r1, [r0, r1]
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4053 .loc 1 2012 6 view .LVU1221
4054 000c 2029 cmp r1, #32
4055 000e 00D0 beq .LCB3756
4056 0010 8BE0 b .L256 @long jump
4057 .LCB3756:
2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4058 .loc 1 2014 5 is_stmt 1 view .LVU1222
2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4059 .loc 1 2014 9 is_stmt 0 view .LVU1223
4060 0012 0168 ldr r1, [r0]
4061 0014 8969 ldr r1, [r1, #24]
2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4062 .loc 1 2014 8 view .LVU1224
4063 0016 0904 lsls r1, r1, #16
4064 0018 00D5 bpl .LCB3763
4065 001a 89E0 b .L257 @long jump
4066 .LCB3763:
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4067 .loc 1 2020 5 is_stmt 1 view .LVU1225
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4068 .loc 1 2020 5 view .LVU1226
4069 001c 4021 movs r1, #64
4070 001e 415C ldrb r1, [r0, r1]
4071 0020 0129 cmp r1, #1
4072 0022 00D1 bne .LCB3769
4073 0024 86E0 b .L258 @long jump
4074 .LCB3769:
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4075 .loc 1 2020 5 discriminator 2 view .LVU1227
4076 0026 4021 movs r1, #64
4077 0028 0120 movs r0, #1
4078 .LVL269:
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4079 .loc 1 2020 5 is_stmt 0 discriminator 2 view .LVU1228
4080 002a 6054 strb r0, [r4, r1]
2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4081 .loc 1 2022 5 is_stmt 1 discriminator 2 view .LVU1229
2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4082 .loc 1 2022 23 is_stmt 0 discriminator 2 view .LVU1230
4083 002c 0131 adds r1, r1, #1
4084 002e 2130 adds r0, r0, #33
4085 0030 6054 strb r0, [r4, r1]
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4086 .loc 1 2023 5 is_stmt 1 discriminator 2 view .LVU1231
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4087 .loc 1 2023 23 is_stmt 0 discriminator 2 view .LVU1232
4088 0032 0131 adds r1, r1, #1
4089 0034 1238 subs r0, r0, #18
4090 0036 6054 strb r0, [r4, r1]
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4091 .loc 1 2024 5 is_stmt 1 discriminator 2 view .LVU1233
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4092 .loc 1 2024 23 is_stmt 0 discriminator 2 view .LVU1234
4093 0038 0021 movs r1, #0
4094 003a 6164 str r1, [r4, #68]
ARM GAS /tmp/ccRVAHyi.s page 211
2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4095 .loc 1 2027 5 is_stmt 1 discriminator 2 view .LVU1235
2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4096 .loc 1 2027 23 is_stmt 0 discriminator 2 view .LVU1236
4097 003c 6262 str r2, [r4, #36]
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4098 .loc 1 2028 5 is_stmt 1 discriminator 2 view .LVU1237
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4099 .loc 1 2028 23 is_stmt 0 discriminator 2 view .LVU1238
4100 003e 6385 strh r3, [r4, #42]
2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4101 .loc 1 2029 5 is_stmt 1 discriminator 2 view .LVU1239
2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4102 .loc 1 2029 23 is_stmt 0 discriminator 2 view .LVU1240
4103 0040 3D4B ldr r3, .L261
4104 .LVL270:
2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4105 .loc 1 2029 23 discriminator 2 view .LVU1241
4106 0042 E362 str r3, [r4, #44]
4107 .LVL271:
2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4108 .loc 1 2030 5 is_stmt 1 discriminator 2 view .LVU1242
2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4109 .loc 1 2030 23 is_stmt 0 discriminator 2 view .LVU1243
4110 0044 3D4B ldr r3, .L261+4
4111 0046 6363 str r3, [r4, #52]
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4112 .loc 1 2032 5 is_stmt 1 discriminator 2 view .LVU1244
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4113 .loc 1 2032 13 is_stmt 0 discriminator 2 view .LVU1245
4114 0048 638D ldrh r3, [r4, #42]
4115 004a 9BB2 uxth r3, r3
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4116 .loc 1 2032 8 discriminator 2 view .LVU1246
4117 004c FF2B cmp r3, #255
4118 004e 29D9 bls .L249
2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
4119 .loc 1 2034 7 is_stmt 1 view .LVU1247
2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
4120 .loc 1 2034 22 is_stmt 0 view .LVU1248
4121 0050 FF23 movs r3, #255
4122 0052 2385 strh r3, [r4, #40]
2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4123 .loc 1 2035 7 is_stmt 1 view .LVU1249
4124 .LVL272:
2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4125 .loc 1 2035 16 is_stmt 0 view .LVU1250
4126 0054 8026 movs r6, #128
4127 0056 7604 lsls r6, r6, #17
4128 .LVL273:
4129 .L250:
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4130 .loc 1 2043 5 is_stmt 1 view .LVU1251
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4131 .loc 1 2043 13 is_stmt 0 view .LVU1252
4132 0058 218D ldrh r1, [r4, #40]
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 212
4133 .loc 1 2043 8 view .LVU1253
4134 005a 0029 cmp r1, #0
4135 005c 51D0 beq .L251
2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4136 .loc 1 2045 7 is_stmt 1 view .LVU1254
2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4137 .loc 1 2045 15 is_stmt 0 view .LVU1255
4138 005e E36B ldr r3, [r4, #60]
2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4139 .loc 1 2045 10 view .LVU1256
4140 0060 002B cmp r3, #0
4141 0062 24D0 beq .L252
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4142 .loc 1 2048 9 is_stmt 1 view .LVU1257
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4143 .loc 1 2048 40 is_stmt 0 view .LVU1258
4144 0064 3649 ldr r1, .L261+8
4145 0066 9962 str r1, [r3, #40]
2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4146 .loc 1 2051 9 is_stmt 1 view .LVU1259
2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4147 .loc 1 2051 13 is_stmt 0 view .LVU1260
4148 0068 E36B ldr r3, [r4, #60]
2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4149 .loc 1 2051 41 view .LVU1261
4150 006a 3649 ldr r1, .L261+12
4151 006c 1963 str r1, [r3, #48]
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4152 .loc 1 2054 9 is_stmt 1 view .LVU1262
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4153 .loc 1 2054 13 is_stmt 0 view .LVU1263
4154 006e E16B ldr r1, [r4, #60]
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4155 .loc 1 2054 44 view .LVU1264
4156 0070 0023 movs r3, #0
4157 0072 CB62 str r3, [r1, #44]
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4158 .loc 1 2055 9 is_stmt 1 view .LVU1265
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4159 .loc 1 2055 13 is_stmt 0 view .LVU1266
4160 0074 E16B ldr r1, [r4, #60]
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4161 .loc 1 2055 41 view .LVU1267
4162 0076 4B63 str r3, [r1, #52]
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4163 .loc 1 2058 9 is_stmt 1 view .LVU1268
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4164 .loc 1 2058 66 is_stmt 0 view .LVU1269
4165 0078 2168 ldr r1, [r4]
4166 007a 2431 adds r1, r1, #36
2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4167 .loc 1 2059 46 view .LVU1270
4168 007c 238D ldrh r3, [r4, #40]
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4169 .loc 1 2058 25 view .LVU1271
4170 007e E06B ldr r0, [r4, #60]
4171 0080 FFF7FEFF bl HAL_DMA_Start_IT
ARM GAS /tmp/ccRVAHyi.s page 213
4172 .LVL274:
2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4173 .loc 1 2076 7 is_stmt 1 view .LVU1272
2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4174 .loc 1 2076 10 is_stmt 0 view .LVU1273
4175 0084 0028 cmp r0, #0
4176 0086 20D0 beq .L260
2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4177 .loc 1 2100 9 is_stmt 1 view .LVU1274
2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4178 .loc 1 2100 25 is_stmt 0 view .LVU1275
4179 0088 4123 movs r3, #65
4180 008a 2022 movs r2, #32
4181 008c E254 strb r2, [r4, r3]
2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4182 .loc 1 2101 9 is_stmt 1 view .LVU1276
2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4183 .loc 1 2101 25 is_stmt 0 view .LVU1277
4184 008e 0022 movs r2, #0
4185 0090 0133 adds r3, r3, #1
4186 0092 E254 strb r2, [r4, r3]
2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4187 .loc 1 2104 9 is_stmt 1 view .LVU1278
2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4188 .loc 1 2104 25 is_stmt 0 view .LVU1279
4189 0094 636C ldr r3, [r4, #68]
4190 0096 1021 movs r1, #16
4191 0098 0B43 orrs r3, r1
4192 009a 6364 str r3, [r4, #68]
2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4193 .loc 1 2107 9 is_stmt 1 view .LVU1280
2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4194 .loc 1 2107 9 view .LVU1281
4195 009c 4023 movs r3, #64
4196 009e E254 strb r2, [r4, r3]
2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4197 .loc 1 2109 9 view .LVU1282
2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4198 .loc 1 2109 16 is_stmt 0 view .LVU1283
4199 00a0 0120 movs r0, #1
4200 .LVL275:
2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4201 .loc 1 2109 16 view .LVU1284
4202 00a2 43E0 b .L248
4203 .LVL276:
4204 .L249:
2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4205 .loc 1 2039 7 is_stmt 1 view .LVU1285
2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4206 .loc 1 2039 28 is_stmt 0 view .LVU1286
4207 00a4 638D ldrh r3, [r4, #42]
2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4208 .loc 1 2039 22 view .LVU1287
4209 00a6 2385 strh r3, [r4, #40]
2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4210 .loc 1 2040 7 is_stmt 1 view .LVU1288
4211 .LVL277:
ARM GAS /tmp/ccRVAHyi.s page 214
2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4212 .loc 1 2040 16 is_stmt 0 view .LVU1289
4213 00a8 8026 movs r6, #128
4214 00aa B604 lsls r6, r6, #18
4215 00ac D4E7 b .L250
4216 .LVL278:
4217 .L252:
2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4218 .loc 1 2064 9 is_stmt 1 view .LVU1290
2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4219 .loc 1 2064 25 is_stmt 0 view .LVU1291
4220 00ae 4123 movs r3, #65
4221 00b0 2022 movs r2, #32
4222 .LVL279:
2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4223 .loc 1 2064 25 view .LVU1292
4224 00b2 E254 strb r2, [r4, r3]
4225 .LVL280:
2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4226 .loc 1 2065 9 is_stmt 1 view .LVU1293
2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4227 .loc 1 2065 25 is_stmt 0 view .LVU1294
4228 00b4 0022 movs r2, #0
4229 00b6 0133 adds r3, r3, #1
4230 00b8 E254 strb r2, [r4, r3]
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4231 .loc 1 2068 9 is_stmt 1 view .LVU1295
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4232 .loc 1 2068 25 is_stmt 0 view .LVU1296
4233 00ba 636C ldr r3, [r4, #68]
4234 00bc 8021 movs r1, #128
4235 00be 0B43 orrs r3, r1
4236 00c0 6364 str r3, [r4, #68]
2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4237 .loc 1 2071 9 is_stmt 1 view .LVU1297
2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4238 .loc 1 2071 9 view .LVU1298
4239 00c2 4023 movs r3, #64
4240 00c4 E254 strb r2, [r4, r3]
2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4241 .loc 1 2073 9 view .LVU1299
2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4242 .loc 1 2073 16 is_stmt 0 view .LVU1300
4243 00c6 0120 movs r0, #1
4244 00c8 30E0 b .L248
4245 .LVL281:
4246 .L260:
2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4247 .loc 1 2080 9 is_stmt 1 view .LVU1301
2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4248 .loc 1 2080 59 is_stmt 0 view .LVU1302
4249 00ca 228D ldrh r2, [r4, #40]
2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4250 .loc 1 2080 9 view .LVU1303
4251 00cc D2B2 uxtb r2, r2
4252 00ce 1E4B ldr r3, .L261+16
4253 00d0 0093 str r3, [sp]
ARM GAS /tmp/ccRVAHyi.s page 215
4254 00d2 3300 movs r3, r6
4255 00d4 2900 movs r1, r5
4256 00d6 2000 movs r0, r4
4257 .LVL282:
2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4258 .loc 1 2080 9 view .LVU1304
4259 00d8 FFF7FEFF bl I2C_TransferConfig
4260 .LVL283:
2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4261 .loc 1 2083 9 is_stmt 1 view .LVU1305
2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4262 .loc 1 2083 25 is_stmt 0 view .LVU1306
4263 00dc 638D ldrh r3, [r4, #42]
2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4264 .loc 1 2083 32 view .LVU1307
4265 00de 228D ldrh r2, [r4, #40]
2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4266 .loc 1 2083 25 view .LVU1308
4267 00e0 9B1A subs r3, r3, r2
4268 00e2 9BB2 uxth r3, r3
4269 00e4 6385 strh r3, [r4, #42]
2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4270 .loc 1 2086 9 is_stmt 1 view .LVU1309
2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4271 .loc 1 2086 9 view .LVU1310
4272 00e6 4023 movs r3, #64
4273 00e8 0022 movs r2, #0
4274 00ea E254 strb r2, [r4, r3]
2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4275 .loc 1 2092 9 view .LVU1311
4276 00ec 1021 movs r1, #16
4277 00ee 2000 movs r0, r4
4278 00f0 FFF7FEFF bl I2C_Enable_IRQ
4279 .LVL284:
2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4280 .loc 1 2095 9 view .LVU1312
2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4281 .loc 1 2095 13 is_stmt 0 view .LVU1313
4282 00f4 2268 ldr r2, [r4]
2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4283 .loc 1 2095 29 view .LVU1314
4284 00f6 1168 ldr r1, [r2]
4285 00f8 8023 movs r3, #128
4286 00fa 1B02 lsls r3, r3, #8
4287 00fc 0B43 orrs r3, r1
4288 00fe 1360 str r3, [r2]
4289 0100 11E0 b .L255
4290 .LVL285:
4291 .L251:
2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4292 .loc 1 2115 7 is_stmt 1 view .LVU1315
2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4293 .loc 1 2115 21 is_stmt 0 view .LVU1316
4294 0102 124B ldr r3, .L261+20
4295 0104 6363 str r3, [r4, #52]
2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
4296 .loc 1 2119 7 is_stmt 1 view .LVU1317
ARM GAS /tmp/ccRVAHyi.s page 216
4297 0106 8023 movs r3, #128
4298 0108 CAB2 uxtb r2, r1
4299 .LVL286:
2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
4300 .loc 1 2119 7 is_stmt 0 view .LVU1318
4301 010a 0F49 ldr r1, .L261+16
4302 010c 0091 str r1, [sp]
4303 .LVL287:
2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
4304 .loc 1 2119 7 view .LVU1319
4305 010e 9B04 lsls r3, r3, #18
4306 0110 2900 movs r1, r5
4307 0112 2000 movs r0, r4
4308 0114 FFF7FEFF bl I2C_TransferConfig
4309 .LVL288:
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4310 .loc 1 2123 7 is_stmt 1 view .LVU1320
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4311 .loc 1 2123 7 view .LVU1321
4312 0118 4023 movs r3, #64
4313 011a 0022 movs r2, #0
4314 011c E254 strb r2, [r4, r3]
2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4315 .loc 1 2132 7 view .LVU1322
4316 011e 0121 movs r1, #1
4317 0120 2000 movs r0, r4
4318 0122 FFF7FEFF bl I2C_Enable_IRQ
4319 .LVL289:
4320 .L255:
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4321 .loc 1 2135 5 view .LVU1323
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4322 .loc 1 2135 12 is_stmt 0 view .LVU1324
4323 0126 0020 movs r0, #0
4324 0128 00E0 b .L248
4325 .LVL290:
4326 .L256:
2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4327 .loc 1 2139 12 view .LVU1325
4328 012a 0220 movs r0, #2
4329 .LVL291:
4330 .L248:
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4331 .loc 1 2141 1 view .LVU1326
4332 012c 02B0 add sp, sp, #8
4333 @ sp needed
4334 .LVL292:
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4335 .loc 1 2141 1 view .LVU1327
4336 012e 70BD pop {r4, r5, r6, pc}
4337 .LVL293:
4338 .L257:
2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4339 .loc 1 2016 14 view .LVU1328
4340 0130 0220 movs r0, #2
4341 .LVL294:
2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 217
4342 .loc 1 2016 14 view .LVU1329
4343 0132 FBE7 b .L248
4344 .LVL295:
4345 .L258:
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4346 .loc 1 2020 5 view .LVU1330
4347 0134 0220 movs r0, #2
4348 .LVL296:
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4349 .loc 1 2020 5 view .LVU1331
4350 0136 F9E7 b .L248
4351 .L262:
4352 .align 2
4353 .L261:
4354 0138 0000FFFF .word -65536
4355 013c 00000000 .word I2C_Master_ISR_DMA
4356 0140 00000000 .word I2C_DMAMasterReceiveCplt
4357 0144 00000000 .word I2C_DMAError
4358 0148 00240080 .word -2147474432
4359 014c 00000000 .word I2C_Master_ISR_IT
4360 .cfi_endproc
4361 .LFE53:
4363 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
4364 .align 1
4365 .global HAL_I2C_Slave_Transmit_DMA
4366 .syntax unified
4367 .code 16
4368 .thumb_func
4369 .fpu softvfp
4371 HAL_I2C_Slave_Transmit_DMA:
4372 .LVL297:
4373 .LFB54:
2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4374 .loc 1 2152 1 is_stmt 1 view -0
4375 .cfi_startproc
4376 @ args = 0, pretend = 0, frame = 0
4377 @ frame_needed = 0, uses_anonymous_args = 0
2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4378 .loc 1 2152 1 is_stmt 0 view .LVU1333
4379 0000 70B5 push {r4, r5, r6, lr}
4380 .LCFI31:
4381 .cfi_def_cfa_offset 16
4382 .cfi_offset 4, -16
4383 .cfi_offset 5, -12
4384 .cfi_offset 6, -8
4385 .cfi_offset 14, -4
4386 0002 0400 movs r4, r0
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4387 .loc 1 2153 3 is_stmt 1 view .LVU1334
2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4388 .loc 1 2155 3 view .LVU1335
2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4389 .loc 1 2155 11 is_stmt 0 view .LVU1336
4390 0004 4123 movs r3, #65
4391 0006 C35C ldrb r3, [r0, r3]
2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4392 .loc 1 2155 6 view .LVU1337
ARM GAS /tmp/ccRVAHyi.s page 218
4393 0008 202B cmp r3, #32
4394 000a 64D1 bne .L270
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4395 .loc 1 2157 5 is_stmt 1 view .LVU1338
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4396 .loc 1 2157 8 is_stmt 0 view .LVU1339
4397 000c 0029 cmp r1, #0
4398 000e 3BD0 beq .L265
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4399 .loc 1 2157 25 discriminator 1 view .LVU1340
4400 0010 002A cmp r2, #0
4401 0012 39D0 beq .L265
2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4402 .loc 1 2163 5 is_stmt 1 view .LVU1341
2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4403 .loc 1 2163 5 view .LVU1342
4404 0014 4023 movs r3, #64
4405 0016 C35C ldrb r3, [r0, r3]
4406 0018 012B cmp r3, #1
4407 001a 5FD0 beq .L271
2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4408 .loc 1 2163 5 discriminator 2 view .LVU1343
4409 001c 4023 movs r3, #64
4410 001e 0120 movs r0, #1
4411 .LVL298:
2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4412 .loc 1 2163 5 is_stmt 0 discriminator 2 view .LVU1344
4413 0020 E054 strb r0, [r4, r3]
2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4414 .loc 1 2165 5 is_stmt 1 discriminator 2 view .LVU1345
2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4415 .loc 1 2165 23 is_stmt 0 discriminator 2 view .LVU1346
4416 0022 0133 adds r3, r3, #1
4417 0024 2030 adds r0, r0, #32
4418 0026 E054 strb r0, [r4, r3]
2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4419 .loc 1 2166 5 is_stmt 1 discriminator 2 view .LVU1347
2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4420 .loc 1 2166 23 is_stmt 0 discriminator 2 view .LVU1348
4421 0028 0133 adds r3, r3, #1
4422 002a 0138 subs r0, r0, #1
4423 002c E054 strb r0, [r4, r3]
2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4424 .loc 1 2167 5 is_stmt 1 discriminator 2 view .LVU1349
2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4425 .loc 1 2167 23 is_stmt 0 discriminator 2 view .LVU1350
4426 002e 0023 movs r3, #0
4427 0030 6364 str r3, [r4, #68]
2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4428 .loc 1 2170 5 is_stmt 1 discriminator 2 view .LVU1351
2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4429 .loc 1 2170 23 is_stmt 0 discriminator 2 view .LVU1352
4430 0032 6162 str r1, [r4, #36]
2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4431 .loc 1 2171 5 is_stmt 1 discriminator 2 view .LVU1353
2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4432 .loc 1 2171 23 is_stmt 0 discriminator 2 view .LVU1354
ARM GAS /tmp/ccRVAHyi.s page 219
4433 0034 6285 strh r2, [r4, #42]
2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4434 .loc 1 2172 5 is_stmt 1 discriminator 2 view .LVU1355
2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4435 .loc 1 2172 29 is_stmt 0 discriminator 2 view .LVU1356
4436 0036 638D ldrh r3, [r4, #42]
2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4437 .loc 1 2172 23 discriminator 2 view .LVU1357
4438 0038 2385 strh r3, [r4, #40]
2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4439 .loc 1 2173 5 is_stmt 1 discriminator 2 view .LVU1358
2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4440 .loc 1 2173 23 is_stmt 0 discriminator 2 view .LVU1359
4441 003a 294B ldr r3, .L274
4442 003c E362 str r3, [r4, #44]
2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4443 .loc 1 2174 5 is_stmt 1 discriminator 2 view .LVU1360
2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4444 .loc 1 2174 23 is_stmt 0 discriminator 2 view .LVU1361
4445 003e 294B ldr r3, .L274+4
4446 0040 6363 str r3, [r4, #52]
2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4447 .loc 1 2176 5 is_stmt 1 discriminator 2 view .LVU1362
2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4448 .loc 1 2176 13 is_stmt 0 discriminator 2 view .LVU1363
4449 0042 A36B ldr r3, [r4, #56]
2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4450 .loc 1 2176 8 discriminator 2 view .LVU1364
4451 0044 002B cmp r3, #0
4452 0046 24D0 beq .L267
2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4453 .loc 1 2179 7 is_stmt 1 view .LVU1365
2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4454 .loc 1 2179 38 is_stmt 0 view .LVU1366
4455 0048 274A ldr r2, .L274+8
4456 .LVL299:
2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4457 .loc 1 2179 38 view .LVU1367
4458 004a 9A62 str r2, [r3, #40]
2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4459 .loc 1 2182 7 is_stmt 1 view .LVU1368
2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4460 .loc 1 2182 11 is_stmt 0 view .LVU1369
4461 004c A36B ldr r3, [r4, #56]
2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4462 .loc 1 2182 39 view .LVU1370
4463 004e 274A ldr r2, .L274+12
4464 0050 1A63 str r2, [r3, #48]
2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4465 .loc 1 2185 7 is_stmt 1 view .LVU1371
2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4466 .loc 1 2185 11 is_stmt 0 view .LVU1372
4467 0052 A26B ldr r2, [r4, #56]
2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4468 .loc 1 2185 42 view .LVU1373
4469 0054 0023 movs r3, #0
4470 0056 D362 str r3, [r2, #44]
ARM GAS /tmp/ccRVAHyi.s page 220
2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4471 .loc 1 2186 7 is_stmt 1 view .LVU1374
2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4472 .loc 1 2186 11 is_stmt 0 view .LVU1375
4473 0058 A26B ldr r2, [r4, #56]
2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4474 .loc 1 2186 39 view .LVU1376
4475 005a 5363 str r3, [r2, #52]
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4476 .loc 1 2189 7 is_stmt 1 view .LVU1377
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4477 .loc 1 2189 81 is_stmt 0 view .LVU1378
4478 005c 2268 ldr r2, [r4]
4479 005e 2832 adds r2, r2, #40
2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4480 .loc 1 2190 44 view .LVU1379
4481 0060 238D ldrh r3, [r4, #40]
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4482 .loc 1 2189 23 view .LVU1380
4483 0062 A06B ldr r0, [r4, #56]
4484 0064 FFF7FEFF bl HAL_DMA_Start_IT
4485 .LVL300:
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4486 .loc 1 2189 23 view .LVU1381
4487 0068 051E subs r5, r0, #0
4488 .LVL301:
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4489 .loc 1 2207 5 is_stmt 1 view .LVU1382
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4490 .loc 1 2207 8 is_stmt 0 view .LVU1383
4491 006a 20D0 beq .L273
2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4492 .loc 1 2227 7 is_stmt 1 view .LVU1384
2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4493 .loc 1 2227 23 is_stmt 0 view .LVU1385
4494 006c 4123 movs r3, #65
4495 006e 2822 movs r2, #40
4496 0070 E254 strb r2, [r4, r3]
2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4497 .loc 1 2228 7 is_stmt 1 view .LVU1386
2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4498 .loc 1 2228 23 is_stmt 0 view .LVU1387
4499 0072 0022 movs r2, #0
4500 0074 0133 adds r3, r3, #1
4501 0076 E254 strb r2, [r4, r3]
2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4502 .loc 1 2231 7 is_stmt 1 view .LVU1388
2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4503 .loc 1 2231 23 is_stmt 0 view .LVU1389
4504 0078 636C ldr r3, [r4, #68]
4505 007a 1021 movs r1, #16
4506 007c 0B43 orrs r3, r1
4507 007e 6364 str r3, [r4, #68]
2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4508 .loc 1 2234 7 is_stmt 1 view .LVU1390
2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4509 .loc 1 2234 7 view .LVU1391
ARM GAS /tmp/ccRVAHyi.s page 221
4510 0080 4023 movs r3, #64
4511 0082 E254 strb r2, [r4, r3]
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4512 .loc 1 2236 7 view .LVU1392
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4513 .loc 1 2236 14 is_stmt 0 view .LVU1393
4514 0084 0125 movs r5, #1
4515 0086 27E0 b .L264
4516 .LVL302:
4517 .L265:
2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4518 .loc 1 2159 7 is_stmt 1 view .LVU1394
2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4519 .loc 1 2159 23 is_stmt 0 view .LVU1395
4520 0088 8023 movs r3, #128
4521 008a 9B00 lsls r3, r3, #2
4522 008c 6364 str r3, [r4, #68]
2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4523 .loc 1 2160 7 is_stmt 1 view .LVU1396
2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4524 .loc 1 2160 15 is_stmt 0 view .LVU1397
4525 008e 0125 movs r5, #1
4526 0090 22E0 b .L264
4527 .LVL303:
4528 .L267:
2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4529 .loc 1 2195 7 is_stmt 1 view .LVU1398
2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4530 .loc 1 2195 23 is_stmt 0 view .LVU1399
4531 0092 4123 movs r3, #65
4532 0094 2822 movs r2, #40
4533 .LVL304:
2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4534 .loc 1 2195 23 view .LVU1400
4535 0096 E254 strb r2, [r4, r3]
2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4536 .loc 1 2196 7 is_stmt 1 view .LVU1401
2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4537 .loc 1 2196 23 is_stmt 0 view .LVU1402
4538 0098 0022 movs r2, #0
4539 009a 0133 adds r3, r3, #1
4540 009c E254 strb r2, [r4, r3]
2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4541 .loc 1 2199 7 is_stmt 1 view .LVU1403
2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4542 .loc 1 2199 23 is_stmt 0 view .LVU1404
4543 009e 636C ldr r3, [r4, #68]
4544 00a0 8021 movs r1, #128
4545 .LVL305:
2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4546 .loc 1 2199 23 view .LVU1405
4547 00a2 0B43 orrs r3, r1
4548 00a4 6364 str r3, [r4, #68]
2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4549 .loc 1 2202 7 is_stmt 1 view .LVU1406
2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4550 .loc 1 2202 7 view .LVU1407
ARM GAS /tmp/ccRVAHyi.s page 222
4551 00a6 4023 movs r3, #64
4552 00a8 E254 strb r2, [r4, r3]
2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4553 .loc 1 2204 7 view .LVU1408
2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4554 .loc 1 2204 14 is_stmt 0 view .LVU1409
4555 00aa 0125 movs r5, #1
4556 00ac 14E0 b .L264
4557 .LVL306:
4558 .L273:
2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4559 .loc 1 2210 7 is_stmt 1 view .LVU1410
2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4560 .loc 1 2210 11 is_stmt 0 view .LVU1411
4561 00ae 2268 ldr r2, [r4]
2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4562 .loc 1 2210 27 view .LVU1412
4563 00b0 5368 ldr r3, [r2, #4]
4564 00b2 0F49 ldr r1, .L274+16
4565 00b4 0B40 ands r3, r1
4566 00b6 5360 str r3, [r2, #4]
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4567 .loc 1 2213 7 is_stmt 1 view .LVU1413
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4568 .loc 1 2213 7 view .LVU1414
4569 00b8 4023 movs r3, #64
4570 00ba 0022 movs r2, #0
4571 00bc E254 strb r2, [r4, r3]
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4572 .loc 1 2219 7 view .LVU1415
4573 00be 8021 movs r1, #128
4574 00c0 0902 lsls r1, r1, #8
4575 00c2 2000 movs r0, r4
4576 .LVL307:
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4577 .loc 1 2219 7 is_stmt 0 view .LVU1416
4578 00c4 FFF7FEFF bl I2C_Enable_IRQ
4579 .LVL308:
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4580 .loc 1 2222 7 is_stmt 1 view .LVU1417
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4581 .loc 1 2222 11 is_stmt 0 view .LVU1418
4582 00c8 2268 ldr r2, [r4]
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4583 .loc 1 2222 27 view .LVU1419
4584 00ca 1168 ldr r1, [r2]
4585 00cc 8023 movs r3, #128
4586 00ce DB01 lsls r3, r3, #7
4587 00d0 0B43 orrs r3, r1
4588 00d2 1360 str r3, [r2]
2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4589 .loc 1 2239 5 is_stmt 1 view .LVU1420
2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4590 .loc 1 2239 12 is_stmt 0 view .LVU1421
4591 00d4 00E0 b .L264
4592 .LVL309:
4593 .L270:
ARM GAS /tmp/ccRVAHyi.s page 223
2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4594 .loc 1 2243 12 view .LVU1422
4595 00d6 0225 movs r5, #2
4596 .LVL310:
4597 .L264:
2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4598 .loc 1 2245 1 view .LVU1423
4599 00d8 2800 movs r0, r5
4600 @ sp needed
4601 .LVL311:
2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4602 .loc 1 2245 1 view .LVU1424
4603 00da 70BD pop {r4, r5, r6, pc}
4604 .LVL312:
4605 .L271:
2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4606 .loc 1 2163 5 view .LVU1425
4607 00dc 0225 movs r5, #2
4608 00de FBE7 b .L264
4609 .L275:
4610 .align 2
4611 .L274:
4612 00e0 0000FFFF .word -65536
4613 00e4 00000000 .word I2C_Slave_ISR_DMA
4614 00e8 00000000 .word I2C_DMASlaveTransmitCplt
4615 00ec 00000000 .word I2C_DMAError
4616 00f0 FF7FFFFF .word -32769
4617 .cfi_endproc
4618 .LFE54:
4620 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
4621 .align 1
4622 .global HAL_I2C_Slave_Receive_DMA
4623 .syntax unified
4624 .code 16
4625 .thumb_func
4626 .fpu softvfp
4628 HAL_I2C_Slave_Receive_DMA:
4629 .LVL313:
4630 .LFB55:
2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4631 .loc 1 2256 1 is_stmt 1 view -0
4632 .cfi_startproc
4633 @ args = 0, pretend = 0, frame = 0
4634 @ frame_needed = 0, uses_anonymous_args = 0
2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4635 .loc 1 2256 1 is_stmt 0 view .LVU1427
4636 0000 70B5 push {r4, r5, r6, lr}
4637 .LCFI32:
4638 .cfi_def_cfa_offset 16
4639 .cfi_offset 4, -16
4640 .cfi_offset 5, -12
4641 .cfi_offset 6, -8
4642 .cfi_offset 14, -4
4643 0002 0400 movs r4, r0
2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4644 .loc 1 2257 3 is_stmt 1 view .LVU1428
2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 224
4645 .loc 1 2259 3 view .LVU1429
2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4646 .loc 1 2259 11 is_stmt 0 view .LVU1430
4647 0004 4123 movs r3, #65
4648 0006 C35C ldrb r3, [r0, r3]
2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4649 .loc 1 2259 6 view .LVU1431
4650 0008 202B cmp r3, #32
4651 000a 65D1 bne .L283
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4652 .loc 1 2261 5 is_stmt 1 view .LVU1432
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4653 .loc 1 2261 8 is_stmt 0 view .LVU1433
4654 000c 0029 cmp r1, #0
4655 000e 3DD0 beq .L278
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4656 .loc 1 2261 25 discriminator 1 view .LVU1434
4657 0010 002A cmp r2, #0
4658 0012 3BD0 beq .L278
2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4659 .loc 1 2267 5 is_stmt 1 view .LVU1435
2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4660 .loc 1 2267 5 view .LVU1436
4661 0014 4023 movs r3, #64
4662 0016 C35C ldrb r3, [r0, r3]
4663 0018 012B cmp r3, #1
4664 001a 60D0 beq .L284
2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4665 .loc 1 2267 5 discriminator 2 view .LVU1437
4666 001c 4023 movs r3, #64
4667 001e 0120 movs r0, #1
4668 .LVL314:
2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4669 .loc 1 2267 5 is_stmt 0 discriminator 2 view .LVU1438
4670 0020 E054 strb r0, [r4, r3]
2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4671 .loc 1 2269 5 is_stmt 1 discriminator 2 view .LVU1439
2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4672 .loc 1 2269 23 is_stmt 0 discriminator 2 view .LVU1440
4673 0022 0133 adds r3, r3, #1
4674 0024 2130 adds r0, r0, #33
4675 0026 E054 strb r0, [r4, r3]
2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4676 .loc 1 2270 5 is_stmt 1 discriminator 2 view .LVU1441
2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4677 .loc 1 2270 23 is_stmt 0 discriminator 2 view .LVU1442
4678 0028 0133 adds r3, r3, #1
4679 002a 0238 subs r0, r0, #2
4680 002c E054 strb r0, [r4, r3]
2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4681 .loc 1 2271 5 is_stmt 1 discriminator 2 view .LVU1443
2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4682 .loc 1 2271 23 is_stmt 0 discriminator 2 view .LVU1444
4683 002e 0023 movs r3, #0
4684 0030 6364 str r3, [r4, #68]
2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4685 .loc 1 2274 5 is_stmt 1 discriminator 2 view .LVU1445
ARM GAS /tmp/ccRVAHyi.s page 225
2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4686 .loc 1 2274 23 is_stmt 0 discriminator 2 view .LVU1446
4687 0032 6162 str r1, [r4, #36]
2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4688 .loc 1 2275 5 is_stmt 1 discriminator 2 view .LVU1447
2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4689 .loc 1 2275 23 is_stmt 0 discriminator 2 view .LVU1448
4690 0034 6285 strh r2, [r4, #42]
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4691 .loc 1 2276 5 is_stmt 1 discriminator 2 view .LVU1449
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4692 .loc 1 2276 29 is_stmt 0 discriminator 2 view .LVU1450
4693 0036 638D ldrh r3, [r4, #42]
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4694 .loc 1 2276 23 discriminator 2 view .LVU1451
4695 0038 2385 strh r3, [r4, #40]
2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4696 .loc 1 2277 5 is_stmt 1 discriminator 2 view .LVU1452
2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4697 .loc 1 2277 23 is_stmt 0 discriminator 2 view .LVU1453
4698 003a 2A4B ldr r3, .L287
4699 003c E362 str r3, [r4, #44]
2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4700 .loc 1 2278 5 is_stmt 1 discriminator 2 view .LVU1454
2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4701 .loc 1 2278 23 is_stmt 0 discriminator 2 view .LVU1455
4702 003e 2A4B ldr r3, .L287+4
4703 0040 6363 str r3, [r4, #52]
2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4704 .loc 1 2280 5 is_stmt 1 discriminator 2 view .LVU1456
2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4705 .loc 1 2280 13 is_stmt 0 discriminator 2 view .LVU1457
4706 0042 E36B ldr r3, [r4, #60]
2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4707 .loc 1 2280 8 discriminator 2 view .LVU1458
4708 0044 002B cmp r3, #0
4709 0046 26D0 beq .L280
2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4710 .loc 1 2283 7 is_stmt 1 view .LVU1459
2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4711 .loc 1 2283 38 is_stmt 0 view .LVU1460
4712 0048 284A ldr r2, .L287+8
4713 .LVL315:
2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4714 .loc 1 2283 38 view .LVU1461
4715 004a 9A62 str r2, [r3, #40]
2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4716 .loc 1 2286 7 is_stmt 1 view .LVU1462
2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4717 .loc 1 2286 11 is_stmt 0 view .LVU1463
4718 004c E36B ldr r3, [r4, #60]
2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4719 .loc 1 2286 39 view .LVU1464
4720 004e 284A ldr r2, .L287+12
4721 0050 1A63 str r2, [r3, #48]
2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4722 .loc 1 2289 7 is_stmt 1 view .LVU1465
ARM GAS /tmp/ccRVAHyi.s page 226
2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4723 .loc 1 2289 11 is_stmt 0 view .LVU1466
4724 0052 E26B ldr r2, [r4, #60]
2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4725 .loc 1 2289 42 view .LVU1467
4726 0054 0023 movs r3, #0
4727 0056 D362 str r3, [r2, #44]
2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4728 .loc 1 2290 7 is_stmt 1 view .LVU1468
2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4729 .loc 1 2290 11 is_stmt 0 view .LVU1469
4730 0058 E26B ldr r2, [r4, #60]
2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4731 .loc 1 2290 39 view .LVU1470
4732 005a 5363 str r3, [r2, #52]
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4733 .loc 1 2293 7 is_stmt 1 view .LVU1471
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4734 .loc 1 2293 64 is_stmt 0 view .LVU1472
4735 005c 2068 ldr r0, [r4]
4736 005e 2430 adds r0, r0, #36
2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4737 .loc 1 2294 44 view .LVU1473
4738 0060 238D ldrh r3, [r4, #40]
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4739 .loc 1 2293 23 view .LVU1474
4740 0062 0A00 movs r2, r1
4741 0064 0100 movs r1, r0
4742 .LVL316:
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4743 .loc 1 2293 23 view .LVU1475
4744 0066 E06B ldr r0, [r4, #60]
4745 0068 FFF7FEFF bl HAL_DMA_Start_IT
4746 .LVL317:
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4747 .loc 1 2293 23 view .LVU1476
4748 006c 051E subs r5, r0, #0
4749 .LVL318:
2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4750 .loc 1 2311 5 is_stmt 1 view .LVU1477
2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4751 .loc 1 2311 8 is_stmt 0 view .LVU1478
4752 006e 20D0 beq .L286
2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4753 .loc 1 2331 7 is_stmt 1 view .LVU1479
2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4754 .loc 1 2331 23 is_stmt 0 view .LVU1480
4755 0070 4123 movs r3, #65
4756 0072 2822 movs r2, #40
4757 0074 E254 strb r2, [r4, r3]
2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4758 .loc 1 2332 7 is_stmt 1 view .LVU1481
2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4759 .loc 1 2332 23 is_stmt 0 view .LVU1482
4760 0076 0022 movs r2, #0
4761 0078 0133 adds r3, r3, #1
4762 007a E254 strb r2, [r4, r3]
ARM GAS /tmp/ccRVAHyi.s page 227
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4763 .loc 1 2335 7 is_stmt 1 view .LVU1483
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4764 .loc 1 2335 23 is_stmt 0 view .LVU1484
4765 007c 636C ldr r3, [r4, #68]
4766 007e 1021 movs r1, #16
4767 0080 0B43 orrs r3, r1
4768 0082 6364 str r3, [r4, #68]
2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4769 .loc 1 2338 7 is_stmt 1 view .LVU1485
2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4770 .loc 1 2338 7 view .LVU1486
4771 0084 4023 movs r3, #64
4772 0086 E254 strb r2, [r4, r3]
2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4773 .loc 1 2340 7 view .LVU1487
2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4774 .loc 1 2340 14 is_stmt 0 view .LVU1488
4775 0088 0125 movs r5, #1
4776 008a 26E0 b .L277
4777 .LVL319:
4778 .L278:
2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4779 .loc 1 2263 7 is_stmt 1 view .LVU1489
2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4780 .loc 1 2263 23 is_stmt 0 view .LVU1490
4781 008c 8023 movs r3, #128
4782 008e 9B00 lsls r3, r3, #2
4783 0090 6364 str r3, [r4, #68]
2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4784 .loc 1 2264 7 is_stmt 1 view .LVU1491
2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4785 .loc 1 2264 15 is_stmt 0 view .LVU1492
4786 0092 0125 movs r5, #1
4787 0094 21E0 b .L277
4788 .LVL320:
4789 .L280:
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4790 .loc 1 2299 7 is_stmt 1 view .LVU1493
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4791 .loc 1 2299 23 is_stmt 0 view .LVU1494
4792 0096 4123 movs r3, #65
4793 0098 2822 movs r2, #40
4794 .LVL321:
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4795 .loc 1 2299 23 view .LVU1495
4796 009a E254 strb r2, [r4, r3]
2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4797 .loc 1 2300 7 is_stmt 1 view .LVU1496
2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4798 .loc 1 2300 23 is_stmt 0 view .LVU1497
4799 009c 0022 movs r2, #0
4800 009e 0133 adds r3, r3, #1
4801 00a0 E254 strb r2, [r4, r3]
2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4802 .loc 1 2303 7 is_stmt 1 view .LVU1498
2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 228
4803 .loc 1 2303 23 is_stmt 0 view .LVU1499
4804 00a2 636C ldr r3, [r4, #68]
4805 00a4 8021 movs r1, #128
4806 .LVL322:
2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4807 .loc 1 2303 23 view .LVU1500
4808 00a6 0B43 orrs r3, r1
4809 00a8 6364 str r3, [r4, #68]
2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4810 .loc 1 2306 7 is_stmt 1 view .LVU1501
2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4811 .loc 1 2306 7 view .LVU1502
4812 00aa 4023 movs r3, #64
4813 00ac E254 strb r2, [r4, r3]
2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4814 .loc 1 2308 7 view .LVU1503
2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4815 .loc 1 2308 14 is_stmt 0 view .LVU1504
4816 00ae 0125 movs r5, #1
4817 00b0 13E0 b .L277
4818 .LVL323:
4819 .L286:
2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4820 .loc 1 2314 7 is_stmt 1 view .LVU1505
2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4821 .loc 1 2314 11 is_stmt 0 view .LVU1506
4822 00b2 2268 ldr r2, [r4]
2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4823 .loc 1 2314 27 view .LVU1507
4824 00b4 5368 ldr r3, [r2, #4]
4825 00b6 0F49 ldr r1, .L287+16
4826 00b8 0B40 ands r3, r1
4827 00ba 5360 str r3, [r2, #4]
2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4828 .loc 1 2317 7 is_stmt 1 view .LVU1508
2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4829 .loc 1 2317 7 view .LVU1509
4830 00bc 4023 movs r3, #64
4831 00be 0022 movs r2, #0
4832 00c0 E254 strb r2, [r4, r3]
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4833 .loc 1 2323 7 view .LVU1510
4834 00c2 8026 movs r6, #128
4835 00c4 3602 lsls r6, r6, #8
4836 00c6 3100 movs r1, r6
4837 00c8 2000 movs r0, r4
4838 .LVL324:
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4839 .loc 1 2323 7 is_stmt 0 view .LVU1511
4840 00ca FFF7FEFF bl I2C_Enable_IRQ
4841 .LVL325:
2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4842 .loc 1 2326 7 is_stmt 1 view .LVU1512
2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4843 .loc 1 2326 11 is_stmt 0 view .LVU1513
4844 00ce 2368 ldr r3, [r4]
2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 229
4845 .loc 1 2326 27 view .LVU1514
4846 00d0 1A68 ldr r2, [r3]
4847 00d2 1643 orrs r6, r2
4848 00d4 1E60 str r6, [r3]
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4849 .loc 1 2343 5 is_stmt 1 view .LVU1515
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4850 .loc 1 2343 12 is_stmt 0 view .LVU1516
4851 00d6 00E0 b .L277
4852 .LVL326:
4853 .L283:
2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4854 .loc 1 2347 12 view .LVU1517
4855 00d8 0225 movs r5, #2
4856 .LVL327:
4857 .L277:
2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4858 .loc 1 2349 1 view .LVU1518
4859 00da 2800 movs r0, r5
4860 @ sp needed
4861 .LVL328:
2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4862 .loc 1 2349 1 view .LVU1519
4863 00dc 70BD pop {r4, r5, r6, pc}
4864 .LVL329:
4865 .L284:
2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4866 .loc 1 2267 5 view .LVU1520
4867 00de 0225 movs r5, #2
4868 00e0 FBE7 b .L277
4869 .L288:
4870 00e2 C046 .align 2
4871 .L287:
4872 00e4 0000FFFF .word -65536
4873 00e8 00000000 .word I2C_Slave_ISR_DMA
4874 00ec 00000000 .word I2C_DMASlaveReceiveCplt
4875 00f0 00000000 .word I2C_DMAError
4876 00f4 FF7FFFFF .word -32769
4877 .cfi_endproc
4878 .LFE55:
4880 .section .text.HAL_I2C_Mem_Write,"ax",%progbits
4881 .align 1
4882 .global HAL_I2C_Mem_Write
4883 .syntax unified
4884 .code 16
4885 .thumb_func
4886 .fpu softvfp
4888 HAL_I2C_Mem_Write:
4889 .LVL330:
4890 .LFB56:
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
4891 .loc 1 2365 1 is_stmt 1 view -0
4892 .cfi_startproc
4893 @ args = 12, pretend = 0, frame = 16
4894 @ frame_needed = 0, uses_anonymous_args = 0
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
4895 .loc 1 2365 1 is_stmt 0 view .LVU1522
ARM GAS /tmp/ccRVAHyi.s page 230
4896 0000 F0B5 push {r4, r5, r6, r7, lr}
4897 .LCFI33:
4898 .cfi_def_cfa_offset 20
4899 .cfi_offset 4, -20
4900 .cfi_offset 5, -16
4901 .cfi_offset 6, -12
4902 .cfi_offset 7, -8
4903 .cfi_offset 14, -4
4904 0002 87B0 sub sp, sp, #28
4905 .LCFI34:
4906 .cfi_def_cfa_offset 48
4907 0004 0600 movs r6, r0
4908 0006 0391 str r1, [sp, #12]
4909 0008 0492 str r2, [sp, #16]
4910 000a 0593 str r3, [sp, #20]
4911 000c 0CAB add r3, sp, #48
4912 .LVL331:
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
4913 .loc 1 2365 1 view .LVU1523
4914 000e 20CB ldmia r3!, {r5}
4915 .LVL332:
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
4916 .loc 1 2365 1 view .LVU1524
4917 0010 1F88 ldrh r7, [r3]
2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4918 .loc 1 2366 3 is_stmt 1 view .LVU1525
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4919 .loc 1 2369 3 view .LVU1526
2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4920 .loc 1 2371 3 view .LVU1527
2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4921 .loc 1 2371 11 is_stmt 0 view .LVU1528
4922 0012 4123 movs r3, #65
4923 .LVL333:
2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4924 .loc 1 2371 11 view .LVU1529
4925 0014 C35C ldrb r3, [r0, r3]
2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4926 .loc 1 2371 6 view .LVU1530
4927 0016 202B cmp r3, #32
4928 0018 00D0 beq .LCB4548
4929 001a B3E0 b .L299 @long jump
4930 .LCB4548:
2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4931 .loc 1 2373 5 is_stmt 1 view .LVU1531
2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4932 .loc 1 2373 8 is_stmt 0 view .LVU1532
4933 001c 002D cmp r5, #0
4934 001e 18D0 beq .L291
2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4935 .loc 1 2373 25 discriminator 1 view .LVU1533
4936 0020 002F cmp r7, #0
4937 0022 16D0 beq .L291
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4938 .loc 1 2380 5 is_stmt 1 view .LVU1534
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4939 .loc 1 2380 5 view .LVU1535
ARM GAS /tmp/ccRVAHyi.s page 231
4940 0024 4023 movs r3, #64
4941 0026 C35C ldrb r3, [r0, r3]
4942 0028 012B cmp r3, #1
4943 002a 00D1 bne .LCB4559
4944 002c ADE0 b .L300 @long jump
4945 .LCB4559:
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4946 .loc 1 2380 5 discriminator 2 view .LVU1536
4947 002e 4023 movs r3, #64
4948 0030 0122 movs r2, #1
4949 .LVL334:
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4950 .loc 1 2380 5 is_stmt 0 discriminator 2 view .LVU1537
4951 0032 C254 strb r2, [r0, r3]
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4952 .loc 1 2383 5 is_stmt 1 discriminator 2 view .LVU1538
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4953 .loc 1 2383 17 is_stmt 0 discriminator 2 view .LVU1539
4954 0034 FFF7FEFF bl HAL_GetTick
4955 .LVL335:
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4956 .loc 1 2383 17 discriminator 2 view .LVU1540
4957 0038 0400 movs r4, r0
4958 .LVL336:
2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4959 .loc 1 2385 5 is_stmt 1 discriminator 2 view .LVU1541
2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4960 .loc 1 2385 9 is_stmt 0 discriminator 2 view .LVU1542
4961 003a 8021 movs r1, #128
4962 003c 0090 str r0, [sp]
4963 003e 1923 movs r3, #25
4964 0040 0122 movs r2, #1
4965 0042 0902 lsls r1, r1, #8
4966 0044 3000 movs r0, r6
4967 .LVL337:
2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4968 .loc 1 2385 9 discriminator 2 view .LVU1543
4969 0046 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
4970 .LVL338:
2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4971 .loc 1 2385 8 discriminator 2 view .LVU1544
4972 004a 0028 cmp r0, #0
4973 004c 06D0 beq .L305
2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4974 .loc 1 2387 14 view .LVU1545
4975 004e 0120 movs r0, #1
4976 0050 99E0 b .L290
4977 .LVL339:
4978 .L291:
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4979 .loc 1 2375 7 is_stmt 1 view .LVU1546
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4980 .loc 1 2375 23 is_stmt 0 view .LVU1547
4981 0052 8023 movs r3, #128
4982 0054 9B00 lsls r3, r3, #2
4983 0056 7364 str r3, [r6, #68]
2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 232
4984 .loc 1 2376 7 is_stmt 1 view .LVU1548
2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4985 .loc 1 2376 15 is_stmt 0 view .LVU1549
4986 0058 0120 movs r0, #1
4987 .LVL340:
2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4988 .loc 1 2376 15 view .LVU1550
4989 005a 94E0 b .L290
4990 .LVL341:
4991 .L305:
2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
4992 .loc 1 2390 5 is_stmt 1 view .LVU1551
2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
4993 .loc 1 2390 21 is_stmt 0 view .LVU1552
4994 005c 4123 movs r3, #65
4995 005e 2122 movs r2, #33
4996 0060 F254 strb r2, [r6, r3]
2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4997 .loc 1 2391 5 is_stmt 1 view .LVU1553
2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4998 .loc 1 2391 21 is_stmt 0 view .LVU1554
4999 0062 0133 adds r3, r3, #1
5000 0064 1F32 adds r2, r2, #31
5001 0066 F254 strb r2, [r6, r3]
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5002 .loc 1 2392 5 is_stmt 1 view .LVU1555
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5003 .loc 1 2392 21 is_stmt 0 view .LVU1556
5004 0068 0023 movs r3, #0
5005 006a 7364 str r3, [r6, #68]
2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5006 .loc 1 2395 5 is_stmt 1 view .LVU1557
2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5007 .loc 1 2395 21 is_stmt 0 view .LVU1558
5008 006c 7562 str r5, [r6, #36]
2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5009 .loc 1 2396 5 is_stmt 1 view .LVU1559
2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5010 .loc 1 2396 21 is_stmt 0 view .LVU1560
5011 006e 7785 strh r7, [r6, #42]
2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5012 .loc 1 2397 5 is_stmt 1 view .LVU1561
2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5013 .loc 1 2397 21 is_stmt 0 view .LVU1562
5014 0070 7363 str r3, [r6, #52]
2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5015 .loc 1 2400 5 is_stmt 1 view .LVU1563
2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5016 .loc 1 2400 9 is_stmt 0 view .LVU1564
5017 0072 0194 str r4, [sp, #4]
5018 0074 0E9B ldr r3, [sp, #56]
5019 0076 0093 str r3, [sp]
5020 0078 059B ldr r3, [sp, #20]
5021 007a 049A ldr r2, [sp, #16]
5022 007c 0399 ldr r1, [sp, #12]
5023 007e 3000 movs r0, r6
5024 0080 FFF7FEFF bl I2C_RequestMemoryWrite
ARM GAS /tmp/ccRVAHyi.s page 233
5025 .LVL342:
2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5026 .loc 1 2400 8 view .LVU1565
5027 0084 0028 cmp r0, #0
5028 0086 0FD1 bne .L306
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5029 .loc 1 2408 5 is_stmt 1 view .LVU1566
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5030 .loc 1 2408 13 is_stmt 0 view .LVU1567
5031 0088 738D ldrh r3, [r6, #42]
5032 008a 9BB2 uxth r3, r3
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5033 .loc 1 2408 8 view .LVU1568
5034 008c FF2B cmp r3, #255
5035 008e 10D9 bls .L294
2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
5036 .loc 1 2410 7 is_stmt 1 view .LVU1569
2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
5037 .loc 1 2410 22 is_stmt 0 view .LVU1570
5038 0090 FF23 movs r3, #255
5039 0092 3385 strh r3, [r6, #40]
2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5040 .loc 1 2411 7 is_stmt 1 view .LVU1571
5041 0094 7F3B subs r3, r3, #127
5042 0096 0022 movs r2, #0
5043 0098 0092 str r2, [sp]
5044 009a 5B04 lsls r3, r3, #17
5045 009c FF32 adds r2, r2, #255
5046 009e 0399 ldr r1, [sp, #12]
5047 00a0 3000 movs r0, r6
5048 00a2 FFF7FEFF bl I2C_TransferConfig
5049 .LVL343:
5050 00a6 21E0 b .L298
5051 .L306:
2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5052 .loc 1 2403 7 view .LVU1572
2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5053 .loc 1 2403 7 view .LVU1573
5054 00a8 4023 movs r3, #64
5055 00aa 0022 movs r2, #0
5056 00ac F254 strb r2, [r6, r3]
2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5057 .loc 1 2404 7 view .LVU1574
2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5058 .loc 1 2404 14 is_stmt 0 view .LVU1575
5059 00ae 0120 movs r0, #1
5060 00b0 69E0 b .L290
5061 .L294:
2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
5062 .loc 1 2415 7 is_stmt 1 view .LVU1576
2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
5063 .loc 1 2415 28 is_stmt 0 view .LVU1577
5064 00b2 728D ldrh r2, [r6, #42]
5065 00b4 92B2 uxth r2, r2
2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
5066 .loc 1 2415 22 view .LVU1578
5067 00b6 3285 strh r2, [r6, #40]
ARM GAS /tmp/ccRVAHyi.s page 234
2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5068 .loc 1 2416 7 is_stmt 1 view .LVU1579
5069 00b8 8023 movs r3, #128
5070 00ba D2B2 uxtb r2, r2
5071 00bc 0021 movs r1, #0
5072 00be 0091 str r1, [sp]
5073 00c0 9B04 lsls r3, r3, #18
5074 00c2 0399 ldr r1, [sp, #12]
5075 00c4 3000 movs r0, r6
5076 00c6 FFF7FEFF bl I2C_TransferConfig
5077 .LVL344:
5078 00ca 0FE0 b .L298
5079 .L297:
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5080 .loc 1 2452 11 view .LVU1580
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5081 .loc 1 2452 32 is_stmt 0 view .LVU1581
5082 00cc 728D ldrh r2, [r6, #42]
5083 00ce 92B2 uxth r2, r2
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5084 .loc 1 2452 26 view .LVU1582
5085 00d0 3285 strh r2, [r6, #40]
2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5086 .loc 1 2453 11 is_stmt 1 view .LVU1583
5087 00d2 8023 movs r3, #128
5088 00d4 D2B2 uxtb r2, r2
5089 00d6 0021 movs r1, #0
5090 00d8 0091 str r1, [sp]
5091 00da 9B04 lsls r3, r3, #18
5092 00dc 0399 ldr r1, [sp, #12]
5093 00de 3000 movs r0, r6
5094 00e0 FFF7FEFF bl I2C_TransferConfig
5095 .LVL345:
5096 .L296:
2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5097 .loc 1 2458 18 is_stmt 0 view .LVU1584
5098 00e4 738D ldrh r3, [r6, #42]
5099 00e6 9BB2 uxth r3, r3
2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5100 .loc 1 2458 5 view .LVU1585
5101 00e8 002B cmp r3, #0
5102 00ea 34D0 beq .L307
5103 .L298:
2419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5104 .loc 1 2419 5 is_stmt 1 view .LVU1586
2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5105 .loc 1 2422 7 view .LVU1587
2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5106 .loc 1 2422 11 is_stmt 0 view .LVU1588
5107 00ec 2200 movs r2, r4
5108 00ee 0E99 ldr r1, [sp, #56]
5109 00f0 3000 movs r0, r6
5110 00f2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
5111 .LVL346:
2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5112 .loc 1 2422 10 view .LVU1589
5113 00f6 0028 cmp r0, #0
ARM GAS /tmp/ccRVAHyi.s page 235
5114 00f8 49D1 bne .L302
2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5115 .loc 1 2428 7 is_stmt 1 view .LVU1590
2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5116 .loc 1 2428 11 is_stmt 0 view .LVU1591
5117 00fa 3368 ldr r3, [r6]
2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5118 .loc 1 2428 30 view .LVU1592
5119 00fc 726A ldr r2, [r6, #36]
5120 00fe 1278 ldrb r2, [r2]
2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5121 .loc 1 2428 28 view .LVU1593
5122 0100 9A62 str r2, [r3, #40]
2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5123 .loc 1 2431 7 is_stmt 1 view .LVU1594
2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5124 .loc 1 2431 21 is_stmt 0 view .LVU1595
5125 0102 736A ldr r3, [r6, #36]
5126 0104 0133 adds r3, r3, #1
5127 0106 7362 str r3, [r6, #36]
2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5128 .loc 1 2433 7 is_stmt 1 view .LVU1596
2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5129 .loc 1 2433 11 is_stmt 0 view .LVU1597
5130 0108 738D ldrh r3, [r6, #42]
2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5131 .loc 1 2433 22 view .LVU1598
5132 010a 013B subs r3, r3, #1
5133 010c 9BB2 uxth r3, r3
5134 010e 7385 strh r3, [r6, #42]
2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5135 .loc 1 2434 7 is_stmt 1 view .LVU1599
2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5136 .loc 1 2434 11 is_stmt 0 view .LVU1600
5137 0110 338D ldrh r3, [r6, #40]
2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5138 .loc 1 2434 21 view .LVU1601
5139 0112 013B subs r3, r3, #1
5140 0114 9BB2 uxth r3, r3
5141 0116 3385 strh r3, [r6, #40]
2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5142 .loc 1 2436 7 is_stmt 1 view .LVU1602
2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5143 .loc 1 2436 16 is_stmt 0 view .LVU1603
5144 0118 728D ldrh r2, [r6, #42]
5145 011a 92B2 uxth r2, r2
2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5146 .loc 1 2436 10 view .LVU1604
5147 011c 002A cmp r2, #0
5148 011e E1D0 beq .L296
2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5149 .loc 1 2436 35 discriminator 1 view .LVU1605
5150 0120 002B cmp r3, #0
5151 0122 DFD1 bne .L296
2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5152 .loc 1 2439 9 is_stmt 1 view .LVU1606
2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 236
5153 .loc 1 2439 13 is_stmt 0 view .LVU1607
5154 0124 0094 str r4, [sp]
5155 0126 0E9B ldr r3, [sp, #56]
5156 0128 0022 movs r2, #0
5157 012a 8021 movs r1, #128
5158 012c 3000 movs r0, r6
5159 012e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5160 .LVL347:
2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5161 .loc 1 2439 12 view .LVU1608
5162 0132 0028 cmp r0, #0
5163 0134 2DD1 bne .L303
2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5164 .loc 1 2444 9 is_stmt 1 view .LVU1609
2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5165 .loc 1 2444 17 is_stmt 0 view .LVU1610
5166 0136 738D ldrh r3, [r6, #42]
5167 0138 9BB2 uxth r3, r3
2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5168 .loc 1 2444 12 view .LVU1611
5169 013a FF2B cmp r3, #255
5170 013c C6D9 bls .L297
2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5171 .loc 1 2446 11 is_stmt 1 view .LVU1612
2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5172 .loc 1 2446 26 is_stmt 0 view .LVU1613
5173 013e FF23 movs r3, #255
5174 0140 3385 strh r3, [r6, #40]
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5175 .loc 1 2447 11 is_stmt 1 view .LVU1614
5176 0142 7F3B subs r3, r3, #127
5177 0144 0022 movs r2, #0
5178 0146 0092 str r2, [sp]
5179 0148 5B04 lsls r3, r3, #17
5180 014a FF32 adds r2, r2, #255
5181 014c 0399 ldr r1, [sp, #12]
5182 014e 3000 movs r0, r6
5183 0150 FFF7FEFF bl I2C_TransferConfig
5184 .LVL348:
5185 0154 C6E7 b .L296
5186 .L307:
2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5187 .loc 1 2462 5 view .LVU1615
2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5188 .loc 1 2462 9 is_stmt 0 view .LVU1616
5189 0156 2200 movs r2, r4
5190 0158 0E99 ldr r1, [sp, #56]
5191 015a 3000 movs r0, r6
5192 015c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
5193 .LVL349:
2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5194 .loc 1 2462 8 view .LVU1617
5195 0160 0028 cmp r0, #0
5196 0162 18D1 bne .L304
2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5197 .loc 1 2468 5 is_stmt 1 view .LVU1618
5198 0164 3368 ldr r3, [r6]
ARM GAS /tmp/ccRVAHyi.s page 237
5199 0166 2022 movs r2, #32
5200 0168 DA61 str r2, [r3, #28]
2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5201 .loc 1 2471 5 view .LVU1619
5202 016a 3168 ldr r1, [r6]
5203 016c 4B68 ldr r3, [r1, #4]
5204 016e 0B4C ldr r4, .L308
5205 .LVL350:
2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5206 .loc 1 2471 5 is_stmt 0 view .LVU1620
5207 0170 2340 ands r3, r4
5208 0172 4B60 str r3, [r1, #4]
2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5209 .loc 1 2473 5 is_stmt 1 view .LVU1621
2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5210 .loc 1 2473 17 is_stmt 0 view .LVU1622
5211 0174 4123 movs r3, #65
5212 0176 F254 strb r2, [r6, r3]
2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5213 .loc 1 2474 5 is_stmt 1 view .LVU1623
2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5214 .loc 1 2474 17 is_stmt 0 view .LVU1624
5215 0178 0023 movs r3, #0
5216 017a 2232 adds r2, r2, #34
5217 017c B354 strb r3, [r6, r2]
2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5218 .loc 1 2477 5 is_stmt 1 view .LVU1625
2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5219 .loc 1 2477 5 view .LVU1626
5220 017e 023A subs r2, r2, #2
5221 0180 B354 strb r3, [r6, r2]
2479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5222 .loc 1 2479 5 view .LVU1627
2479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5223 .loc 1 2479 12 is_stmt 0 view .LVU1628
5224 0182 00E0 b .L290
5225 .LVL351:
5226 .L299:
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5227 .loc 1 2483 12 view .LVU1629
5228 0184 0220 movs r0, #2
5229 .LVL352:
5230 .L290:
2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5231 .loc 1 2485 1 view .LVU1630
5232 0186 07B0 add sp, sp, #28
5233 @ sp needed
5234 .LVL353:
2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5235 .loc 1 2485 1 view .LVU1631
5236 0188 F0BD pop {r4, r5, r6, r7, pc}
5237 .LVL354:
5238 .L300:
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5239 .loc 1 2380 5 view .LVU1632
5240 018a 0220 movs r0, #2
5241 .LVL355:
ARM GAS /tmp/ccRVAHyi.s page 238
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5242 .loc 1 2380 5 view .LVU1633
5243 018c FBE7 b .L290
5244 .LVL356:
5245 .L302:
2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5246 .loc 1 2424 16 view .LVU1634
5247 018e 0120 movs r0, #1
5248 0190 F9E7 b .L290
5249 .L303:
2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5250 .loc 1 2441 18 view .LVU1635
5251 0192 0120 movs r0, #1
5252 0194 F7E7 b .L290
5253 .L304:
2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5254 .loc 1 2464 14 view .LVU1636
5255 0196 0120 movs r0, #1
5256 0198 F5E7 b .L290
5257 .L309:
5258 019a C046 .align 2
5259 .L308:
5260 019c 00E800FE .word -33495040
5261 .cfi_endproc
5262 .LFE56:
5264 .section .text.HAL_I2C_Mem_Read,"ax",%progbits
5265 .align 1
5266 .global HAL_I2C_Mem_Read
5267 .syntax unified
5268 .code 16
5269 .thumb_func
5270 .fpu softvfp
5272 HAL_I2C_Mem_Read:
5273 .LVL357:
5274 .LFB57:
2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5275 .loc 1 2502 1 is_stmt 1 view -0
5276 .cfi_startproc
5277 @ args = 12, pretend = 0, frame = 16
5278 @ frame_needed = 0, uses_anonymous_args = 0
2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5279 .loc 1 2502 1 is_stmt 0 view .LVU1638
5280 0000 F0B5 push {r4, r5, r6, r7, lr}
5281 .LCFI35:
5282 .cfi_def_cfa_offset 20
5283 .cfi_offset 4, -20
5284 .cfi_offset 5, -16
5285 .cfi_offset 6, -12
5286 .cfi_offset 7, -8
5287 .cfi_offset 14, -4
5288 0002 87B0 sub sp, sp, #28
5289 .LCFI36:
5290 .cfi_def_cfa_offset 48
5291 0004 0400 movs r4, r0
5292 0006 0391 str r1, [sp, #12]
5293 0008 0492 str r2, [sp, #16]
5294 000a 0593 str r3, [sp, #20]
ARM GAS /tmp/ccRVAHyi.s page 239
5295 000c 0CAB add r3, sp, #48
5296 .LVL358:
2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5297 .loc 1 2502 1 view .LVU1639
5298 000e 20CB ldmia r3!, {r5}
5299 .LVL359:
2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5300 .loc 1 2502 1 view .LVU1640
5301 0010 1F88 ldrh r7, [r3]
2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5302 .loc 1 2503 3 is_stmt 1 view .LVU1641
2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5303 .loc 1 2506 3 view .LVU1642
2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5304 .loc 1 2508 3 view .LVU1643
2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5305 .loc 1 2508 11 is_stmt 0 view .LVU1644
5306 0012 4123 movs r3, #65
5307 .LVL360:
2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5308 .loc 1 2508 11 view .LVU1645
5309 0014 C35C ldrb r3, [r0, r3]
2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5310 .loc 1 2508 6 view .LVU1646
5311 0016 202B cmp r3, #32
5312 0018 00D0 beq .LCB4934
5313 001a B5E0 b .L320 @long jump
5314 .LCB4934:
2510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5315 .loc 1 2510 5 is_stmt 1 view .LVU1647
2510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5316 .loc 1 2510 8 is_stmt 0 view .LVU1648
5317 001c 002D cmp r5, #0
5318 001e 18D0 beq .L312
2510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5319 .loc 1 2510 25 discriminator 1 view .LVU1649
5320 0020 002F cmp r7, #0
5321 0022 16D0 beq .L312
2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5322 .loc 1 2517 5 is_stmt 1 view .LVU1650
2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5323 .loc 1 2517 5 view .LVU1651
5324 0024 4023 movs r3, #64
5325 0026 C35C ldrb r3, [r0, r3]
5326 0028 012B cmp r3, #1
5327 002a 00D1 bne .LCB4945
5328 002c AFE0 b .L321 @long jump
5329 .LCB4945:
2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5330 .loc 1 2517 5 discriminator 2 view .LVU1652
5331 002e 4023 movs r3, #64
5332 0030 0122 movs r2, #1
5333 .LVL361:
2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5334 .loc 1 2517 5 is_stmt 0 discriminator 2 view .LVU1653
5335 0032 C254 strb r2, [r0, r3]
2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 240
5336 .loc 1 2520 5 is_stmt 1 discriminator 2 view .LVU1654
2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5337 .loc 1 2520 17 is_stmt 0 discriminator 2 view .LVU1655
5338 0034 FFF7FEFF bl HAL_GetTick
5339 .LVL362:
2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5340 .loc 1 2520 17 discriminator 2 view .LVU1656
5341 0038 0600 movs r6, r0
5342 .LVL363:
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5343 .loc 1 2522 5 is_stmt 1 discriminator 2 view .LVU1657
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5344 .loc 1 2522 9 is_stmt 0 discriminator 2 view .LVU1658
5345 003a 8021 movs r1, #128
5346 003c 0090 str r0, [sp]
5347 003e 1923 movs r3, #25
5348 0040 0122 movs r2, #1
5349 0042 0902 lsls r1, r1, #8
5350 0044 2000 movs r0, r4
5351 .LVL364:
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5352 .loc 1 2522 9 discriminator 2 view .LVU1659
5353 0046 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5354 .LVL365:
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5355 .loc 1 2522 8 discriminator 2 view .LVU1660
5356 004a 0028 cmp r0, #0
5357 004c 06D0 beq .L326
2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5358 .loc 1 2524 14 view .LVU1661
5359 004e 0120 movs r0, #1
5360 0050 9BE0 b .L311
5361 .LVL366:
5362 .L312:
2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5363 .loc 1 2512 7 is_stmt 1 view .LVU1662
2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5364 .loc 1 2512 23 is_stmt 0 view .LVU1663
5365 0052 8023 movs r3, #128
5366 0054 9B00 lsls r3, r3, #2
5367 0056 6364 str r3, [r4, #68]
2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5368 .loc 1 2513 7 is_stmt 1 view .LVU1664
2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5369 .loc 1 2513 15 is_stmt 0 view .LVU1665
5370 0058 0120 movs r0, #1
5371 .LVL367:
2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5372 .loc 1 2513 15 view .LVU1666
5373 005a 96E0 b .L311
5374 .LVL368:
5375 .L326:
2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5376 .loc 1 2527 5 is_stmt 1 view .LVU1667
2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5377 .loc 1 2527 21 is_stmt 0 view .LVU1668
5378 005c 4123 movs r3, #65
ARM GAS /tmp/ccRVAHyi.s page 241
5379 005e 2222 movs r2, #34
5380 0060 E254 strb r2, [r4, r3]
2528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5381 .loc 1 2528 5 is_stmt 1 view .LVU1669
2528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5382 .loc 1 2528 21 is_stmt 0 view .LVU1670
5383 0062 0133 adds r3, r3, #1
5384 0064 1E32 adds r2, r2, #30
5385 0066 E254 strb r2, [r4, r3]
2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5386 .loc 1 2529 5 is_stmt 1 view .LVU1671
2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5387 .loc 1 2529 21 is_stmt 0 view .LVU1672
5388 0068 0023 movs r3, #0
5389 006a 6364 str r3, [r4, #68]
2532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5390 .loc 1 2532 5 is_stmt 1 view .LVU1673
2532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5391 .loc 1 2532 21 is_stmt 0 view .LVU1674
5392 006c 6562 str r5, [r4, #36]
2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5393 .loc 1 2533 5 is_stmt 1 view .LVU1675
2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5394 .loc 1 2533 21 is_stmt 0 view .LVU1676
5395 006e 6785 strh r7, [r4, #42]
2534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5396 .loc 1 2534 5 is_stmt 1 view .LVU1677
2534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5397 .loc 1 2534 21 is_stmt 0 view .LVU1678
5398 0070 6363 str r3, [r4, #52]
2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5399 .loc 1 2537 5 is_stmt 1 view .LVU1679
2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5400 .loc 1 2537 9 is_stmt 0 view .LVU1680
5401 0072 0196 str r6, [sp, #4]
5402 0074 0E9B ldr r3, [sp, #56]
5403 0076 0093 str r3, [sp]
5404 0078 059B ldr r3, [sp, #20]
5405 007a 049A ldr r2, [sp, #16]
5406 007c 0399 ldr r1, [sp, #12]
5407 007e 2000 movs r0, r4
5408 0080 FFF7FEFF bl I2C_RequestMemoryRead
5409 .LVL369:
2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5410 .loc 1 2537 8 view .LVU1681
5411 0084 0028 cmp r0, #0
5412 0086 0FD1 bne .L327
2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5413 .loc 1 2546 5 is_stmt 1 view .LVU1682
2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5414 .loc 1 2546 13 is_stmt 0 view .LVU1683
5415 0088 638D ldrh r3, [r4, #42]
5416 008a 9BB2 uxth r3, r3
2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5417 .loc 1 2546 8 view .LVU1684
5418 008c FF2B cmp r3, #255
5419 008e 10D9 bls .L315
ARM GAS /tmp/ccRVAHyi.s page 242
2548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5420 .loc 1 2548 7 is_stmt 1 view .LVU1685
2548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5421 .loc 1 2548 22 is_stmt 0 view .LVU1686
5422 0090 FF23 movs r3, #255
5423 0092 2385 strh r3, [r4, #40]
2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
5424 .loc 1 2549 7 is_stmt 1 view .LVU1687
5425 0094 7F3B subs r3, r3, #127
5426 0096 424A ldr r2, .L329
5427 0098 0092 str r2, [sp]
5428 009a 5B04 lsls r3, r3, #17
5429 009c FF22 movs r2, #255
5430 009e 0399 ldr r1, [sp, #12]
5431 00a0 2000 movs r0, r4
5432 00a2 FFF7FEFF bl I2C_TransferConfig
5433 .LVL370:
5434 00a6 21E0 b .L319
5435 .L327:
2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5436 .loc 1 2540 7 view .LVU1688
2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5437 .loc 1 2540 7 view .LVU1689
5438 00a8 4023 movs r3, #64
5439 00aa 0022 movs r2, #0
5440 00ac E254 strb r2, [r4, r3]
2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5441 .loc 1 2541 7 view .LVU1690
2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5442 .loc 1 2541 14 is_stmt 0 view .LVU1691
5443 00ae 0120 movs r0, #1
5444 00b0 6BE0 b .L311
5445 .L315:
2554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5446 .loc 1 2554 7 is_stmt 1 view .LVU1692
2554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5447 .loc 1 2554 28 is_stmt 0 view .LVU1693
5448 00b2 628D ldrh r2, [r4, #42]
5449 00b4 92B2 uxth r2, r2
2554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5450 .loc 1 2554 22 view .LVU1694
5451 00b6 2285 strh r2, [r4, #40]
2555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
5452 .loc 1 2555 7 is_stmt 1 view .LVU1695
5453 00b8 8023 movs r3, #128
5454 00ba D2B2 uxtb r2, r2
5455 00bc 3849 ldr r1, .L329
5456 00be 0091 str r1, [sp]
5457 00c0 9B04 lsls r3, r3, #18
5458 00c2 0399 ldr r1, [sp, #12]
5459 00c4 2000 movs r0, r4
5460 00c6 FFF7FEFF bl I2C_TransferConfig
5461 .LVL371:
5462 00ca 0FE0 b .L319
5463 .L318:
2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5464 .loc 1 2592 11 view .LVU1696
ARM GAS /tmp/ccRVAHyi.s page 243
2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5465 .loc 1 2592 32 is_stmt 0 view .LVU1697
5466 00cc 628D ldrh r2, [r4, #42]
5467 00ce 92B2 uxth r2, r2
2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5468 .loc 1 2592 26 view .LVU1698
5469 00d0 2285 strh r2, [r4, #40]
2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5470 .loc 1 2593 11 is_stmt 1 view .LVU1699
5471 00d2 8023 movs r3, #128
5472 00d4 D2B2 uxtb r2, r2
5473 00d6 0021 movs r1, #0
5474 00d8 0091 str r1, [sp]
5475 00da 9B04 lsls r3, r3, #18
5476 00dc 0399 ldr r1, [sp, #12]
5477 00de 2000 movs r0, r4
5478 00e0 FFF7FEFF bl I2C_TransferConfig
5479 .LVL372:
5480 .L317:
2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5481 .loc 1 2597 18 is_stmt 0 view .LVU1700
5482 00e4 638D ldrh r3, [r4, #42]
5483 00e6 9BB2 uxth r3, r3
2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5484 .loc 1 2597 5 view .LVU1701
5485 00e8 002B cmp r3, #0
5486 00ea 36D0 beq .L328
5487 .L319:
2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5488 .loc 1 2559 5 is_stmt 1 view .LVU1702
2562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5489 .loc 1 2562 7 view .LVU1703
2562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5490 .loc 1 2562 11 is_stmt 0 view .LVU1704
5491 00ec 0096 str r6, [sp]
5492 00ee 0E9B ldr r3, [sp, #56]
5493 00f0 0022 movs r2, #0
5494 00f2 0421 movs r1, #4
5495 00f4 2000 movs r0, r4
5496 00f6 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5497 .LVL373:
2562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5498 .loc 1 2562 10 view .LVU1705
5499 00fa 0028 cmp r0, #0
5500 00fc 49D1 bne .L323
2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5501 .loc 1 2568 7 is_stmt 1 view .LVU1706
2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5502 .loc 1 2568 38 is_stmt 0 view .LVU1707
5503 00fe 2368 ldr r3, [r4]
2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5504 .loc 1 2568 48 view .LVU1708
5505 0100 5B6A ldr r3, [r3, #36]
2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5506 .loc 1 2568 23 view .LVU1709
5507 0102 626A ldr r2, [r4, #36]
5508 0104 1370 strb r3, [r2]
ARM GAS /tmp/ccRVAHyi.s page 244
2571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5509 .loc 1 2571 7 is_stmt 1 view .LVU1710
2571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5510 .loc 1 2571 21 is_stmt 0 view .LVU1711
5511 0106 636A ldr r3, [r4, #36]
5512 0108 0133 adds r3, r3, #1
5513 010a 6362 str r3, [r4, #36]
2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
5514 .loc 1 2573 7 is_stmt 1 view .LVU1712
2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
5515 .loc 1 2573 11 is_stmt 0 view .LVU1713
5516 010c 238D ldrh r3, [r4, #40]
2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
5517 .loc 1 2573 21 view .LVU1714
5518 010e 013B subs r3, r3, #1
5519 0110 9BB2 uxth r3, r3
5520 0112 2385 strh r3, [r4, #40]
2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5521 .loc 1 2574 7 is_stmt 1 view .LVU1715
2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5522 .loc 1 2574 11 is_stmt 0 view .LVU1716
5523 0114 628D ldrh r2, [r4, #42]
2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5524 .loc 1 2574 22 view .LVU1717
5525 0116 013A subs r2, r2, #1
5526 0118 92B2 uxth r2, r2
5527 011a 6285 strh r2, [r4, #42]
2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5528 .loc 1 2576 7 is_stmt 1 view .LVU1718
2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5529 .loc 1 2576 16 is_stmt 0 view .LVU1719
5530 011c 628D ldrh r2, [r4, #42]
5531 011e 92B2 uxth r2, r2
2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5532 .loc 1 2576 10 view .LVU1720
5533 0120 002A cmp r2, #0
5534 0122 DFD0 beq .L317
2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5535 .loc 1 2576 35 discriminator 1 view .LVU1721
5536 0124 002B cmp r3, #0
5537 0126 DDD1 bne .L317
2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5538 .loc 1 2579 9 is_stmt 1 view .LVU1722
2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5539 .loc 1 2579 13 is_stmt 0 view .LVU1723
5540 0128 0096 str r6, [sp]
5541 012a 0E9B ldr r3, [sp, #56]
5542 012c 0022 movs r2, #0
5543 012e 8021 movs r1, #128
5544 0130 2000 movs r0, r4
5545 0132 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5546 .LVL374:
2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5547 .loc 1 2579 12 view .LVU1724
5548 0136 0028 cmp r0, #0
5549 0138 2DD1 bne .L324
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 245
5550 .loc 1 2584 9 is_stmt 1 view .LVU1725
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5551 .loc 1 2584 17 is_stmt 0 view .LVU1726
5552 013a 638D ldrh r3, [r4, #42]
5553 013c 9BB2 uxth r3, r3
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5554 .loc 1 2584 12 view .LVU1727
5555 013e FF2B cmp r3, #255
5556 0140 C4D9 bls .L318
2586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
5557 .loc 1 2586 11 is_stmt 1 view .LVU1728
2586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
5558 .loc 1 2586 26 is_stmt 0 view .LVU1729
5559 0142 FF23 movs r3, #255
5560 0144 2385 strh r3, [r4, #40]
2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5561 .loc 1 2587 11 is_stmt 1 view .LVU1730
5562 0146 7F3B subs r3, r3, #127
5563 0148 0022 movs r2, #0
5564 014a 0092 str r2, [sp]
5565 014c 5B04 lsls r3, r3, #17
5566 014e FF32 adds r2, r2, #255
5567 0150 0399 ldr r1, [sp, #12]
5568 0152 2000 movs r0, r4
5569 0154 FFF7FEFF bl I2C_TransferConfig
5570 .LVL375:
5571 0158 C4E7 b .L317
5572 .L328:
2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5573 .loc 1 2601 5 view .LVU1731
2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5574 .loc 1 2601 9 is_stmt 0 view .LVU1732
5575 015a 3200 movs r2, r6
5576 015c 0E99 ldr r1, [sp, #56]
5577 015e 2000 movs r0, r4
5578 0160 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
5579 .LVL376:
2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5580 .loc 1 2601 8 view .LVU1733
5581 0164 0028 cmp r0, #0
5582 0166 18D1 bne .L325
2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5583 .loc 1 2607 5 is_stmt 1 view .LVU1734
5584 0168 2368 ldr r3, [r4]
5585 016a 2022 movs r2, #32
5586 016c DA61 str r2, [r3, #28]
2610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5587 .loc 1 2610 5 view .LVU1735
5588 016e 2168 ldr r1, [r4]
5589 0170 4B68 ldr r3, [r1, #4]
5590 0172 0C4D ldr r5, .L329+4
5591 0174 2B40 ands r3, r5
5592 0176 4B60 str r3, [r1, #4]
2612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5593 .loc 1 2612 5 view .LVU1736
2612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5594 .loc 1 2612 17 is_stmt 0 view .LVU1737
ARM GAS /tmp/ccRVAHyi.s page 246
5595 0178 4123 movs r3, #65
5596 017a E254 strb r2, [r4, r3]
2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5597 .loc 1 2613 5 is_stmt 1 view .LVU1738
2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5598 .loc 1 2613 17 is_stmt 0 view .LVU1739
5599 017c 0023 movs r3, #0
5600 017e 2232 adds r2, r2, #34
5601 0180 A354 strb r3, [r4, r2]
2616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5602 .loc 1 2616 5 is_stmt 1 view .LVU1740
2616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5603 .loc 1 2616 5 view .LVU1741
5604 0182 023A subs r2, r2, #2
5605 0184 A354 strb r3, [r4, r2]
2618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5606 .loc 1 2618 5 view .LVU1742
2618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5607 .loc 1 2618 12 is_stmt 0 view .LVU1743
5608 0186 00E0 b .L311
5609 .LVL377:
5610 .L320:
2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5611 .loc 1 2622 12 view .LVU1744
5612 0188 0220 movs r0, #2
5613 .LVL378:
5614 .L311:
2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5615 .loc 1 2624 1 view .LVU1745
5616 018a 07B0 add sp, sp, #28
5617 @ sp needed
5618 .LVL379:
2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5619 .loc 1 2624 1 view .LVU1746
5620 018c F0BD pop {r4, r5, r6, r7, pc}
5621 .LVL380:
5622 .L321:
2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5623 .loc 1 2517 5 view .LVU1747
5624 018e 0220 movs r0, #2
5625 .LVL381:
2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5626 .loc 1 2517 5 view .LVU1748
5627 0190 FBE7 b .L311
5628 .LVL382:
5629 .L323:
2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5630 .loc 1 2564 16 view .LVU1749
5631 0192 0120 movs r0, #1
5632 0194 F9E7 b .L311
5633 .L324:
2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5634 .loc 1 2581 18 view .LVU1750
5635 0196 0120 movs r0, #1
5636 0198 F7E7 b .L311
5637 .L325:
2603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 247
5638 .loc 1 2603 14 view .LVU1751
5639 019a 0120 movs r0, #1
5640 019c F5E7 b .L311
5641 .L330:
5642 019e C046 .align 2
5643 .L329:
5644 01a0 00240080 .word -2147474432
5645 01a4 00E800FE .word -33495040
5646 .cfi_endproc
5647 .LFE57:
5649 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits
5650 .align 1
5651 .global HAL_I2C_Mem_Write_IT
5652 .syntax unified
5653 .code 16
5654 .thumb_func
5655 .fpu softvfp
5657 HAL_I2C_Mem_Write_IT:
5658 .LVL383:
5659 .LFB58:
2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5660 .loc 1 2639 1 is_stmt 1 view -0
5661 .cfi_startproc
5662 @ args = 8, pretend = 0, frame = 16
5663 @ frame_needed = 0, uses_anonymous_args = 0
2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5664 .loc 1 2639 1 is_stmt 0 view .LVU1753
5665 0000 F0B5 push {r4, r5, r6, r7, lr}
5666 .LCFI37:
5667 .cfi_def_cfa_offset 20
5668 .cfi_offset 4, -20
5669 .cfi_offset 5, -16
5670 .cfi_offset 6, -12
5671 .cfi_offset 7, -8
5672 .cfi_offset 14, -4
5673 0002 C646 mov lr, r8
5674 0004 00B5 push {lr}
5675 .LCFI38:
5676 .cfi_def_cfa_offset 24
5677 .cfi_offset 8, -24
5678 0006 86B0 sub sp, sp, #24
5679 .LCFI39:
5680 .cfi_def_cfa_offset 48
5681 0008 0400 movs r4, r0
5682 000a 0391 str r1, [sp, #12]
5683 000c 0492 str r2, [sp, #16]
5684 000e 0593 str r3, [sp, #20]
5685 0010 0CAB add r3, sp, #48
5686 .LVL384:
2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5687 .loc 1 2639 1 view .LVU1754
5688 0012 80CB ldmia r3!, {r7}
5689 .LVL385:
2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5690 .loc 1 2639 1 view .LVU1755
5691 0014 1E88 ldrh r6, [r3]
2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
ARM GAS /tmp/ccRVAHyi.s page 248
5692 .loc 1 2640 3 is_stmt 1 view .LVU1756
2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5693 .loc 1 2641 3 view .LVU1757
2644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5694 .loc 1 2644 3 view .LVU1758
2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5695 .loc 1 2646 3 view .LVU1759
2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5696 .loc 1 2646 11 is_stmt 0 view .LVU1760
5697 0016 4123 movs r3, #65
5698 .LVL386:
2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5699 .loc 1 2646 11 view .LVU1761
5700 0018 C35C ldrb r3, [r0, r3]
2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5701 .loc 1 2646 6 view .LVU1762
5702 001a 202B cmp r3, #32
5703 001c 51D1 bne .L338
2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5704 .loc 1 2648 5 is_stmt 1 view .LVU1763
2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5705 .loc 1 2648 8 is_stmt 0 view .LVU1764
5706 001e 002F cmp r7, #0
5707 0020 34D0 beq .L333
2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5708 .loc 1 2648 25 discriminator 1 view .LVU1765
5709 0022 002E cmp r6, #0
5710 0024 32D0 beq .L333
2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5711 .loc 1 2654 5 is_stmt 1 view .LVU1766
2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5712 .loc 1 2654 9 is_stmt 0 view .LVU1767
5713 0026 0368 ldr r3, [r0]
5714 0028 9B69 ldr r3, [r3, #24]
2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5715 .loc 1 2654 8 view .LVU1768
5716 002a 1B04 lsls r3, r3, #16
5717 002c 4FD4 bmi .L339
2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5718 .loc 1 2660 5 is_stmt 1 view .LVU1769
2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5719 .loc 1 2660 5 view .LVU1770
5720 002e 4023 movs r3, #64
5721 0030 C35C ldrb r3, [r0, r3]
5722 0032 012B cmp r3, #1
5723 0034 4DD0 beq .L340
2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5724 .loc 1 2660 5 discriminator 2 view .LVU1771
5725 0036 4025 movs r5, #64
5726 0038 0123 movs r3, #1
5727 003a 4355 strb r3, [r0, r5]
2663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5728 .loc 1 2663 5 discriminator 2 view .LVU1772
2663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5729 .loc 1 2663 17 is_stmt 0 discriminator 2 view .LVU1773
5730 003c FFF7FEFF bl HAL_GetTick
5731 .LVL387:
ARM GAS /tmp/ccRVAHyi.s page 249
2665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5732 .loc 1 2665 5 is_stmt 1 discriminator 2 view .LVU1774
2665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5733 .loc 1 2665 23 is_stmt 0 discriminator 2 view .LVU1775
5734 0040 4123 movs r3, #65
5735 0042 2122 movs r2, #33
5736 0044 E254 strb r2, [r4, r3]
2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5737 .loc 1 2666 5 is_stmt 1 discriminator 2 view .LVU1776
2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5738 .loc 1 2666 23 is_stmt 0 discriminator 2 view .LVU1777
5739 0046 0133 adds r3, r3, #1
5740 0048 E554 strb r5, [r4, r3]
2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5741 .loc 1 2667 5 is_stmt 1 discriminator 2 view .LVU1778
2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5742 .loc 1 2667 23 is_stmt 0 discriminator 2 view .LVU1779
5743 004a 0023 movs r3, #0
5744 004c 6364 str r3, [r4, #68]
2670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5745 .loc 1 2670 5 is_stmt 1 discriminator 2 view .LVU1780
2670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5746 .loc 1 2670 23 is_stmt 0 discriminator 2 view .LVU1781
5747 004e 6762 str r7, [r4, #36]
2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5748 .loc 1 2671 5 is_stmt 1 discriminator 2 view .LVU1782
2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5749 .loc 1 2671 23 is_stmt 0 discriminator 2 view .LVU1783
5750 0050 6685 strh r6, [r4, #42]
2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
5751 .loc 1 2672 5 is_stmt 1 discriminator 2 view .LVU1784
2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
5752 .loc 1 2672 23 is_stmt 0 discriminator 2 view .LVU1785
5753 0052 214B ldr r3, .L341
5754 0054 E362 str r3, [r4, #44]
2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5755 .loc 1 2673 5 is_stmt 1 discriminator 2 view .LVU1786
2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5756 .loc 1 2673 23 is_stmt 0 discriminator 2 view .LVU1787
5757 0056 214B ldr r3, .L341+4
5758 0058 6363 str r3, [r4, #52]
2675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5759 .loc 1 2675 5 is_stmt 1 discriminator 2 view .LVU1788
2675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5760 .loc 1 2675 13 is_stmt 0 discriminator 2 view .LVU1789
5761 005a 638D ldrh r3, [r4, #42]
5762 005c 9BB2 uxth r3, r3
2675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5763 .loc 1 2675 8 discriminator 2 view .LVU1790
5764 005e FF2B cmp r3, #255
5765 0060 19D9 bls .L335
2677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
5766 .loc 1 2677 7 is_stmt 1 view .LVU1791
2677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
5767 .loc 1 2677 22 is_stmt 0 view .LVU1792
5768 0062 FF23 movs r3, #255
5769 0064 2385 strh r3, [r4, #40]
ARM GAS /tmp/ccRVAHyi.s page 250
2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5770 .loc 1 2678 7 is_stmt 1 view .LVU1793
5771 .LVL388:
2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5772 .loc 1 2678 16 is_stmt 0 view .LVU1794
5773 0066 8023 movs r3, #128
5774 0068 5B04 lsls r3, r3, #17
5775 006a 9846 mov r8, r3
5776 .LVL389:
5777 .L336:
2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
5778 .loc 1 2687 5 is_stmt 1 view .LVU1795
2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
5779 .loc 1 2687 9 is_stmt 0 view .LVU1796
5780 006c 0190 str r0, [sp, #4]
5781 006e 1923 movs r3, #25
5782 0070 0093 str r3, [sp]
5783 0072 059B ldr r3, [sp, #20]
5784 0074 049A ldr r2, [sp, #16]
5785 0076 0399 ldr r1, [sp, #12]
5786 0078 2000 movs r0, r4
5787 .LVL390:
2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
5788 .loc 1 2687 9 view .LVU1797
5789 007a FFF7FEFF bl I2C_RequestMemoryWrite
5790 .LVL391:
2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
5791 .loc 1 2687 9 view .LVU1798
5792 007e 061E subs r6, r0, #0
2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
5793 .loc 1 2687 8 view .LVU1799
5794 0080 0FD0 beq .L337
2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5795 .loc 1 2691 7 is_stmt 1 view .LVU1800
2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5796 .loc 1 2691 7 view .LVU1801
5797 0082 4023 movs r3, #64
5798 0084 0022 movs r2, #0
5799 0086 E254 strb r2, [r4, r3]
2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5800 .loc 1 2692 7 view .LVU1802
2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5801 .loc 1 2692 14 is_stmt 0 view .LVU1803
5802 0088 0126 movs r6, #1
5803 008a 1BE0 b .L332
5804 .LVL392:
5805 .L333:
2650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5806 .loc 1 2650 7 is_stmt 1 view .LVU1804
2650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5807 .loc 1 2650 23 is_stmt 0 view .LVU1805
5808 008c 8023 movs r3, #128
5809 008e 9B00 lsls r3, r3, #2
5810 0090 6364 str r3, [r4, #68]
2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5811 .loc 1 2651 7 is_stmt 1 view .LVU1806
2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 251
5812 .loc 1 2651 15 is_stmt 0 view .LVU1807
5813 0092 0126 movs r6, #1
5814 0094 16E0 b .L332
5815 .LVL393:
5816 .L335:
2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5817 .loc 1 2682 7 is_stmt 1 view .LVU1808
2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5818 .loc 1 2682 28 is_stmt 0 view .LVU1809
5819 0096 638D ldrh r3, [r4, #42]
2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5820 .loc 1 2682 22 view .LVU1810
5821 0098 2385 strh r3, [r4, #40]
2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5822 .loc 1 2683 7 is_stmt 1 view .LVU1811
5823 .LVL394:
2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5824 .loc 1 2683 16 is_stmt 0 view .LVU1812
5825 009a 8023 movs r3, #128
5826 009c 9B04 lsls r3, r3, #18
5827 009e 9846 mov r8, r3
5828 00a0 E4E7 b .L336
5829 .LVL395:
5830 .L337:
2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5831 .loc 1 2696 5 is_stmt 1 view .LVU1813
2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5832 .loc 1 2696 55 is_stmt 0 view .LVU1814
5833 00a2 228D ldrh r2, [r4, #40]
2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5834 .loc 1 2696 5 view .LVU1815
5835 00a4 D2B2 uxtb r2, r2
5836 00a6 0027 movs r7, #0
5837 00a8 0097 str r7, [sp]
5838 00aa 4346 mov r3, r8
5839 00ac 0399 ldr r1, [sp, #12]
5840 00ae 2000 movs r0, r4
5841 00b0 FFF7FEFF bl I2C_TransferConfig
5842 .LVL396:
2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5843 .loc 1 2699 5 is_stmt 1 view .LVU1816
2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5844 .loc 1 2699 5 view .LVU1817
5845 00b4 4023 movs r3, #64
5846 00b6 E754 strb r7, [r4, r3]
2709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5847 .loc 1 2709 5 view .LVU1818
5848 00b8 0121 movs r1, #1
5849 00ba 2000 movs r0, r4
5850 00bc FFF7FEFF bl I2C_Enable_IRQ
5851 .LVL397:
2711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5852 .loc 1 2711 5 view .LVU1819
2711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5853 .loc 1 2711 12 is_stmt 0 view .LVU1820
5854 00c0 00E0 b .L332
5855 .LVL398:
ARM GAS /tmp/ccRVAHyi.s page 252
5856 .L338:
2715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5857 .loc 1 2715 12 view .LVU1821
5858 00c2 0226 movs r6, #2
5859 .LVL399:
5860 .L332:
2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5861 .loc 1 2717 1 view .LVU1822
5862 00c4 3000 movs r0, r6
5863 00c6 06B0 add sp, sp, #24
5864 @ sp needed
5865 .LVL400:
2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5866 .loc 1 2717 1 view .LVU1823
5867 00c8 04BC pop {r2}
5868 00ca 9046 mov r8, r2
5869 00cc F0BD pop {r4, r5, r6, r7, pc}
5870 .LVL401:
5871 .L339:
2656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5872 .loc 1 2656 14 view .LVU1824
5873 00ce 0226 movs r6, #2
5874 00d0 F8E7 b .L332
5875 .L340:
2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5876 .loc 1 2660 5 view .LVU1825
5877 00d2 0226 movs r6, #2
5878 00d4 F6E7 b .L332
5879 .L342:
5880 00d6 C046 .align 2
5881 .L341:
5882 00d8 0000FFFF .word -65536
5883 00dc 00000000 .word I2C_Master_ISR_IT
5884 .cfi_endproc
5885 .LFE58:
5887 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits
5888 .align 1
5889 .global HAL_I2C_Mem_Read_IT
5890 .syntax unified
5891 .code 16
5892 .thumb_func
5893 .fpu softvfp
5895 HAL_I2C_Mem_Read_IT:
5896 .LVL402:
5897 .LFB59:
2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5898 .loc 1 2733 1 is_stmt 1 view -0
5899 .cfi_startproc
5900 @ args = 8, pretend = 0, frame = 16
5901 @ frame_needed = 0, uses_anonymous_args = 0
2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5902 .loc 1 2733 1 is_stmt 0 view .LVU1827
5903 0000 F0B5 push {r4, r5, r6, r7, lr}
5904 .LCFI40:
5905 .cfi_def_cfa_offset 20
5906 .cfi_offset 4, -20
5907 .cfi_offset 5, -16
ARM GAS /tmp/ccRVAHyi.s page 253
5908 .cfi_offset 6, -12
5909 .cfi_offset 7, -8
5910 .cfi_offset 14, -4
5911 0002 C646 mov lr, r8
5912 0004 00B5 push {lr}
5913 .LCFI41:
5914 .cfi_def_cfa_offset 24
5915 .cfi_offset 8, -24
5916 0006 86B0 sub sp, sp, #24
5917 .LCFI42:
5918 .cfi_def_cfa_offset 48
5919 0008 0400 movs r4, r0
5920 000a 0391 str r1, [sp, #12]
5921 000c 0492 str r2, [sp, #16]
5922 000e 0593 str r3, [sp, #20]
5923 0010 0CAB add r3, sp, #48
5924 .LVL403:
2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5925 .loc 1 2733 1 view .LVU1828
5926 0012 80CB ldmia r3!, {r7}
5927 .LVL404:
2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5928 .loc 1 2733 1 view .LVU1829
5929 0014 1E88 ldrh r6, [r3]
2734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
5930 .loc 1 2734 3 is_stmt 1 view .LVU1830
2735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5931 .loc 1 2735 3 view .LVU1831
2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5932 .loc 1 2738 3 view .LVU1832
2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5933 .loc 1 2740 3 view .LVU1833
2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5934 .loc 1 2740 11 is_stmt 0 view .LVU1834
5935 0016 4123 movs r3, #65
5936 .LVL405:
2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5937 .loc 1 2740 11 view .LVU1835
5938 0018 C35C ldrb r3, [r0, r3]
2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5939 .loc 1 2740 6 view .LVU1836
5940 001a 202B cmp r3, #32
5941 001c 52D1 bne .L350
2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5942 .loc 1 2742 5 is_stmt 1 view .LVU1837
2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5943 .loc 1 2742 8 is_stmt 0 view .LVU1838
5944 001e 002F cmp r7, #0
5945 0020 34D0 beq .L345
2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5946 .loc 1 2742 25 discriminator 1 view .LVU1839
5947 0022 002E cmp r6, #0
5948 0024 32D0 beq .L345
2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5949 .loc 1 2748 5 is_stmt 1 view .LVU1840
2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5950 .loc 1 2748 9 is_stmt 0 view .LVU1841
ARM GAS /tmp/ccRVAHyi.s page 254
5951 0026 0368 ldr r3, [r0]
5952 0028 9B69 ldr r3, [r3, #24]
2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5953 .loc 1 2748 8 view .LVU1842
5954 002a 1B04 lsls r3, r3, #16
5955 002c 50D4 bmi .L351
2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5956 .loc 1 2754 5 is_stmt 1 view .LVU1843
2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5957 .loc 1 2754 5 view .LVU1844
5958 002e 4023 movs r3, #64
5959 0030 C35C ldrb r3, [r0, r3]
5960 0032 012B cmp r3, #1
5961 0034 4ED0 beq .L352
2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5962 .loc 1 2754 5 discriminator 2 view .LVU1845
5963 0036 4025 movs r5, #64
5964 0038 0123 movs r3, #1
5965 003a 4355 strb r3, [r0, r5]
2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5966 .loc 1 2757 5 discriminator 2 view .LVU1846
2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5967 .loc 1 2757 17 is_stmt 0 discriminator 2 view .LVU1847
5968 003c FFF7FEFF bl HAL_GetTick
5969 .LVL406:
2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5970 .loc 1 2759 5 is_stmt 1 discriminator 2 view .LVU1848
2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5971 .loc 1 2759 23 is_stmt 0 discriminator 2 view .LVU1849
5972 0040 4123 movs r3, #65
5973 0042 2222 movs r2, #34
5974 0044 E254 strb r2, [r4, r3]
2760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5975 .loc 1 2760 5 is_stmt 1 discriminator 2 view .LVU1850
2760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5976 .loc 1 2760 23 is_stmt 0 discriminator 2 view .LVU1851
5977 0046 0133 adds r3, r3, #1
5978 0048 E554 strb r5, [r4, r3]
2761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5979 .loc 1 2761 5 is_stmt 1 discriminator 2 view .LVU1852
2761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5980 .loc 1 2761 23 is_stmt 0 discriminator 2 view .LVU1853
5981 004a 0023 movs r3, #0
5982 004c 6364 str r3, [r4, #68]
2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5983 .loc 1 2764 5 is_stmt 1 discriminator 2 view .LVU1854
2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5984 .loc 1 2764 23 is_stmt 0 discriminator 2 view .LVU1855
5985 004e 6762 str r7, [r4, #36]
2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5986 .loc 1 2765 5 is_stmt 1 discriminator 2 view .LVU1856
2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5987 .loc 1 2765 23 is_stmt 0 discriminator 2 view .LVU1857
5988 0050 6685 strh r6, [r4, #42]
2766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
5989 .loc 1 2766 5 is_stmt 1 discriminator 2 view .LVU1858
2766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
ARM GAS /tmp/ccRVAHyi.s page 255
5990 .loc 1 2766 23 is_stmt 0 discriminator 2 view .LVU1859
5991 0052 214B ldr r3, .L353
5992 0054 E362 str r3, [r4, #44]
2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5993 .loc 1 2767 5 is_stmt 1 discriminator 2 view .LVU1860
2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5994 .loc 1 2767 23 is_stmt 0 discriminator 2 view .LVU1861
5995 0056 214B ldr r3, .L353+4
5996 0058 6363 str r3, [r4, #52]
2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5997 .loc 1 2769 5 is_stmt 1 discriminator 2 view .LVU1862
2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5998 .loc 1 2769 13 is_stmt 0 discriminator 2 view .LVU1863
5999 005a 638D ldrh r3, [r4, #42]
6000 005c 9BB2 uxth r3, r3
2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6001 .loc 1 2769 8 discriminator 2 view .LVU1864
6002 005e FF2B cmp r3, #255
6003 0060 19D9 bls .L347
2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
6004 .loc 1 2771 7 is_stmt 1 view .LVU1865
2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
6005 .loc 1 2771 22 is_stmt 0 view .LVU1866
6006 0062 FF23 movs r3, #255
6007 0064 2385 strh r3, [r4, #40]
2772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6008 .loc 1 2772 7 is_stmt 1 view .LVU1867
6009 .LVL407:
2772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6010 .loc 1 2772 16 is_stmt 0 view .LVU1868
6011 0066 8023 movs r3, #128
6012 0068 5B04 lsls r3, r3, #17
6013 006a 9846 mov r8, r3
6014 .LVL408:
6015 .L348:
2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6016 .loc 1 2781 5 is_stmt 1 view .LVU1869
2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6017 .loc 1 2781 9 is_stmt 0 view .LVU1870
6018 006c 0190 str r0, [sp, #4]
6019 006e 1923 movs r3, #25
6020 0070 0093 str r3, [sp]
6021 0072 059B ldr r3, [sp, #20]
6022 0074 049A ldr r2, [sp, #16]
6023 0076 0399 ldr r1, [sp, #12]
6024 0078 2000 movs r0, r4
6025 .LVL409:
2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6026 .loc 1 2781 9 view .LVU1871
6027 007a FFF7FEFF bl I2C_RequestMemoryRead
6028 .LVL410:
2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6029 .loc 1 2781 9 view .LVU1872
6030 007e 061E subs r6, r0, #0
2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6031 .loc 1 2781 8 view .LVU1873
6032 0080 0FD0 beq .L349
ARM GAS /tmp/ccRVAHyi.s page 256
2784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6033 .loc 1 2784 7 is_stmt 1 view .LVU1874
2784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6034 .loc 1 2784 7 view .LVU1875
6035 0082 4023 movs r3, #64
6036 0084 0022 movs r2, #0
6037 0086 E254 strb r2, [r4, r3]
2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6038 .loc 1 2785 7 view .LVU1876
2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6039 .loc 1 2785 14 is_stmt 0 view .LVU1877
6040 0088 0126 movs r6, #1
6041 008a 1CE0 b .L344
6042 .LVL411:
6043 .L345:
2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6044 .loc 1 2744 7 is_stmt 1 view .LVU1878
2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6045 .loc 1 2744 23 is_stmt 0 view .LVU1879
6046 008c 8023 movs r3, #128
6047 008e 9B00 lsls r3, r3, #2
6048 0090 6364 str r3, [r4, #68]
2745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6049 .loc 1 2745 7 is_stmt 1 view .LVU1880
2745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6050 .loc 1 2745 15 is_stmt 0 view .LVU1881
6051 0092 0126 movs r6, #1
6052 0094 17E0 b .L344
6053 .LVL412:
6054 .L347:
2776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6055 .loc 1 2776 7 is_stmt 1 view .LVU1882
2776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6056 .loc 1 2776 28 is_stmt 0 view .LVU1883
6057 0096 638D ldrh r3, [r4, #42]
2776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6058 .loc 1 2776 22 view .LVU1884
6059 0098 2385 strh r3, [r4, #40]
2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6060 .loc 1 2777 7 is_stmt 1 view .LVU1885
6061 .LVL413:
2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6062 .loc 1 2777 16 is_stmt 0 view .LVU1886
6063 009a 8023 movs r3, #128
6064 009c 9B04 lsls r3, r3, #18
6065 009e 9846 mov r8, r3
6066 00a0 E4E7 b .L348
6067 .LVL414:
6068 .L349:
2789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6069 .loc 1 2789 5 is_stmt 1 view .LVU1887
2789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6070 .loc 1 2789 55 is_stmt 0 view .LVU1888
6071 00a2 228D ldrh r2, [r4, #40]
2789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6072 .loc 1 2789 5 view .LVU1889
6073 00a4 D2B2 uxtb r2, r2
ARM GAS /tmp/ccRVAHyi.s page 257
6074 00a6 0E4B ldr r3, .L353+8
6075 00a8 0093 str r3, [sp]
6076 00aa 4346 mov r3, r8
6077 00ac 0399 ldr r1, [sp, #12]
6078 00ae 2000 movs r0, r4
6079 00b0 FFF7FEFF bl I2C_TransferConfig
6080 .LVL415:
2792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6081 .loc 1 2792 5 is_stmt 1 view .LVU1890
2792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6082 .loc 1 2792 5 view .LVU1891
6083 00b4 4023 movs r3, #64
6084 00b6 0022 movs r2, #0
6085 00b8 E254 strb r2, [r4, r3]
2802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6086 .loc 1 2802 5 view .LVU1892
6087 00ba 0221 movs r1, #2
6088 00bc 2000 movs r0, r4
6089 00be FFF7FEFF bl I2C_Enable_IRQ
6090 .LVL416:
2804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6091 .loc 1 2804 5 view .LVU1893
2804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6092 .loc 1 2804 12 is_stmt 0 view .LVU1894
6093 00c2 00E0 b .L344
6094 .LVL417:
6095 .L350:
2808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6096 .loc 1 2808 12 view .LVU1895
6097 00c4 0226 movs r6, #2
6098 .LVL418:
6099 .L344:
2810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6100 .loc 1 2810 1 view .LVU1896
6101 00c6 3000 movs r0, r6
6102 00c8 06B0 add sp, sp, #24
6103 @ sp needed
6104 .LVL419:
2810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6105 .loc 1 2810 1 view .LVU1897
6106 00ca 04BC pop {r2}
6107 00cc 9046 mov r8, r2
6108 00ce F0BD pop {r4, r5, r6, r7, pc}
6109 .LVL420:
6110 .L351:
2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6111 .loc 1 2750 14 view .LVU1898
6112 00d0 0226 movs r6, #2
6113 00d2 F8E7 b .L344
6114 .L352:
2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6115 .loc 1 2754 5 view .LVU1899
6116 00d4 0226 movs r6, #2
6117 00d6 F6E7 b .L344
6118 .L354:
6119 .align 2
6120 .L353:
ARM GAS /tmp/ccRVAHyi.s page 258
6121 00d8 0000FFFF .word -65536
6122 00dc 00000000 .word I2C_Master_ISR_IT
6123 00e0 00240080 .word -2147474432
6124 .cfi_endproc
6125 .LFE59:
6127 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
6128 .align 1
6129 .global HAL_I2C_Mem_Write_DMA
6130 .syntax unified
6131 .code 16
6132 .thumb_func
6133 .fpu softvfp
6135 HAL_I2C_Mem_Write_DMA:
6136 .LVL421:
6137 .LFB60:
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
6138 .loc 1 2825 1 is_stmt 1 view -0
6139 .cfi_startproc
6140 @ args = 8, pretend = 0, frame = 16
6141 @ frame_needed = 0, uses_anonymous_args = 0
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
6142 .loc 1 2825 1 is_stmt 0 view .LVU1901
6143 0000 F0B5 push {r4, r5, r6, r7, lr}
6144 .LCFI43:
6145 .cfi_def_cfa_offset 20
6146 .cfi_offset 4, -20
6147 .cfi_offset 5, -16
6148 .cfi_offset 6, -12
6149 .cfi_offset 7, -8
6150 .cfi_offset 14, -4
6151 0002 CE46 mov lr, r9
6152 0004 00B5 push {lr}
6153 .LCFI44:
6154 .cfi_def_cfa_offset 24
6155 .cfi_offset 9, -24
6156 0006 86B0 sub sp, sp, #24
6157 .LCFI45:
6158 .cfi_def_cfa_offset 48
6159 0008 0400 movs r4, r0
6160 000a 0391 str r1, [sp, #12]
6161 000c 0492 str r2, [sp, #16]
6162 000e 0593 str r3, [sp, #20]
6163 0010 0CAB add r3, sp, #48
6164 .LVL422:
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
6165 .loc 1 2825 1 view .LVU1902
6166 0012 40CB ldmia r3!, {r6}
6167 .LVL423:
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
6168 .loc 1 2825 1 view .LVU1903
6169 0014 1F88 ldrh r7, [r3]
2826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
6170 .loc 1 2826 3 is_stmt 1 view .LVU1904
2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6171 .loc 1 2827 3 view .LVU1905
2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6172 .loc 1 2828 3 view .LVU1906
ARM GAS /tmp/ccRVAHyi.s page 259
2831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6173 .loc 1 2831 3 view .LVU1907
2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6174 .loc 1 2833 3 view .LVU1908
2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6175 .loc 1 2833 11 is_stmt 0 view .LVU1909
6176 0016 4123 movs r3, #65
6177 .LVL424:
2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6178 .loc 1 2833 11 view .LVU1910
6179 0018 C35C ldrb r3, [r0, r3]
2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6180 .loc 1 2833 6 view .LVU1911
6181 001a 202B cmp r3, #32
6182 001c 00D0 beq .LCB5831
6183 001e 90E0 b .L365 @long jump
6184 .LCB5831:
2835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6185 .loc 1 2835 5 is_stmt 1 view .LVU1912
2835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6186 .loc 1 2835 8 is_stmt 0 view .LVU1913
6187 0020 002E cmp r6, #0
6188 0022 55D0 beq .L357
2835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6189 .loc 1 2835 25 discriminator 1 view .LVU1914
6190 0024 002F cmp r7, #0
6191 0026 53D0 beq .L357
2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6192 .loc 1 2841 5 is_stmt 1 view .LVU1915
2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6193 .loc 1 2841 9 is_stmt 0 view .LVU1916
6194 0028 0368 ldr r3, [r0]
6195 002a 9B69 ldr r3, [r3, #24]
2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6196 .loc 1 2841 8 view .LVU1917
6197 002c 1B04 lsls r3, r3, #16
6198 002e 00D5 bpl .LCB5843
6199 0030 8DE0 b .L366 @long jump
6200 .LCB5843:
2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6201 .loc 1 2847 5 is_stmt 1 view .LVU1918
2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6202 .loc 1 2847 5 view .LVU1919
6203 0032 4023 movs r3, #64
6204 0034 C35C ldrb r3, [r0, r3]
6205 0036 012B cmp r3, #1
6206 0038 00D1 bne .LCB5849
6207 003a 8AE0 b .L367 @long jump
6208 .LCB5849:
2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6209 .loc 1 2847 5 discriminator 2 view .LVU1920
6210 003c 4025 movs r5, #64
6211 003e 0123 movs r3, #1
6212 0040 4355 strb r3, [r0, r5]
2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6213 .loc 1 2850 5 discriminator 2 view .LVU1921
2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 260
6214 .loc 1 2850 17 is_stmt 0 discriminator 2 view .LVU1922
6215 0042 FFF7FEFF bl HAL_GetTick
6216 .LVL425:
2852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6217 .loc 1 2852 5 is_stmt 1 discriminator 2 view .LVU1923
2852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6218 .loc 1 2852 23 is_stmt 0 discriminator 2 view .LVU1924
6219 0046 4123 movs r3, #65
6220 0048 2122 movs r2, #33
6221 004a E254 strb r2, [r4, r3]
2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6222 .loc 1 2853 5 is_stmt 1 discriminator 2 view .LVU1925
2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6223 .loc 1 2853 23 is_stmt 0 discriminator 2 view .LVU1926
6224 004c 0133 adds r3, r3, #1
6225 004e E554 strb r5, [r4, r3]
2854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6226 .loc 1 2854 5 is_stmt 1 discriminator 2 view .LVU1927
2854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6227 .loc 1 2854 23 is_stmt 0 discriminator 2 view .LVU1928
6228 0050 0023 movs r3, #0
6229 0052 6364 str r3, [r4, #68]
2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
6230 .loc 1 2857 5 is_stmt 1 discriminator 2 view .LVU1929
2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
6231 .loc 1 2857 23 is_stmt 0 discriminator 2 view .LVU1930
6232 0054 6662 str r6, [r4, #36]
2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6233 .loc 1 2858 5 is_stmt 1 discriminator 2 view .LVU1931
2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6234 .loc 1 2858 23 is_stmt 0 discriminator 2 view .LVU1932
6235 0056 6785 strh r7, [r4, #42]
2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
6236 .loc 1 2859 5 is_stmt 1 discriminator 2 view .LVU1933
2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
6237 .loc 1 2859 23 is_stmt 0 discriminator 2 view .LVU1934
6238 0058 3F4B ldr r3, .L371
6239 005a E362 str r3, [r4, #44]
2860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6240 .loc 1 2860 5 is_stmt 1 discriminator 2 view .LVU1935
2860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6241 .loc 1 2860 23 is_stmt 0 discriminator 2 view .LVU1936
6242 005c 3F4B ldr r3, .L371+4
6243 005e 6363 str r3, [r4, #52]
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6244 .loc 1 2862 5 is_stmt 1 discriminator 2 view .LVU1937
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6245 .loc 1 2862 13 is_stmt 0 discriminator 2 view .LVU1938
6246 0060 638D ldrh r3, [r4, #42]
6247 0062 9BB2 uxth r3, r3
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6248 .loc 1 2862 8 discriminator 2 view .LVU1939
6249 0064 FF2B cmp r3, #255
6250 0066 38D9 bls .L359
2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
6251 .loc 1 2864 7 is_stmt 1 view .LVU1940
2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
ARM GAS /tmp/ccRVAHyi.s page 261
6252 .loc 1 2864 22 is_stmt 0 view .LVU1941
6253 0068 FF23 movs r3, #255
6254 006a 2385 strh r3, [r4, #40]
2865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6255 .loc 1 2865 7 is_stmt 1 view .LVU1942
6256 .LVL426:
2865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6257 .loc 1 2865 16 is_stmt 0 view .LVU1943
6258 006c 8023 movs r3, #128
6259 006e 5B04 lsls r3, r3, #17
6260 0070 9946 mov r9, r3
6261 .LVL427:
6262 .L360:
2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
6263 .loc 1 2874 5 is_stmt 1 view .LVU1944
2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
6264 .loc 1 2874 9 is_stmt 0 view .LVU1945
6265 0072 0190 str r0, [sp, #4]
6266 0074 1923 movs r3, #25
6267 0076 0093 str r3, [sp]
6268 0078 059B ldr r3, [sp, #20]
6269 007a 049A ldr r2, [sp, #16]
6270 007c 0399 ldr r1, [sp, #12]
6271 007e 2000 movs r0, r4
6272 .LVL428:
2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
6273 .loc 1 2874 9 view .LVU1946
6274 0080 FFF7FEFF bl I2C_RequestMemoryWrite
6275 .LVL429:
2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** != HAL_OK)
6276 .loc 1 2874 8 view .LVU1947
6277 0084 0028 cmp r0, #0
6278 0086 2ED1 bne .L369
2883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6279 .loc 1 2883 5 is_stmt 1 view .LVU1948
2883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6280 .loc 1 2883 13 is_stmt 0 view .LVU1949
6281 0088 A36B ldr r3, [r4, #56]
2883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6282 .loc 1 2883 8 view .LVU1950
6283 008a 002B cmp r3, #0
6284 008c 30D0 beq .L362
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6285 .loc 1 2886 7 is_stmt 1 view .LVU1951
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6286 .loc 1 2886 38 is_stmt 0 view .LVU1952
6287 008e 344A ldr r2, .L371+8
6288 0090 9A62 str r2, [r3, #40]
2889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6289 .loc 1 2889 7 is_stmt 1 view .LVU1953
2889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6290 .loc 1 2889 11 is_stmt 0 view .LVU1954
6291 0092 A36B ldr r3, [r4, #56]
2889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6292 .loc 1 2889 39 view .LVU1955
6293 0094 334A ldr r2, .L371+12
6294 0096 1A63 str r2, [r3, #48]
ARM GAS /tmp/ccRVAHyi.s page 262
2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6295 .loc 1 2892 7 is_stmt 1 view .LVU1956
2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6296 .loc 1 2892 11 is_stmt 0 view .LVU1957
6297 0098 A26B ldr r2, [r4, #56]
2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6298 .loc 1 2892 42 view .LVU1958
6299 009a 0023 movs r3, #0
6300 009c D362 str r3, [r2, #44]
2893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6301 .loc 1 2893 7 is_stmt 1 view .LVU1959
2893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6302 .loc 1 2893 11 is_stmt 0 view .LVU1960
6303 009e A26B ldr r2, [r4, #56]
2893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6304 .loc 1 2893 39 view .LVU1961
6305 00a0 5363 str r3, [r2, #52]
2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
6306 .loc 1 2896 7 is_stmt 1 view .LVU1962
2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
6307 .loc 1 2896 81 is_stmt 0 view .LVU1963
6308 00a2 2268 ldr r2, [r4]
6309 00a4 2832 adds r2, r2, #40
2897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6310 .loc 1 2897 44 view .LVU1964
6311 00a6 238D ldrh r3, [r4, #40]
2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
6312 .loc 1 2896 23 view .LVU1965
6313 00a8 3100 movs r1, r6
6314 00aa A06B ldr r0, [r4, #56]
6315 00ac FFF7FEFF bl HAL_DMA_Start_IT
6316 .LVL430:
6317 00b0 061E subs r6, r0, #0
6318 .LVL431:
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6319 .loc 1 2914 5 is_stmt 1 view .LVU1966
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6320 .loc 1 2914 8 is_stmt 0 view .LVU1967
6321 00b2 2BD0 beq .L370
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6322 .loc 1 2938 7 is_stmt 1 view .LVU1968
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6323 .loc 1 2938 23 is_stmt 0 view .LVU1969
6324 00b4 4123 movs r3, #65
6325 00b6 2022 movs r2, #32
6326 00b8 E254 strb r2, [r4, r3]
2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6327 .loc 1 2939 7 is_stmt 1 view .LVU1970
2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6328 .loc 1 2939 23 is_stmt 0 view .LVU1971
6329 00ba 0022 movs r2, #0
6330 00bc 0133 adds r3, r3, #1
6331 00be E254 strb r2, [r4, r3]
2942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6332 .loc 1 2942 7 is_stmt 1 view .LVU1972
2942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6333 .loc 1 2942 23 is_stmt 0 view .LVU1973
ARM GAS /tmp/ccRVAHyi.s page 263
6334 00c0 636C ldr r3, [r4, #68]
6335 00c2 1021 movs r1, #16
6336 00c4 0B43 orrs r3, r1
6337 00c6 6364 str r3, [r4, #68]
2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6338 .loc 1 2945 7 is_stmt 1 view .LVU1974
2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6339 .loc 1 2945 7 view .LVU1975
6340 00c8 4023 movs r3, #64
6341 00ca E254 strb r2, [r4, r3]
2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6342 .loc 1 2947 7 view .LVU1976
2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6343 .loc 1 2947 14 is_stmt 0 view .LVU1977
6344 00cc 0126 movs r6, #1
6345 00ce 39E0 b .L356
6346 .LVL432:
6347 .L357:
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6348 .loc 1 2837 7 is_stmt 1 view .LVU1978
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6349 .loc 1 2837 23 is_stmt 0 view .LVU1979
6350 00d0 8023 movs r3, #128
6351 00d2 9B00 lsls r3, r3, #2
6352 00d4 6364 str r3, [r4, #68]
2838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6353 .loc 1 2838 7 is_stmt 1 view .LVU1980
2838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6354 .loc 1 2838 15 is_stmt 0 view .LVU1981
6355 00d6 0126 movs r6, #1
6356 00d8 34E0 b .L356
6357 .LVL433:
6358 .L359:
2869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6359 .loc 1 2869 7 is_stmt 1 view .LVU1982
2869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6360 .loc 1 2869 28 is_stmt 0 view .LVU1983
6361 00da 638D ldrh r3, [r4, #42]
2869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6362 .loc 1 2869 22 view .LVU1984
6363 00dc 2385 strh r3, [r4, #40]
2870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6364 .loc 1 2870 7 is_stmt 1 view .LVU1985
6365 .LVL434:
2870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6366 .loc 1 2870 16 is_stmt 0 view .LVU1986
6367 00de 8023 movs r3, #128
6368 00e0 9B04 lsls r3, r3, #18
6369 00e2 9946 mov r9, r3
6370 00e4 C5E7 b .L360
6371 .LVL435:
6372 .L369:
2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6373 .loc 1 2878 7 is_stmt 1 view .LVU1987
2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6374 .loc 1 2878 7 view .LVU1988
6375 00e6 4023 movs r3, #64
ARM GAS /tmp/ccRVAHyi.s page 264
6376 00e8 0022 movs r2, #0
6377 00ea E254 strb r2, [r4, r3]
2879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6378 .loc 1 2879 7 view .LVU1989
2879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6379 .loc 1 2879 14 is_stmt 0 view .LVU1990
6380 00ec 0126 movs r6, #1
6381 00ee 29E0 b .L356
6382 .L362:
2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6383 .loc 1 2902 7 is_stmt 1 view .LVU1991
2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6384 .loc 1 2902 23 is_stmt 0 view .LVU1992
6385 00f0 4123 movs r3, #65
6386 00f2 2022 movs r2, #32
6387 00f4 E254 strb r2, [r4, r3]
2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6388 .loc 1 2903 7 is_stmt 1 view .LVU1993
2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6389 .loc 1 2903 23 is_stmt 0 view .LVU1994
6390 00f6 0022 movs r2, #0
6391 00f8 0133 adds r3, r3, #1
6392 00fa E254 strb r2, [r4, r3]
2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6393 .loc 1 2906 7 is_stmt 1 view .LVU1995
2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6394 .loc 1 2906 23 is_stmt 0 view .LVU1996
6395 00fc 636C ldr r3, [r4, #68]
6396 00fe 8021 movs r1, #128
6397 0100 0B43 orrs r3, r1
6398 0102 6364 str r3, [r4, #68]
2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6399 .loc 1 2909 7 is_stmt 1 view .LVU1997
2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6400 .loc 1 2909 7 view .LVU1998
6401 0104 4023 movs r3, #64
6402 0106 E254 strb r2, [r4, r3]
2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6403 .loc 1 2911 7 view .LVU1999
2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6404 .loc 1 2911 14 is_stmt 0 view .LVU2000
6405 0108 0126 movs r6, #1
6406 010a 1BE0 b .L356
6407 .LVL436:
6408 .L370:
2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6409 .loc 1 2918 7 is_stmt 1 view .LVU2001
2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6410 .loc 1 2918 57 is_stmt 0 view .LVU2002
6411 010c 228D ldrh r2, [r4, #40]
2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6412 .loc 1 2918 7 view .LVU2003
6413 010e D2B2 uxtb r2, r2
6414 0110 0027 movs r7, #0
6415 0112 0097 str r7, [sp]
6416 0114 4B46 mov r3, r9
6417 0116 0399 ldr r1, [sp, #12]
ARM GAS /tmp/ccRVAHyi.s page 265
6418 0118 2000 movs r0, r4
6419 .LVL437:
2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6420 .loc 1 2918 7 view .LVU2004
6421 011a FFF7FEFF bl I2C_TransferConfig
6422 .LVL438:
2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6423 .loc 1 2921 7 is_stmt 1 view .LVU2005
2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6424 .loc 1 2921 23 is_stmt 0 view .LVU2006
6425 011e 638D ldrh r3, [r4, #42]
2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6426 .loc 1 2921 30 view .LVU2007
6427 0120 228D ldrh r2, [r4, #40]
2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6428 .loc 1 2921 23 view .LVU2008
6429 0122 9B1A subs r3, r3, r2
6430 0124 9BB2 uxth r3, r3
6431 0126 6385 strh r3, [r4, #42]
2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6432 .loc 1 2924 7 is_stmt 1 view .LVU2009
2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6433 .loc 1 2924 7 view .LVU2010
6434 0128 4023 movs r3, #64
6435 012a E754 strb r7, [r4, r3]
2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6436 .loc 1 2930 7 view .LVU2011
6437 012c 1021 movs r1, #16
6438 012e 2000 movs r0, r4
6439 0130 FFF7FEFF bl I2C_Enable_IRQ
6440 .LVL439:
2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6441 .loc 1 2933 7 view .LVU2012
2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6442 .loc 1 2933 11 is_stmt 0 view .LVU2013
6443 0134 2268 ldr r2, [r4]
2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6444 .loc 1 2933 27 view .LVU2014
6445 0136 1168 ldr r1, [r2]
6446 0138 8023 movs r3, #128
6447 013a DB01 lsls r3, r3, #7
6448 013c 0B43 orrs r3, r1
6449 013e 1360 str r3, [r2]
2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6450 .loc 1 2950 5 is_stmt 1 view .LVU2015
2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6451 .loc 1 2950 12 is_stmt 0 view .LVU2016
6452 0140 00E0 b .L356
6453 .LVL440:
6454 .L365:
2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6455 .loc 1 2954 12 view .LVU2017
6456 0142 0226 movs r6, #2
6457 .LVL441:
6458 .L356:
2956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6459 .loc 1 2956 1 view .LVU2018
ARM GAS /tmp/ccRVAHyi.s page 266
6460 0144 3000 movs r0, r6
6461 0146 06B0 add sp, sp, #24
6462 @ sp needed
6463 .LVL442:
2956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6464 .loc 1 2956 1 view .LVU2019
6465 0148 04BC pop {r2}
6466 014a 9146 mov r9, r2
6467 014c F0BD pop {r4, r5, r6, r7, pc}
6468 .LVL443:
6469 .L366:
2843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6470 .loc 1 2843 14 view .LVU2020
6471 014e 0226 movs r6, #2
6472 0150 F8E7 b .L356
6473 .L367:
2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6474 .loc 1 2847 5 view .LVU2021
6475 0152 0226 movs r6, #2
6476 0154 F6E7 b .L356
6477 .L372:
6478 0156 C046 .align 2
6479 .L371:
6480 0158 0000FFFF .word -65536
6481 015c 00000000 .word I2C_Master_ISR_DMA
6482 0160 00000000 .word I2C_DMAMasterTransmitCplt
6483 0164 00000000 .word I2C_DMAError
6484 .cfi_endproc
6485 .LFE60:
6487 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
6488 .align 1
6489 .global HAL_I2C_Mem_Read_DMA
6490 .syntax unified
6491 .code 16
6492 .thumb_func
6493 .fpu softvfp
6495 HAL_I2C_Mem_Read_DMA:
6496 .LVL444:
6497 .LFB61:
2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
6498 .loc 1 2972 1 is_stmt 1 view -0
6499 .cfi_startproc
6500 @ args = 8, pretend = 0, frame = 16
6501 @ frame_needed = 0, uses_anonymous_args = 0
2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
6502 .loc 1 2972 1 is_stmt 0 view .LVU2023
6503 0000 F0B5 push {r4, r5, r6, r7, lr}
6504 .LCFI46:
6505 .cfi_def_cfa_offset 20
6506 .cfi_offset 4, -20
6507 .cfi_offset 5, -16
6508 .cfi_offset 6, -12
6509 .cfi_offset 7, -8
6510 .cfi_offset 14, -4
6511 0002 CE46 mov lr, r9
6512 0004 00B5 push {lr}
6513 .LCFI47:
ARM GAS /tmp/ccRVAHyi.s page 267
6514 .cfi_def_cfa_offset 24
6515 .cfi_offset 9, -24
6516 0006 86B0 sub sp, sp, #24
6517 .LCFI48:
6518 .cfi_def_cfa_offset 48
6519 0008 0400 movs r4, r0
6520 000a 0391 str r1, [sp, #12]
6521 000c 0492 str r2, [sp, #16]
6522 000e 0593 str r3, [sp, #20]
6523 0010 0CAB add r3, sp, #48
6524 .LVL445:
2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
6525 .loc 1 2972 1 view .LVU2024
6526 0012 40CB ldmia r3!, {r6}
6527 .LVL446:
2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
6528 .loc 1 2972 1 view .LVU2025
6529 0014 1F88 ldrh r7, [r3]
2973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
6530 .loc 1 2973 3 is_stmt 1 view .LVU2026
2974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6531 .loc 1 2974 3 view .LVU2027
2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6532 .loc 1 2975 3 view .LVU2028
2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6533 .loc 1 2978 3 view .LVU2029
2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6534 .loc 1 2980 3 view .LVU2030
2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6535 .loc 1 2980 11 is_stmt 0 view .LVU2031
6536 0016 4123 movs r3, #65
6537 .LVL447:
2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6538 .loc 1 2980 11 view .LVU2032
6539 0018 C35C ldrb r3, [r0, r3]
2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6540 .loc 1 2980 6 view .LVU2033
6541 001a 202B cmp r3, #32
6542 001c 00D0 beq .LCB6183
6543 001e 91E0 b .L383 @long jump
6544 .LCB6183:
2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6545 .loc 1 2982 5 is_stmt 1 view .LVU2034
2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6546 .loc 1 2982 8 is_stmt 0 view .LVU2035
6547 0020 002E cmp r6, #0
6548 0022 55D0 beq .L375
2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6549 .loc 1 2982 25 discriminator 1 view .LVU2036
6550 0024 002F cmp r7, #0
6551 0026 53D0 beq .L375
2988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6552 .loc 1 2988 5 is_stmt 1 view .LVU2037
2988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6553 .loc 1 2988 9 is_stmt 0 view .LVU2038
6554 0028 0368 ldr r3, [r0]
6555 002a 9B69 ldr r3, [r3, #24]
ARM GAS /tmp/ccRVAHyi.s page 268
2988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6556 .loc 1 2988 8 view .LVU2039
6557 002c 1B04 lsls r3, r3, #16
6558 002e 00D5 bpl .LCB6195
6559 0030 8EE0 b .L384 @long jump
6560 .LCB6195:
2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6561 .loc 1 2994 5 is_stmt 1 view .LVU2040
2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6562 .loc 1 2994 5 view .LVU2041
6563 0032 4023 movs r3, #64
6564 0034 C35C ldrb r3, [r0, r3]
6565 0036 012B cmp r3, #1
6566 0038 00D1 bne .LCB6201
6567 003a 8BE0 b .L385 @long jump
6568 .LCB6201:
2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6569 .loc 1 2994 5 discriminator 2 view .LVU2042
6570 003c 4025 movs r5, #64
6571 003e 0123 movs r3, #1
6572 0040 4355 strb r3, [r0, r5]
2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6573 .loc 1 2997 5 discriminator 2 view .LVU2043
2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6574 .loc 1 2997 17 is_stmt 0 discriminator 2 view .LVU2044
6575 0042 FFF7FEFF bl HAL_GetTick
6576 .LVL448:
2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6577 .loc 1 2999 5 is_stmt 1 discriminator 2 view .LVU2045
2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6578 .loc 1 2999 23 is_stmt 0 discriminator 2 view .LVU2046
6579 0046 4123 movs r3, #65
6580 0048 2222 movs r2, #34
6581 004a E254 strb r2, [r4, r3]
3000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6582 .loc 1 3000 5 is_stmt 1 discriminator 2 view .LVU2047
3000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6583 .loc 1 3000 23 is_stmt 0 discriminator 2 view .LVU2048
6584 004c 0133 adds r3, r3, #1
6585 004e E554 strb r5, [r4, r3]
3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6586 .loc 1 3001 5 is_stmt 1 discriminator 2 view .LVU2049
3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6587 .loc 1 3001 23 is_stmt 0 discriminator 2 view .LVU2050
6588 0050 0023 movs r3, #0
6589 0052 6364 str r3, [r4, #68]
3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
6590 .loc 1 3004 5 is_stmt 1 discriminator 2 view .LVU2051
3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
6591 .loc 1 3004 23 is_stmt 0 discriminator 2 view .LVU2052
6592 0054 6662 str r6, [r4, #36]
3005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6593 .loc 1 3005 5 is_stmt 1 discriminator 2 view .LVU2053
3005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6594 .loc 1 3005 23 is_stmt 0 discriminator 2 view .LVU2054
6595 0056 6785 strh r7, [r4, #42]
3006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
ARM GAS /tmp/ccRVAHyi.s page 269
6596 .loc 1 3006 5 is_stmt 1 discriminator 2 view .LVU2055
3006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
6597 .loc 1 3006 23 is_stmt 0 discriminator 2 view .LVU2056
6598 0058 3F4B ldr r3, .L389
6599 005a E362 str r3, [r4, #44]
3007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6600 .loc 1 3007 5 is_stmt 1 discriminator 2 view .LVU2057
3007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6601 .loc 1 3007 23 is_stmt 0 discriminator 2 view .LVU2058
6602 005c 3F4B ldr r3, .L389+4
6603 005e 6363 str r3, [r4, #52]
3009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6604 .loc 1 3009 5 is_stmt 1 discriminator 2 view .LVU2059
3009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6605 .loc 1 3009 13 is_stmt 0 discriminator 2 view .LVU2060
6606 0060 638D ldrh r3, [r4, #42]
6607 0062 9BB2 uxth r3, r3
3009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6608 .loc 1 3009 8 discriminator 2 view .LVU2061
6609 0064 FF2B cmp r3, #255
6610 0066 38D9 bls .L377
3011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
6611 .loc 1 3011 7 is_stmt 1 view .LVU2062
3011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
6612 .loc 1 3011 22 is_stmt 0 view .LVU2063
6613 0068 FF23 movs r3, #255
6614 006a 2385 strh r3, [r4, #40]
3012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6615 .loc 1 3012 7 is_stmt 1 view .LVU2064
6616 .LVL449:
3012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6617 .loc 1 3012 16 is_stmt 0 view .LVU2065
6618 006c 8023 movs r3, #128
6619 006e 5B04 lsls r3, r3, #17
6620 0070 9946 mov r9, r3
6621 .LVL450:
6622 .L378:
3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6623 .loc 1 3021 5 is_stmt 1 view .LVU2066
3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6624 .loc 1 3021 9 is_stmt 0 view .LVU2067
6625 0072 0190 str r0, [sp, #4]
6626 0074 1923 movs r3, #25
6627 0076 0093 str r3, [sp]
6628 0078 059B ldr r3, [sp, #20]
6629 007a 049A ldr r2, [sp, #16]
6630 007c 0399 ldr r1, [sp, #12]
6631 007e 2000 movs r0, r4
6632 .LVL451:
3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6633 .loc 1 3021 9 view .LVU2068
6634 0080 FFF7FEFF bl I2C_RequestMemoryRead
6635 .LVL452:
3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6636 .loc 1 3021 8 view .LVU2069
6637 0084 0028 cmp r0, #0
6638 0086 2ED1 bne .L387
ARM GAS /tmp/ccRVAHyi.s page 270
3028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6639 .loc 1 3028 5 is_stmt 1 view .LVU2070
3028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6640 .loc 1 3028 13 is_stmt 0 view .LVU2071
6641 0088 E36B ldr r3, [r4, #60]
3028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6642 .loc 1 3028 8 view .LVU2072
6643 008a 002B cmp r3, #0
6644 008c 30D0 beq .L380
3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6645 .loc 1 3031 7 is_stmt 1 view .LVU2073
3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6646 .loc 1 3031 38 is_stmt 0 view .LVU2074
6647 008e 344A ldr r2, .L389+8
6648 0090 9A62 str r2, [r3, #40]
3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6649 .loc 1 3034 7 is_stmt 1 view .LVU2075
3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6650 .loc 1 3034 11 is_stmt 0 view .LVU2076
6651 0092 E36B ldr r3, [r4, #60]
3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6652 .loc 1 3034 39 view .LVU2077
6653 0094 334A ldr r2, .L389+12
6654 0096 1A63 str r2, [r3, #48]
3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6655 .loc 1 3037 7 is_stmt 1 view .LVU2078
3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6656 .loc 1 3037 11 is_stmt 0 view .LVU2079
6657 0098 E26B ldr r2, [r4, #60]
3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6658 .loc 1 3037 42 view .LVU2080
6659 009a 0023 movs r3, #0
6660 009c D362 str r3, [r2, #44]
3038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6661 .loc 1 3038 7 is_stmt 1 view .LVU2081
3038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6662 .loc 1 3038 11 is_stmt 0 view .LVU2082
6663 009e E26B ldr r2, [r4, #60]
3038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6664 .loc 1 3038 39 view .LVU2083
6665 00a0 5363 str r3, [r2, #52]
3041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
6666 .loc 1 3041 7 is_stmt 1 view .LVU2084
3041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
6667 .loc 1 3041 64 is_stmt 0 view .LVU2085
6668 00a2 2168 ldr r1, [r4]
6669 00a4 2431 adds r1, r1, #36
3042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6670 .loc 1 3042 44 view .LVU2086
6671 00a6 238D ldrh r3, [r4, #40]
3041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
6672 .loc 1 3041 23 view .LVU2087
6673 00a8 3200 movs r2, r6
6674 00aa E06B ldr r0, [r4, #60]
6675 00ac FFF7FEFF bl HAL_DMA_Start_IT
6676 .LVL453:
6677 00b0 061E subs r6, r0, #0
ARM GAS /tmp/ccRVAHyi.s page 271
6678 .LVL454:
3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6679 .loc 1 3059 5 is_stmt 1 view .LVU2088
3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6680 .loc 1 3059 8 is_stmt 0 view .LVU2089
6681 00b2 2BD0 beq .L388
3082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6682 .loc 1 3082 7 is_stmt 1 view .LVU2090
3082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6683 .loc 1 3082 23 is_stmt 0 view .LVU2091
6684 00b4 4123 movs r3, #65
6685 00b6 2022 movs r2, #32
6686 00b8 E254 strb r2, [r4, r3]
3083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6687 .loc 1 3083 7 is_stmt 1 view .LVU2092
3083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6688 .loc 1 3083 23 is_stmt 0 view .LVU2093
6689 00ba 0022 movs r2, #0
6690 00bc 0133 adds r3, r3, #1
6691 00be E254 strb r2, [r4, r3]
3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6692 .loc 1 3086 7 is_stmt 1 view .LVU2094
3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6693 .loc 1 3086 23 is_stmt 0 view .LVU2095
6694 00c0 636C ldr r3, [r4, #68]
6695 00c2 1021 movs r1, #16
6696 00c4 0B43 orrs r3, r1
6697 00c6 6364 str r3, [r4, #68]
3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6698 .loc 1 3089 7 is_stmt 1 view .LVU2096
3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6699 .loc 1 3089 7 view .LVU2097
6700 00c8 4023 movs r3, #64
6701 00ca E254 strb r2, [r4, r3]
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6702 .loc 1 3091 7 view .LVU2098
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6703 .loc 1 3091 14 is_stmt 0 view .LVU2099
6704 00cc 0126 movs r6, #1
6705 00ce 3AE0 b .L374
6706 .LVL455:
6707 .L375:
2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6708 .loc 1 2984 7 is_stmt 1 view .LVU2100
2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6709 .loc 1 2984 23 is_stmt 0 view .LVU2101
6710 00d0 8023 movs r3, #128
6711 00d2 9B00 lsls r3, r3, #2
6712 00d4 6364 str r3, [r4, #68]
2985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6713 .loc 1 2985 7 is_stmt 1 view .LVU2102
2985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6714 .loc 1 2985 15 is_stmt 0 view .LVU2103
6715 00d6 0126 movs r6, #1
6716 00d8 35E0 b .L374
6717 .LVL456:
6718 .L377:
ARM GAS /tmp/ccRVAHyi.s page 272
3016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6719 .loc 1 3016 7 is_stmt 1 view .LVU2104
3016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6720 .loc 1 3016 28 is_stmt 0 view .LVU2105
6721 00da 638D ldrh r3, [r4, #42]
3016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
6722 .loc 1 3016 22 view .LVU2106
6723 00dc 2385 strh r3, [r4, #40]
3017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6724 .loc 1 3017 7 is_stmt 1 view .LVU2107
6725 .LVL457:
3017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6726 .loc 1 3017 16 is_stmt 0 view .LVU2108
6727 00de 8023 movs r3, #128
6728 00e0 9B04 lsls r3, r3, #18
6729 00e2 9946 mov r9, r3
6730 00e4 C5E7 b .L378
6731 .LVL458:
6732 .L387:
3024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6733 .loc 1 3024 7 is_stmt 1 view .LVU2109
3024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6734 .loc 1 3024 7 view .LVU2110
6735 00e6 4023 movs r3, #64
6736 00e8 0022 movs r2, #0
6737 00ea E254 strb r2, [r4, r3]
3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6738 .loc 1 3025 7 view .LVU2111
3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6739 .loc 1 3025 14 is_stmt 0 view .LVU2112
6740 00ec 0126 movs r6, #1
6741 00ee 2AE0 b .L374
6742 .L380:
3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6743 .loc 1 3047 7 is_stmt 1 view .LVU2113
3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6744 .loc 1 3047 23 is_stmt 0 view .LVU2114
6745 00f0 4123 movs r3, #65
6746 00f2 2022 movs r2, #32
6747 00f4 E254 strb r2, [r4, r3]
3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6748 .loc 1 3048 7 is_stmt 1 view .LVU2115
3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6749 .loc 1 3048 23 is_stmt 0 view .LVU2116
6750 00f6 0022 movs r2, #0
6751 00f8 0133 adds r3, r3, #1
6752 00fa E254 strb r2, [r4, r3]
3051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6753 .loc 1 3051 7 is_stmt 1 view .LVU2117
3051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6754 .loc 1 3051 23 is_stmt 0 view .LVU2118
6755 00fc 636C ldr r3, [r4, #68]
6756 00fe 8021 movs r1, #128
6757 0100 0B43 orrs r3, r1
6758 0102 6364 str r3, [r4, #68]
3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6759 .loc 1 3054 7 is_stmt 1 view .LVU2119
ARM GAS /tmp/ccRVAHyi.s page 273
3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6760 .loc 1 3054 7 view .LVU2120
6761 0104 4023 movs r3, #64
6762 0106 E254 strb r2, [r4, r3]
3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6763 .loc 1 3056 7 view .LVU2121
3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6764 .loc 1 3056 14 is_stmt 0 view .LVU2122
6765 0108 0126 movs r6, #1
6766 010a 1CE0 b .L374
6767 .LVL459:
6768 .L388:
3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6769 .loc 1 3062 7 is_stmt 1 view .LVU2123
3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6770 .loc 1 3062 57 is_stmt 0 view .LVU2124
6771 010c 228D ldrh r2, [r4, #40]
3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6772 .loc 1 3062 7 view .LVU2125
6773 010e D2B2 uxtb r2, r2
6774 0110 154B ldr r3, .L389+16
6775 0112 0093 str r3, [sp]
6776 0114 4B46 mov r3, r9
6777 0116 0399 ldr r1, [sp, #12]
6778 0118 2000 movs r0, r4
6779 .LVL460:
3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6780 .loc 1 3062 7 view .LVU2126
6781 011a FFF7FEFF bl I2C_TransferConfig
6782 .LVL461:
3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6783 .loc 1 3065 7 is_stmt 1 view .LVU2127
3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6784 .loc 1 3065 23 is_stmt 0 view .LVU2128
6785 011e 638D ldrh r3, [r4, #42]
3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6786 .loc 1 3065 30 view .LVU2129
6787 0120 228D ldrh r2, [r4, #40]
3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6788 .loc 1 3065 23 view .LVU2130
6789 0122 9B1A subs r3, r3, r2
6790 0124 9BB2 uxth r3, r3
6791 0126 6385 strh r3, [r4, #42]
3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6792 .loc 1 3068 7 is_stmt 1 view .LVU2131
3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6793 .loc 1 3068 7 view .LVU2132
6794 0128 4023 movs r3, #64
6795 012a 0022 movs r2, #0
6796 012c E254 strb r2, [r4, r3]
3074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6797 .loc 1 3074 7 view .LVU2133
6798 012e 1021 movs r1, #16
6799 0130 2000 movs r0, r4
6800 0132 FFF7FEFF bl I2C_Enable_IRQ
6801 .LVL462:
3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 274
6802 .loc 1 3077 7 view .LVU2134
3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6803 .loc 1 3077 11 is_stmt 0 view .LVU2135
6804 0136 2268 ldr r2, [r4]
3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6805 .loc 1 3077 27 view .LVU2136
6806 0138 1168 ldr r1, [r2]
6807 013a 8023 movs r3, #128
6808 013c 1B02 lsls r3, r3, #8
6809 013e 0B43 orrs r3, r1
6810 0140 1360 str r3, [r2]
3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6811 .loc 1 3094 5 is_stmt 1 view .LVU2137
3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6812 .loc 1 3094 12 is_stmt 0 view .LVU2138
6813 0142 00E0 b .L374
6814 .LVL463:
6815 .L383:
3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6816 .loc 1 3098 12 view .LVU2139
6817 0144 0226 movs r6, #2
6818 .LVL464:
6819 .L374:
3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6820 .loc 1 3100 1 view .LVU2140
6821 0146 3000 movs r0, r6
6822 0148 06B0 add sp, sp, #24
6823 @ sp needed
6824 .LVL465:
3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6825 .loc 1 3100 1 view .LVU2141
6826 014a 04BC pop {r2}
6827 014c 9146 mov r9, r2
6828 014e F0BD pop {r4, r5, r6, r7, pc}
6829 .LVL466:
6830 .L384:
2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6831 .loc 1 2990 14 view .LVU2142
6832 0150 0226 movs r6, #2
6833 0152 F8E7 b .L374
6834 .L385:
2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6835 .loc 1 2994 5 view .LVU2143
6836 0154 0226 movs r6, #2
6837 0156 F6E7 b .L374
6838 .L390:
6839 .align 2
6840 .L389:
6841 0158 0000FFFF .word -65536
6842 015c 00000000 .word I2C_Master_ISR_DMA
6843 0160 00000000 .word I2C_DMAMasterReceiveCplt
6844 0164 00000000 .word I2C_DMAError
6845 0168 00240080 .word -2147474432
6846 .cfi_endproc
6847 .LFE61:
6849 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits
6850 .align 1
ARM GAS /tmp/ccRVAHyi.s page 275
6851 .global HAL_I2C_IsDeviceReady
6852 .syntax unified
6853 .code 16
6854 .thumb_func
6855 .fpu softvfp
6857 HAL_I2C_IsDeviceReady:
6858 .LVL467:
6859 .LFB62:
3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
6860 .loc 1 3115 1 is_stmt 1 view -0
6861 .cfi_startproc
6862 @ args = 0, pretend = 0, frame = 8
6863 @ frame_needed = 0, uses_anonymous_args = 0
3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
6864 .loc 1 3115 1 is_stmt 0 view .LVU2145
6865 0000 F0B5 push {r4, r5, r6, r7, lr}
6866 .LCFI49:
6867 .cfi_def_cfa_offset 20
6868 .cfi_offset 4, -20
6869 .cfi_offset 5, -16
6870 .cfi_offset 6, -12
6871 .cfi_offset 7, -8
6872 .cfi_offset 14, -4
6873 0002 C646 mov lr, r8
6874 0004 00B5 push {lr}
6875 .LCFI50:
6876 .cfi_def_cfa_offset 24
6877 .cfi_offset 8, -24
6878 0006 84B0 sub sp, sp, #16
6879 .LCFI51:
6880 .cfi_def_cfa_offset 40
6881 0008 0500 movs r5, r0
6882 000a 8846 mov r8, r1
6883 000c 1700 movs r7, r2
6884 000e 1C00 movs r4, r3
3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6885 .loc 1 3116 3 is_stmt 1 view .LVU2146
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6886 .loc 1 3118 3 view .LVU2147
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6887 .loc 1 3118 17 is_stmt 0 view .LVU2148
6888 0010 0023 movs r3, #0
6889 .LVL468:
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6890 .loc 1 3118 17 view .LVU2149
6891 0012 0393 str r3, [sp, #12]
3120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp2;
6892 .loc 1 3120 3 is_stmt 1 view .LVU2150
3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6893 .loc 1 3121 3 view .LVU2151
3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6894 .loc 1 3123 3 view .LVU2152
3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6895 .loc 1 3123 11 is_stmt 0 view .LVU2153
6896 0014 4133 adds r3, r3, #65
6897 0016 C35C ldrb r3, [r0, r3]
3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 276
6898 .loc 1 3123 6 view .LVU2154
6899 0018 202B cmp r3, #32
6900 001a 00D0 beq .LCB6528
6901 001c A5E0 b .L402 @long jump
6902 .LCB6528:
3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6903 .loc 1 3125 5 is_stmt 1 view .LVU2155
3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6904 .loc 1 3125 9 is_stmt 0 view .LVU2156
6905 001e 0368 ldr r3, [r0]
6906 0020 9B69 ldr r3, [r3, #24]
3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6907 .loc 1 3125 8 view .LVU2157
6908 0022 1B04 lsls r3, r3, #16
6909 0024 00D5 bpl .LCB6535
6910 0026 A2E0 b .L403 @long jump
6911 .LCB6535:
3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6912 .loc 1 3131 5 is_stmt 1 view .LVU2158
3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6913 .loc 1 3131 5 view .LVU2159
6914 0028 4023 movs r3, #64
6915 002a C35C ldrb r3, [r0, r3]
6916 002c 012B cmp r3, #1
6917 002e 00D1 bne .LCB6541
6918 0030 9FE0 b .L404 @long jump
6919 .LCB6541:
3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6920 .loc 1 3131 5 discriminator 2 view .LVU2160
6921 0032 4023 movs r3, #64
6922 0034 0122 movs r2, #1
6923 .LVL469:
3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6924 .loc 1 3131 5 is_stmt 0 discriminator 2 view .LVU2161
6925 0036 C254 strb r2, [r0, r3]
3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6926 .loc 1 3133 5 is_stmt 1 discriminator 2 view .LVU2162
3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6927 .loc 1 3133 17 is_stmt 0 discriminator 2 view .LVU2163
6928 0038 0133 adds r3, r3, #1
6929 003a 2332 adds r2, r2, #35
6930 003c C254 strb r2, [r0, r3]
3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6931 .loc 1 3134 5 is_stmt 1 discriminator 2 view .LVU2164
3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6932 .loc 1 3134 21 is_stmt 0 discriminator 2 view .LVU2165
6933 003e 0023 movs r3, #0
6934 0040 4364 str r3, [r0, #68]
6935 .LVL470:
6936 .L401:
3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6937 .loc 1 3136 5 is_stmt 1 view .LVU2166
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6938 .loc 1 3139 7 view .LVU2167
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6939 .loc 1 3139 29 is_stmt 0 view .LVU2168
6940 0042 EB68 ldr r3, [r5, #12]
ARM GAS /tmp/ccRVAHyi.s page 277
6941 0044 012B cmp r3, #1
6942 0046 18D0 beq .L408
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6943 .loc 1 3139 29 discriminator 2 view .LVU2169
6944 0048 4346 mov r3, r8
6945 004a 9A05 lsls r2, r3, #22
6946 004c 920D lsrs r2, r2, #22
6947 004e A023 movs r3, #160
6948 0050 9B01 lsls r3, r3, #6
6949 0052 1343 orrs r3, r2
6950 .L394:
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6951 .loc 1 3139 11 discriminator 4 view .LVU2170
6952 0054 2A68 ldr r2, [r5]
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6953 .loc 1 3139 27 discriminator 4 view .LVU2171
6954 0056 5360 str r3, [r2, #4]
3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6955 .loc 1 3143 7 is_stmt 1 discriminator 4 view .LVU2172
3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6956 .loc 1 3143 19 is_stmt 0 discriminator 4 view .LVU2173
6957 0058 FFF7FEFF bl HAL_GetTick
6958 .LVL471:
6959 005c 0600 movs r6, r0
6960 .LVL472:
3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6961 .loc 1 3145 7 is_stmt 1 discriminator 4 view .LVU2174
3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6962 .loc 1 3145 14 is_stmt 0 discriminator 4 view .LVU2175
6963 005e 2A68 ldr r2, [r5]
6964 0060 9169 ldr r1, [r2, #24]
6965 0062 2023 movs r3, #32
6966 0064 0B40 ands r3, r1
6967 0066 591E subs r1, r3, #1
6968 0068 8B41 sbcs r3, r3, r1
6969 006a D9B2 uxtb r1, r3
6970 .LVL473:
3146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6971 .loc 1 3146 7 is_stmt 1 discriminator 4 view .LVU2176
3146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6972 .loc 1 3146 14 is_stmt 0 discriminator 4 view .LVU2177
6973 006c 9369 ldr r3, [r2, #24]
6974 006e 1022 movs r2, #16
6975 0070 1A40 ands r2, r3
6976 0072 531E subs r3, r2, #1
6977 0074 9A41 sbcs r2, r2, r3
6978 0076 D3B2 uxtb r3, r2
6979 .LVL474:
3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6980 .loc 1 3148 7 is_stmt 1 discriminator 4 view .LVU2178
3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6981 .loc 1 3148 13 is_stmt 0 discriminator 4 view .LVU2179
6982 0078 12E0 b .L395
6983 .LVL475:
6984 .L408:
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6985 .loc 1 3139 29 discriminator 1 view .LVU2180
ARM GAS /tmp/ccRVAHyi.s page 278
6986 007a 4346 mov r3, r8
6987 007c 9A05 lsls r2, r3, #22
6988 007e 920D lsrs r2, r2, #22
6989 0080 404B ldr r3, .L412
6990 0082 1343 orrs r3, r2
6991 0084 E6E7 b .L394
6992 .LVL476:
6993 .L396:
3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6994 .loc 1 3167 9 is_stmt 1 view .LVU2181
3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6995 .loc 1 3167 16 is_stmt 0 view .LVU2182
6996 0086 2A68 ldr r2, [r5]
6997 0088 9169 ldr r1, [r2, #24]
6998 008a 2023 movs r3, #32
6999 008c 0B40 ands r3, r1
7000 008e 591E subs r1, r3, #1
7001 0090 8B41 sbcs r3, r3, r1
7002 0092 D9B2 uxtb r1, r3
7003 .LVL477:
3168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7004 .loc 1 3168 9 is_stmt 1 view .LVU2183
3168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7005 .loc 1 3168 16 is_stmt 0 view .LVU2184
7006 0094 9269 ldr r2, [r2, #24]
7007 0096 1023 movs r3, #16
7008 0098 1340 ands r3, r2
7009 009a 5A1E subs r2, r3, #1
7010 009c 9341 sbcs r3, r3, r2
7011 009e DBB2 uxtb r3, r3
7012 .LVL478:
7013 .L395:
3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7014 .loc 1 3148 30 view .LVU2185
7015 00a0 0B43 orrs r3, r1
7016 .LVL479:
3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7017 .loc 1 3148 13 view .LVU2186
7018 00a2 16D1 bne .L409
3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7019 .loc 1 3150 9 is_stmt 1 view .LVU2187
3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7020 .loc 1 3150 12 is_stmt 0 view .LVU2188
7021 00a4 631C adds r3, r4, #1
7022 00a6 EED0 beq .L396
3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7023 .loc 1 3152 11 is_stmt 1 view .LVU2189
3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7024 .loc 1 3152 17 is_stmt 0 view .LVU2190
7025 00a8 FFF7FEFF bl HAL_GetTick
7026 .LVL480:
3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7027 .loc 1 3152 31 view .LVU2191
7028 00ac 801B subs r0, r0, r6
3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7029 .loc 1 3152 14 view .LVU2192
7030 00ae A042 cmp r0, r4
ARM GAS /tmp/ccRVAHyi.s page 279
7031 00b0 01D8 bhi .L397
3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7032 .loc 1 3152 55 discriminator 1 view .LVU2193
7033 00b2 002C cmp r4, #0
7034 00b4 E7D1 bne .L396
7035 .L397:
3155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7036 .loc 1 3155 13 is_stmt 1 view .LVU2194
3155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7037 .loc 1 3155 25 is_stmt 0 view .LVU2195
7038 00b6 2022 movs r2, #32
7039 00b8 4123 movs r3, #65
7040 00ba EA54 strb r2, [r5, r3]
3158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7041 .loc 1 3158 13 is_stmt 1 view .LVU2196
3158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7042 .loc 1 3158 29 is_stmt 0 view .LVU2197
7043 00bc 6B6C ldr r3, [r5, #68]
7044 00be 1343 orrs r3, r2
7045 00c0 6B64 str r3, [r5, #68]
3161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7046 .loc 1 3161 13 is_stmt 1 view .LVU2198
3161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7047 .loc 1 3161 13 view .LVU2199
7048 00c2 4023 movs r3, #64
7049 00c4 0022 movs r2, #0
7050 00c6 EA54 strb r2, [r5, r3]
3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7051 .loc 1 3163 13 view .LVU2200
3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7052 .loc 1 3163 20 is_stmt 0 view .LVU2201
7053 00c8 0120 movs r0, #1
7054 .LVL481:
7055 .L392:
3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7056 .loc 1 3241 1 view .LVU2202
7057 00ca 04B0 add sp, sp, #16
7058 @ sp needed
7059 .LVL482:
7060 .LVL483:
7061 .LVL484:
3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7062 .loc 1 3241 1 view .LVU2203
7063 00cc 04BC pop {r2}
7064 00ce 9046 mov r8, r2
7065 00d0 F0BD pop {r4, r5, r6, r7, pc}
7066 .LVL485:
7067 .L409:
3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7068 .loc 1 3172 7 is_stmt 1 view .LVU2204
3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7069 .loc 1 3172 11 is_stmt 0 view .LVU2205
7070 00d2 2B68 ldr r3, [r5]
7071 00d4 9B69 ldr r3, [r3, #24]
3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7072 .loc 1 3172 10 view .LVU2206
7073 00d6 DB06 lsls r3, r3, #27
ARM GAS /tmp/ccRVAHyi.s page 280
7074 00d8 22D5 bpl .L410
3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7075 .loc 1 3194 9 is_stmt 1 view .LVU2207
3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7076 .loc 1 3194 13 is_stmt 0 view .LVU2208
7077 00da 0096 str r6, [sp]
7078 00dc 2300 movs r3, r4
7079 00de 0022 movs r2, #0
7080 00e0 2021 movs r1, #32
7081 .LVL486:
3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7082 .loc 1 3194 13 view .LVU2209
7083 00e2 2800 movs r0, r5
7084 00e4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
7085 .LVL487:
3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7086 .loc 1 3194 12 view .LVU2210
7087 00e8 0028 cmp r0, #0
7088 00ea 46D1 bne .L406
3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7089 .loc 1 3200 9 is_stmt 1 view .LVU2211
7090 00ec 2B68 ldr r3, [r5]
7091 00ee 1022 movs r2, #16
7092 00f0 DA61 str r2, [r3, #28]
3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7093 .loc 1 3203 9 view .LVU2212
7094 00f2 2B68 ldr r3, [r5]
7095 00f4 1032 adds r2, r2, #16
7096 00f6 DA61 str r2, [r3, #28]
3207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7097 .loc 1 3207 7 view .LVU2213
3207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7098 .loc 1 3207 22 is_stmt 0 view .LVU2214
7099 00f8 039B ldr r3, [sp, #12]
3207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7100 .loc 1 3207 10 view .LVU2215
7101 00fa BB42 cmp r3, r7
7102 00fc 22D0 beq .L411
7103 .L400:
3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } while (I2C_Trials < Trials);
7104 .loc 1 3223 7 is_stmt 1 view .LVU2216
3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } while (I2C_Trials < Trials);
7105 .loc 1 3223 17 is_stmt 0 view .LVU2217
7106 00fe 039B ldr r3, [sp, #12]
7107 0100 0133 adds r3, r3, #1
7108 0102 0393 str r3, [sp, #12]
3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7109 .loc 1 3224 25 view .LVU2218
7110 0104 039B ldr r3, [sp, #12]
3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7111 .loc 1 3224 5 view .LVU2219
7112 0106 BB42 cmp r3, r7
7113 0108 9BD3 bcc .L401
3227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7114 .loc 1 3227 5 is_stmt 1 view .LVU2220
3227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7115 .loc 1 3227 17 is_stmt 0 view .LVU2221
ARM GAS /tmp/ccRVAHyi.s page 281
7116 010a 2022 movs r2, #32
7117 010c 4123 movs r3, #65
7118 010e EA54 strb r2, [r5, r3]
3230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7119 .loc 1 3230 5 is_stmt 1 view .LVU2222
3230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7120 .loc 1 3230 21 is_stmt 0 view .LVU2223
7121 0110 6B6C ldr r3, [r5, #68]
7122 0112 1343 orrs r3, r2
7123 0114 6B64 str r3, [r5, #68]
3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7124 .loc 1 3233 5 is_stmt 1 view .LVU2224
3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7125 .loc 1 3233 5 view .LVU2225
7126 0116 4023 movs r3, #64
7127 0118 0022 movs r2, #0
7128 011a EA54 strb r2, [r5, r3]
3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7129 .loc 1 3235 5 view .LVU2226
3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7130 .loc 1 3235 12 is_stmt 0 view .LVU2227
7131 011c 0120 movs r0, #1
7132 011e D4E7 b .L392
7133 .LVL488:
7134 .L410:
3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7135 .loc 1 3175 9 is_stmt 1 view .LVU2228
3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7136 .loc 1 3175 13 is_stmt 0 view .LVU2229
7137 0120 0096 str r6, [sp]
7138 0122 2300 movs r3, r4
7139 0124 0022 movs r2, #0
7140 0126 2021 movs r1, #32
7141 .LVL489:
3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7142 .loc 1 3175 13 view .LVU2230
7143 0128 2800 movs r0, r5
7144 012a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
7145 .LVL490:
3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7146 .loc 1 3175 12 view .LVU2231
7147 012e 0028 cmp r0, #0
7148 0130 21D1 bne .L405
3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7149 .loc 1 3181 9 is_stmt 1 view .LVU2232
7150 0132 2A68 ldr r2, [r5]
7151 0134 2023 movs r3, #32
7152 0136 D361 str r3, [r2, #28]
3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7153 .loc 1 3184 9 view .LVU2233
3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7154 .loc 1 3184 21 is_stmt 0 view .LVU2234
7155 0138 4122 movs r2, #65
7156 013a AB54 strb r3, [r5, r2]
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7157 .loc 1 3187 9 is_stmt 1 view .LVU2235
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 282
7158 .loc 1 3187 9 view .LVU2236
7159 013c 2033 adds r3, r3, #32
7160 013e 0022 movs r2, #0
7161 0140 EA54 strb r2, [r5, r3]
3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7162 .loc 1 3189 9 view .LVU2237
3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7163 .loc 1 3189 16 is_stmt 0 view .LVU2238
7164 0142 C2E7 b .L392
7165 .L411:
3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7166 .loc 1 3210 9 is_stmt 1 view .LVU2239
3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7167 .loc 1 3210 13 is_stmt 0 view .LVU2240
7168 0144 2A68 ldr r2, [r5]
3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7169 .loc 1 3210 29 view .LVU2241
7170 0146 5168 ldr r1, [r2, #4]
7171 0148 8023 movs r3, #128
7172 014a DB01 lsls r3, r3, #7
7173 014c 0B43 orrs r3, r1
7174 014e 5360 str r3, [r2, #4]
3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7175 .loc 1 3213 9 is_stmt 1 view .LVU2242
3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7176 .loc 1 3213 13 is_stmt 0 view .LVU2243
7177 0150 0096 str r6, [sp]
7178 0152 2300 movs r3, r4
7179 0154 0022 movs r2, #0
7180 0156 2021 movs r1, #32
7181 0158 2800 movs r0, r5
7182 015a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
7183 .LVL491:
3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7184 .loc 1 3213 12 view .LVU2244
7185 015e 0028 cmp r0, #0
7186 0160 0DD1 bne .L407
3219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7187 .loc 1 3219 9 is_stmt 1 view .LVU2245
7188 0162 2B68 ldr r3, [r5]
7189 0164 2022 movs r2, #32
7190 0166 DA61 str r2, [r3, #28]
7191 0168 C9E7 b .L400
7192 .LVL492:
7193 .L402:
3239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7194 .loc 1 3239 12 is_stmt 0 view .LVU2246
7195 016a 0220 movs r0, #2
7196 .LVL493:
3239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7197 .loc 1 3239 12 view .LVU2247
7198 016c ADE7 b .L392
7199 .LVL494:
7200 .L403:
3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7201 .loc 1 3127 14 view .LVU2248
7202 016e 0220 movs r0, #2
ARM GAS /tmp/ccRVAHyi.s page 283
7203 .LVL495:
3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7204 .loc 1 3127 14 view .LVU2249
7205 0170 ABE7 b .L392
7206 .LVL496:
7207 .L404:
3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7208 .loc 1 3131 5 view .LVU2250
7209 0172 0220 movs r0, #2
7210 .LVL497:
3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7211 .loc 1 3131 5 view .LVU2251
7212 0174 A9E7 b .L392
7213 .LVL498:
7214 .L405:
3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7215 .loc 1 3177 18 view .LVU2252
7216 0176 0120 movs r0, #1
7217 0178 A7E7 b .L392
7218 .L406:
3196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7219 .loc 1 3196 18 view .LVU2253
7220 017a 0120 movs r0, #1
7221 017c A5E7 b .L392
7222 .L407:
3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7223 .loc 1 3215 18 view .LVU2254
7224 017e 0120 movs r0, #1
7225 0180 A3E7 b .L392
7226 .L413:
7227 0182 C046 .align 2
7228 .L412:
7229 0184 00200002 .word 33562624
7230 .cfi_endproc
7231 .LFE62:
7233 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits
7234 .align 1
7235 .global HAL_I2C_Master_Seq_Transmit_IT
7236 .syntax unified
7237 .code 16
7238 .thumb_func
7239 .fpu softvfp
7241 HAL_I2C_Master_Seq_Transmit_IT:
7242 .LVL499:
7243 .LFB63:
3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
7244 .loc 1 3257 1 is_stmt 1 view -0
7245 .cfi_startproc
7246 @ args = 4, pretend = 0, frame = 0
7247 @ frame_needed = 0, uses_anonymous_args = 0
3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
7248 .loc 1 3257 1 is_stmt 0 view .LVU2256
7249 0000 70B5 push {r4, r5, r6, lr}
7250 .LCFI52:
7251 .cfi_def_cfa_offset 16
7252 .cfi_offset 4, -16
7253 .cfi_offset 5, -12
ARM GAS /tmp/ccRVAHyi.s page 284
7254 .cfi_offset 6, -8
7255 .cfi_offset 14, -4
7256 0002 82B0 sub sp, sp, #8
7257 .LCFI53:
7258 .cfi_def_cfa_offset 24
7259 0004 0400 movs r4, r0
7260 0006 0D00 movs r5, r1
3258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
7261 .loc 1 3258 3 is_stmt 1 view .LVU2257
3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7262 .loc 1 3259 3 view .LVU2258
7263 .LVL500:
3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7264 .loc 1 3262 3 view .LVU2259
3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7265 .loc 1 3264 3 view .LVU2260
3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7266 .loc 1 3264 11 is_stmt 0 view .LVU2261
7267 0008 4121 movs r1, #65
7268 .LVL501:
3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7269 .loc 1 3264 11 view .LVU2262
7270 000a 415C ldrb r1, [r0, r1]
3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7271 .loc 1 3264 6 view .LVU2263
7272 000c 2029 cmp r1, #32
7273 000e 4AD1 bne .L420
3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7274 .loc 1 3267 5 is_stmt 1 view .LVU2264
3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7275 .loc 1 3267 5 view .LVU2265
7276 0010 2031 adds r1, r1, #32
7277 0012 415C ldrb r1, [r0, r1]
7278 0014 0129 cmp r1, #1
7279 0016 48D0 beq .L421
3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7280 .loc 1 3267 5 discriminator 2 view .LVU2266
7281 0018 4021 movs r1, #64
7282 001a 0120 movs r0, #1
7283 .LVL502:
3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7284 .loc 1 3267 5 is_stmt 0 discriminator 2 view .LVU2267
7285 001c 6054 strb r0, [r4, r1]
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7286 .loc 1 3269 5 is_stmt 1 discriminator 2 view .LVU2268
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7287 .loc 1 3269 21 is_stmt 0 discriminator 2 view .LVU2269
7288 001e 0131 adds r1, r1, #1
7289 0020 2030 adds r0, r0, #32
7290 0022 6054 strb r0, [r4, r1]
3270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7291 .loc 1 3270 5 is_stmt 1 discriminator 2 view .LVU2270
3270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7292 .loc 1 3270 21 is_stmt 0 discriminator 2 view .LVU2271
7293 0024 0131 adds r1, r1, #1
7294 0026 1138 subs r0, r0, #17
7295 0028 6054 strb r0, [r4, r1]
ARM GAS /tmp/ccRVAHyi.s page 285
3271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7296 .loc 1 3271 5 is_stmt 1 discriminator 2 view .LVU2272
3271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7297 .loc 1 3271 21 is_stmt 0 discriminator 2 view .LVU2273
7298 002a 0021 movs r1, #0
7299 002c 6164 str r1, [r4, #68]
3274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
7300 .loc 1 3274 5 is_stmt 1 discriminator 2 view .LVU2274
3274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
7301 .loc 1 3274 23 is_stmt 0 discriminator 2 view .LVU2275
7302 002e 6262 str r2, [r4, #36]
3275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7303 .loc 1 3275 5 is_stmt 1 discriminator 2 view .LVU2276
3275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7304 .loc 1 3275 23 is_stmt 0 discriminator 2 view .LVU2277
7305 0030 6385 strh r3, [r4, #42]
3276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7306 .loc 1 3276 5 is_stmt 1 discriminator 2 view .LVU2278
3276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7307 .loc 1 3276 23 is_stmt 0 discriminator 2 view .LVU2279
7308 0032 069B ldr r3, [sp, #24]
7309 .LVL503:
3276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7310 .loc 1 3276 23 discriminator 2 view .LVU2280
7311 0034 E362 str r3, [r4, #44]
7312 .LVL504:
3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7313 .loc 1 3277 5 is_stmt 1 discriminator 2 view .LVU2281
3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7314 .loc 1 3277 23 is_stmt 0 discriminator 2 view .LVU2282
7315 0036 1E4B ldr r3, .L424
7316 0038 6363 str r3, [r4, #52]
3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7317 .loc 1 3280 5 is_stmt 1 discriminator 2 view .LVU2283
3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7318 .loc 1 3280 13 is_stmt 0 discriminator 2 view .LVU2284
7319 003a 638D ldrh r3, [r4, #42]
7320 003c 9BB2 uxth r3, r3
3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7321 .loc 1 3280 8 discriminator 2 view .LVU2285
7322 003e FF2B cmp r3, #255
7323 0040 10D9 bls .L416
3282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7324 .loc 1 3282 7 is_stmt 1 view .LVU2286
3282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7325 .loc 1 3282 22 is_stmt 0 view .LVU2287
7326 0042 FF23 movs r3, #255
7327 0044 2385 strh r3, [r4, #40]
3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7328 .loc 1 3283 7 is_stmt 1 view .LVU2288
7329 .LVL505:
3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7330 .loc 1 3283 16 is_stmt 0 view .LVU2289
7331 0046 8026 movs r6, #128
7332 0048 7604 lsls r6, r6, #17
7333 .LVL506:
7334 .L417:
ARM GAS /tmp/ccRVAHyi.s page 286
3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7335 .loc 1 3294 5 is_stmt 1 view .LVU2290
3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7336 .loc 1 3294 14 is_stmt 0 view .LVU2291
7337 004a 236B ldr r3, [r4, #48]
3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7338 .loc 1 3294 8 view .LVU2292
7339 004c 112B cmp r3, #17
7340 004e 0DD1 bne .L418
3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7341 .loc 1 3295 10 view .LVU2293
7342 0050 069B ldr r3, [sp, #24]
7343 0052 AA2B cmp r3, #170
7344 0054 0AD0 beq .L418
3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7345 .loc 1 3295 10 discriminator 2 view .LVU2294
7346 0056 AA23 movs r3, #170
7347 0058 1B02 lsls r3, r3, #8
7348 005a 069A ldr r2, [sp, #24]
7349 .LVL507:
3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7350 .loc 1 3295 10 discriminator 2 view .LVU2295
7351 005c 9A42 cmp r2, r3
7352 005e 05D0 beq .L418
3297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7353 .loc 1 3297 19 view .LVU2296
7354 0060 0023 movs r3, #0
7355 0062 0CE0 b .L419
7356 .LVL508:
7357 .L416:
3287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7358 .loc 1 3287 7 is_stmt 1 view .LVU2297
3287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7359 .loc 1 3287 28 is_stmt 0 view .LVU2298
7360 0064 638D ldrh r3, [r4, #42]
3287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7361 .loc 1 3287 22 view .LVU2299
7362 0066 2385 strh r3, [r4, #40]
3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7363 .loc 1 3288 7 is_stmt 1 view .LVU2300
3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7364 .loc 1 3288 16 is_stmt 0 view .LVU2301
7365 0068 E66A ldr r6, [r4, #44]
7366 .LVL509:
3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7367 .loc 1 3288 16 view .LVU2302
7368 006a EEE7 b .L417
7369 .LVL510:
7370 .L418:
3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7371 .loc 1 3302 7 is_stmt 1 view .LVU2303
7372 006c 2000 movs r0, r4
7373 006e FFF7FEFF bl I2C_ConvertOtherXferOptions
7374 .LVL511:
3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7375 .loc 1 3305 7 view .LVU2304
3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 287
7376 .loc 1 3305 15 is_stmt 0 view .LVU2305
7377 0072 638D ldrh r3, [r4, #42]
7378 0074 9BB2 uxth r3, r3
3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7379 .loc 1 3305 10 view .LVU2306
7380 0076 FF2B cmp r3, #255
7381 0078 13D8 bhi .L423
3307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7382 .loc 1 3307 9 is_stmt 1 view .LVU2307
3307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7383 .loc 1 3307 18 is_stmt 0 view .LVU2308
7384 007a E66A ldr r6, [r4, #44]
7385 .LVL512:
3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7386 .loc 1 3259 12 view .LVU2309
7387 007c 0D4B ldr r3, .L424+4
7388 .L419:
7389 .LVL513:
3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7390 .loc 1 3312 5 is_stmt 1 view .LVU2310
3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7391 .loc 1 3312 55 is_stmt 0 view .LVU2311
7392 007e 228D ldrh r2, [r4, #40]
3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7393 .loc 1 3312 5 view .LVU2312
7394 0080 D2B2 uxtb r2, r2
7395 0082 0093 str r3, [sp]
7396 0084 3300 movs r3, r6
7397 .LVL514:
3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7398 .loc 1 3312 5 view .LVU2313
7399 0086 2900 movs r1, r5
7400 0088 2000 movs r0, r4
7401 008a FFF7FEFF bl I2C_TransferConfig
7402 .LVL515:
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7403 .loc 1 3315 5 is_stmt 1 view .LVU2314
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7404 .loc 1 3315 5 view .LVU2315
7405 008e 4023 movs r3, #64
7406 0090 0022 movs r2, #0
7407 0092 E254 strb r2, [r4, r3]
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7408 .loc 1 3320 5 view .LVU2316
7409 0094 0121 movs r1, #1
7410 0096 2000 movs r0, r4
7411 0098 FFF7FEFF bl I2C_Enable_IRQ
7412 .LVL516:
3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7413 .loc 1 3322 5 view .LVU2317
3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7414 .loc 1 3322 12 is_stmt 0 view .LVU2318
7415 009c 0020 movs r0, #0
7416 .LVL517:
7417 .L415:
3328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7418 .loc 1 3328 1 view .LVU2319
ARM GAS /tmp/ccRVAHyi.s page 288
7419 009e 02B0 add sp, sp, #8
7420 @ sp needed
7421 .LVL518:
3328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7422 .loc 1 3328 1 view .LVU2320
7423 00a0 70BD pop {r4, r5, r6, pc}
7424 .LVL519:
7425 .L423:
3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7426 .loc 1 3259 12 view .LVU2321
7427 00a2 044B ldr r3, .L424+4
7428 00a4 EBE7 b .L419
7429 .LVL520:
7430 .L420:
3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7431 .loc 1 3326 12 view .LVU2322
7432 00a6 0220 movs r0, #2
7433 .LVL521:
3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7434 .loc 1 3326 12 view .LVU2323
7435 00a8 F9E7 b .L415
7436 .LVL522:
7437 .L421:
3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7438 .loc 1 3267 5 view .LVU2324
7439 00aa 0220 movs r0, #2
7440 .LVL523:
3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7441 .loc 1 3267 5 view .LVU2325
7442 00ac F7E7 b .L415
7443 .L425:
7444 00ae C046 .align 2
7445 .L424:
7446 00b0 00000000 .word I2C_Master_ISR_IT
7447 00b4 00200080 .word -2147475456
7448 .cfi_endproc
7449 .LFE63:
7451 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits
7452 .align 1
7453 .global HAL_I2C_Master_Seq_Transmit_DMA
7454 .syntax unified
7455 .code 16
7456 .thumb_func
7457 .fpu softvfp
7459 HAL_I2C_Master_Seq_Transmit_DMA:
7460 .LVL524:
7461 .LFB64:
3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
7462 .loc 1 3344 1 is_stmt 1 view -0
7463 .cfi_startproc
7464 @ args = 4, pretend = 0, frame = 8
7465 @ frame_needed = 0, uses_anonymous_args = 0
3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
7466 .loc 1 3344 1 is_stmt 0 view .LVU2327
7467 0000 F0B5 push {r4, r5, r6, r7, lr}
7468 .LCFI54:
7469 .cfi_def_cfa_offset 20
ARM GAS /tmp/ccRVAHyi.s page 289
7470 .cfi_offset 4, -20
7471 .cfi_offset 5, -16
7472 .cfi_offset 6, -12
7473 .cfi_offset 7, -8
7474 .cfi_offset 14, -4
7475 0002 85B0 sub sp, sp, #20
7476 .LCFI55:
7477 .cfi_def_cfa_offset 40
7478 0004 0400 movs r4, r0
7479 0006 0391 str r1, [sp, #12]
7480 0008 1500 movs r5, r2
3345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
7481 .loc 1 3345 3 is_stmt 1 view .LVU2328
3346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7482 .loc 1 3346 3 view .LVU2329
7483 .LVL525:
3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7484 .loc 1 3347 3 view .LVU2330
3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7485 .loc 1 3350 3 view .LVU2331
3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7486 .loc 1 3352 3 view .LVU2332
3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7487 .loc 1 3352 11 is_stmt 0 view .LVU2333
7488 000a 4122 movs r2, #65
7489 .LVL526:
3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7490 .loc 1 3352 11 view .LVU2334
7491 000c 825C ldrb r2, [r0, r2]
3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7492 .loc 1 3352 6 view .LVU2335
7493 000e 202A cmp r2, #32
7494 0010 00D0 beq .LCB7118
7495 0012 9DE0 b .L437 @long jump
7496 .LCB7118:
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7497 .loc 1 3355 5 is_stmt 1 view .LVU2336
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7498 .loc 1 3355 5 view .LVU2337
7499 0014 2032 adds r2, r2, #32
7500 0016 825C ldrb r2, [r0, r2]
7501 0018 012A cmp r2, #1
7502 001a 00D1 bne .LCB7124
7503 001c 9BE0 b .L438 @long jump
7504 .LCB7124:
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7505 .loc 1 3355 5 discriminator 2 view .LVU2338
7506 001e 4022 movs r2, #64
7507 0020 0121 movs r1, #1
7508 .LVL527:
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7509 .loc 1 3355 5 is_stmt 0 discriminator 2 view .LVU2339
7510 0022 8154 strb r1, [r0, r2]
3357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7511 .loc 1 3357 5 is_stmt 1 discriminator 2 view .LVU2340
3357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7512 .loc 1 3357 21 is_stmt 0 discriminator 2 view .LVU2341
ARM GAS /tmp/ccRVAHyi.s page 290
7513 0024 0132 adds r2, r2, #1
7514 0026 2031 adds r1, r1, #32
7515 0028 8154 strb r1, [r0, r2]
3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7516 .loc 1 3358 5 is_stmt 1 discriminator 2 view .LVU2342
3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7517 .loc 1 3358 21 is_stmt 0 discriminator 2 view .LVU2343
7518 002a 0132 adds r2, r2, #1
7519 002c 1139 subs r1, r1, #17
7520 002e 8154 strb r1, [r0, r2]
3359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7521 .loc 1 3359 5 is_stmt 1 discriminator 2 view .LVU2344
3359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7522 .loc 1 3359 21 is_stmt 0 discriminator 2 view .LVU2345
7523 0030 0022 movs r2, #0
7524 0032 4264 str r2, [r0, #68]
3362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
7525 .loc 1 3362 5 is_stmt 1 discriminator 2 view .LVU2346
3362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
7526 .loc 1 3362 23 is_stmt 0 discriminator 2 view .LVU2347
7527 0034 4562 str r5, [r0, #36]
3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7528 .loc 1 3363 5 is_stmt 1 discriminator 2 view .LVU2348
3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7529 .loc 1 3363 23 is_stmt 0 discriminator 2 view .LVU2349
7530 0036 4385 strh r3, [r0, #42]
3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7531 .loc 1 3364 5 is_stmt 1 discriminator 2 view .LVU2350
3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7532 .loc 1 3364 23 is_stmt 0 discriminator 2 view .LVU2351
7533 0038 0A9B ldr r3, [sp, #40]
7534 .LVL528:
3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7535 .loc 1 3364 23 discriminator 2 view .LVU2352
7536 003a C362 str r3, [r0, #44]
7537 .LVL529:
3365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7538 .loc 1 3365 5 is_stmt 1 discriminator 2 view .LVU2353
3365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7539 .loc 1 3365 23 is_stmt 0 discriminator 2 view .LVU2354
7540 003c 474B ldr r3, .L443
7541 003e 4363 str r3, [r0, #52]
3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7542 .loc 1 3368 5 is_stmt 1 discriminator 2 view .LVU2355
3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7543 .loc 1 3368 13 is_stmt 0 discriminator 2 view .LVU2356
7544 0040 438D ldrh r3, [r0, #42]
7545 0042 9BB2 uxth r3, r3
3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7546 .loc 1 3368 8 discriminator 2 view .LVU2357
7547 0044 FF2B cmp r3, #255
7548 0046 10D9 bls .L428
3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7549 .loc 1 3370 7 is_stmt 1 view .LVU2358
3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7550 .loc 1 3370 22 is_stmt 0 view .LVU2359
7551 0048 FF23 movs r3, #255
ARM GAS /tmp/ccRVAHyi.s page 291
7552 004a 0385 strh r3, [r0, #40]
3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7553 .loc 1 3371 7 is_stmt 1 view .LVU2360
7554 .LVL530:
3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7555 .loc 1 3371 16 is_stmt 0 view .LVU2361
7556 004c 8027 movs r7, #128
7557 004e 7F04 lsls r7, r7, #17
7558 .LVL531:
7559 .L429:
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7560 .loc 1 3382 5 is_stmt 1 view .LVU2362
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7561 .loc 1 3382 14 is_stmt 0 view .LVU2363
7562 0050 236B ldr r3, [r4, #48]
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7563 .loc 1 3382 8 view .LVU2364
7564 0052 112B cmp r3, #17
7565 0054 0DD1 bne .L430
3383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7566 .loc 1 3383 10 view .LVU2365
7567 0056 0A9B ldr r3, [sp, #40]
7568 0058 AA2B cmp r3, #170
7569 005a 0AD0 beq .L430
3383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7570 .loc 1 3383 10 discriminator 2 view .LVU2366
7571 005c AA23 movs r3, #170
7572 005e 1B02 lsls r3, r3, #8
7573 0060 0A9A ldr r2, [sp, #40]
7574 0062 9A42 cmp r2, r3
7575 0064 05D0 beq .L430
3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7576 .loc 1 3385 19 view .LVU2367
7577 0066 0026 movs r6, #0
7578 0068 0CE0 b .L431
7579 .LVL532:
7580 .L428:
3375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7581 .loc 1 3375 7 is_stmt 1 view .LVU2368
3375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7582 .loc 1 3375 28 is_stmt 0 view .LVU2369
7583 006a 438D ldrh r3, [r0, #42]
3375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7584 .loc 1 3375 22 view .LVU2370
7585 006c 0385 strh r3, [r0, #40]
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7586 .loc 1 3376 7 is_stmt 1 view .LVU2371
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7587 .loc 1 3376 16 is_stmt 0 view .LVU2372
7588 006e C76A ldr r7, [r0, #44]
7589 .LVL533:
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7590 .loc 1 3376 16 view .LVU2373
7591 0070 EEE7 b .L429
7592 .L430:
3390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7593 .loc 1 3390 7 is_stmt 1 view .LVU2374
ARM GAS /tmp/ccRVAHyi.s page 292
7594 0072 2000 movs r0, r4
7595 .LVL534:
3390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7596 .loc 1 3390 7 is_stmt 0 view .LVU2375
7597 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
7598 .LVL535:
3393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7599 .loc 1 3393 7 is_stmt 1 view .LVU2376
3393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7600 .loc 1 3393 15 is_stmt 0 view .LVU2377
7601 0078 638D ldrh r3, [r4, #42]
7602 007a 9BB2 uxth r3, r3
3393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7603 .loc 1 3393 10 view .LVU2378
7604 007c FF2B cmp r3, #255
7605 007e 28D8 bhi .L440
3395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7606 .loc 1 3395 9 is_stmt 1 view .LVU2379
3395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7607 .loc 1 3395 18 is_stmt 0 view .LVU2380
7608 0080 E76A ldr r7, [r4, #44]
7609 .LVL536:
3346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7610 .loc 1 3346 12 view .LVU2381
7611 0082 374E ldr r6, .L443+4
7612 .L431:
7613 .LVL537:
3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7614 .loc 1 3399 5 is_stmt 1 view .LVU2382
3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7615 .loc 1 3399 13 is_stmt 0 view .LVU2383
7616 0084 228D ldrh r2, [r4, #40]
3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7617 .loc 1 3399 8 view .LVU2384
7618 0086 002A cmp r2, #0
7619 0088 4ED0 beq .L432
3401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7620 .loc 1 3401 7 is_stmt 1 view .LVU2385
3401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7621 .loc 1 3401 15 is_stmt 0 view .LVU2386
7622 008a A36B ldr r3, [r4, #56]
3401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7623 .loc 1 3401 10 view .LVU2387
7624 008c 002B cmp r3, #0
7625 008e 22D0 beq .L433
3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7626 .loc 1 3404 9 is_stmt 1 view .LVU2388
3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7627 .loc 1 3404 40 is_stmt 0 view .LVU2389
7628 0090 344A ldr r2, .L443+8
7629 0092 9A62 str r2, [r3, #40]
3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7630 .loc 1 3407 9 is_stmt 1 view .LVU2390
3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7631 .loc 1 3407 13 is_stmt 0 view .LVU2391
7632 0094 A36B ldr r3, [r4, #56]
3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 293
7633 .loc 1 3407 41 view .LVU2392
7634 0096 344A ldr r2, .L443+12
7635 0098 1A63 str r2, [r3, #48]
3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
7636 .loc 1 3410 9 is_stmt 1 view .LVU2393
3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
7637 .loc 1 3410 13 is_stmt 0 view .LVU2394
7638 009a A26B ldr r2, [r4, #56]
3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
7639 .loc 1 3410 44 view .LVU2395
7640 009c 0023 movs r3, #0
7641 009e D362 str r3, [r2, #44]
3411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7642 .loc 1 3411 9 is_stmt 1 view .LVU2396
3411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7643 .loc 1 3411 13 is_stmt 0 view .LVU2397
7644 00a0 A26B ldr r2, [r4, #56]
3411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7645 .loc 1 3411 41 view .LVU2398
7646 00a2 5363 str r3, [r2, #52]
3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
7647 .loc 1 3414 9 is_stmt 1 view .LVU2399
3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
7648 .loc 1 3414 83 is_stmt 0 view .LVU2400
7649 00a4 2268 ldr r2, [r4]
7650 00a6 2832 adds r2, r2, #40
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7651 .loc 1 3415 46 view .LVU2401
7652 00a8 238D ldrh r3, [r4, #40]
3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
7653 .loc 1 3414 25 view .LVU2402
7654 00aa 2900 movs r1, r5
7655 00ac A06B ldr r0, [r4, #56]
7656 00ae FFF7FEFF bl HAL_DMA_Start_IT
7657 .LVL538:
3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7658 .loc 1 3432 7 is_stmt 1 view .LVU2403
3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7659 .loc 1 3432 10 is_stmt 0 view .LVU2404
7660 00b2 0028 cmp r0, #0
7661 00b4 1DD0 beq .L442
3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7662 .loc 1 3455 9 is_stmt 1 view .LVU2405
3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7663 .loc 1 3455 25 is_stmt 0 view .LVU2406
7664 00b6 4123 movs r3, #65
7665 00b8 2022 movs r2, #32
7666 00ba E254 strb r2, [r4, r3]
3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7667 .loc 1 3456 9 is_stmt 1 view .LVU2407
3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7668 .loc 1 3456 25 is_stmt 0 view .LVU2408
7669 00bc 0022 movs r2, #0
7670 00be 0133 adds r3, r3, #1
7671 00c0 E254 strb r2, [r4, r3]
3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7672 .loc 1 3459 9 is_stmt 1 view .LVU2409
ARM GAS /tmp/ccRVAHyi.s page 294
3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7673 .loc 1 3459 25 is_stmt 0 view .LVU2410
7674 00c2 636C ldr r3, [r4, #68]
7675 00c4 1021 movs r1, #16
7676 00c6 0B43 orrs r3, r1
7677 00c8 6364 str r3, [r4, #68]
3462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7678 .loc 1 3462 9 is_stmt 1 view .LVU2411
3462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7679 .loc 1 3462 9 view .LVU2412
7680 00ca 4023 movs r3, #64
7681 00cc E254 strb r2, [r4, r3]
3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7682 .loc 1 3464 9 view .LVU2413
3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7683 .loc 1 3464 16 is_stmt 0 view .LVU2414
7684 00ce 0120 movs r0, #1
7685 .LVL539:
3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7686 .loc 1 3464 16 view .LVU2415
7687 00d0 3FE0 b .L427
7688 .LVL540:
7689 .L440:
3346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7690 .loc 1 3346 12 view .LVU2416
7691 00d2 234E ldr r6, .L443+4
7692 00d4 D6E7 b .L431
7693 .LVL541:
7694 .L433:
3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7695 .loc 1 3420 9 is_stmt 1 view .LVU2417
3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7696 .loc 1 3420 25 is_stmt 0 view .LVU2418
7697 00d6 4123 movs r3, #65
7698 00d8 2022 movs r2, #32
7699 00da E254 strb r2, [r4, r3]
3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7700 .loc 1 3421 9 is_stmt 1 view .LVU2419
3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7701 .loc 1 3421 25 is_stmt 0 view .LVU2420
7702 00dc 0022 movs r2, #0
7703 00de 0133 adds r3, r3, #1
7704 00e0 E254 strb r2, [r4, r3]
3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7705 .loc 1 3424 9 is_stmt 1 view .LVU2421
3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7706 .loc 1 3424 25 is_stmt 0 view .LVU2422
7707 00e2 636C ldr r3, [r4, #68]
7708 00e4 8021 movs r1, #128
7709 00e6 0B43 orrs r3, r1
7710 00e8 6364 str r3, [r4, #68]
3427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7711 .loc 1 3427 9 is_stmt 1 view .LVU2423
3427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7712 .loc 1 3427 9 view .LVU2424
7713 00ea 4023 movs r3, #64
7714 00ec E254 strb r2, [r4, r3]
ARM GAS /tmp/ccRVAHyi.s page 295
3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7715 .loc 1 3429 9 view .LVU2425
3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7716 .loc 1 3429 16 is_stmt 0 view .LVU2426
7717 00ee 0120 movs r0, #1
7718 00f0 2FE0 b .L427
7719 .LVL542:
7720 .L442:
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7721 .loc 1 3435 9 is_stmt 1 view .LVU2427
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7722 .loc 1 3435 59 is_stmt 0 view .LVU2428
7723 00f2 228D ldrh r2, [r4, #40]
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7724 .loc 1 3435 9 view .LVU2429
7725 00f4 D2B2 uxtb r2, r2
7726 00f6 0096 str r6, [sp]
7727 00f8 3B00 movs r3, r7
7728 00fa 0399 ldr r1, [sp, #12]
7729 00fc 2000 movs r0, r4
7730 .LVL543:
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7731 .loc 1 3435 9 view .LVU2430
7732 00fe FFF7FEFF bl I2C_TransferConfig
7733 .LVL544:
3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7734 .loc 1 3438 9 is_stmt 1 view .LVU2431
3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7735 .loc 1 3438 25 is_stmt 0 view .LVU2432
7736 0102 638D ldrh r3, [r4, #42]
3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7737 .loc 1 3438 32 view .LVU2433
7738 0104 228D ldrh r2, [r4, #40]
3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7739 .loc 1 3438 25 view .LVU2434
7740 0106 9B1A subs r3, r3, r2
7741 0108 9BB2 uxth r3, r3
7742 010a 6385 strh r3, [r4, #42]
3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7743 .loc 1 3441 9 is_stmt 1 view .LVU2435
3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7744 .loc 1 3441 9 view .LVU2436
7745 010c 4023 movs r3, #64
7746 010e 0022 movs r2, #0
7747 0110 E254 strb r2, [r4, r3]
3447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7748 .loc 1 3447 9 view .LVU2437
7749 0112 1021 movs r1, #16
7750 0114 2000 movs r0, r4
7751 0116 FFF7FEFF bl I2C_Enable_IRQ
7752 .LVL545:
3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7753 .loc 1 3450 9 view .LVU2438
3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7754 .loc 1 3450 13 is_stmt 0 view .LVU2439
7755 011a 2268 ldr r2, [r4]
3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 296
7756 .loc 1 3450 29 view .LVU2440
7757 011c 1168 ldr r1, [r2]
7758 011e 8023 movs r3, #128
7759 0120 DB01 lsls r3, r3, #7
7760 0122 0B43 orrs r3, r1
7761 0124 1360 str r3, [r2]
7762 0126 11E0 b .L436
7763 .L432:
3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7764 .loc 1 3470 7 is_stmt 1 view .LVU2441
3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7765 .loc 1 3470 21 is_stmt 0 view .LVU2442
7766 0128 104B ldr r3, .L443+16
7767 012a 6363 str r3, [r4, #52]
3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
7768 .loc 1 3474 7 is_stmt 1 view .LVU2443
7769 012c 8023 movs r3, #128
7770 012e D2B2 uxtb r2, r2
7771 0130 0B49 ldr r1, .L443+4
7772 0132 0091 str r1, [sp]
7773 0134 9B04 lsls r3, r3, #18
7774 0136 0399 ldr r1, [sp, #12]
7775 0138 2000 movs r0, r4
7776 013a FFF7FEFF bl I2C_TransferConfig
7777 .LVL546:
3478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7778 .loc 1 3478 7 view .LVU2444
3478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7779 .loc 1 3478 7 view .LVU2445
7780 013e 4023 movs r3, #64
7781 0140 0022 movs r2, #0
7782 0142 E254 strb r2, [r4, r3]
3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7783 .loc 1 3487 7 view .LVU2446
7784 0144 0121 movs r1, #1
7785 0146 2000 movs r0, r4
7786 0148 FFF7FEFF bl I2C_Enable_IRQ
7787 .LVL547:
7788 .L436:
3490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7789 .loc 1 3490 5 view .LVU2447
3490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7790 .loc 1 3490 12 is_stmt 0 view .LVU2448
7791 014c 0020 movs r0, #0
7792 014e 00E0 b .L427
7793 .LVL548:
7794 .L437:
3494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7795 .loc 1 3494 12 view .LVU2449
7796 0150 0220 movs r0, #2
7797 .LVL549:
7798 .L427:
3496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7799 .loc 1 3496 1 view .LVU2450
7800 0152 05B0 add sp, sp, #20
7801 @ sp needed
7802 .LVL550:
ARM GAS /tmp/ccRVAHyi.s page 297
7803 .LVL551:
3496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7804 .loc 1 3496 1 view .LVU2451
7805 0154 F0BD pop {r4, r5, r6, r7, pc}
7806 .LVL552:
7807 .L438:
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7808 .loc 1 3355 5 view .LVU2452
7809 0156 0220 movs r0, #2
7810 .LVL553:
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7811 .loc 1 3355 5 view .LVU2453
7812 0158 FBE7 b .L427
7813 .L444:
7814 015a C046 .align 2
7815 .L443:
7816 015c 00000000 .word I2C_Master_ISR_DMA
7817 0160 00200080 .word -2147475456
7818 0164 00000000 .word I2C_DMAMasterTransmitCplt
7819 0168 00000000 .word I2C_DMAError
7820 016c 00000000 .word I2C_Master_ISR_IT
7821 .cfi_endproc
7822 .LFE64:
7824 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits
7825 .align 1
7826 .global HAL_I2C_Master_Seq_Receive_IT
7827 .syntax unified
7828 .code 16
7829 .thumb_func
7830 .fpu softvfp
7832 HAL_I2C_Master_Seq_Receive_IT:
7833 .LVL554:
7834 .LFB65:
3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
7835 .loc 1 3512 1 is_stmt 1 view -0
7836 .cfi_startproc
7837 @ args = 4, pretend = 0, frame = 0
7838 @ frame_needed = 0, uses_anonymous_args = 0
3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
7839 .loc 1 3512 1 is_stmt 0 view .LVU2455
7840 0000 70B5 push {r4, r5, r6, lr}
7841 .LCFI56:
7842 .cfi_def_cfa_offset 16
7843 .cfi_offset 4, -16
7844 .cfi_offset 5, -12
7845 .cfi_offset 6, -8
7846 .cfi_offset 14, -4
7847 0002 82B0 sub sp, sp, #8
7848 .LCFI57:
7849 .cfi_def_cfa_offset 24
7850 0004 0400 movs r4, r0
7851 0006 0D00 movs r5, r1
3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
7852 .loc 1 3513 3 is_stmt 1 view .LVU2456
3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7853 .loc 1 3514 3 view .LVU2457
7854 .LVL555:
ARM GAS /tmp/ccRVAHyi.s page 298
3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7855 .loc 1 3517 3 view .LVU2458
3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7856 .loc 1 3519 3 view .LVU2459
3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7857 .loc 1 3519 11 is_stmt 0 view .LVU2460
7858 0008 4121 movs r1, #65
7859 .LVL556:
3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7860 .loc 1 3519 11 view .LVU2461
7861 000a 415C ldrb r1, [r0, r1]
3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7862 .loc 1 3519 6 view .LVU2462
7863 000c 2029 cmp r1, #32
7864 000e 4AD1 bne .L451
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7865 .loc 1 3522 5 is_stmt 1 view .LVU2463
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7866 .loc 1 3522 5 view .LVU2464
7867 0010 2031 adds r1, r1, #32
7868 0012 415C ldrb r1, [r0, r1]
7869 0014 0129 cmp r1, #1
7870 0016 48D0 beq .L452
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7871 .loc 1 3522 5 discriminator 2 view .LVU2465
7872 0018 4021 movs r1, #64
7873 001a 0120 movs r0, #1
7874 .LVL557:
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7875 .loc 1 3522 5 is_stmt 0 discriminator 2 view .LVU2466
7876 001c 6054 strb r0, [r4, r1]
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7877 .loc 1 3524 5 is_stmt 1 discriminator 2 view .LVU2467
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7878 .loc 1 3524 21 is_stmt 0 discriminator 2 view .LVU2468
7879 001e 0131 adds r1, r1, #1
7880 0020 2130 adds r0, r0, #33
7881 0022 6054 strb r0, [r4, r1]
3525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7882 .loc 1 3525 5 is_stmt 1 discriminator 2 view .LVU2469
3525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7883 .loc 1 3525 21 is_stmt 0 discriminator 2 view .LVU2470
7884 0024 0131 adds r1, r1, #1
7885 0026 1238 subs r0, r0, #18
7886 0028 6054 strb r0, [r4, r1]
3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7887 .loc 1 3526 5 is_stmt 1 discriminator 2 view .LVU2471
3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7888 .loc 1 3526 21 is_stmt 0 discriminator 2 view .LVU2472
7889 002a 0021 movs r1, #0
7890 002c 6164 str r1, [r4, #68]
3529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
7891 .loc 1 3529 5 is_stmt 1 discriminator 2 view .LVU2473
3529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
7892 .loc 1 3529 23 is_stmt 0 discriminator 2 view .LVU2474
7893 002e 6262 str r2, [r4, #36]
3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
ARM GAS /tmp/ccRVAHyi.s page 299
7894 .loc 1 3530 5 is_stmt 1 discriminator 2 view .LVU2475
3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7895 .loc 1 3530 23 is_stmt 0 discriminator 2 view .LVU2476
7896 0030 6385 strh r3, [r4, #42]
3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7897 .loc 1 3531 5 is_stmt 1 discriminator 2 view .LVU2477
3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7898 .loc 1 3531 23 is_stmt 0 discriminator 2 view .LVU2478
7899 0032 069B ldr r3, [sp, #24]
7900 .LVL558:
3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7901 .loc 1 3531 23 discriminator 2 view .LVU2479
7902 0034 E362 str r3, [r4, #44]
7903 .LVL559:
3532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7904 .loc 1 3532 5 is_stmt 1 discriminator 2 view .LVU2480
3532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7905 .loc 1 3532 23 is_stmt 0 discriminator 2 view .LVU2481
7906 0036 1E4B ldr r3, .L455
7907 0038 6363 str r3, [r4, #52]
3535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7908 .loc 1 3535 5 is_stmt 1 discriminator 2 view .LVU2482
3535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7909 .loc 1 3535 13 is_stmt 0 discriminator 2 view .LVU2483
7910 003a 638D ldrh r3, [r4, #42]
7911 003c 9BB2 uxth r3, r3
3535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7912 .loc 1 3535 8 discriminator 2 view .LVU2484
7913 003e FF2B cmp r3, #255
7914 0040 10D9 bls .L447
3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7915 .loc 1 3537 7 is_stmt 1 view .LVU2485
3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7916 .loc 1 3537 22 is_stmt 0 view .LVU2486
7917 0042 FF23 movs r3, #255
7918 0044 2385 strh r3, [r4, #40]
3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7919 .loc 1 3538 7 is_stmt 1 view .LVU2487
7920 .LVL560:
3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7921 .loc 1 3538 16 is_stmt 0 view .LVU2488
7922 0046 8026 movs r6, #128
7923 0048 7604 lsls r6, r6, #17
7924 .LVL561:
7925 .L448:
3549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7926 .loc 1 3549 5 is_stmt 1 view .LVU2489
3549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7927 .loc 1 3549 14 is_stmt 0 view .LVU2490
7928 004a 236B ldr r3, [r4, #48]
3549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7929 .loc 1 3549 8 view .LVU2491
7930 004c 122B cmp r3, #18
7931 004e 0DD1 bne .L449
3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7932 .loc 1 3550 10 view .LVU2492
7933 0050 069B ldr r3, [sp, #24]
ARM GAS /tmp/ccRVAHyi.s page 300
7934 0052 AA2B cmp r3, #170
7935 0054 0AD0 beq .L449
3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7936 .loc 1 3550 10 discriminator 2 view .LVU2493
7937 0056 AA23 movs r3, #170
7938 0058 1B02 lsls r3, r3, #8
7939 005a 069A ldr r2, [sp, #24]
7940 .LVL562:
3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7941 .loc 1 3550 10 discriminator 2 view .LVU2494
7942 005c 9A42 cmp r2, r3
7943 005e 05D0 beq .L449
3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7944 .loc 1 3552 19 view .LVU2495
7945 0060 0023 movs r3, #0
7946 0062 0CE0 b .L450
7947 .LVL563:
7948 .L447:
3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7949 .loc 1 3542 7 is_stmt 1 view .LVU2496
3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7950 .loc 1 3542 28 is_stmt 0 view .LVU2497
7951 0064 638D ldrh r3, [r4, #42]
3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7952 .loc 1 3542 22 view .LVU2498
7953 0066 2385 strh r3, [r4, #40]
3543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7954 .loc 1 3543 7 is_stmt 1 view .LVU2499
3543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7955 .loc 1 3543 16 is_stmt 0 view .LVU2500
7956 0068 E66A ldr r6, [r4, #44]
7957 .LVL564:
3543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7958 .loc 1 3543 16 view .LVU2501
7959 006a EEE7 b .L448
7960 .LVL565:
7961 .L449:
3557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7962 .loc 1 3557 7 is_stmt 1 view .LVU2502
7963 006c 2000 movs r0, r4
7964 006e FFF7FEFF bl I2C_ConvertOtherXferOptions
7965 .LVL566:
3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7966 .loc 1 3560 7 view .LVU2503
3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7967 .loc 1 3560 15 is_stmt 0 view .LVU2504
7968 0072 638D ldrh r3, [r4, #42]
7969 0074 9BB2 uxth r3, r3
3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7970 .loc 1 3560 10 view .LVU2505
7971 0076 FF2B cmp r3, #255
7972 0078 13D8 bhi .L454
3562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7973 .loc 1 3562 9 is_stmt 1 view .LVU2506
3562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7974 .loc 1 3562 18 is_stmt 0 view .LVU2507
7975 007a E66A ldr r6, [r4, #44]
ARM GAS /tmp/ccRVAHyi.s page 301
7976 .LVL567:
3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7977 .loc 1 3514 12 view .LVU2508
7978 007c 0D4B ldr r3, .L455+4
7979 .L450:
7980 .LVL568:
3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7981 .loc 1 3567 5 is_stmt 1 view .LVU2509
3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7982 .loc 1 3567 55 is_stmt 0 view .LVU2510
7983 007e 228D ldrh r2, [r4, #40]
3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7984 .loc 1 3567 5 view .LVU2511
7985 0080 D2B2 uxtb r2, r2
7986 0082 0093 str r3, [sp]
7987 0084 3300 movs r3, r6
7988 .LVL569:
3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7989 .loc 1 3567 5 view .LVU2512
7990 0086 2900 movs r1, r5
7991 0088 2000 movs r0, r4
7992 008a FFF7FEFF bl I2C_TransferConfig
7993 .LVL570:
3570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7994 .loc 1 3570 5 is_stmt 1 view .LVU2513
3570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7995 .loc 1 3570 5 view .LVU2514
7996 008e 4023 movs r3, #64
7997 0090 0022 movs r2, #0
7998 0092 E254 strb r2, [r4, r3]
3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7999 .loc 1 3575 5 view .LVU2515
8000 0094 0221 movs r1, #2
8001 0096 2000 movs r0, r4
8002 0098 FFF7FEFF bl I2C_Enable_IRQ
8003 .LVL571:
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8004 .loc 1 3577 5 view .LVU2516
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8005 .loc 1 3577 12 is_stmt 0 view .LVU2517
8006 009c 0020 movs r0, #0
8007 .LVL572:
8008 .L446:
3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8009 .loc 1 3583 1 view .LVU2518
8010 009e 02B0 add sp, sp, #8
8011 @ sp needed
8012 .LVL573:
3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8013 .loc 1 3583 1 view .LVU2519
8014 00a0 70BD pop {r4, r5, r6, pc}
8015 .LVL574:
8016 .L454:
3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8017 .loc 1 3514 12 view .LVU2520
8018 00a2 044B ldr r3, .L455+4
8019 00a4 EBE7 b .L450
ARM GAS /tmp/ccRVAHyi.s page 302
8020 .LVL575:
8021 .L451:
3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8022 .loc 1 3581 12 view .LVU2521
8023 00a6 0220 movs r0, #2
8024 .LVL576:
3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8025 .loc 1 3581 12 view .LVU2522
8026 00a8 F9E7 b .L446
8027 .LVL577:
8028 .L452:
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8029 .loc 1 3522 5 view .LVU2523
8030 00aa 0220 movs r0, #2
8031 .LVL578:
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8032 .loc 1 3522 5 view .LVU2524
8033 00ac F7E7 b .L446
8034 .L456:
8035 00ae C046 .align 2
8036 .L455:
8037 00b0 00000000 .word I2C_Master_ISR_IT
8038 00b4 00240080 .word -2147474432
8039 .cfi_endproc
8040 .LFE65:
8042 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits
8043 .align 1
8044 .global HAL_I2C_Master_Seq_Receive_DMA
8045 .syntax unified
8046 .code 16
8047 .thumb_func
8048 .fpu softvfp
8050 HAL_I2C_Master_Seq_Receive_DMA:
8051 .LVL579:
8052 .LFB66:
3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
8053 .loc 1 3599 1 is_stmt 1 view -0
8054 .cfi_startproc
8055 @ args = 4, pretend = 0, frame = 8
8056 @ frame_needed = 0, uses_anonymous_args = 0
3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
8057 .loc 1 3599 1 is_stmt 0 view .LVU2526
8058 0000 F0B5 push {r4, r5, r6, r7, lr}
8059 .LCFI58:
8060 .cfi_def_cfa_offset 20
8061 .cfi_offset 4, -20
8062 .cfi_offset 5, -16
8063 .cfi_offset 6, -12
8064 .cfi_offset 7, -8
8065 .cfi_offset 14, -4
8066 0002 85B0 sub sp, sp, #20
8067 .LCFI59:
8068 .cfi_def_cfa_offset 40
8069 0004 0400 movs r4, r0
8070 0006 0391 str r1, [sp, #12]
8071 0008 1500 movs r5, r2
3600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
ARM GAS /tmp/ccRVAHyi.s page 303
8072 .loc 1 3600 3 is_stmt 1 view .LVU2527
3601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8073 .loc 1 3601 3 view .LVU2528
8074 .LVL580:
3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8075 .loc 1 3602 3 view .LVU2529
3605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8076 .loc 1 3605 3 view .LVU2530
3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8077 .loc 1 3607 3 view .LVU2531
3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8078 .loc 1 3607 11 is_stmt 0 view .LVU2532
8079 000a 4122 movs r2, #65
8080 .LVL581:
3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8081 .loc 1 3607 11 view .LVU2533
8082 000c 825C ldrb r2, [r0, r2]
3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8083 .loc 1 3607 6 view .LVU2534
8084 000e 202A cmp r2, #32
8085 0010 00D0 beq .LCB7683
8086 0012 9DE0 b .L468 @long jump
8087 .LCB7683:
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8088 .loc 1 3610 5 is_stmt 1 view .LVU2535
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8089 .loc 1 3610 5 view .LVU2536
8090 0014 2032 adds r2, r2, #32
8091 0016 825C ldrb r2, [r0, r2]
8092 0018 012A cmp r2, #1
8093 001a 00D1 bne .LCB7689
8094 001c 9BE0 b .L469 @long jump
8095 .LCB7689:
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8096 .loc 1 3610 5 discriminator 2 view .LVU2537
8097 001e 4022 movs r2, #64
8098 0020 0121 movs r1, #1
8099 .LVL582:
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8100 .loc 1 3610 5 is_stmt 0 discriminator 2 view .LVU2538
8101 0022 8154 strb r1, [r0, r2]
3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
8102 .loc 1 3612 5 is_stmt 1 discriminator 2 view .LVU2539
3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
8103 .loc 1 3612 21 is_stmt 0 discriminator 2 view .LVU2540
8104 0024 0132 adds r2, r2, #1
8105 0026 2131 adds r1, r1, #33
8106 0028 8154 strb r1, [r0, r2]
3613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8107 .loc 1 3613 5 is_stmt 1 discriminator 2 view .LVU2541
3613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8108 .loc 1 3613 21 is_stmt 0 discriminator 2 view .LVU2542
8109 002a 0132 adds r2, r2, #1
8110 002c 1239 subs r1, r1, #18
8111 002e 8154 strb r1, [r0, r2]
3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8112 .loc 1 3614 5 is_stmt 1 discriminator 2 view .LVU2543
ARM GAS /tmp/ccRVAHyi.s page 304
3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8113 .loc 1 3614 21 is_stmt 0 discriminator 2 view .LVU2544
8114 0030 0022 movs r2, #0
8115 0032 4264 str r2, [r0, #68]
3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8116 .loc 1 3617 5 is_stmt 1 discriminator 2 view .LVU2545
3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8117 .loc 1 3617 23 is_stmt 0 discriminator 2 view .LVU2546
8118 0034 4562 str r5, [r0, #36]
3618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8119 .loc 1 3618 5 is_stmt 1 discriminator 2 view .LVU2547
3618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8120 .loc 1 3618 23 is_stmt 0 discriminator 2 view .LVU2548
8121 0036 4385 strh r3, [r0, #42]
3619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
8122 .loc 1 3619 5 is_stmt 1 discriminator 2 view .LVU2549
3619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
8123 .loc 1 3619 23 is_stmt 0 discriminator 2 view .LVU2550
8124 0038 0A9B ldr r3, [sp, #40]
8125 .LVL583:
3619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
8126 .loc 1 3619 23 discriminator 2 view .LVU2551
8127 003a C362 str r3, [r0, #44]
8128 .LVL584:
3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8129 .loc 1 3620 5 is_stmt 1 discriminator 2 view .LVU2552
3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8130 .loc 1 3620 23 is_stmt 0 discriminator 2 view .LVU2553
8131 003c 474B ldr r3, .L474
8132 003e 4363 str r3, [r0, #52]
3623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8133 .loc 1 3623 5 is_stmt 1 discriminator 2 view .LVU2554
3623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8134 .loc 1 3623 13 is_stmt 0 discriminator 2 view .LVU2555
8135 0040 438D ldrh r3, [r0, #42]
8136 0042 9BB2 uxth r3, r3
3623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8137 .loc 1 3623 8 discriminator 2 view .LVU2556
8138 0044 FF2B cmp r3, #255
8139 0046 10D9 bls .L459
3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
8140 .loc 1 3625 7 is_stmt 1 view .LVU2557
3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
8141 .loc 1 3625 22 is_stmt 0 view .LVU2558
8142 0048 FF23 movs r3, #255
8143 004a 0385 strh r3, [r0, #40]
3626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8144 .loc 1 3626 7 is_stmt 1 view .LVU2559
8145 .LVL585:
3626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8146 .loc 1 3626 16 is_stmt 0 view .LVU2560
8147 004c 8027 movs r7, #128
8148 004e 7F04 lsls r7, r7, #17
8149 .LVL586:
8150 .L460:
3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8151 .loc 1 3637 5 is_stmt 1 view .LVU2561
ARM GAS /tmp/ccRVAHyi.s page 305
3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8152 .loc 1 3637 14 is_stmt 0 view .LVU2562
8153 0050 236B ldr r3, [r4, #48]
3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8154 .loc 1 3637 8 view .LVU2563
8155 0052 122B cmp r3, #18
8156 0054 0DD1 bne .L461
3638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8157 .loc 1 3638 10 view .LVU2564
8158 0056 0A9B ldr r3, [sp, #40]
8159 0058 AA2B cmp r3, #170
8160 005a 0AD0 beq .L461
3638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8161 .loc 1 3638 10 discriminator 2 view .LVU2565
8162 005c AA23 movs r3, #170
8163 005e 1B02 lsls r3, r3, #8
8164 0060 0A9A ldr r2, [sp, #40]
8165 0062 9A42 cmp r2, r3
8166 0064 05D0 beq .L461
3640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8167 .loc 1 3640 19 view .LVU2566
8168 0066 0026 movs r6, #0
8169 0068 0CE0 b .L462
8170 .LVL587:
8171 .L459:
3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8172 .loc 1 3630 7 is_stmt 1 view .LVU2567
3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8173 .loc 1 3630 28 is_stmt 0 view .LVU2568
8174 006a 438D ldrh r3, [r0, #42]
3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8175 .loc 1 3630 22 view .LVU2569
8176 006c 0385 strh r3, [r0, #40]
3631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8177 .loc 1 3631 7 is_stmt 1 view .LVU2570
3631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8178 .loc 1 3631 16 is_stmt 0 view .LVU2571
8179 006e C76A ldr r7, [r0, #44]
8180 .LVL588:
3631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8181 .loc 1 3631 16 view .LVU2572
8182 0070 EEE7 b .L460
8183 .L461:
3645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8184 .loc 1 3645 7 is_stmt 1 view .LVU2573
8185 0072 2000 movs r0, r4
8186 .LVL589:
3645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8187 .loc 1 3645 7 is_stmt 0 view .LVU2574
8188 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
8189 .LVL590:
3648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8190 .loc 1 3648 7 is_stmt 1 view .LVU2575
3648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8191 .loc 1 3648 15 is_stmt 0 view .LVU2576
8192 0078 638D ldrh r3, [r4, #42]
8193 007a 9BB2 uxth r3, r3
ARM GAS /tmp/ccRVAHyi.s page 306
3648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8194 .loc 1 3648 10 view .LVU2577
8195 007c FF2B cmp r3, #255
8196 007e 28D8 bhi .L471
3650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8197 .loc 1 3650 9 is_stmt 1 view .LVU2578
3650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8198 .loc 1 3650 18 is_stmt 0 view .LVU2579
8199 0080 E76A ldr r7, [r4, #44]
8200 .LVL591:
3601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8201 .loc 1 3601 12 view .LVU2580
8202 0082 374E ldr r6, .L474+4
8203 .L462:
8204 .LVL592:
3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8205 .loc 1 3654 5 is_stmt 1 view .LVU2581
3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8206 .loc 1 3654 13 is_stmt 0 view .LVU2582
8207 0084 228D ldrh r2, [r4, #40]
3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8208 .loc 1 3654 8 view .LVU2583
8209 0086 002A cmp r2, #0
8210 0088 4ED0 beq .L463
3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8211 .loc 1 3656 7 is_stmt 1 view .LVU2584
3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8212 .loc 1 3656 15 is_stmt 0 view .LVU2585
8213 008a E36B ldr r3, [r4, #60]
3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8214 .loc 1 3656 10 view .LVU2586
8215 008c 002B cmp r3, #0
8216 008e 22D0 beq .L464
3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8217 .loc 1 3659 9 is_stmt 1 view .LVU2587
3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8218 .loc 1 3659 40 is_stmt 0 view .LVU2588
8219 0090 344A ldr r2, .L474+8
8220 0092 9A62 str r2, [r3, #40]
3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8221 .loc 1 3662 9 is_stmt 1 view .LVU2589
3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8222 .loc 1 3662 13 is_stmt 0 view .LVU2590
8223 0094 E36B ldr r3, [r4, #60]
3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8224 .loc 1 3662 41 view .LVU2591
8225 0096 344A ldr r2, .L474+12
8226 0098 1A63 str r2, [r3, #48]
3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
8227 .loc 1 3665 9 is_stmt 1 view .LVU2592
3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
8228 .loc 1 3665 13 is_stmt 0 view .LVU2593
8229 009a E26B ldr r2, [r4, #60]
3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
8230 .loc 1 3665 44 view .LVU2594
8231 009c 0023 movs r3, #0
8232 009e D362 str r3, [r2, #44]
ARM GAS /tmp/ccRVAHyi.s page 307
3666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8233 .loc 1 3666 9 is_stmt 1 view .LVU2595
3666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8234 .loc 1 3666 13 is_stmt 0 view .LVU2596
8235 00a0 E26B ldr r2, [r4, #60]
3666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8236 .loc 1 3666 41 view .LVU2597
8237 00a2 5363 str r3, [r2, #52]
3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8238 .loc 1 3669 9 is_stmt 1 view .LVU2598
3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8239 .loc 1 3669 66 is_stmt 0 view .LVU2599
8240 00a4 2168 ldr r1, [r4]
8241 00a6 2431 adds r1, r1, #36
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8242 .loc 1 3670 46 view .LVU2600
8243 00a8 238D ldrh r3, [r4, #40]
3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8244 .loc 1 3669 25 view .LVU2601
8245 00aa 2A00 movs r2, r5
8246 00ac E06B ldr r0, [r4, #60]
8247 00ae FFF7FEFF bl HAL_DMA_Start_IT
8248 .LVL593:
3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8249 .loc 1 3687 7 is_stmt 1 view .LVU2602
3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8250 .loc 1 3687 10 is_stmt 0 view .LVU2603
8251 00b2 0028 cmp r0, #0
8252 00b4 1DD0 beq .L473
3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8253 .loc 1 3710 9 is_stmt 1 view .LVU2604
3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8254 .loc 1 3710 25 is_stmt 0 view .LVU2605
8255 00b6 4123 movs r3, #65
8256 00b8 2022 movs r2, #32
8257 00ba E254 strb r2, [r4, r3]
3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8258 .loc 1 3711 9 is_stmt 1 view .LVU2606
3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8259 .loc 1 3711 25 is_stmt 0 view .LVU2607
8260 00bc 0022 movs r2, #0
8261 00be 0133 adds r3, r3, #1
8262 00c0 E254 strb r2, [r4, r3]
3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8263 .loc 1 3714 9 is_stmt 1 view .LVU2608
3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8264 .loc 1 3714 25 is_stmt 0 view .LVU2609
8265 00c2 636C ldr r3, [r4, #68]
8266 00c4 1021 movs r1, #16
8267 00c6 0B43 orrs r3, r1
8268 00c8 6364 str r3, [r4, #68]
3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8269 .loc 1 3717 9 is_stmt 1 view .LVU2610
3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8270 .loc 1 3717 9 view .LVU2611
8271 00ca 4023 movs r3, #64
8272 00cc E254 strb r2, [r4, r3]
ARM GAS /tmp/ccRVAHyi.s page 308
3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8273 .loc 1 3719 9 view .LVU2612
3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8274 .loc 1 3719 16 is_stmt 0 view .LVU2613
8275 00ce 0120 movs r0, #1
8276 .LVL594:
3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8277 .loc 1 3719 16 view .LVU2614
8278 00d0 3FE0 b .L458
8279 .LVL595:
8280 .L471:
3601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8281 .loc 1 3601 12 view .LVU2615
8282 00d2 234E ldr r6, .L474+4
8283 00d4 D6E7 b .L462
8284 .LVL596:
8285 .L464:
3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8286 .loc 1 3675 9 is_stmt 1 view .LVU2616
3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8287 .loc 1 3675 25 is_stmt 0 view .LVU2617
8288 00d6 4123 movs r3, #65
8289 00d8 2022 movs r2, #32
8290 00da E254 strb r2, [r4, r3]
3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8291 .loc 1 3676 9 is_stmt 1 view .LVU2618
3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8292 .loc 1 3676 25 is_stmt 0 view .LVU2619
8293 00dc 0022 movs r2, #0
8294 00de 0133 adds r3, r3, #1
8295 00e0 E254 strb r2, [r4, r3]
3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8296 .loc 1 3679 9 is_stmt 1 view .LVU2620
3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8297 .loc 1 3679 25 is_stmt 0 view .LVU2621
8298 00e2 636C ldr r3, [r4, #68]
8299 00e4 8021 movs r1, #128
8300 00e6 0B43 orrs r3, r1
8301 00e8 6364 str r3, [r4, #68]
3682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8302 .loc 1 3682 9 is_stmt 1 view .LVU2622
3682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8303 .loc 1 3682 9 view .LVU2623
8304 00ea 4023 movs r3, #64
8305 00ec E254 strb r2, [r4, r3]
3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8306 .loc 1 3684 9 view .LVU2624
3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8307 .loc 1 3684 16 is_stmt 0 view .LVU2625
8308 00ee 0120 movs r0, #1
8309 00f0 2FE0 b .L458
8310 .LVL597:
8311 .L473:
3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8312 .loc 1 3690 9 is_stmt 1 view .LVU2626
3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8313 .loc 1 3690 59 is_stmt 0 view .LVU2627
ARM GAS /tmp/ccRVAHyi.s page 309
8314 00f2 228D ldrh r2, [r4, #40]
3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8315 .loc 1 3690 9 view .LVU2628
8316 00f4 D2B2 uxtb r2, r2
8317 00f6 0096 str r6, [sp]
8318 00f8 3B00 movs r3, r7
8319 00fa 0399 ldr r1, [sp, #12]
8320 00fc 2000 movs r0, r4
8321 .LVL598:
3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8322 .loc 1 3690 9 view .LVU2629
8323 00fe FFF7FEFF bl I2C_TransferConfig
8324 .LVL599:
3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8325 .loc 1 3693 9 is_stmt 1 view .LVU2630
3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8326 .loc 1 3693 25 is_stmt 0 view .LVU2631
8327 0102 638D ldrh r3, [r4, #42]
3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8328 .loc 1 3693 32 view .LVU2632
8329 0104 228D ldrh r2, [r4, #40]
3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8330 .loc 1 3693 25 view .LVU2633
8331 0106 9B1A subs r3, r3, r2
8332 0108 9BB2 uxth r3, r3
8333 010a 6385 strh r3, [r4, #42]
3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8334 .loc 1 3696 9 is_stmt 1 view .LVU2634
3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8335 .loc 1 3696 9 view .LVU2635
8336 010c 4023 movs r3, #64
8337 010e 0022 movs r2, #0
8338 0110 E254 strb r2, [r4, r3]
3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8339 .loc 1 3702 9 view .LVU2636
8340 0112 1021 movs r1, #16
8341 0114 2000 movs r0, r4
8342 0116 FFF7FEFF bl I2C_Enable_IRQ
8343 .LVL600:
3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8344 .loc 1 3705 9 view .LVU2637
3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8345 .loc 1 3705 13 is_stmt 0 view .LVU2638
8346 011a 2268 ldr r2, [r4]
3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8347 .loc 1 3705 29 view .LVU2639
8348 011c 1168 ldr r1, [r2]
8349 011e 8023 movs r3, #128
8350 0120 1B02 lsls r3, r3, #8
8351 0122 0B43 orrs r3, r1
8352 0124 1360 str r3, [r2]
8353 0126 11E0 b .L467
8354 .L463:
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8355 .loc 1 3725 7 is_stmt 1 view .LVU2640
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8356 .loc 1 3725 21 is_stmt 0 view .LVU2641
ARM GAS /tmp/ccRVAHyi.s page 310
8357 0128 104B ldr r3, .L474+16
8358 012a 6363 str r3, [r4, #52]
3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
8359 .loc 1 3729 7 is_stmt 1 view .LVU2642
8360 012c 8023 movs r3, #128
8361 012e D2B2 uxtb r2, r2
8362 0130 0B49 ldr r1, .L474+4
8363 0132 0091 str r1, [sp]
8364 0134 9B04 lsls r3, r3, #18
8365 0136 0399 ldr r1, [sp, #12]
8366 0138 2000 movs r0, r4
8367 013a FFF7FEFF bl I2C_TransferConfig
8368 .LVL601:
3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8369 .loc 1 3733 7 view .LVU2643
3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8370 .loc 1 3733 7 view .LVU2644
8371 013e 4023 movs r3, #64
8372 0140 0022 movs r2, #0
8373 0142 E254 strb r2, [r4, r3]
3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8374 .loc 1 3742 7 view .LVU2645
8375 0144 0121 movs r1, #1
8376 0146 2000 movs r0, r4
8377 0148 FFF7FEFF bl I2C_Enable_IRQ
8378 .LVL602:
8379 .L467:
3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8380 .loc 1 3745 5 view .LVU2646
3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8381 .loc 1 3745 12 is_stmt 0 view .LVU2647
8382 014c 0020 movs r0, #0
8383 014e 00E0 b .L458
8384 .LVL603:
8385 .L468:
3749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8386 .loc 1 3749 12 view .LVU2648
8387 0150 0220 movs r0, #2
8388 .LVL604:
8389 .L458:
3751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8390 .loc 1 3751 1 view .LVU2649
8391 0152 05B0 add sp, sp, #20
8392 @ sp needed
8393 .LVL605:
8394 .LVL606:
3751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8395 .loc 1 3751 1 view .LVU2650
8396 0154 F0BD pop {r4, r5, r6, r7, pc}
8397 .LVL607:
8398 .L469:
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8399 .loc 1 3610 5 view .LVU2651
8400 0156 0220 movs r0, #2
8401 .LVL608:
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8402 .loc 1 3610 5 view .LVU2652
ARM GAS /tmp/ccRVAHyi.s page 311
8403 0158 FBE7 b .L458
8404 .L475:
8405 015a C046 .align 2
8406 .L474:
8407 015c 00000000 .word I2C_Master_ISR_DMA
8408 0160 00240080 .word -2147474432
8409 0164 00000000 .word I2C_DMAMasterReceiveCplt
8410 0168 00000000 .word I2C_DMAError
8411 016c 00000000 .word I2C_Master_ISR_IT
8412 .cfi_endproc
8413 .LFE66:
8415 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits
8416 .align 1
8417 .global HAL_I2C_Slave_Seq_Transmit_IT
8418 .syntax unified
8419 .code 16
8420 .thumb_func
8421 .fpu softvfp
8423 HAL_I2C_Slave_Seq_Transmit_IT:
8424 .LVL609:
8425 .LFB67:
3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
8426 .loc 1 3765 1 is_stmt 1 view -0
8427 .cfi_startproc
8428 @ args = 0, pretend = 0, frame = 0
8429 @ frame_needed = 0, uses_anonymous_args = 0
3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
8430 .loc 1 3765 1 is_stmt 0 view .LVU2654
8431 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8432 .LCFI60:
8433 .cfi_def_cfa_offset 24
8434 .cfi_offset 3, -24
8435 .cfi_offset 4, -20
8436 .cfi_offset 5, -16
8437 .cfi_offset 6, -12
8438 .cfi_offset 7, -8
8439 .cfi_offset 14, -4
8440 0002 0400 movs r4, r0
8441 0004 0D00 movs r5, r1
8442 0006 1600 movs r6, r2
8443 0008 1F00 movs r7, r3
3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8444 .loc 1 3767 3 is_stmt 1 view .LVU2655
3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8445 .loc 1 3769 3 view .LVU2656
3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8446 .loc 1 3769 22 is_stmt 0 view .LVU2657
8447 000a 4123 movs r3, #65
8448 .LVL610:
3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8449 .loc 1 3769 22 view .LVU2658
8450 000c C35C ldrb r3, [r0, r3]
3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8451 .loc 1 3769 6 view .LVU2659
8452 000e 2822 movs r2, #40
8453 .LVL611:
3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 312
8454 .loc 1 3769 6 view .LVU2660
8455 0010 1340 ands r3, r2
8456 0012 282B cmp r3, #40
8457 0014 53D1 bne .L482
3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8458 .loc 1 3771 5 is_stmt 1 view .LVU2661
3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8459 .loc 1 3771 8 is_stmt 0 view .LVU2662
8460 0016 0029 cmp r1, #0
8461 0018 01D0 beq .L478
3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8462 .loc 1 3771 25 discriminator 1 view .LVU2663
8463 001a 002E cmp r6, #0
8464 001c 04D1 bne .L479
8465 .L478:
3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
8466 .loc 1 3773 7 is_stmt 1 view .LVU2664
3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
8467 .loc 1 3773 23 is_stmt 0 view .LVU2665
8468 001e 8023 movs r3, #128
8469 0020 9B00 lsls r3, r3, #2
8470 0022 6364 str r3, [r4, #68]
3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8471 .loc 1 3774 7 is_stmt 1 view .LVU2666
3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8472 .loc 1 3774 15 is_stmt 0 view .LVU2667
8473 0024 0120 movs r0, #1
8474 .LVL612:
3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8475 .loc 1 3774 15 view .LVU2668
8476 0026 4BE0 b .L477
8477 .LVL613:
8478 .L479:
3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8479 .loc 1 3778 5 is_stmt 1 view .LVU2669
8480 0028 2749 ldr r1, .L485
8481 .LVL614:
3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8482 .loc 1 3778 5 is_stmt 0 view .LVU2670
8483 002a FFF7FEFF bl I2C_Disable_IRQ
8484 .LVL615:
3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8485 .loc 1 3781 5 is_stmt 1 view .LVU2671
3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8486 .loc 1 3781 5 view .LVU2672
8487 002e 4023 movs r3, #64
8488 0030 E35C ldrb r3, [r4, r3]
8489 0032 012B cmp r3, #1
8490 0034 45D0 beq .L483
3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8491 .loc 1 3781 5 discriminator 2 view .LVU2673
8492 0036 4023 movs r3, #64
8493 0038 0122 movs r2, #1
8494 003a E254 strb r2, [r4, r3]
3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8495 .loc 1 3785 5 discriminator 2 view .LVU2674
3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 313
8496 .loc 1 3785 13 is_stmt 0 discriminator 2 view .LVU2675
8497 003c 0133 adds r3, r3, #1
8498 003e E35C ldrb r3, [r4, r3]
3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8499 .loc 1 3785 8 discriminator 2 view .LVU2676
8500 0040 2A2B cmp r3, #42
8501 0042 22D0 beq .L484
8502 .L480:
3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8503 .loc 1 3811 5 is_stmt 1 view .LVU2677
3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8504 .loc 1 3811 21 is_stmt 0 view .LVU2678
8505 0044 4123 movs r3, #65
8506 0046 2922 movs r2, #41
8507 0048 E254 strb r2, [r4, r3]
3812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8508 .loc 1 3812 5 is_stmt 1 view .LVU2679
3812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8509 .loc 1 3812 21 is_stmt 0 view .LVU2680
8510 004a 0133 adds r3, r3, #1
8511 004c 093A subs r2, r2, #9
8512 004e E254 strb r2, [r4, r3]
3813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8513 .loc 1 3813 5 is_stmt 1 view .LVU2681
3813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8514 .loc 1 3813 21 is_stmt 0 view .LVU2682
8515 0050 0023 movs r3, #0
8516 0052 6364 str r3, [r4, #68]
3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8517 .loc 1 3816 5 is_stmt 1 view .LVU2683
3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8518 .loc 1 3816 9 is_stmt 0 view .LVU2684
8519 0054 2268 ldr r2, [r4]
3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8520 .loc 1 3816 25 view .LVU2685
8521 0056 5368 ldr r3, [r2, #4]
8522 0058 1C49 ldr r1, .L485+4
8523 005a 0B40 ands r3, r1
8524 005c 5360 str r3, [r2, #4]
3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8525 .loc 1 3819 5 is_stmt 1 view .LVU2686
3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8526 .loc 1 3819 23 is_stmt 0 view .LVU2687
8527 005e 6562 str r5, [r4, #36]
3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8528 .loc 1 3820 5 is_stmt 1 view .LVU2688
3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8529 .loc 1 3820 23 is_stmt 0 view .LVU2689
8530 0060 6685 strh r6, [r4, #42]
3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8531 .loc 1 3821 5 is_stmt 1 view .LVU2690
3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8532 .loc 1 3821 29 is_stmt 0 view .LVU2691
8533 0062 638D ldrh r3, [r4, #42]
3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8534 .loc 1 3821 23 view .LVU2692
8535 0064 2385 strh r3, [r4, #40]
ARM GAS /tmp/ccRVAHyi.s page 314
3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
8536 .loc 1 3822 5 is_stmt 1 view .LVU2693
3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
8537 .loc 1 3822 23 is_stmt 0 view .LVU2694
8538 0066 E762 str r7, [r4, #44]
3823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8539 .loc 1 3823 5 is_stmt 1 view .LVU2695
3823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8540 .loc 1 3823 23 is_stmt 0 view .LVU2696
8541 0068 194B ldr r3, .L485+8
8542 006a 6363 str r3, [r4, #52]
3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8543 .loc 1 3825 5 is_stmt 1 view .LVU2697
3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8544 .loc 1 3825 9 is_stmt 0 view .LVU2698
8545 006c 2368 ldr r3, [r4]
8546 006e 9A69 ldr r2, [r3, #24]
3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8547 .loc 1 3825 8 view .LVU2699
8548 0070 D203 lsls r2, r2, #15
8549 0072 01D5 bpl .L481
3829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8550 .loc 1 3829 7 is_stmt 1 view .LVU2700
8551 0074 0822 movs r2, #8
8552 0076 DA61 str r2, [r3, #28]
8553 .L481:
3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8554 .loc 1 3833 5 view .LVU2701
3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8555 .loc 1 3833 5 view .LVU2702
8556 0078 4023 movs r3, #64
8557 007a 0022 movs r2, #0
8558 007c E254 strb r2, [r4, r3]
3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8559 .loc 1 3839 5 view .LVU2703
8560 007e 1249 ldr r1, .L485
8561 0080 2000 movs r0, r4
8562 0082 FFF7FEFF bl I2C_Enable_IRQ
8563 .LVL616:
3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8564 .loc 1 3841 5 view .LVU2704
3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8565 .loc 1 3841 12 is_stmt 0 view .LVU2705
8566 0086 0020 movs r0, #0
8567 0088 1AE0 b .L477
8568 .L484:
3788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8569 .loc 1 3788 7 is_stmt 1 view .LVU2706
8570 008a 0221 movs r1, #2
8571 008c 2000 movs r0, r4
8572 008e FFF7FEFF bl I2C_Disable_IRQ
8573 .LVL617:
3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8574 .loc 1 3791 7 view .LVU2707
3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8575 .loc 1 3791 16 is_stmt 0 view .LVU2708
8576 0092 2368 ldr r3, [r4]
ARM GAS /tmp/ccRVAHyi.s page 315
3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8577 .loc 1 3791 26 view .LVU2709
8578 0094 1A68 ldr r2, [r3]
3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8579 .loc 1 3791 10 view .LVU2710
8580 0096 1204 lsls r2, r2, #16
8581 0098 D4D5 bpl .L480
3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8582 .loc 1 3793 9 is_stmt 1 view .LVU2711
3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8583 .loc 1 3793 29 is_stmt 0 view .LVU2712
8584 009a 1A68 ldr r2, [r3]
8585 009c 0B49 ldr r1, .L485+4
8586 009e 0A40 ands r2, r1
8587 00a0 1A60 str r2, [r3]
3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8588 .loc 1 3795 9 is_stmt 1 view .LVU2713
3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8589 .loc 1 3795 17 is_stmt 0 view .LVU2714
8590 00a2 E36B ldr r3, [r4, #60]
3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8591 .loc 1 3795 12 view .LVU2715
8592 00a4 002B cmp r3, #0
8593 00a6 CDD0 beq .L480
3799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8594 .loc 1 3799 11 is_stmt 1 view .LVU2716
3799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8595 .loc 1 3799 43 is_stmt 0 view .LVU2717
8596 00a8 0A4A ldr r2, .L485+12
8597 00aa 5A63 str r2, [r3, #52]
3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8598 .loc 1 3802 11 is_stmt 1 view .LVU2718
3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8599 .loc 1 3802 15 is_stmt 0 view .LVU2719
8600 00ac E06B ldr r0, [r4, #60]
8601 00ae FFF7FEFF bl HAL_DMA_Abort_IT
8602 .LVL618:
3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8603 .loc 1 3802 14 view .LVU2720
8604 00b2 0028 cmp r0, #0
8605 00b4 C6D0 beq .L480
3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8606 .loc 1 3805 13 is_stmt 1 view .LVU2721
3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8607 .loc 1 3805 17 is_stmt 0 view .LVU2722
8608 00b6 E06B ldr r0, [r4, #60]
3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8609 .loc 1 3805 25 view .LVU2723
8610 00b8 436B ldr r3, [r0, #52]
3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8611 .loc 1 3805 13 view .LVU2724
8612 00ba 9847 blx r3
8613 .LVL619:
8614 00bc C2E7 b .L480
8615 .LVL620:
8616 .L482:
3845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccRVAHyi.s page 316
8617 .loc 1 3845 12 view .LVU2725
8618 00be 0120 movs r0, #1
8619 .LVL621:
8620 .L477:
3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8621 .loc 1 3847 1 view .LVU2726
8622 @ sp needed
8623 .LVL622:
8624 .LVL623:
8625 .LVL624:
3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8626 .loc 1 3847 1 view .LVU2727
8627 00c0 F8BD pop {r3, r4, r5, r6, r7, pc}
8628 .LVL625:
8629 .L483:
3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8630 .loc 1 3781 5 view .LVU2728
8631 00c2 0220 movs r0, #2
8632 00c4 FCE7 b .L477
8633 .L486:
8634 00c6 C046 .align 2
8635 .L485:
8636 00c8 01800000 .word 32769
8637 00cc FF7FFFFF .word -32769
8638 00d0 00000000 .word I2C_Slave_ISR_IT
8639 00d4 00000000 .word I2C_DMAAbort
8640 .cfi_endproc
8641 .LFE67:
8643 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits
8644 .align 1
8645 .global HAL_I2C_Slave_Seq_Transmit_DMA
8646 .syntax unified
8647 .code 16
8648 .thumb_func
8649 .fpu softvfp
8651 HAL_I2C_Slave_Seq_Transmit_DMA:
8652 .LVL626:
8653 .LFB68:
3861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8654 .loc 1 3861 1 is_stmt 1 view -0
8655 .cfi_startproc
8656 @ args = 0, pretend = 0, frame = 0
8657 @ frame_needed = 0, uses_anonymous_args = 0
3861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8658 .loc 1 3861 1 is_stmt 0 view .LVU2730
8659 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8660 .LCFI61:
8661 .cfi_def_cfa_offset 24
8662 .cfi_offset 3, -24
8663 .cfi_offset 4, -20
8664 .cfi_offset 5, -16
8665 .cfi_offset 6, -12
8666 .cfi_offset 7, -8
8667 .cfi_offset 14, -4
8668 0002 0400 movs r4, r0
8669 0004 0D00 movs r5, r1
8670 0006 1600 movs r6, r2
ARM GAS /tmp/ccRVAHyi.s page 317
8671 0008 1F00 movs r7, r3
3862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8672 .loc 1 3862 3 is_stmt 1 view .LVU2731
3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8673 .loc 1 3865 3 view .LVU2732
3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8674 .loc 1 3867 3 view .LVU2733
3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8675 .loc 1 3867 22 is_stmt 0 view .LVU2734
8676 000a 4123 movs r3, #65
8677 .LVL627:
3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8678 .loc 1 3867 22 view .LVU2735
8679 000c C35C ldrb r3, [r0, r3]
3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8680 .loc 1 3867 6 view .LVU2736
8681 000e 2822 movs r2, #40
8682 .LVL628:
3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8683 .loc 1 3867 6 view .LVU2737
8684 0010 1340 ands r3, r2
8685 0012 282B cmp r3, #40
8686 0014 00D0 beq .LCB8249
8687 0016 AFE0 b .L498 @long jump
8688 .LCB8249:
3869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8689 .loc 1 3869 5 is_stmt 1 view .LVU2738
3869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8690 .loc 1 3869 8 is_stmt 0 view .LVU2739
8691 0018 0029 cmp r1, #0
8692 001a 4CD0 beq .L489
3869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8693 .loc 1 3869 25 discriminator 1 view .LVU2740
8694 001c 002E cmp r6, #0
8695 001e 4AD0 beq .L489
3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8696 .loc 1 3876 5 is_stmt 1 view .LVU2741
3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8697 .loc 1 3876 5 view .LVU2742
8698 0020 4023 movs r3, #64
8699 0022 C35C ldrb r3, [r0, r3]
8700 0024 012B cmp r3, #1
8701 0026 00D1 bne .LCB8260
8702 0028 A9E0 b .L499 @long jump
8703 .LCB8260:
3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8704 .loc 1 3876 5 discriminator 2 view .LVU2743
8705 002a 4023 movs r3, #64
8706 002c 0122 movs r2, #1
8707 002e C254 strb r2, [r0, r3]
3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8708 .loc 1 3879 5 discriminator 2 view .LVU2744
8709 0030 5449 ldr r1, .L503
8710 .LVL629:
3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8711 .loc 1 3879 5 is_stmt 0 discriminator 2 view .LVU2745
8712 0032 FFF7FEFF bl I2C_Disable_IRQ
ARM GAS /tmp/ccRVAHyi.s page 318
8713 .LVL630:
3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8714 .loc 1 3883 5 is_stmt 1 discriminator 2 view .LVU2746
3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8715 .loc 1 3883 13 is_stmt 0 discriminator 2 view .LVU2747
8716 0036 4123 movs r3, #65
8717 0038 E35C ldrb r3, [r4, r3]
3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8718 .loc 1 3883 8 discriminator 2 view .LVU2748
8719 003a 2A2B cmp r3, #42
8720 003c 40D0 beq .L501
3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8721 .loc 1 3908 10 is_stmt 1 view .LVU2749
3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8722 .loc 1 3908 18 is_stmt 0 view .LVU2750
8723 003e 4123 movs r3, #65
8724 0040 E35C ldrb r3, [r4, r3]
3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8725 .loc 1 3908 13 view .LVU2751
8726 0042 292B cmp r3, #41
8727 0044 57D0 beq .L502
8728 .L492:
3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8729 .loc 1 3933 5 is_stmt 1 view .LVU2752
3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8730 .loc 1 3935 5 view .LVU2753
3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8731 .loc 1 3935 21 is_stmt 0 view .LVU2754
8732 0046 4123 movs r3, #65
8733 0048 2922 movs r2, #41
8734 004a E254 strb r2, [r4, r3]
3936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8735 .loc 1 3936 5 is_stmt 1 view .LVU2755
3936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8736 .loc 1 3936 21 is_stmt 0 view .LVU2756
8737 004c 0133 adds r3, r3, #1
8738 004e 093A subs r2, r2, #9
8739 0050 E254 strb r2, [r4, r3]
3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8740 .loc 1 3937 5 is_stmt 1 view .LVU2757
3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8741 .loc 1 3937 21 is_stmt 0 view .LVU2758
8742 0052 0023 movs r3, #0
8743 0054 6364 str r3, [r4, #68]
3940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8744 .loc 1 3940 5 is_stmt 1 view .LVU2759
3940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8745 .loc 1 3940 9 is_stmt 0 view .LVU2760
8746 0056 2268 ldr r2, [r4]
3940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8747 .loc 1 3940 25 view .LVU2761
8748 0058 5368 ldr r3, [r2, #4]
8749 005a 4B49 ldr r1, .L503+4
8750 005c 0B40 ands r3, r1
8751 005e 5360 str r3, [r2, #4]
3943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8752 .loc 1 3943 5 is_stmt 1 view .LVU2762
ARM GAS /tmp/ccRVAHyi.s page 319
3943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8753 .loc 1 3943 23 is_stmt 0 view .LVU2763
8754 0060 6562 str r5, [r4, #36]
3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8755 .loc 1 3944 5 is_stmt 1 view .LVU2764
3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8756 .loc 1 3944 23 is_stmt 0 view .LVU2765
8757 0062 6685 strh r6, [r4, #42]
3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8758 .loc 1 3945 5 is_stmt 1 view .LVU2766
3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8759 .loc 1 3945 29 is_stmt 0 view .LVU2767
8760 0064 638D ldrh r3, [r4, #42]
3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8761 .loc 1 3945 23 view .LVU2768
8762 0066 2385 strh r3, [r4, #40]
3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
8763 .loc 1 3946 5 is_stmt 1 view .LVU2769
3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
8764 .loc 1 3946 23 is_stmt 0 view .LVU2770
8765 0068 E762 str r7, [r4, #44]
3947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8766 .loc 1 3947 5 is_stmt 1 view .LVU2771
3947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8767 .loc 1 3947 23 is_stmt 0 view .LVU2772
8768 006a 484B ldr r3, .L503+8
8769 006c 6363 str r3, [r4, #52]
3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8770 .loc 1 3949 5 is_stmt 1 view .LVU2773
3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8771 .loc 1 3949 13 is_stmt 0 view .LVU2774
8772 006e A36B ldr r3, [r4, #56]
3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8773 .loc 1 3949 8 view .LVU2775
8774 0070 002B cmp r3, #0
8775 0072 56D0 beq .L493
3952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8776 .loc 1 3952 7 is_stmt 1 view .LVU2776
3952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8777 .loc 1 3952 38 is_stmt 0 view .LVU2777
8778 0074 464A ldr r2, .L503+12
8779 0076 9A62 str r2, [r3, #40]
3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8780 .loc 1 3955 7 is_stmt 1 view .LVU2778
3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8781 .loc 1 3955 11 is_stmt 0 view .LVU2779
8782 0078 A36B ldr r3, [r4, #56]
3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8783 .loc 1 3955 39 view .LVU2780
8784 007a 464A ldr r2, .L503+16
8785 007c 1A63 str r2, [r3, #48]
3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8786 .loc 1 3958 7 is_stmt 1 view .LVU2781
3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8787 .loc 1 3958 11 is_stmt 0 view .LVU2782
8788 007e A26B ldr r2, [r4, #56]
3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
ARM GAS /tmp/ccRVAHyi.s page 320
8789 .loc 1 3958 42 view .LVU2783
8790 0080 0023 movs r3, #0
8791 0082 D362 str r3, [r2, #44]
3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8792 .loc 1 3959 7 is_stmt 1 view .LVU2784
3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8793 .loc 1 3959 11 is_stmt 0 view .LVU2785
8794 0084 A26B ldr r2, [r4, #56]
3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8795 .loc 1 3959 39 view .LVU2786
8796 0086 5363 str r3, [r2, #52]
3962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8797 .loc 1 3962 7 is_stmt 1 view .LVU2787
3962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8798 .loc 1 3962 81 is_stmt 0 view .LVU2788
8799 0088 2268 ldr r2, [r4]
8800 008a 2832 adds r2, r2, #40
3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8801 .loc 1 3963 44 view .LVU2789
8802 008c 238D ldrh r3, [r4, #40]
3962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8803 .loc 1 3962 23 view .LVU2790
8804 008e 2900 movs r1, r5
8805 0090 A06B ldr r0, [r4, #56]
8806 0092 FFF7FEFF bl HAL_DMA_Start_IT
8807 .LVL631:
8808 0096 051E subs r5, r0, #0
8809 .LVL632:
3980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8810 .loc 1 3980 5 is_stmt 1 view .LVU2791
3980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8811 .loc 1 3980 8 is_stmt 0 view .LVU2792
8812 0098 51D0 beq .L494
3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8813 .loc 1 3991 7 is_stmt 1 view .LVU2793
3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8814 .loc 1 3991 23 is_stmt 0 view .LVU2794
8815 009a 4123 movs r3, #65
8816 009c 2822 movs r2, #40
8817 009e E254 strb r2, [r4, r3]
3992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8818 .loc 1 3992 7 is_stmt 1 view .LVU2795
3992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8819 .loc 1 3992 23 is_stmt 0 view .LVU2796
8820 00a0 0022 movs r2, #0
8821 00a2 0133 adds r3, r3, #1
8822 00a4 E254 strb r2, [r4, r3]
3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8823 .loc 1 3995 7 is_stmt 1 view .LVU2797
3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8824 .loc 1 3995 23 is_stmt 0 view .LVU2798
8825 00a6 636C ldr r3, [r4, #68]
8826 00a8 1021 movs r1, #16
8827 00aa 0B43 orrs r3, r1
8828 00ac 6364 str r3, [r4, #68]
3998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8829 .loc 1 3998 7 is_stmt 1 view .LVU2799
ARM GAS /tmp/ccRVAHyi.s page 321
3998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8830 .loc 1 3998 7 view .LVU2800
8831 00ae 4023 movs r3, #64
8832 00b0 E254 strb r2, [r4, r3]
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8833 .loc 1 4000 7 view .LVU2801
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8834 .loc 1 4000 14 is_stmt 0 view .LVU2802
8835 00b2 0125 movs r5, #1
8836 00b4 61E0 b .L488
8837 .LVL633:
8838 .L489:
3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
8839 .loc 1 3871 7 is_stmt 1 view .LVU2803
3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
8840 .loc 1 3871 23 is_stmt 0 view .LVU2804
8841 00b6 8023 movs r3, #128
8842 00b8 9B00 lsls r3, r3, #2
8843 00ba 6364 str r3, [r4, #68]
3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8844 .loc 1 3872 7 is_stmt 1 view .LVU2805
3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8845 .loc 1 3872 15 is_stmt 0 view .LVU2806
8846 00bc 0125 movs r5, #1
8847 00be 5CE0 b .L488
8848 .LVL634:
8849 .L501:
3886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8850 .loc 1 3886 7 is_stmt 1 view .LVU2807
8851 00c0 0221 movs r1, #2
8852 00c2 2000 movs r0, r4
8853 00c4 FFF7FEFF bl I2C_Disable_IRQ
8854 .LVL635:
3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8855 .loc 1 3888 7 view .LVU2808
3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8856 .loc 1 3888 16 is_stmt 0 view .LVU2809
8857 00c8 2368 ldr r3, [r4]
3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8858 .loc 1 3888 26 view .LVU2810
8859 00ca 1A68 ldr r2, [r3]
3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8860 .loc 1 3888 10 view .LVU2811
8861 00cc 1204 lsls r2, r2, #16
8862 00ce BAD5 bpl .L492
3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8863 .loc 1 3891 9 is_stmt 1 view .LVU2812
3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8864 .loc 1 3891 12 is_stmt 0 view .LVU2813
8865 00d0 E26B ldr r2, [r4, #60]
8866 00d2 002A cmp r2, #0
8867 00d4 B7D0 beq .L492
3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8868 .loc 1 3893 11 is_stmt 1 view .LVU2814
3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8869 .loc 1 3893 31 is_stmt 0 view .LVU2815
8870 00d6 1A68 ldr r2, [r3]
ARM GAS /tmp/ccRVAHyi.s page 322
8871 00d8 2B49 ldr r1, .L503+4
8872 00da 0A40 ands r2, r1
8873 00dc 1A60 str r2, [r3]
3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8874 .loc 1 3897 11 is_stmt 1 view .LVU2816
3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8875 .loc 1 3897 15 is_stmt 0 view .LVU2817
8876 00de E36B ldr r3, [r4, #60]
3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8877 .loc 1 3897 43 view .LVU2818
8878 00e0 2D4A ldr r2, .L503+20
8879 00e2 5A63 str r2, [r3, #52]
3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8880 .loc 1 3900 11 is_stmt 1 view .LVU2819
3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8881 .loc 1 3900 15 is_stmt 0 view .LVU2820
8882 00e4 E06B ldr r0, [r4, #60]
8883 00e6 FFF7FEFF bl HAL_DMA_Abort_IT
8884 .LVL636:
3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8885 .loc 1 3900 14 view .LVU2821
8886 00ea 0028 cmp r0, #0
8887 00ec ABD0 beq .L492
3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8888 .loc 1 3903 13 is_stmt 1 view .LVU2822
3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8889 .loc 1 3903 17 is_stmt 0 view .LVU2823
8890 00ee E06B ldr r0, [r4, #60]
3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8891 .loc 1 3903 25 view .LVU2824
8892 00f0 436B ldr r3, [r0, #52]
3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8893 .loc 1 3903 13 view .LVU2825
8894 00f2 9847 blx r3
8895 .LVL637:
8896 00f4 A7E7 b .L492
8897 .L502:
3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8898 .loc 1 3910 7 is_stmt 1 view .LVU2826
3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8899 .loc 1 3910 16 is_stmt 0 view .LVU2827
8900 00f6 2368 ldr r3, [r4]
3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8901 .loc 1 3910 26 view .LVU2828
8902 00f8 1A68 ldr r2, [r3]
3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8903 .loc 1 3910 10 view .LVU2829
8904 00fa 5204 lsls r2, r2, #17
8905 00fc A3D5 bpl .L492
3912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8906 .loc 1 3912 9 is_stmt 1 view .LVU2830
3912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8907 .loc 1 3912 29 is_stmt 0 view .LVU2831
8908 00fe 1A68 ldr r2, [r3]
8909 0100 2649 ldr r1, .L503+24
8910 0102 0A40 ands r2, r1
8911 0104 1A60 str r2, [r3]
ARM GAS /tmp/ccRVAHyi.s page 323
3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8912 .loc 1 3915 9 is_stmt 1 view .LVU2832
3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8913 .loc 1 3915 17 is_stmt 0 view .LVU2833
8914 0106 A36B ldr r3, [r4, #56]
3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8915 .loc 1 3915 12 view .LVU2834
8916 0108 002B cmp r3, #0
8917 010a 9CD0 beq .L492
3919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8918 .loc 1 3919 11 is_stmt 1 view .LVU2835
3919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8919 .loc 1 3919 43 is_stmt 0 view .LVU2836
8920 010c 224A ldr r2, .L503+20
8921 010e 5A63 str r2, [r3, #52]
3922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8922 .loc 1 3922 11 is_stmt 1 view .LVU2837
3922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8923 .loc 1 3922 15 is_stmt 0 view .LVU2838
8924 0110 A06B ldr r0, [r4, #56]
8925 0112 FFF7FEFF bl HAL_DMA_Abort_IT
8926 .LVL638:
3922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8927 .loc 1 3922 14 view .LVU2839
8928 0116 0028 cmp r0, #0
8929 0118 95D0 beq .L492
3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8930 .loc 1 3925 13 is_stmt 1 view .LVU2840
3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8931 .loc 1 3925 17 is_stmt 0 view .LVU2841
8932 011a A06B ldr r0, [r4, #56]
3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8933 .loc 1 3925 25 view .LVU2842
8934 011c 436B ldr r3, [r0, #52]
3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8935 .loc 1 3925 13 view .LVU2843
8936 011e 9847 blx r3
8937 .LVL639:
8938 0120 91E7 b .L492
8939 .L493:
3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8940 .loc 1 3968 7 is_stmt 1 view .LVU2844
3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8941 .loc 1 3968 23 is_stmt 0 view .LVU2845
8942 0122 4123 movs r3, #65
8943 0124 2822 movs r2, #40
8944 0126 E254 strb r2, [r4, r3]
3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8945 .loc 1 3969 7 is_stmt 1 view .LVU2846
3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8946 .loc 1 3969 23 is_stmt 0 view .LVU2847
8947 0128 0022 movs r2, #0
8948 012a 0133 adds r3, r3, #1
8949 012c E254 strb r2, [r4, r3]
3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8950 .loc 1 3972 7 is_stmt 1 view .LVU2848
3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 324
8951 .loc 1 3972 23 is_stmt 0 view .LVU2849
8952 012e 636C ldr r3, [r4, #68]
8953 0130 8021 movs r1, #128
8954 0132 0B43 orrs r3, r1
8955 0134 6364 str r3, [r4, #68]
3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8956 .loc 1 3975 7 is_stmt 1 view .LVU2850
3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8957 .loc 1 3975 7 view .LVU2851
8958 0136 4023 movs r3, #64
8959 0138 E254 strb r2, [r4, r3]
3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8960 .loc 1 3977 7 view .LVU2852
3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8961 .loc 1 3977 14 is_stmt 0 view .LVU2853
8962 013a 0125 movs r5, #1
8963 .LVL640:
3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8964 .loc 1 3977 14 view .LVU2854
8965 013c 1DE0 b .L488
8966 .LVL641:
8967 .L494:
3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8968 .loc 1 3983 7 is_stmt 1 view .LVU2855
3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8969 .loc 1 3983 23 is_stmt 0 view .LVU2856
8970 013e 638D ldrh r3, [r4, #42]
3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8971 .loc 1 3983 30 view .LVU2857
8972 0140 228D ldrh r2, [r4, #40]
3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8973 .loc 1 3983 23 view .LVU2858
8974 0142 9B1A subs r3, r3, r2
8975 0144 9BB2 uxth r3, r3
8976 0146 6385 strh r3, [r4, #42]
3986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8977 .loc 1 3986 7 is_stmt 1 view .LVU2859
3986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8978 .loc 1 3986 22 is_stmt 0 view .LVU2860
8979 0148 0023 movs r3, #0
8980 014a 2385 strh r3, [r4, #40]
4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8981 .loc 1 4003 5 is_stmt 1 view .LVU2861
4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8982 .loc 1 4003 9 is_stmt 0 view .LVU2862
8983 014c 2368 ldr r3, [r4]
8984 014e 9A69 ldr r2, [r3, #24]
4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8985 .loc 1 4003 8 view .LVU2863
8986 0150 D203 lsls r2, r2, #15
8987 0152 0ED4 bmi .L496
8988 .L497:
4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8989 .loc 1 4011 5 is_stmt 1 view .LVU2864
4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8990 .loc 1 4011 5 view .LVU2865
8991 0154 4023 movs r3, #64
ARM GAS /tmp/ccRVAHyi.s page 325
8992 0156 0022 movs r2, #0
8993 0158 E254 strb r2, [r4, r3]
4017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8994 .loc 1 4017 5 view .LVU2866
8995 015a 8021 movs r1, #128
8996 015c 0902 lsls r1, r1, #8
8997 015e 2000 movs r0, r4
8998 .LVL642:
4017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8999 .loc 1 4017 5 is_stmt 0 view .LVU2867
9000 0160 FFF7FEFF bl I2C_Enable_IRQ
9001 .LVL643:
4020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9002 .loc 1 4020 5 is_stmt 1 view .LVU2868
4020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9003 .loc 1 4020 9 is_stmt 0 view .LVU2869
9004 0164 2268 ldr r2, [r4]
4020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9005 .loc 1 4020 25 view .LVU2870
9006 0166 1168 ldr r1, [r2]
9007 0168 8023 movs r3, #128
9008 016a DB01 lsls r3, r3, #7
9009 016c 0B43 orrs r3, r1
9010 016e 1360 str r3, [r2]
4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9011 .loc 1 4022 5 is_stmt 1 view .LVU2871
4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9012 .loc 1 4022 12 is_stmt 0 view .LVU2872
9013 0170 03E0 b .L488
9014 .LVL644:
9015 .L496:
4007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9016 .loc 1 4007 7 is_stmt 1 view .LVU2873
9017 0172 0822 movs r2, #8
9018 0174 DA61 str r2, [r3, #28]
9019 0176 EDE7 b .L497
9020 .LVL645:
9021 .L498:
4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9022 .loc 1 4026 12 is_stmt 0 view .LVU2874
9023 0178 0125 movs r5, #1
9024 .LVL646:
9025 .L488:
4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9026 .loc 1 4028 1 view .LVU2875
9027 017a 2800 movs r0, r5
9028 @ sp needed
9029 .LVL647:
9030 .LVL648:
4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9031 .loc 1 4028 1 view .LVU2876
9032 017c F8BD pop {r3, r4, r5, r6, r7, pc}
9033 .LVL649:
9034 .L499:
3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9035 .loc 1 3876 5 view .LVU2877
9036 017e 0225 movs r5, #2
ARM GAS /tmp/ccRVAHyi.s page 326
9037 0180 FBE7 b .L488
9038 .L504:
9039 0182 C046 .align 2
9040 .L503:
9041 0184 01800000 .word 32769
9042 0188 FF7FFFFF .word -32769
9043 018c 00000000 .word I2C_Slave_ISR_DMA
9044 0190 00000000 .word I2C_DMASlaveTransmitCplt
9045 0194 00000000 .word I2C_DMAError
9046 0198 00000000 .word I2C_DMAAbort
9047 019c FFBFFFFF .word -16385
9048 .cfi_endproc
9049 .LFE68:
9051 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits
9052 .align 1
9053 .global HAL_I2C_Slave_Seq_Receive_IT
9054 .syntax unified
9055 .code 16
9056 .thumb_func
9057 .fpu softvfp
9059 HAL_I2C_Slave_Seq_Receive_IT:
9060 .LVL650:
9061 .LFB69:
4042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
9062 .loc 1 4042 1 is_stmt 1 view -0
9063 .cfi_startproc
9064 @ args = 0, pretend = 0, frame = 0
9065 @ frame_needed = 0, uses_anonymous_args = 0
4042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
9066 .loc 1 4042 1 is_stmt 0 view .LVU2879
9067 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
9068 .LCFI62:
9069 .cfi_def_cfa_offset 24
9070 .cfi_offset 3, -24
9071 .cfi_offset 4, -20
9072 .cfi_offset 5, -16
9073 .cfi_offset 6, -12
9074 .cfi_offset 7, -8
9075 .cfi_offset 14, -4
9076 0002 0400 movs r4, r0
9077 0004 0D00 movs r5, r1
9078 0006 1600 movs r6, r2
9079 0008 1F00 movs r7, r3
4044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9080 .loc 1 4044 3 is_stmt 1 view .LVU2880
4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9081 .loc 1 4046 3 view .LVU2881
4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9082 .loc 1 4046 22 is_stmt 0 view .LVU2882
9083 000a 4123 movs r3, #65
9084 .LVL651:
4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9085 .loc 1 4046 22 view .LVU2883
9086 000c C35C ldrb r3, [r0, r3]
4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9087 .loc 1 4046 6 view .LVU2884
9088 000e 2822 movs r2, #40
ARM GAS /tmp/ccRVAHyi.s page 327
9089 .LVL652:
4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9090 .loc 1 4046 6 view .LVU2885
9091 0010 1340 ands r3, r2
9092 0012 282B cmp r3, #40
9093 0014 53D1 bne .L511
4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9094 .loc 1 4048 5 is_stmt 1 view .LVU2886
4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9095 .loc 1 4048 8 is_stmt 0 view .LVU2887
9096 0016 0029 cmp r1, #0
9097 0018 01D0 beq .L507
4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9098 .loc 1 4048 25 discriminator 1 view .LVU2888
9099 001a 002E cmp r6, #0
9100 001c 04D1 bne .L508
9101 .L507:
4050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
9102 .loc 1 4050 7 is_stmt 1 view .LVU2889
4050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
9103 .loc 1 4050 23 is_stmt 0 view .LVU2890
9104 001e 8023 movs r3, #128
9105 0020 9B00 lsls r3, r3, #2
9106 0022 6364 str r3, [r4, #68]
4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9107 .loc 1 4051 7 is_stmt 1 view .LVU2891
4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9108 .loc 1 4051 15 is_stmt 0 view .LVU2892
9109 0024 0120 movs r0, #1
9110 .LVL653:
4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9111 .loc 1 4051 15 view .LVU2893
9112 0026 4BE0 b .L506
9113 .LVL654:
9114 .L508:
4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9115 .loc 1 4055 5 is_stmt 1 view .LVU2894
9116 0028 2749 ldr r1, .L514
9117 .LVL655:
4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9118 .loc 1 4055 5 is_stmt 0 view .LVU2895
9119 002a FFF7FEFF bl I2C_Disable_IRQ
9120 .LVL656:
4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9121 .loc 1 4058 5 is_stmt 1 view .LVU2896
4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9122 .loc 1 4058 5 view .LVU2897
9123 002e 4023 movs r3, #64
9124 0030 E35C ldrb r3, [r4, r3]
9125 0032 012B cmp r3, #1
9126 0034 45D0 beq .L512
4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9127 .loc 1 4058 5 discriminator 2 view .LVU2898
9128 0036 4023 movs r3, #64
9129 0038 0122 movs r2, #1
9130 003a E254 strb r2, [r4, r3]
4062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 328
9131 .loc 1 4062 5 discriminator 2 view .LVU2899
4062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9132 .loc 1 4062 13 is_stmt 0 discriminator 2 view .LVU2900
9133 003c 0133 adds r3, r3, #1
9134 003e E35C ldrb r3, [r4, r3]
4062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9135 .loc 1 4062 8 discriminator 2 view .LVU2901
9136 0040 292B cmp r3, #41
9137 0042 22D0 beq .L513
9138 .L509:
4088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9139 .loc 1 4088 5 is_stmt 1 view .LVU2902
4088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9140 .loc 1 4088 21 is_stmt 0 view .LVU2903
9141 0044 4123 movs r3, #65
9142 0046 2A22 movs r2, #42
9143 0048 E254 strb r2, [r4, r3]
4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9144 .loc 1 4089 5 is_stmt 1 view .LVU2904
4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9145 .loc 1 4089 21 is_stmt 0 view .LVU2905
9146 004a 0133 adds r3, r3, #1
9147 004c 0A3A subs r2, r2, #10
9148 004e E254 strb r2, [r4, r3]
4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9149 .loc 1 4090 5 is_stmt 1 view .LVU2906
4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9150 .loc 1 4090 21 is_stmt 0 view .LVU2907
9151 0050 0023 movs r3, #0
9152 0052 6364 str r3, [r4, #68]
4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9153 .loc 1 4093 5 is_stmt 1 view .LVU2908
4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9154 .loc 1 4093 9 is_stmt 0 view .LVU2909
9155 0054 2268 ldr r2, [r4]
4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9156 .loc 1 4093 25 view .LVU2910
9157 0056 5368 ldr r3, [r2, #4]
9158 0058 1C49 ldr r1, .L514+4
9159 005a 0B40 ands r3, r1
9160 005c 5360 str r3, [r2, #4]
4096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9161 .loc 1 4096 5 is_stmt 1 view .LVU2911
4096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9162 .loc 1 4096 23 is_stmt 0 view .LVU2912
9163 005e 6562 str r5, [r4, #36]
4097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9164 .loc 1 4097 5 is_stmt 1 view .LVU2913
4097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9165 .loc 1 4097 23 is_stmt 0 view .LVU2914
9166 0060 6685 strh r6, [r4, #42]
4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9167 .loc 1 4098 5 is_stmt 1 view .LVU2915
4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9168 .loc 1 4098 29 is_stmt 0 view .LVU2916
9169 0062 638D ldrh r3, [r4, #42]
4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
ARM GAS /tmp/ccRVAHyi.s page 329
9170 .loc 1 4098 23 view .LVU2917
9171 0064 2385 strh r3, [r4, #40]
4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9172 .loc 1 4099 5 is_stmt 1 view .LVU2918
4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9173 .loc 1 4099 23 is_stmt 0 view .LVU2919
9174 0066 E762 str r7, [r4, #44]
4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9175 .loc 1 4100 5 is_stmt 1 view .LVU2920
4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9176 .loc 1 4100 23 is_stmt 0 view .LVU2921
9177 0068 194B ldr r3, .L514+8
9178 006a 6363 str r3, [r4, #52]
4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9179 .loc 1 4102 5 is_stmt 1 view .LVU2922
4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9180 .loc 1 4102 9 is_stmt 0 view .LVU2923
9181 006c 2368 ldr r3, [r4]
9182 006e 9A69 ldr r2, [r3, #24]
4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9183 .loc 1 4102 8 view .LVU2924
9184 0070 D203 lsls r2, r2, #15
9185 0072 01D4 bmi .L510
4106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9186 .loc 1 4106 7 is_stmt 1 view .LVU2925
9187 0074 0822 movs r2, #8
9188 0076 DA61 str r2, [r3, #28]
9189 .L510:
4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9190 .loc 1 4110 5 view .LVU2926
4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9191 .loc 1 4110 5 view .LVU2927
9192 0078 4023 movs r3, #64
9193 007a 0022 movs r2, #0
9194 007c E254 strb r2, [r4, r3]
4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9195 .loc 1 4116 5 view .LVU2928
9196 007e 1249 ldr r1, .L514
9197 0080 2000 movs r0, r4
9198 0082 FFF7FEFF bl I2C_Enable_IRQ
9199 .LVL657:
4118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9200 .loc 1 4118 5 view .LVU2929
4118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9201 .loc 1 4118 12 is_stmt 0 view .LVU2930
9202 0086 0020 movs r0, #0
9203 0088 1AE0 b .L506
9204 .L513:
4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9205 .loc 1 4065 7 is_stmt 1 view .LVU2931
9206 008a 0121 movs r1, #1
9207 008c 2000 movs r0, r4
9208 008e FFF7FEFF bl I2C_Disable_IRQ
9209 .LVL658:
4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9210 .loc 1 4067 7 view .LVU2932
4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 330
9211 .loc 1 4067 16 is_stmt 0 view .LVU2933
9212 0092 2368 ldr r3, [r4]
4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9213 .loc 1 4067 26 view .LVU2934
9214 0094 1A68 ldr r2, [r3]
4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9215 .loc 1 4067 10 view .LVU2935
9216 0096 5204 lsls r2, r2, #17
9217 0098 D4D5 bpl .L509
4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9218 .loc 1 4069 9 is_stmt 1 view .LVU2936
4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9219 .loc 1 4069 29 is_stmt 0 view .LVU2937
9220 009a 1A68 ldr r2, [r3]
9221 009c 0D49 ldr r1, .L514+12
9222 009e 0A40 ands r2, r1
9223 00a0 1A60 str r2, [r3]
4072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9224 .loc 1 4072 9 is_stmt 1 view .LVU2938
4072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9225 .loc 1 4072 17 is_stmt 0 view .LVU2939
9226 00a2 A36B ldr r3, [r4, #56]
4072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9227 .loc 1 4072 12 view .LVU2940
9228 00a4 002B cmp r3, #0
9229 00a6 CDD0 beq .L509
4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9230 .loc 1 4076 11 is_stmt 1 view .LVU2941
4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9231 .loc 1 4076 43 is_stmt 0 view .LVU2942
9232 00a8 0B4A ldr r2, .L514+16
9233 00aa 5A63 str r2, [r3, #52]
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9234 .loc 1 4079 11 is_stmt 1 view .LVU2943
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9235 .loc 1 4079 15 is_stmt 0 view .LVU2944
9236 00ac A06B ldr r0, [r4, #56]
9237 00ae FFF7FEFF bl HAL_DMA_Abort_IT
9238 .LVL659:
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9239 .loc 1 4079 14 view .LVU2945
9240 00b2 0028 cmp r0, #0
9241 00b4 C6D0 beq .L509
4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9242 .loc 1 4082 13 is_stmt 1 view .LVU2946
4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9243 .loc 1 4082 17 is_stmt 0 view .LVU2947
9244 00b6 A06B ldr r0, [r4, #56]
4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9245 .loc 1 4082 25 view .LVU2948
9246 00b8 436B ldr r3, [r0, #52]
4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9247 .loc 1 4082 13 view .LVU2949
9248 00ba 9847 blx r3
9249 .LVL660:
9250 00bc C2E7 b .L509
9251 .LVL661:
ARM GAS /tmp/ccRVAHyi.s page 331
9252 .L511:
4122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9253 .loc 1 4122 12 view .LVU2950
9254 00be 0120 movs r0, #1
9255 .LVL662:
9256 .L506:
4124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9257 .loc 1 4124 1 view .LVU2951
9258 @ sp needed
9259 .LVL663:
9260 .LVL664:
9261 .LVL665:
4124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9262 .loc 1 4124 1 view .LVU2952
9263 00c0 F8BD pop {r3, r4, r5, r6, r7, pc}
9264 .LVL666:
9265 .L512:
4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9266 .loc 1 4058 5 view .LVU2953
9267 00c2 0220 movs r0, #2
9268 00c4 FCE7 b .L506
9269 .L515:
9270 00c6 C046 .align 2
9271 .L514:
9272 00c8 02800000 .word 32770
9273 00cc FF7FFFFF .word -32769
9274 00d0 00000000 .word I2C_Slave_ISR_IT
9275 00d4 FFBFFFFF .word -16385
9276 00d8 00000000 .word I2C_DMAAbort
9277 .cfi_endproc
9278 .LFE69:
9280 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits
9281 .align 1
9282 .global HAL_I2C_Slave_Seq_Receive_DMA
9283 .syntax unified
9284 .code 16
9285 .thumb_func
9286 .fpu softvfp
9288 HAL_I2C_Slave_Seq_Receive_DMA:
9289 .LVL667:
9290 .LFB70:
4138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
9291 .loc 1 4138 1 is_stmt 1 view -0
9292 .cfi_startproc
9293 @ args = 0, pretend = 0, frame = 0
9294 @ frame_needed = 0, uses_anonymous_args = 0
4138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
9295 .loc 1 4138 1 is_stmt 0 view .LVU2955
9296 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
9297 .LCFI63:
9298 .cfi_def_cfa_offset 24
9299 .cfi_offset 3, -24
9300 .cfi_offset 4, -20
9301 .cfi_offset 5, -16
9302 .cfi_offset 6, -12
9303 .cfi_offset 7, -8
9304 .cfi_offset 14, -4
ARM GAS /tmp/ccRVAHyi.s page 332
9305 0002 0400 movs r4, r0
9306 0004 0D00 movs r5, r1
9307 0006 1600 movs r6, r2
9308 0008 1F00 movs r7, r3
4139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9309 .loc 1 4139 3 is_stmt 1 view .LVU2956
4142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9310 .loc 1 4142 3 view .LVU2957
4144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9311 .loc 1 4144 3 view .LVU2958
4144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9312 .loc 1 4144 22 is_stmt 0 view .LVU2959
9313 000a 4123 movs r3, #65
9314 .LVL668:
4144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9315 .loc 1 4144 22 view .LVU2960
9316 000c C35C ldrb r3, [r0, r3]
4144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9317 .loc 1 4144 6 view .LVU2961
9318 000e 2822 movs r2, #40
9319 .LVL669:
4144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9320 .loc 1 4144 6 view .LVU2962
9321 0010 1340 ands r3, r2
9322 0012 282B cmp r3, #40
9323 0014 00D0 beq .LCB8829
9324 0016 AEE0 b .L527 @long jump
9325 .LCB8829:
4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9326 .loc 1 4146 5 is_stmt 1 view .LVU2963
4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9327 .loc 1 4146 8 is_stmt 0 view .LVU2964
9328 0018 0029 cmp r1, #0
9329 001a 01D0 beq .L518
4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9330 .loc 1 4146 25 discriminator 1 view .LVU2965
9331 001c 002E cmp r6, #0
9332 001e 04D1 bne .L519
9333 .L518:
4148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
9334 .loc 1 4148 7 is_stmt 1 view .LVU2966
4148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
9335 .loc 1 4148 23 is_stmt 0 view .LVU2967
9336 0020 8023 movs r3, #128
9337 0022 9B00 lsls r3, r3, #2
9338 0024 6364 str r3, [r4, #68]
4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9339 .loc 1 4149 7 is_stmt 1 view .LVU2968
4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9340 .loc 1 4149 15 is_stmt 0 view .LVU2969
9341 0026 0125 movs r5, #1
9342 0028 A6E0 b .L517
9343 .L519:
4153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9344 .loc 1 4153 5 is_stmt 1 view .LVU2970
9345 002a 5549 ldr r1, .L532
9346 .LVL670:
ARM GAS /tmp/ccRVAHyi.s page 333
4153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9347 .loc 1 4153 5 is_stmt 0 view .LVU2971
9348 002c FFF7FEFF bl I2C_Disable_IRQ
9349 .LVL671:
4156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9350 .loc 1 4156 5 is_stmt 1 view .LVU2972
4156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9351 .loc 1 4156 5 view .LVU2973
9352 0030 4023 movs r3, #64
9353 0032 E35C ldrb r3, [r4, r3]
9354 0034 012B cmp r3, #1
9355 0036 00D1 bne .LCB8858
9356 0038 A0E0 b .L528 @long jump
9357 .LCB8858:
4156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9358 .loc 1 4156 5 discriminator 2 view .LVU2974
9359 003a 4023 movs r3, #64
9360 003c 0122 movs r2, #1
9361 003e E254 strb r2, [r4, r3]
4160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9362 .loc 1 4160 5 discriminator 2 view .LVU2975
4160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9363 .loc 1 4160 13 is_stmt 0 discriminator 2 view .LVU2976
9364 0040 0133 adds r3, r3, #1
9365 0042 E35C ldrb r3, [r4, r3]
4160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9366 .loc 1 4160 8 discriminator 2 view .LVU2977
9367 0044 292B cmp r3, #41
9368 0046 3BD0 beq .L530
4185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9369 .loc 1 4185 10 is_stmt 1 view .LVU2978
4185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9370 .loc 1 4185 18 is_stmt 0 view .LVU2979
9371 0048 4123 movs r3, #65
9372 004a E35C ldrb r3, [r4, r3]
4185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9373 .loc 1 4185 13 view .LVU2980
9374 004c 2A2B cmp r3, #42
9375 004e 52D0 beq .L531
9376 .L521:
4210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9377 .loc 1 4210 5 is_stmt 1 view .LVU2981
4212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9378 .loc 1 4212 5 view .LVU2982
4212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9379 .loc 1 4212 21 is_stmt 0 view .LVU2983
9380 0050 4123 movs r3, #65
9381 0052 2A22 movs r2, #42
9382 0054 E254 strb r2, [r4, r3]
4213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9383 .loc 1 4213 5 is_stmt 1 view .LVU2984
4213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9384 .loc 1 4213 21 is_stmt 0 view .LVU2985
9385 0056 0133 adds r3, r3, #1
9386 0058 0A3A subs r2, r2, #10
9387 005a E254 strb r2, [r4, r3]
4214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 334
9388 .loc 1 4214 5 is_stmt 1 view .LVU2986
4214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9389 .loc 1 4214 21 is_stmt 0 view .LVU2987
9390 005c 0023 movs r3, #0
9391 005e 6364 str r3, [r4, #68]
4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9392 .loc 1 4217 5 is_stmt 1 view .LVU2988
4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9393 .loc 1 4217 9 is_stmt 0 view .LVU2989
9394 0060 2268 ldr r2, [r4]
4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9395 .loc 1 4217 25 view .LVU2990
9396 0062 5368 ldr r3, [r2, #4]
9397 0064 4749 ldr r1, .L532+4
9398 0066 0B40 ands r3, r1
9399 0068 5360 str r3, [r2, #4]
4220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9400 .loc 1 4220 5 is_stmt 1 view .LVU2991
4220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9401 .loc 1 4220 23 is_stmt 0 view .LVU2992
9402 006a 6562 str r5, [r4, #36]
4221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9403 .loc 1 4221 5 is_stmt 1 view .LVU2993
4221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9404 .loc 1 4221 23 is_stmt 0 view .LVU2994
9405 006c 6685 strh r6, [r4, #42]
4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9406 .loc 1 4222 5 is_stmt 1 view .LVU2995
4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9407 .loc 1 4222 29 is_stmt 0 view .LVU2996
9408 006e 638D ldrh r3, [r4, #42]
4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9409 .loc 1 4222 23 view .LVU2997
9410 0070 2385 strh r3, [r4, #40]
4223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
9411 .loc 1 4223 5 is_stmt 1 view .LVU2998
4223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
9412 .loc 1 4223 23 is_stmt 0 view .LVU2999
9413 0072 E762 str r7, [r4, #44]
4224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9414 .loc 1 4224 5 is_stmt 1 view .LVU3000
4224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9415 .loc 1 4224 23 is_stmt 0 view .LVU3001
9416 0074 444B ldr r3, .L532+8
9417 0076 6363 str r3, [r4, #52]
4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9418 .loc 1 4226 5 is_stmt 1 view .LVU3002
4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9419 .loc 1 4226 13 is_stmt 0 view .LVU3003
9420 0078 E36B ldr r3, [r4, #60]
4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9421 .loc 1 4226 8 view .LVU3004
9422 007a 002B cmp r3, #0
9423 007c 51D0 beq .L522
4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9424 .loc 1 4229 7 is_stmt 1 view .LVU3005
4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 335
9425 .loc 1 4229 38 is_stmt 0 view .LVU3006
9426 007e 434A ldr r2, .L532+12
9427 0080 9A62 str r2, [r3, #40]
4232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9428 .loc 1 4232 7 is_stmt 1 view .LVU3007
4232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9429 .loc 1 4232 11 is_stmt 0 view .LVU3008
9430 0082 E36B ldr r3, [r4, #60]
4232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9431 .loc 1 4232 39 view .LVU3009
9432 0084 424A ldr r2, .L532+16
9433 0086 1A63 str r2, [r3, #48]
4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
9434 .loc 1 4235 7 is_stmt 1 view .LVU3010
4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
9435 .loc 1 4235 11 is_stmt 0 view .LVU3011
9436 0088 E26B ldr r2, [r4, #60]
4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
9437 .loc 1 4235 42 view .LVU3012
9438 008a 0023 movs r3, #0
9439 008c D362 str r3, [r2, #44]
4236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9440 .loc 1 4236 7 is_stmt 1 view .LVU3013
4236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9441 .loc 1 4236 11 is_stmt 0 view .LVU3014
9442 008e E26B ldr r2, [r4, #60]
4236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9443 .loc 1 4236 39 view .LVU3015
9444 0090 5363 str r3, [r2, #52]
4239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
9445 .loc 1 4239 7 is_stmt 1 view .LVU3016
4239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
9446 .loc 1 4239 64 is_stmt 0 view .LVU3017
9447 0092 2168 ldr r1, [r4]
9448 0094 2431 adds r1, r1, #36
4240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9449 .loc 1 4240 61 view .LVU3018
9450 0096 238D ldrh r3, [r4, #40]
4239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
9451 .loc 1 4239 23 view .LVU3019
9452 0098 2A00 movs r2, r5
9453 009a E06B ldr r0, [r4, #60]
9454 009c FFF7FEFF bl HAL_DMA_Start_IT
9455 .LVL672:
9456 00a0 051E subs r5, r0, #0
9457 .LVL673:
4257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9458 .loc 1 4257 5 is_stmt 1 view .LVU3020
4257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9459 .loc 1 4257 8 is_stmt 0 view .LVU3021
9460 00a2 4CD0 beq .L523
4268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9461 .loc 1 4268 7 is_stmt 1 view .LVU3022
4268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9462 .loc 1 4268 23 is_stmt 0 view .LVU3023
9463 00a4 4123 movs r3, #65
9464 00a6 2822 movs r2, #40
ARM GAS /tmp/ccRVAHyi.s page 336
9465 00a8 E254 strb r2, [r4, r3]
4269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9466 .loc 1 4269 7 is_stmt 1 view .LVU3024
4269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9467 .loc 1 4269 23 is_stmt 0 view .LVU3025
9468 00aa 0022 movs r2, #0
9469 00ac 0133 adds r3, r3, #1
9470 00ae E254 strb r2, [r4, r3]
4272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9471 .loc 1 4272 7 is_stmt 1 view .LVU3026
4272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9472 .loc 1 4272 23 is_stmt 0 view .LVU3027
9473 00b0 636C ldr r3, [r4, #68]
9474 00b2 1021 movs r1, #16
9475 00b4 0B43 orrs r3, r1
9476 00b6 6364 str r3, [r4, #68]
4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9477 .loc 1 4275 7 is_stmt 1 view .LVU3028
4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9478 .loc 1 4275 7 view .LVU3029
9479 00b8 4023 movs r3, #64
9480 00ba E254 strb r2, [r4, r3]
4277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9481 .loc 1 4277 7 view .LVU3030
4277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9482 .loc 1 4277 14 is_stmt 0 view .LVU3031
9483 00bc 0125 movs r5, #1
9484 00be 5BE0 b .L517
9485 .LVL674:
9486 .L530:
4163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9487 .loc 1 4163 7 is_stmt 1 view .LVU3032
9488 00c0 0121 movs r1, #1
9489 00c2 2000 movs r0, r4
9490 00c4 FFF7FEFF bl I2C_Disable_IRQ
9491 .LVL675:
4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9492 .loc 1 4165 7 view .LVU3033
4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9493 .loc 1 4165 16 is_stmt 0 view .LVU3034
9494 00c8 2368 ldr r3, [r4]
4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9495 .loc 1 4165 26 view .LVU3035
9496 00ca 1A68 ldr r2, [r3]
4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9497 .loc 1 4165 10 view .LVU3036
9498 00cc 5204 lsls r2, r2, #17
9499 00ce BFD5 bpl .L521
4168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9500 .loc 1 4168 9 is_stmt 1 view .LVU3037
4168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9501 .loc 1 4168 12 is_stmt 0 view .LVU3038
9502 00d0 A26B ldr r2, [r4, #56]
9503 00d2 002A cmp r2, #0
9504 00d4 BCD0 beq .L521
4170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9505 .loc 1 4170 11 is_stmt 1 view .LVU3039
ARM GAS /tmp/ccRVAHyi.s page 337
4170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9506 .loc 1 4170 31 is_stmt 0 view .LVU3040
9507 00d6 1A68 ldr r2, [r3]
9508 00d8 2E49 ldr r1, .L532+20
9509 00da 0A40 ands r2, r1
9510 00dc 1A60 str r2, [r3]
4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9511 .loc 1 4174 11 is_stmt 1 view .LVU3041
4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9512 .loc 1 4174 15 is_stmt 0 view .LVU3042
9513 00de A36B ldr r3, [r4, #56]
4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9514 .loc 1 4174 43 view .LVU3043
9515 00e0 2D4A ldr r2, .L532+24
9516 00e2 5A63 str r2, [r3, #52]
4177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9517 .loc 1 4177 11 is_stmt 1 view .LVU3044
4177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9518 .loc 1 4177 15 is_stmt 0 view .LVU3045
9519 00e4 A06B ldr r0, [r4, #56]
9520 00e6 FFF7FEFF bl HAL_DMA_Abort_IT
9521 .LVL676:
4177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9522 .loc 1 4177 14 view .LVU3046
9523 00ea 0028 cmp r0, #0
9524 00ec B0D0 beq .L521
4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9525 .loc 1 4180 13 is_stmt 1 view .LVU3047
4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9526 .loc 1 4180 17 is_stmt 0 view .LVU3048
9527 00ee A06B ldr r0, [r4, #56]
4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9528 .loc 1 4180 25 view .LVU3049
9529 00f0 436B ldr r3, [r0, #52]
4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9530 .loc 1 4180 13 view .LVU3050
9531 00f2 9847 blx r3
9532 .LVL677:
9533 00f4 ACE7 b .L521
9534 .L531:
4187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9535 .loc 1 4187 7 is_stmt 1 view .LVU3051
4187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9536 .loc 1 4187 16 is_stmt 0 view .LVU3052
9537 00f6 2368 ldr r3, [r4]
4187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9538 .loc 1 4187 26 view .LVU3053
9539 00f8 1A68 ldr r2, [r3]
4187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9540 .loc 1 4187 10 view .LVU3054
9541 00fa 1204 lsls r2, r2, #16
9542 00fc A8D5 bpl .L521
4189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9543 .loc 1 4189 9 is_stmt 1 view .LVU3055
4189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9544 .loc 1 4189 29 is_stmt 0 view .LVU3056
9545 00fe 1A68 ldr r2, [r3]
ARM GAS /tmp/ccRVAHyi.s page 338
9546 0100 2049 ldr r1, .L532+4
9547 0102 0A40 ands r2, r1
9548 0104 1A60 str r2, [r3]
4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9549 .loc 1 4192 9 is_stmt 1 view .LVU3057
4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9550 .loc 1 4192 17 is_stmt 0 view .LVU3058
9551 0106 E36B ldr r3, [r4, #60]
4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9552 .loc 1 4192 12 view .LVU3059
9553 0108 002B cmp r3, #0
9554 010a A1D0 beq .L521
4196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9555 .loc 1 4196 11 is_stmt 1 view .LVU3060
4196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9556 .loc 1 4196 43 is_stmt 0 view .LVU3061
9557 010c 224A ldr r2, .L532+24
9558 010e 5A63 str r2, [r3, #52]
4199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9559 .loc 1 4199 11 is_stmt 1 view .LVU3062
4199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9560 .loc 1 4199 15 is_stmt 0 view .LVU3063
9561 0110 E06B ldr r0, [r4, #60]
9562 0112 FFF7FEFF bl HAL_DMA_Abort_IT
9563 .LVL678:
4199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9564 .loc 1 4199 14 view .LVU3064
9565 0116 0028 cmp r0, #0
9566 0118 9AD0 beq .L521
4202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9567 .loc 1 4202 13 is_stmt 1 view .LVU3065
4202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9568 .loc 1 4202 17 is_stmt 0 view .LVU3066
9569 011a E06B ldr r0, [r4, #60]
4202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9570 .loc 1 4202 25 view .LVU3067
9571 011c 436B ldr r3, [r0, #52]
4202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9572 .loc 1 4202 13 view .LVU3068
9573 011e 9847 blx r3
9574 .LVL679:
9575 0120 96E7 b .L521
9576 .L522:
4245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9577 .loc 1 4245 7 is_stmt 1 view .LVU3069
4245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9578 .loc 1 4245 23 is_stmt 0 view .LVU3070
9579 0122 4123 movs r3, #65
9580 0124 2822 movs r2, #40
9581 0126 E254 strb r2, [r4, r3]
4246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9582 .loc 1 4246 7 is_stmt 1 view .LVU3071
4246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9583 .loc 1 4246 23 is_stmt 0 view .LVU3072
9584 0128 0022 movs r2, #0
9585 012a 0133 adds r3, r3, #1
9586 012c E254 strb r2, [r4, r3]
ARM GAS /tmp/ccRVAHyi.s page 339
4249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9587 .loc 1 4249 7 is_stmt 1 view .LVU3073
4249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9588 .loc 1 4249 23 is_stmt 0 view .LVU3074
9589 012e 636C ldr r3, [r4, #68]
9590 0130 8021 movs r1, #128
9591 0132 0B43 orrs r3, r1
9592 0134 6364 str r3, [r4, #68]
4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9593 .loc 1 4252 7 is_stmt 1 view .LVU3075
4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9594 .loc 1 4252 7 view .LVU3076
9595 0136 4023 movs r3, #64
9596 0138 E254 strb r2, [r4, r3]
4254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9597 .loc 1 4254 7 view .LVU3077
4254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9598 .loc 1 4254 14 is_stmt 0 view .LVU3078
9599 013a 0125 movs r5, #1
9600 .LVL680:
4254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9601 .loc 1 4254 14 view .LVU3079
9602 013c 1CE0 b .L517
9603 .LVL681:
9604 .L523:
4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9605 .loc 1 4260 7 is_stmt 1 view .LVU3080
4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9606 .loc 1 4260 23 is_stmt 0 view .LVU3081
9607 013e 638D ldrh r3, [r4, #42]
4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9608 .loc 1 4260 30 view .LVU3082
9609 0140 228D ldrh r2, [r4, #40]
4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9610 .loc 1 4260 23 view .LVU3083
9611 0142 9B1A subs r3, r3, r2
9612 0144 9BB2 uxth r3, r3
9613 0146 6385 strh r3, [r4, #42]
4263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9614 .loc 1 4263 7 is_stmt 1 view .LVU3084
4263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9615 .loc 1 4263 22 is_stmt 0 view .LVU3085
9616 0148 0023 movs r3, #0
9617 014a 2385 strh r3, [r4, #40]
4280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9618 .loc 1 4280 5 is_stmt 1 view .LVU3086
4280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9619 .loc 1 4280 9 is_stmt 0 view .LVU3087
9620 014c 2368 ldr r3, [r4]
9621 014e 9A69 ldr r2, [r3, #24]
4280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9622 .loc 1 4280 8 view .LVU3088
9623 0150 D203 lsls r2, r2, #15
9624 0152 0DD5 bpl .L525
9625 .L526:
4288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9626 .loc 1 4288 5 is_stmt 1 view .LVU3089
ARM GAS /tmp/ccRVAHyi.s page 340
4288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9627 .loc 1 4288 5 view .LVU3090
9628 0154 4023 movs r3, #64
9629 0156 0022 movs r2, #0
9630 0158 E254 strb r2, [r4, r3]
4294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9631 .loc 1 4294 5 view .LVU3091
9632 015a 0949 ldr r1, .L532
9633 015c 2000 movs r0, r4
9634 .LVL682:
4294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9635 .loc 1 4294 5 is_stmt 0 view .LVU3092
9636 015e FFF7FEFF bl I2C_Enable_IRQ
9637 .LVL683:
4297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9638 .loc 1 4297 5 is_stmt 1 view .LVU3093
4297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9639 .loc 1 4297 9 is_stmt 0 view .LVU3094
9640 0162 2268 ldr r2, [r4]
4297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9641 .loc 1 4297 25 view .LVU3095
9642 0164 1168 ldr r1, [r2]
9643 0166 8023 movs r3, #128
9644 0168 1B02 lsls r3, r3, #8
9645 016a 0B43 orrs r3, r1
9646 016c 1360 str r3, [r2]
4299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9647 .loc 1 4299 5 is_stmt 1 view .LVU3096
4299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9648 .loc 1 4299 12 is_stmt 0 view .LVU3097
9649 016e 03E0 b .L517
9650 .LVL684:
9651 .L525:
4284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9652 .loc 1 4284 7 is_stmt 1 view .LVU3098
9653 0170 0822 movs r2, #8
9654 0172 DA61 str r2, [r3, #28]
9655 0174 EEE7 b .L526
9656 .LVL685:
9657 .L527:
4303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9658 .loc 1 4303 12 is_stmt 0 view .LVU3099
9659 0176 0125 movs r5, #1
9660 .LVL686:
9661 .L517:
4305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9662 .loc 1 4305 1 view .LVU3100
9663 0178 2800 movs r0, r5
9664 @ sp needed
9665 .LVL687:
9666 .LVL688:
4305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9667 .loc 1 4305 1 view .LVU3101
9668 017a F8BD pop {r3, r4, r5, r6, r7, pc}
9669 .LVL689:
9670 .L528:
4156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 341
9671 .loc 1 4156 5 view .LVU3102
9672 017c 0225 movs r5, #2
9673 .LVL690:
4156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9674 .loc 1 4156 5 view .LVU3103
9675 017e FBE7 b .L517
9676 .L533:
9677 .align 2
9678 .L532:
9679 0180 02800000 .word 32770
9680 0184 FF7FFFFF .word -32769
9681 0188 00000000 .word I2C_Slave_ISR_DMA
9682 018c 00000000 .word I2C_DMASlaveReceiveCplt
9683 0190 00000000 .word I2C_DMAError
9684 0194 FFBFFFFF .word -16385
9685 0198 00000000 .word I2C_DMAAbort
9686 .cfi_endproc
9687 .LFE70:
9689 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits
9690 .align 1
9691 .global HAL_I2C_EnableListen_IT
9692 .syntax unified
9693 .code 16
9694 .thumb_func
9695 .fpu softvfp
9697 HAL_I2C_EnableListen_IT:
9698 .LVL691:
9699 .LFB71:
4314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
9700 .loc 1 4314 1 is_stmt 1 view -0
9701 .cfi_startproc
9702 @ args = 0, pretend = 0, frame = 0
9703 @ frame_needed = 0, uses_anonymous_args = 0
4314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
9704 .loc 1 4314 1 is_stmt 0 view .LVU3105
9705 0000 10B5 push {r4, lr}
9706 .LCFI64:
9707 .cfi_def_cfa_offset 8
9708 .cfi_offset 4, -8
9709 .cfi_offset 14, -4
4315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9710 .loc 1 4315 3 is_stmt 1 view .LVU3106
4315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9711 .loc 1 4315 11 is_stmt 0 view .LVU3107
9712 0002 4123 movs r3, #65
9713 0004 C35C ldrb r3, [r0, r3]
4315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9714 .loc 1 4315 6 view .LVU3108
9715 0006 202B cmp r3, #32
9716 0008 01D0 beq .L537
4327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9717 .loc 1 4327 12 view .LVU3109
9718 000a 0220 movs r0, #2
9719 .LVL692:
9720 .L535:
4329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9721 .loc 1 4329 1 view .LVU3110
ARM GAS /tmp/ccRVAHyi.s page 342
9722 @ sp needed
9723 000c 10BD pop {r4, pc}
9724 .LVL693:
9725 .L537:
4317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9726 .loc 1 4317 5 is_stmt 1 view .LVU3111
4317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9727 .loc 1 4317 17 is_stmt 0 view .LVU3112
9728 000e 2133 adds r3, r3, #33
9729 0010 2822 movs r2, #40
9730 0012 C254 strb r2, [r0, r3]
4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9731 .loc 1 4318 5 is_stmt 1 view .LVU3113
4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9732 .loc 1 4318 19 is_stmt 0 view .LVU3114
9733 0014 034B ldr r3, .L538
9734 0016 4363 str r3, [r0, #52]
4321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9735 .loc 1 4321 5 is_stmt 1 view .LVU3115
9736 0018 8021 movs r1, #128
9737 001a 0902 lsls r1, r1, #8
9738 001c FFF7FEFF bl I2C_Enable_IRQ
9739 .LVL694:
4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9740 .loc 1 4323 5 view .LVU3116
4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9741 .loc 1 4323 12 is_stmt 0 view .LVU3117
9742 0020 0020 movs r0, #0
9743 0022 F3E7 b .L535
9744 .L539:
9745 .align 2
9746 .L538:
9747 0024 00000000 .word I2C_Slave_ISR_IT
9748 .cfi_endproc
9749 .LFE71:
9751 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits
9752 .align 1
9753 .global HAL_I2C_DisableListen_IT
9754 .syntax unified
9755 .code 16
9756 .thumb_func
9757 .fpu softvfp
9759 HAL_I2C_DisableListen_IT:
9760 .LVL695:
9761 .LFB72:
4338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9762 .loc 1 4338 1 is_stmt 1 view -0
9763 .cfi_startproc
9764 @ args = 0, pretend = 0, frame = 0
9765 @ frame_needed = 0, uses_anonymous_args = 0
4338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9766 .loc 1 4338 1 is_stmt 0 view .LVU3119
9767 0000 70B5 push {r4, r5, r6, lr}
9768 .LCFI65:
9769 .cfi_def_cfa_offset 16
9770 .cfi_offset 4, -16
9771 .cfi_offset 5, -12
ARM GAS /tmp/ccRVAHyi.s page 343
9772 .cfi_offset 6, -8
9773 .cfi_offset 14, -4
4340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9774 .loc 1 4340 3 is_stmt 1 view .LVU3120
4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9775 .loc 1 4343 3 view .LVU3121
4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9776 .loc 1 4343 11 is_stmt 0 view .LVU3122
9777 0002 4123 movs r3, #65
9778 0004 C35C ldrb r3, [r0, r3]
4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9779 .loc 1 4343 6 view .LVU3123
9780 0006 282B cmp r3, #40
9781 0008 01D0 beq .L543
4358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9782 .loc 1 4358 12 view .LVU3124
9783 000a 0220 movs r0, #2
9784 .LVL696:
9785 .L541:
4360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9786 .loc 1 4360 1 view .LVU3125
9787 @ sp needed
9788 000c 70BD pop {r4, r5, r6, pc}
9789 .LVL697:
9790 .L543:
4345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
9791 .loc 1 4345 5 is_stmt 1 view .LVU3126
4345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
9792 .loc 1 4345 26 is_stmt 0 view .LVU3127
9793 000e 4124 movs r4, #65
9794 0010 025D ldrb r2, [r0, r4]
9795 .LVL698:
4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9796 .loc 1 4346 5 is_stmt 1 view .LVU3128
4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9797 .loc 1 4346 48 is_stmt 0 view .LVU3129
9798 0012 4221 movs r1, #66
9799 0014 435C ldrb r3, [r0, r1]
4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9800 .loc 1 4346 31 view .LVU3130
9801 0016 0325 movs r5, #3
9802 0018 2A40 ands r2, r5
9803 .LVL699:
4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9804 .loc 1 4346 31 view .LVU3131
9805 001a 1343 orrs r3, r2
4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9806 .loc 1 4346 25 view .LVU3132
9807 001c 0363 str r3, [r0, #48]
4347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9808 .loc 1 4347 5 is_stmt 1 view .LVU3133
4347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9809 .loc 1 4347 17 is_stmt 0 view .LVU3134
9810 001e 2023 movs r3, #32
9811 0020 0355 strb r3, [r0, r4]
4348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
9812 .loc 1 4348 5 is_stmt 1 view .LVU3135
ARM GAS /tmp/ccRVAHyi.s page 344
4348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
9813 .loc 1 4348 16 is_stmt 0 view .LVU3136
9814 0022 0023 movs r3, #0
9815 0024 4354 strb r3, [r0, r1]
4349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9816 .loc 1 4349 5 is_stmt 1 view .LVU3137
4349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9817 .loc 1 4349 19 is_stmt 0 view .LVU3138
9818 0026 4363 str r3, [r0, #52]
4352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9819 .loc 1 4352 5 is_stmt 1 view .LVU3139
9820 0028 3E31 adds r1, r1, #62
9821 002a 0902 lsls r1, r1, #8
9822 002c FFF7FEFF bl I2C_Disable_IRQ
9823 .LVL700:
4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9824 .loc 1 4354 5 view .LVU3140
4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9825 .loc 1 4354 12 is_stmt 0 view .LVU3141
9826 0030 0020 movs r0, #0
9827 0032 EBE7 b .L541
9828 .cfi_endproc
9829 .LFE72:
9831 .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits
9832 .align 1
9833 .global HAL_I2C_Master_Abort_IT
9834 .syntax unified
9835 .code 16
9836 .thumb_func
9837 .fpu softvfp
9839 HAL_I2C_Master_Abort_IT:
9840 .LVL701:
9841 .LFB73:
4371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
9842 .loc 1 4371 1 is_stmt 1 view -0
9843 .cfi_startproc
9844 @ args = 0, pretend = 0, frame = 0
9845 @ frame_needed = 0, uses_anonymous_args = 0
4371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
9846 .loc 1 4371 1 is_stmt 0 view .LVU3143
9847 0000 30B5 push {r4, r5, lr}
9848 .LCFI66:
9849 .cfi_def_cfa_offset 12
9850 .cfi_offset 4, -12
9851 .cfi_offset 5, -8
9852 .cfi_offset 14, -4
9853 0002 83B0 sub sp, sp, #12
9854 .LCFI67:
9855 .cfi_def_cfa_offset 24
9856 0004 0400 movs r4, r0
9857 0006 0D00 movs r5, r1
4372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9858 .loc 1 4372 3 is_stmt 1 view .LVU3144
4372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9859 .loc 1 4372 11 is_stmt 0 view .LVU3145
9860 0008 4223 movs r3, #66
9861 000a C35C ldrb r3, [r0, r3]
ARM GAS /tmp/ccRVAHyi.s page 345
4372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9862 .loc 1 4372 6 view .LVU3146
9863 000c 102B cmp r3, #16
9864 000e 2FD1 bne .L548
4375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9865 .loc 1 4375 5 is_stmt 1 view .LVU3147
4375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9866 .loc 1 4375 5 view .LVU3148
9867 0010 3033 adds r3, r3, #48
9868 0012 C35C ldrb r3, [r0, r3]
9869 0014 012B cmp r3, #1
9870 0016 2ED0 beq .L549
4375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9871 .loc 1 4375 5 discriminator 2 view .LVU3149
9872 0018 4023 movs r3, #64
9873 001a 0122 movs r2, #1
9874 001c C254 strb r2, [r0, r3]
4378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9875 .loc 1 4378 5 discriminator 2 view .LVU3150
4378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9876 .loc 1 4378 13 is_stmt 0 discriminator 2 view .LVU3151
9877 001e 0133 adds r3, r3, #1
9878 0020 C35C ldrb r3, [r0, r3]
4378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9879 .loc 1 4378 8 discriminator 2 view .LVU3152
9880 0022 212B cmp r3, #33
9881 0024 18D0 beq .L550
4383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9882 .loc 1 4383 10 is_stmt 1 view .LVU3153
4383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9883 .loc 1 4383 18 is_stmt 0 view .LVU3154
9884 0026 4123 movs r3, #65
9885 0028 C35C ldrb r3, [r0, r3]
4383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9886 .loc 1 4383 13 view .LVU3155
9887 002a 222B cmp r3, #34
9888 002c 1AD0 beq .L551
9889 .LVL702:
9890 .L547:
4391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9891 .loc 1 4391 5 is_stmt 1 view .LVU3156
4394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9892 .loc 1 4394 5 view .LVU3157
4394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9893 .loc 1 4394 17 is_stmt 0 view .LVU3158
9894 002e 4123 movs r3, #65
9895 0030 6022 movs r2, #96
9896 0032 E254 strb r2, [r4, r3]
4398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9897 .loc 1 4398 5 is_stmt 1 view .LVU3159
9898 0034 3F33 adds r3, r3, #63
9899 0036 114A ldr r2, .L552
9900 0038 0092 str r2, [sp]
9901 003a 9B04 lsls r3, r3, #18
9902 003c 0122 movs r2, #1
9903 003e 2900 movs r1, r5
9904 0040 2000 movs r0, r4
ARM GAS /tmp/ccRVAHyi.s page 346
9905 0042 FFF7FEFF bl I2C_TransferConfig
9906 .LVL703:
4401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9907 .loc 1 4401 5 view .LVU3160
4401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9908 .loc 1 4401 5 view .LVU3161
9909 0046 4023 movs r3, #64
9910 0048 0022 movs r2, #0
9911 004a E254 strb r2, [r4, r3]
4406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9912 .loc 1 4406 5 view .LVU3162
9913 004c 2021 movs r1, #32
9914 004e 2000 movs r0, r4
9915 0050 FFF7FEFF bl I2C_Enable_IRQ
9916 .LVL704:
4408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9917 .loc 1 4408 5 view .LVU3163
4408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9918 .loc 1 4408 12 is_stmt 0 view .LVU3164
9919 0054 0020 movs r0, #0
9920 0056 0CE0 b .L545
9921 .LVL705:
9922 .L550:
4380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
9923 .loc 1 4380 7 is_stmt 1 view .LVU3165
9924 0058 0121 movs r1, #1
9925 .LVL706:
4380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
9926 .loc 1 4380 7 is_stmt 0 view .LVU3166
9927 005a FFF7FEFF bl I2C_Disable_IRQ
9928 .LVL707:
4381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9929 .loc 1 4381 7 is_stmt 1 view .LVU3167
4381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9930 .loc 1 4381 27 is_stmt 0 view .LVU3168
9931 005e 1123 movs r3, #17
9932 0060 2363 str r3, [r4, #48]
9933 0062 E4E7 b .L547
9934 .LVL708:
9935 .L551:
4385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
9936 .loc 1 4385 7 is_stmt 1 view .LVU3169
9937 0064 0221 movs r1, #2
9938 .LVL709:
4385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
9939 .loc 1 4385 7 is_stmt 0 view .LVU3170
9940 0066 FFF7FEFF bl I2C_Disable_IRQ
9941 .LVL710:
4386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9942 .loc 1 4386 7 is_stmt 1 view .LVU3171
4386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9943 .loc 1 4386 27 is_stmt 0 view .LVU3172
9944 006a 1223 movs r3, #18
9945 006c 2363 str r3, [r4, #48]
9946 006e DEE7 b .L547
9947 .LVL711:
9948 .L548:
ARM GAS /tmp/ccRVAHyi.s page 347
4414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9949 .loc 1 4414 12 view .LVU3173
9950 0070 0120 movs r0, #1
9951 .LVL712:
9952 .L545:
4416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9953 .loc 1 4416 1 view .LVU3174
9954 0072 03B0 add sp, sp, #12
9955 @ sp needed
9956 .LVL713:
4416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9957 .loc 1 4416 1 view .LVU3175
9958 0074 30BD pop {r4, r5, pc}
9959 .LVL714:
9960 .L549:
4375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9961 .loc 1 4375 5 view .LVU3176
9962 0076 0220 movs r0, #2
9963 .LVL715:
4375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9964 .loc 1 4375 5 view .LVU3177
9965 0078 FBE7 b .L545
9966 .L553:
9967 007a C046 .align 2
9968 .L552:
9969 007c 00400080 .word -2147467264
9970 .cfi_endproc
9971 .LFE73:
9973 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits
9974 .align 1
9975 .global HAL_I2C_EV_IRQHandler
9976 .syntax unified
9977 .code 16
9978 .thumb_func
9979 .fpu softvfp
9981 HAL_I2C_EV_IRQHandler:
9982 .LVL716:
9983 .LFB74:
4433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
9984 .loc 1 4433 1 is_stmt 1 view -0
9985 .cfi_startproc
9986 @ args = 0, pretend = 0, frame = 0
9987 @ frame_needed = 0, uses_anonymous_args = 0
4433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
9988 .loc 1 4433 1 is_stmt 0 view .LVU3179
9989 0000 10B5 push {r4, lr}
9990 .LCFI68:
9991 .cfi_def_cfa_offset 8
9992 .cfi_offset 4, -8
9993 .cfi_offset 14, -4
4435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
9994 .loc 1 4435 3 is_stmt 1 view .LVU3180
4435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
9995 .loc 1 4435 24 is_stmt 0 view .LVU3181
9996 0002 0368 ldr r3, [r0]
4435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
9997 .loc 1 4435 12 view .LVU3182
ARM GAS /tmp/ccRVAHyi.s page 348
9998 0004 9969 ldr r1, [r3, #24]
9999 .LVL717:
4436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10000 .loc 1 4436 3 is_stmt 1 view .LVU3183
4436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10001 .loc 1 4436 12 is_stmt 0 view .LVU3184
10002 0006 1A68 ldr r2, [r3]
10003 .LVL718:
4439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10004 .loc 1 4439 3 is_stmt 1 view .LVU3185
4439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10005 .loc 1 4439 11 is_stmt 0 view .LVU3186
10006 0008 436B ldr r3, [r0, #52]
4439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10007 .loc 1 4439 6 view .LVU3187
10008 000a 002B cmp r3, #0
10009 000c 00D0 beq .L554
4441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10010 .loc 1 4441 5 is_stmt 1 view .LVU3188
10011 000e 9847 blx r3
10012 .LVL719:
10013 .L554:
4443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10014 .loc 1 4443 1 is_stmt 0 view .LVU3189
10015 @ sp needed
10016 0010 10BD pop {r4, pc}
10017 .cfi_endproc
10018 .LFE74:
10020 .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
10021 .align 1
10022 .weak HAL_I2C_MasterTxCpltCallback
10023 .syntax unified
10024 .code 16
10025 .thumb_func
10026 .fpu softvfp
10028 HAL_I2C_MasterTxCpltCallback:
10029 .LVL720:
10030 .LFB76:
4504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10031 .loc 1 4504 1 is_stmt 1 view -0
10032 .cfi_startproc
10033 @ args = 0, pretend = 0, frame = 0
10034 @ frame_needed = 0, uses_anonymous_args = 0
10035 @ link register save eliminated.
4506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10036 .loc 1 4506 3 view .LVU3191
4511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10037 .loc 1 4511 1 is_stmt 0 view .LVU3192
10038 @ sp needed
10039 0000 7047 bx lr
10040 .cfi_endproc
10041 .LFE76:
10043 .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
10044 .align 1
10045 .weak HAL_I2C_MasterRxCpltCallback
10046 .syntax unified
10047 .code 16
ARM GAS /tmp/ccRVAHyi.s page 349
10048 .thumb_func
10049 .fpu softvfp
10051 HAL_I2C_MasterRxCpltCallback:
10052 .LVL721:
10053 .LFB77:
4520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10054 .loc 1 4520 1 is_stmt 1 view -0
10055 .cfi_startproc
10056 @ args = 0, pretend = 0, frame = 0
10057 @ frame_needed = 0, uses_anonymous_args = 0
10058 @ link register save eliminated.
4522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10059 .loc 1 4522 3 view .LVU3194
4527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10060 .loc 1 4527 1 is_stmt 0 view .LVU3195
10061 @ sp needed
10062 0000 7047 bx lr
10063 .cfi_endproc
10064 .LFE77:
10066 .section .text.I2C_ITMasterSeqCplt,"ax",%progbits
10067 .align 1
10068 .syntax unified
10069 .code 16
10070 .thumb_func
10071 .fpu softvfp
10073 I2C_ITMasterSeqCplt:
10074 .LVL722:
10075 .LFB96:
5505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
10076 .loc 1 5505 1 is_stmt 1 view -0
10077 .cfi_startproc
10078 @ args = 0, pretend = 0, frame = 0
10079 @ frame_needed = 0, uses_anonymous_args = 0
5505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
10080 .loc 1 5505 1 is_stmt 0 view .LVU3197
10081 0000 70B5 push {r4, r5, r6, lr}
10082 .LCFI69:
10083 .cfi_def_cfa_offset 16
10084 .cfi_offset 4, -16
10085 .cfi_offset 5, -12
10086 .cfi_offset 6, -8
10087 .cfi_offset 14, -4
10088 0002 0400 movs r4, r0
5507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10089 .loc 1 5507 3 is_stmt 1 view .LVU3198
5507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10090 .loc 1 5507 14 is_stmt 0 view .LVU3199
10091 0004 4223 movs r3, #66
10092 0006 0022 movs r2, #0
10093 0008 C254 strb r2, [r0, r3]
5511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10094 .loc 1 5511 3 is_stmt 1 view .LVU3200
5511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10095 .loc 1 5511 11 is_stmt 0 view .LVU3201
10096 000a 013B subs r3, r3, #1
10097 000c C35C ldrb r3, [r0, r3]
5511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 350
10098 .loc 1 5511 6 view .LVU3202
10099 000e 212B cmp r3, #33
10100 0010 0FD0 beq .L561
5533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
10101 .loc 1 5533 5 is_stmt 1 view .LVU3203
5533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
10102 .loc 1 5533 25 is_stmt 0 view .LVU3204
10103 0012 4123 movs r3, #65
10104 0014 2022 movs r2, #32
10105 0016 C254 strb r2, [r0, r3]
5534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10106 .loc 1 5534 5 is_stmt 1 view .LVU3205
5534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10107 .loc 1 5534 25 is_stmt 0 view .LVU3206
10108 0018 2F3B subs r3, r3, #47
10109 001a 0363 str r3, [r0, #48]
5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10110 .loc 1 5535 5 is_stmt 1 view .LVU3207
5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10111 .loc 1 5535 25 is_stmt 0 view .LVU3208
10112 001c 0025 movs r5, #0
10113 001e 4563 str r5, [r0, #52]
5538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10114 .loc 1 5538 5 is_stmt 1 view .LVU3209
10115 0020 0221 movs r1, #2
10116 0022 FFF7FEFF bl I2C_Disable_IRQ
10117 .LVL723:
5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10118 .loc 1 5541 5 view .LVU3210
5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10119 .loc 1 5541 5 view .LVU3211
10120 0026 4023 movs r3, #64
10121 0028 E554 strb r5, [r4, r3]
5547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10122 .loc 1 5547 5 view .LVU3212
10123 002a 2000 movs r0, r4
10124 002c FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
10125 .LVL724:
10126 .L558:
5550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10127 .loc 1 5550 1 is_stmt 0 view .LVU3213
10128 @ sp needed
10129 .LVL725:
5550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10130 .loc 1 5550 1 view .LVU3214
10131 0030 70BD pop {r4, r5, r6, pc}
10132 .LVL726:
10133 .L561:
5513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
10134 .loc 1 5513 5 is_stmt 1 view .LVU3215
5513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
10135 .loc 1 5513 25 is_stmt 0 view .LVU3216
10136 0032 2033 adds r3, r3, #32
10137 0034 2032 adds r2, r2, #32
10138 0036 C254 strb r2, [r0, r3]
5514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10139 .loc 1 5514 5 is_stmt 1 view .LVU3217
ARM GAS /tmp/ccRVAHyi.s page 351
5514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10140 .loc 1 5514 25 is_stmt 0 view .LVU3218
10141 0038 303B subs r3, r3, #48
10142 003a 0363 str r3, [r0, #48]
5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10143 .loc 1 5515 5 is_stmt 1 view .LVU3219
5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10144 .loc 1 5515 25 is_stmt 0 view .LVU3220
10145 003c 0025 movs r5, #0
10146 003e 4563 str r5, [r0, #52]
5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10147 .loc 1 5518 5 is_stmt 1 view .LVU3221
10148 0040 0121 movs r1, #1
10149 0042 FFF7FEFF bl I2C_Disable_IRQ
10150 .LVL727:
5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10151 .loc 1 5521 5 view .LVU3222
5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10152 .loc 1 5521 5 view .LVU3223
10153 0046 4023 movs r3, #64
10154 0048 E554 strb r5, [r4, r3]
5527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10155 .loc 1 5527 5 view .LVU3224
10156 004a 2000 movs r0, r4
10157 004c FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
10158 .LVL728:
10159 0050 EEE7 b .L558
10160 .cfi_endproc
10161 .LFE96:
10163 .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
10164 .align 1
10165 .weak HAL_I2C_SlaveTxCpltCallback
10166 .syntax unified
10167 .code 16
10168 .thumb_func
10169 .fpu softvfp
10171 HAL_I2C_SlaveTxCpltCallback:
10172 .LVL729:
10173 .LFB78:
4535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10174 .loc 1 4535 1 view -0
10175 .cfi_startproc
10176 @ args = 0, pretend = 0, frame = 0
10177 @ frame_needed = 0, uses_anonymous_args = 0
10178 @ link register save eliminated.
4537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10179 .loc 1 4537 3 view .LVU3226
4542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10180 .loc 1 4542 1 is_stmt 0 view .LVU3227
10181 @ sp needed
10182 0000 7047 bx lr
10183 .cfi_endproc
10184 .LFE78:
10186 .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
10187 .align 1
10188 .weak HAL_I2C_SlaveRxCpltCallback
10189 .syntax unified
ARM GAS /tmp/ccRVAHyi.s page 352
10190 .code 16
10191 .thumb_func
10192 .fpu softvfp
10194 HAL_I2C_SlaveRxCpltCallback:
10195 .LVL730:
10196 .LFB79:
4551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10197 .loc 1 4551 1 is_stmt 1 view -0
10198 .cfi_startproc
10199 @ args = 0, pretend = 0, frame = 0
10200 @ frame_needed = 0, uses_anonymous_args = 0
10201 @ link register save eliminated.
4553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10202 .loc 1 4553 3 view .LVU3229
4558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10203 .loc 1 4558 1 is_stmt 0 view .LVU3230
10204 @ sp needed
10205 0000 7047 bx lr
10206 .cfi_endproc
10207 .LFE79:
10209 .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits
10210 .align 1
10211 .syntax unified
10212 .code 16
10213 .thumb_func
10214 .fpu softvfp
10216 I2C_ITSlaveSeqCplt:
10217 .LVL731:
10218 .LFB97:
5558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
10219 .loc 1 5558 1 is_stmt 1 view -0
10220 .cfi_startproc
10221 @ args = 0, pretend = 0, frame = 0
10222 @ frame_needed = 0, uses_anonymous_args = 0
5558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
10223 .loc 1 5558 1 is_stmt 0 view .LVU3232
10224 0000 10B5 push {r4, lr}
10225 .LCFI70:
10226 .cfi_def_cfa_offset 8
10227 .cfi_offset 4, -8
10228 .cfi_offset 14, -4
10229 0002 0400 movs r4, r0
5559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10230 .loc 1 5559 3 is_stmt 1 view .LVU3233
5559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10231 .loc 1 5559 26 is_stmt 0 view .LVU3234
10232 0004 0368 ldr r3, [r0]
5559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10233 .loc 1 5559 12 view .LVU3235
10234 0006 1A68 ldr r2, [r3]
10235 .LVL732:
5562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10236 .loc 1 5562 3 is_stmt 1 view .LVU3236
5562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10237 .loc 1 5562 14 is_stmt 0 view .LVU3237
10238 0008 4221 movs r1, #66
10239 000a 0020 movs r0, #0
ARM GAS /tmp/ccRVAHyi.s page 353
10240 .LVL733:
5562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10241 .loc 1 5562 14 view .LVU3238
10242 000c 6054 strb r0, [r4, r1]
5565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10243 .loc 1 5565 3 is_stmt 1 view .LVU3239
5565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10244 .loc 1 5565 6 is_stmt 0 view .LVU3240
10245 000e 5104 lsls r1, r2, #17
10246 0010 0CD5 bpl .L565
5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10247 .loc 1 5568 5 is_stmt 1 view .LVU3241
5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10248 .loc 1 5568 25 is_stmt 0 view .LVU3242
10249 0012 1A68 ldr r2, [r3]
10250 .LVL734:
5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10251 .loc 1 5568 25 view .LVU3243
10252 0014 1949 ldr r1, .L571
10253 0016 0A40 ands r2, r1
10254 0018 1A60 str r2, [r3]
10255 .L566:
5578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10256 .loc 1 5578 3 is_stmt 1 view .LVU3244
5580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10257 .loc 1 5580 3 view .LVU3245
5580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10258 .loc 1 5580 11 is_stmt 0 view .LVU3246
10259 001a 4123 movs r3, #65
10260 001c E35C ldrb r3, [r4, r3]
5580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10261 .loc 1 5580 6 view .LVU3247
10262 001e 292B cmp r3, #41
10263 0020 0BD0 beq .L569
5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10264 .loc 1 5600 8 is_stmt 1 view .LVU3248
5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10265 .loc 1 5600 16 is_stmt 0 view .LVU3249
10266 0022 4123 movs r3, #65
10267 0024 E35C ldrb r3, [r4, r3]
5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10268 .loc 1 5600 11 view .LVU3250
10269 0026 2A2B cmp r3, #42
10270 0028 17D0 beq .L570
10271 .L564:
5623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10272 .loc 1 5623 1 view .LVU3251
10273 @ sp needed
10274 .LVL735:
5623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10275 .loc 1 5623 1 view .LVU3252
10276 002a 10BD pop {r4, pc}
10277 .LVL736:
10278 .L565:
5570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10279 .loc 1 5570 8 is_stmt 1 view .LVU3253
5570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 354
10280 .loc 1 5570 11 is_stmt 0 view .LVU3254
10281 002c 1204 lsls r2, r2, #16
10282 002e F4D5 bpl .L566
10283 .LVL737:
5573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10284 .loc 1 5573 5 is_stmt 1 view .LVU3255
5573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10285 .loc 1 5573 25 is_stmt 0 view .LVU3256
10286 0030 1A68 ldr r2, [r3]
10287 0032 1349 ldr r1, .L571+4
10288 0034 0A40 ands r2, r1
10289 0036 1A60 str r2, [r3]
10290 0038 EFE7 b .L566
10291 .L569:
5583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
10292 .loc 1 5583 5 is_stmt 1 view .LVU3257
5583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
10293 .loc 1 5583 25 is_stmt 0 view .LVU3258
10294 003a 1833 adds r3, r3, #24
10295 003c 2822 movs r2, #40
10296 003e E254 strb r2, [r4, r3]
5584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10297 .loc 1 5584 5 is_stmt 1 view .LVU3259
5584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10298 .loc 1 5584 25 is_stmt 0 view .LVU3260
10299 0040 203B subs r3, r3, #32
10300 0042 2363 str r3, [r4, #48]
5587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10301 .loc 1 5587 5 is_stmt 1 view .LVU3261
10302 0044 0121 movs r1, #1
10303 0046 2000 movs r0, r4
10304 0048 FFF7FEFF bl I2C_Disable_IRQ
10305 .LVL738:
5590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10306 .loc 1 5590 5 view .LVU3262
5590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10307 .loc 1 5590 5 view .LVU3263
10308 004c 4023 movs r3, #64
10309 004e 0022 movs r2, #0
10310 0050 E254 strb r2, [r4, r3]
5596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10311 .loc 1 5596 5 view .LVU3264
10312 0052 2000 movs r0, r4
10313 0054 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
10314 .LVL739:
10315 0058 E7E7 b .L564
10316 .L570:
5603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
10317 .loc 1 5603 5 view .LVU3265
5603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
10318 .loc 1 5603 25 is_stmt 0 view .LVU3266
10319 005a 1733 adds r3, r3, #23
10320 005c 2822 movs r2, #40
10321 005e E254 strb r2, [r4, r3]
5604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10322 .loc 1 5604 5 is_stmt 1 view .LVU3267
5604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 355
10323 .loc 1 5604 25 is_stmt 0 view .LVU3268
10324 0060 1F3B subs r3, r3, #31
10325 0062 2363 str r3, [r4, #48]
5607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10326 .loc 1 5607 5 is_stmt 1 view .LVU3269
10327 0064 0221 movs r1, #2
10328 0066 2000 movs r0, r4
10329 0068 FFF7FEFF bl I2C_Disable_IRQ
10330 .LVL740:
5610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10331 .loc 1 5610 5 view .LVU3270
5610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10332 .loc 1 5610 5 view .LVU3271
10333 006c 4023 movs r3, #64
10334 006e 0022 movs r2, #0
10335 0070 E254 strb r2, [r4, r3]
5616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10336 .loc 1 5616 5 view .LVU3272
10337 0072 2000 movs r0, r4
10338 0074 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
10339 .LVL741:
5622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10340 .loc 1 5622 3 view .LVU3273
5623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10341 .loc 1 5623 1 is_stmt 0 view .LVU3274
10342 0078 D7E7 b .L564
10343 .L572:
10344 007a C046 .align 2
10345 .L571:
10346 007c FFBFFFFF .word -16385
10347 0080 FF7FFFFF .word -32769
10348 .cfi_endproc
10349 .LFE97:
10351 .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits
10352 .align 1
10353 .syntax unified
10354 .code 16
10355 .thumb_func
10356 .fpu softvfp
10358 I2C_DMASlaveTransmitCplt:
10359 .LVL742:
10360 .LFB105:
6206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
10361 .loc 1 6206 1 is_stmt 1 view -0
10362 .cfi_startproc
10363 @ args = 0, pretend = 0, frame = 0
10364 @ frame_needed = 0, uses_anonymous_args = 0
6206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
10365 .loc 1 6206 1 is_stmt 0 view .LVU3276
10366 0000 10B5 push {r4, lr}
10367 .LCFI71:
10368 .cfi_def_cfa_offset 8
10369 .cfi_offset 4, -8
10370 .cfi_offset 14, -4
6208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
10371 .loc 1 6208 3 is_stmt 1 view .LVU3277
6208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
ARM GAS /tmp/ccRVAHyi.s page 356
10372 .loc 1 6208 22 is_stmt 0 view .LVU3278
10373 0002 406A ldr r0, [r0, #36]
10374 .LVL743:
6209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10375 .loc 1 6209 3 is_stmt 1 view .LVU3279
6209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10376 .loc 1 6209 12 is_stmt 0 view .LVU3280
10377 0004 C36A ldr r3, [r0, #44]
10378 .LVL744:
6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10379 .loc 1 6211 3 is_stmt 1 view .LVU3281
6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10380 .loc 1 6211 6 is_stmt 0 view .LVU3282
10381 0006 8022 movs r2, #128
10382 0008 5204 lsls r2, r2, #17
10383 000a 9342 cmp r3, r2
10384 000c 01D0 beq .L574
6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10385 .loc 1 6211 38 discriminator 1 view .LVU3283
10386 000e 002B cmp r3, #0
10387 0010 06D1 bne .L573
10388 .L574:
6214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10389 .loc 1 6214 5 is_stmt 1 view .LVU3284
6214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10390 .loc 1 6214 9 is_stmt 0 view .LVU3285
10391 0012 0268 ldr r2, [r0]
6214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10392 .loc 1 6214 25 view .LVU3286
10393 0014 1368 ldr r3, [r2]
10394 .LVL745:
6214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10395 .loc 1 6214 25 view .LVU3287
10396 0016 0349 ldr r1, .L576
10397 0018 0B40 ands r3, r1
10398 001a 1360 str r3, [r2]
6218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10399 .loc 1 6218 5 is_stmt 1 view .LVU3288
10400 001c FFF7FEFF bl I2C_ITSlaveSeqCplt
10401 .LVL746:
10402 .L573:
6226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10403 .loc 1 6226 1 is_stmt 0 view .LVU3289
10404 @ sp needed
10405 0020 10BD pop {r4, pc}
10406 .L577:
10407 0022 C046 .align 2
10408 .L576:
10409 0024 FFBFFFFF .word -16385
10410 .cfi_endproc
10411 .LFE105:
10413 .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits
10414 .align 1
10415 .syntax unified
10416 .code 16
10417 .thumb_func
10418 .fpu softvfp
ARM GAS /tmp/ccRVAHyi.s page 357
10420 I2C_DMASlaveReceiveCplt:
10421 .LVL747:
10422 .LFB107:
6284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
10423 .loc 1 6284 1 is_stmt 1 view -0
10424 .cfi_startproc
10425 @ args = 0, pretend = 0, frame = 0
10426 @ frame_needed = 0, uses_anonymous_args = 0
6284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
10427 .loc 1 6284 1 is_stmt 0 view .LVU3291
10428 0000 10B5 push {r4, lr}
10429 .LCFI72:
10430 .cfi_def_cfa_offset 8
10431 .cfi_offset 4, -8
10432 .cfi_offset 14, -4
6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
10433 .loc 1 6286 3 is_stmt 1 view .LVU3292
6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
10434 .loc 1 6286 22 is_stmt 0 view .LVU3293
10435 0002 406A ldr r0, [r0, #36]
10436 .LVL748:
6287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10437 .loc 1 6287 3 is_stmt 1 view .LVU3294
6287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10438 .loc 1 6287 12 is_stmt 0 view .LVU3295
10439 0004 C26A ldr r2, [r0, #44]
10440 .LVL749:
6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
10441 .loc 1 6289 3 is_stmt 1 view .LVU3296
6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
10442 .loc 1 6289 8 is_stmt 0 view .LVU3297
10443 0006 C36B ldr r3, [r0, #60]
10444 0008 1B68 ldr r3, [r3]
10445 000a 5B68 ldr r3, [r3, #4]
6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
10446 .loc 1 6289 6 view .LVU3298
10447 000c 002B cmp r3, #0
10448 000e 02D1 bne .L578
6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
10449 .loc 1 6289 51 discriminator 1 view .LVU3299
10450 0010 054B ldr r3, .L581
10451 0012 9A42 cmp r2, r3
10452 0014 00D1 bne .L580
10453 .LVL750:
10454 .L578:
6304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10455 .loc 1 6304 1 view .LVU3300
10456 @ sp needed
10457 0016 10BD pop {r4, pc}
10458 .LVL751:
10459 .L580:
6293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10460 .loc 1 6293 5 is_stmt 1 view .LVU3301
6293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10461 .loc 1 6293 9 is_stmt 0 view .LVU3302
10462 0018 0268 ldr r2, [r0]
10463 .LVL752:
ARM GAS /tmp/ccRVAHyi.s page 358
6293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10464 .loc 1 6293 25 view .LVU3303
10465 001a 1368 ldr r3, [r2]
10466 001c 0349 ldr r1, .L581+4
10467 001e 0B40 ands r3, r1
10468 0020 1360 str r3, [r2]
6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10469 .loc 1 6296 5 is_stmt 1 view .LVU3304
10470 0022 FFF7FEFF bl I2C_ITSlaveSeqCplt
10471 .LVL753:
6303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10472 .loc 1 6303 3 view .LVU3305
6304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10473 .loc 1 6304 1 is_stmt 0 view .LVU3306
10474 0026 F6E7 b .L578
10475 .L582:
10476 .align 2
10477 .L581:
10478 0028 0000FFFF .word -65536
10479 002c FF7FFFFF .word -32769
10480 .cfi_endproc
10481 .LFE107:
10483 .section .text.HAL_I2C_AddrCallback,"ax",%progbits
10484 .align 1
10485 .weak HAL_I2C_AddrCallback
10486 .syntax unified
10487 .code 16
10488 .thumb_func
10489 .fpu softvfp
10491 HAL_I2C_AddrCallback:
10492 .LVL754:
10493 .LFB80:
4569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10494 .loc 1 4569 1 is_stmt 1 view -0
10495 .cfi_startproc
10496 @ args = 0, pretend = 0, frame = 0
10497 @ frame_needed = 0, uses_anonymous_args = 0
10498 @ link register save eliminated.
4571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(TransferDirection);
10499 .loc 1 4571 3 view .LVU3308
4572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(AddrMatchCode);
10500 .loc 1 4572 3 view .LVU3309
4573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10501 .loc 1 4573 3 view .LVU3310
4578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10502 .loc 1 4578 1 is_stmt 0 view .LVU3311
10503 @ sp needed
10504 0000 7047 bx lr
10505 .cfi_endproc
10506 .LFE80:
10508 .section .text.I2C_ITAddrCplt,"ax",%progbits
10509 .align 1
10510 .syntax unified
10511 .code 16
10512 .thumb_func
10513 .fpu softvfp
10515 I2C_ITAddrCplt:
ARM GAS /tmp/ccRVAHyi.s page 359
10516 .LVL755:
10517 .LFB95:
5410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection;
10518 .loc 1 5410 1 is_stmt 1 view -0
10519 .cfi_startproc
10520 @ args = 0, pretend = 0, frame = 0
10521 @ frame_needed = 0, uses_anonymous_args = 0
5410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection;
10522 .loc 1 5410 1 is_stmt 0 view .LVU3313
10523 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
10524 .LCFI73:
10525 .cfi_def_cfa_offset 24
10526 .cfi_offset 3, -24
10527 .cfi_offset 4, -20
10528 .cfi_offset 5, -16
10529 .cfi_offset 6, -12
10530 .cfi_offset 7, -8
10531 .cfi_offset 14, -4
10532 0002 0400 movs r4, r0
5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t slaveaddrcode;
10533 .loc 1 5411 3 is_stmt 1 view .LVU3314
5412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd1code;
10534 .loc 1 5412 3 view .LVU3315
5413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd2code;
10535 .loc 1 5413 3 view .LVU3316
5414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10536 .loc 1 5414 3 view .LVU3317
5417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10537 .loc 1 5417 3 view .LVU3318
5420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10538 .loc 1 5420 3 view .LVU3319
5420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10539 .loc 1 5420 22 is_stmt 0 view .LVU3320
10540 0004 4123 movs r3, #65
10541 0006 C35C ldrb r3, [r0, r3]
5420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10542 .loc 1 5420 6 view .LVU3321
10543 0008 2822 movs r2, #40
10544 000a 1340 ands r3, r2
10545 000c 282B cmp r3, #40
10546 000e 06D0 beq .L589
5492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10547 .loc 1 5492 5 is_stmt 1 view .LVU3322
10548 0010 0368 ldr r3, [r0]
10549 0012 0822 movs r2, #8
10550 0014 DA61 str r2, [r3, #28]
5495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10551 .loc 1 5495 5 view .LVU3323
5495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10552 .loc 1 5495 5 view .LVU3324
10553 0016 4023 movs r3, #64
10554 0018 0022 movs r2, #0
10555 001a C254 strb r2, [r0, r3]
10556 .LVL756:
10557 .L584:
5497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10558 .loc 1 5497 1 is_stmt 0 view .LVU3325
ARM GAS /tmp/ccRVAHyi.s page 360
10559 @ sp needed
10560 .LVL757:
5497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10561 .loc 1 5497 1 view .LVU3326
10562 001c F8BD pop {r3, r4, r5, r6, r7, pc}
10563 .LVL758:
10564 .L589:
5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
10565 .loc 1 5422 5 is_stmt 1 view .LVU3327
5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
10566 .loc 1 5422 25 is_stmt 0 view .LVU3328
10567 001e 0368 ldr r3, [r0]
10568 0020 9E69 ldr r6, [r3, #24]
10569 0022 360C lsrs r6, r6, #16
5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
10570 .loc 1 5422 23 view .LVU3329
10571 0024 273A subs r2, r2, #39
10572 0026 1640 ands r6, r2
10573 .LVL759:
5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
10574 .loc 1 5423 5 is_stmt 1 view .LVU3330
5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
10575 .loc 1 5423 25 is_stmt 0 view .LVU3331
10576 0028 9A69 ldr r2, [r3, #24]
10577 002a 120C lsrs r2, r2, #16
5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
10578 .loc 1 5423 23 view .LVU3332
10579 002c FE27 movs r7, #254
10580 002e 3A40 ands r2, r7
10581 0030 1500 movs r5, r2
10582 .LVL760:
5424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
10583 .loc 1 5424 5 is_stmt 1 view .LVU3333
5424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
10584 .loc 1 5424 25 is_stmt 0 view .LVU3334
10585 0032 9A68 ldr r2, [r3, #8]
5424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
10586 .loc 1 5424 23 view .LVU3335
10587 0034 9205 lsls r2, r2, #22
10588 0036 920D lsrs r2, r2, #22
10589 .LVL761:
5425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10590 .loc 1 5425 5 is_stmt 1 view .LVU3336
5425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10591 .loc 1 5425 25 is_stmt 0 view .LVU3337
10592 0038 D868 ldr r0, [r3, #12]
10593 .LVL762:
5425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10594 .loc 1 5425 23 view .LVU3338
10595 003a 0740 ands r7, r0
10596 .LVL763:
5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10597 .loc 1 5428 5 is_stmt 1 view .LVU3339
5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10598 .loc 1 5428 8 is_stmt 0 view .LVU3340
10599 003c E168 ldr r1, [r4, #12]
10600 .LVL764:
ARM GAS /tmp/ccRVAHyi.s page 361
5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10601 .loc 1 5428 8 view .LVU3341
10602 003e 0229 cmp r1, #2
10603 0040 23D1 bne .L586
5430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10604 .loc 1 5430 7 is_stmt 1 view .LVU3342
5430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10605 .loc 1 5430 44 is_stmt 0 view .LVU3343
10606 0042 D009 lsrs r0, r2, #7
10607 0044 4540 eors r5, r0
10608 .LVL765:
5430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10609 .loc 1 5430 10 view .LVU3344
10610 0046 0431 adds r1, r1, #4
10611 0048 2942 tst r1, r5
10612 004a 10D1 bne .L587
5432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount++;
10613 .loc 1 5432 9 is_stmt 1 view .LVU3345
10614 .LVL766:
5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
10615 .loc 1 5433 9 view .LVU3346
5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
10616 .loc 1 5433 13 is_stmt 0 view .LVU3347
10617 004c A16C ldr r1, [r4, #72]
5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
10618 .loc 1 5433 29 view .LVU3348
10619 004e 0131 adds r1, r1, #1
10620 0050 A164 str r1, [r4, #72]
5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10621 .loc 1 5434 9 is_stmt 1 view .LVU3349
5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10622 .loc 1 5434 17 is_stmt 0 view .LVU3350
10623 0052 A16C ldr r1, [r4, #72]
5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10624 .loc 1 5434 12 view .LVU3351
10625 0054 0229 cmp r1, #2
10626 0056 E1D1 bne .L584
5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10627 .loc 1 5437 11 is_stmt 1 view .LVU3352
5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10628 .loc 1 5437 32 is_stmt 0 view .LVU3353
10629 0058 0021 movs r1, #0
10630 005a A164 str r1, [r4, #72]
5440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10631 .loc 1 5440 11 is_stmt 1 view .LVU3354
10632 005c 0820 movs r0, #8
10633 005e D861 str r0, [r3, #28]
5443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10634 .loc 1 5443 11 view .LVU3355
5443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10635 .loc 1 5443 11 view .LVU3356
10636 0060 4023 movs r3, #64
10637 0062 E154 strb r1, [r4, r3]
5449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10638 .loc 1 5449 11 view .LVU3357
10639 0064 3100 movs r1, r6
10640 0066 2000 movs r0, r4
ARM GAS /tmp/ccRVAHyi.s page 362
10641 0068 FFF7FEFF bl HAL_I2C_AddrCallback
10642 .LVL767:
5449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10643 .loc 1 5449 11 is_stmt 0 view .LVU3358
10644 006c D6E7 b .L584
10645 .LVL768:
10646 .L587:
5455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10647 .loc 1 5455 9 is_stmt 1 view .LVU3359
5458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10648 .loc 1 5458 9 view .LVU3360
10649 006e 8021 movs r1, #128
10650 0070 0902 lsls r1, r1, #8
10651 0072 2000 movs r0, r4
10652 0074 FFF7FEFF bl I2C_Disable_IRQ
10653 .LVL769:
5461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10654 .loc 1 5461 9 view .LVU3361
5461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10655 .loc 1 5461 9 view .LVU3362
10656 0078 4023 movs r3, #64
10657 007a 0022 movs r2, #0
10658 007c E254 strb r2, [r4, r3]
5467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10659 .loc 1 5467 9 view .LVU3363
10660 007e 3A00 movs r2, r7
10661 0080 3100 movs r1, r6
10662 0082 2000 movs r0, r4
10663 0084 FFF7FEFF bl HAL_I2C_AddrCallback
10664 .LVL770:
10665 0088 C8E7 b .L584
10666 .LVL771:
10667 .L586:
5475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10668 .loc 1 5475 7 view .LVU3364
10669 008a 8021 movs r1, #128
10670 008c 0902 lsls r1, r1, #8
10671 008e 2000 movs r0, r4
10672 0090 FFF7FEFF bl I2C_Disable_IRQ
10673 .LVL772:
5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10674 .loc 1 5478 7 view .LVU3365
5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10675 .loc 1 5478 7 view .LVU3366
10676 0094 4023 movs r3, #64
10677 0096 0022 movs r2, #0
10678 0098 E254 strb r2, [r4, r3]
5484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10679 .loc 1 5484 7 view .LVU3367
10680 009a 2A00 movs r2, r5
10681 009c 3100 movs r1, r6
10682 009e 2000 movs r0, r4
10683 00a0 FFF7FEFF bl HAL_I2C_AddrCallback
10684 .LVL773:
10685 00a4 BAE7 b .L584
10686 .cfi_endproc
10687 .LFE95:
ARM GAS /tmp/ccRVAHyi.s page 363
10689 .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits
10690 .align 1
10691 .weak HAL_I2C_ListenCpltCallback
10692 .syntax unified
10693 .code 16
10694 .thumb_func
10695 .fpu softvfp
10697 HAL_I2C_ListenCpltCallback:
10698 .LVL774:
10699 .LFB81:
4587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10700 .loc 1 4587 1 view -0
10701 .cfi_startproc
10702 @ args = 0, pretend = 0, frame = 0
10703 @ frame_needed = 0, uses_anonymous_args = 0
10704 @ link register save eliminated.
4589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10705 .loc 1 4589 3 view .LVU3369
4594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10706 .loc 1 4594 1 is_stmt 0 view .LVU3370
10707 @ sp needed
10708 0000 7047 bx lr
10709 .cfi_endproc
10710 .LFE81:
10712 .section .text.I2C_ITListenCplt,"ax",%progbits
10713 .align 1
10714 .syntax unified
10715 .code 16
10716 .thumb_func
10717 .fpu softvfp
10719 I2C_ITListenCplt:
10720 .LVL775:
10721 .LFB100:
5934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
10722 .loc 1 5934 1 is_stmt 1 view -0
10723 .cfi_startproc
10724 @ args = 0, pretend = 0, frame = 0
10725 @ frame_needed = 0, uses_anonymous_args = 0
5934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
10726 .loc 1 5934 1 is_stmt 0 view .LVU3372
10727 0000 10B5 push {r4, lr}
10728 .LCFI74:
10729 .cfi_def_cfa_offset 8
10730 .cfi_offset 4, -8
10731 .cfi_offset 14, -4
10732 0002 0400 movs r4, r0
5936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10733 .loc 1 5936 3 is_stmt 1 view .LVU3373
5936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10734 .loc 1 5936 21 is_stmt 0 view .LVU3374
10735 0004 164B ldr r3, .L593
10736 0006 C362 str r3, [r0, #44]
5937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10737 .loc 1 5937 3 is_stmt 1 view .LVU3375
5937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10738 .loc 1 5937 23 is_stmt 0 view .LVU3376
10739 0008 0023 movs r3, #0
ARM GAS /tmp/ccRVAHyi.s page 364
10740 000a 0363 str r3, [r0, #48]
5938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10741 .loc 1 5938 3 is_stmt 1 view .LVU3377
5938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10742 .loc 1 5938 15 is_stmt 0 view .LVU3378
10743 000c 4122 movs r2, #65
10744 000e 2020 movs r0, #32
10745 .LVL776:
5938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10746 .loc 1 5938 15 view .LVU3379
10747 0010 A054 strb r0, [r4, r2]
5939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10748 .loc 1 5939 3 is_stmt 1 view .LVU3380
5939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10749 .loc 1 5939 14 is_stmt 0 view .LVU3381
10750 0012 0132 adds r2, r2, #1
10751 0014 A354 strb r3, [r4, r2]
5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10752 .loc 1 5940 3 is_stmt 1 view .LVU3382
5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10753 .loc 1 5940 17 is_stmt 0 view .LVU3383
10754 0016 6363 str r3, [r4, #52]
5943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10755 .loc 1 5943 3 is_stmt 1 view .LVU3384
5943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10756 .loc 1 5943 6 is_stmt 0 view .LVU3385
10757 0018 4B07 lsls r3, r1, #29
10758 001a 13D5 bpl .L592
5946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10759 .loc 1 5946 5 is_stmt 1 view .LVU3386
5946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10760 .loc 1 5946 36 is_stmt 0 view .LVU3387
10761 001c 2368 ldr r3, [r4]
5946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10762 .loc 1 5946 46 view .LVU3388
10763 001e 5B6A ldr r3, [r3, #36]
5946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10764 .loc 1 5946 21 view .LVU3389
10765 0020 626A ldr r2, [r4, #36]
10766 0022 1370 strb r3, [r2]
5949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10767 .loc 1 5949 5 is_stmt 1 view .LVU3390
5949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10768 .loc 1 5949 19 is_stmt 0 view .LVU3391
10769 0024 636A ldr r3, [r4, #36]
10770 0026 0133 adds r3, r3, #1
10771 0028 6362 str r3, [r4, #36]
5951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10772 .loc 1 5951 5 is_stmt 1 view .LVU3392
5951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10773 .loc 1 5951 14 is_stmt 0 view .LVU3393
10774 002a 238D ldrh r3, [r4, #40]
5951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10775 .loc 1 5951 8 view .LVU3394
10776 002c 002B cmp r3, #0
10777 002e 09D0 beq .L592
5953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
ARM GAS /tmp/ccRVAHyi.s page 365
10778 .loc 1 5953 7 is_stmt 1 view .LVU3395
5953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
10779 .loc 1 5953 21 is_stmt 0 view .LVU3396
10780 0030 013B subs r3, r3, #1
10781 0032 2385 strh r3, [r4, #40]
5954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10782 .loc 1 5954 7 is_stmt 1 view .LVU3397
5954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10783 .loc 1 5954 11 is_stmt 0 view .LVU3398
10784 0034 638D ldrh r3, [r4, #42]
5954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10785 .loc 1 5954 22 view .LVU3399
10786 0036 013B subs r3, r3, #1
10787 0038 9BB2 uxth r3, r3
10788 003a 6385 strh r3, [r4, #42]
5957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10789 .loc 1 5957 7 is_stmt 1 view .LVU3400
5957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10790 .loc 1 5957 23 is_stmt 0 view .LVU3401
10791 003c 636C ldr r3, [r4, #68]
10792 003e 0422 movs r2, #4
10793 0040 1343 orrs r3, r2
10794 0042 6364 str r3, [r4, #68]
10795 .L592:
5962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10796 .loc 1 5962 3 is_stmt 1 view .LVU3402
10797 0044 0749 ldr r1, .L593+4
10798 .LVL777:
5962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10799 .loc 1 5962 3 is_stmt 0 view .LVU3403
10800 0046 2000 movs r0, r4
10801 0048 FFF7FEFF bl I2C_Disable_IRQ
10802 .LVL778:
5965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10803 .loc 1 5965 3 is_stmt 1 view .LVU3404
10804 004c 2368 ldr r3, [r4]
10805 004e 1022 movs r2, #16
10806 0050 DA61 str r2, [r3, #28]
5968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10807 .loc 1 5968 3 view .LVU3405
5968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10808 .loc 1 5968 3 view .LVU3406
10809 0052 4023 movs r3, #64
10810 0054 0022 movs r2, #0
10811 0056 E254 strb r2, [r4, r3]
5974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10812 .loc 1 5974 3 view .LVU3407
10813 0058 2000 movs r0, r4
10814 005a FFF7FEFF bl HAL_I2C_ListenCpltCallback
10815 .LVL779:
5976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10816 .loc 1 5976 1 is_stmt 0 view .LVU3408
10817 @ sp needed
10818 .LVL780:
5976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10819 .loc 1 5976 1 view .LVU3409
10820 005e 10BD pop {r4, pc}
ARM GAS /tmp/ccRVAHyi.s page 366
10821 .L594:
10822 .align 2
10823 .L593:
10824 0060 0000FFFF .word -65536
10825 0064 03800000 .word 32771
10826 .cfi_endproc
10827 .LFE100:
10829 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
10830 .align 1
10831 .weak HAL_I2C_MemTxCpltCallback
10832 .syntax unified
10833 .code 16
10834 .thumb_func
10835 .fpu softvfp
10837 HAL_I2C_MemTxCpltCallback:
10838 .LVL781:
10839 .LFB82:
4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10840 .loc 1 4603 1 is_stmt 1 view -0
10841 .cfi_startproc
10842 @ args = 0, pretend = 0, frame = 0
10843 @ frame_needed = 0, uses_anonymous_args = 0
10844 @ link register save eliminated.
4605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10845 .loc 1 4605 3 view .LVU3411
4610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10846 .loc 1 4610 1 is_stmt 0 view .LVU3412
10847 @ sp needed
10848 0000 7047 bx lr
10849 .cfi_endproc
10850 .LFE82:
10852 .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
10853 .align 1
10854 .weak HAL_I2C_MemRxCpltCallback
10855 .syntax unified
10856 .code 16
10857 .thumb_func
10858 .fpu softvfp
10860 HAL_I2C_MemRxCpltCallback:
10861 .LVL782:
10862 .LFB83:
4619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10863 .loc 1 4619 1 is_stmt 1 view -0
10864 .cfi_startproc
10865 @ args = 0, pretend = 0, frame = 0
10866 @ frame_needed = 0, uses_anonymous_args = 0
10867 @ link register save eliminated.
4621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10868 .loc 1 4621 3 view .LVU3414
4626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10869 .loc 1 4626 1 is_stmt 0 view .LVU3415
10870 @ sp needed
10871 0000 7047 bx lr
10872 .cfi_endproc
10873 .LFE83:
10875 .section .text.HAL_I2C_ErrorCallback,"ax",%progbits
10876 .align 1
ARM GAS /tmp/ccRVAHyi.s page 367
10877 .weak HAL_I2C_ErrorCallback
10878 .syntax unified
10879 .code 16
10880 .thumb_func
10881 .fpu softvfp
10883 HAL_I2C_ErrorCallback:
10884 .LVL783:
10885 .LFB84:
4635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10886 .loc 1 4635 1 is_stmt 1 view -0
10887 .cfi_startproc
10888 @ args = 0, pretend = 0, frame = 0
10889 @ frame_needed = 0, uses_anonymous_args = 0
10890 @ link register save eliminated.
4637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10891 .loc 1 4637 3 view .LVU3417
4642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10892 .loc 1 4642 1 is_stmt 0 view .LVU3418
10893 @ sp needed
10894 0000 7047 bx lr
10895 .cfi_endproc
10896 .LFE84:
10898 .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits
10899 .align 1
10900 .weak HAL_I2C_AbortCpltCallback
10901 .syntax unified
10902 .code 16
10903 .thumb_func
10904 .fpu softvfp
10906 HAL_I2C_AbortCpltCallback:
10907 .LVL784:
10908 .LFB85:
4651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10909 .loc 1 4651 1 is_stmt 1 view -0
10910 .cfi_startproc
10911 @ args = 0, pretend = 0, frame = 0
10912 @ frame_needed = 0, uses_anonymous_args = 0
10913 @ link register save eliminated.
4653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10914 .loc 1 4653 3 view .LVU3420
4658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10915 .loc 1 4658 1 is_stmt 0 view .LVU3421
10916 @ sp needed
10917 0000 7047 bx lr
10918 .cfi_endproc
10919 .LFE85:
10921 .section .text.I2C_TreatErrorCallback,"ax",%progbits
10922 .align 1
10923 .syntax unified
10924 .code 16
10925 .thumb_func
10926 .fpu softvfp
10928 I2C_TreatErrorCallback:
10929 .LVL785:
10930 .LFB102:
6097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
10931 .loc 1 6097 1 is_stmt 1 view -0
ARM GAS /tmp/ccRVAHyi.s page 368
10932 .cfi_startproc
10933 @ args = 0, pretend = 0, frame = 0
10934 @ frame_needed = 0, uses_anonymous_args = 0
6097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
10935 .loc 1 6097 1 is_stmt 0 view .LVU3423
10936 0000 10B5 push {r4, lr}
10937 .LCFI75:
10938 .cfi_def_cfa_offset 8
10939 .cfi_offset 4, -8
10940 .cfi_offset 14, -4
6098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10941 .loc 1 6098 3 is_stmt 1 view .LVU3424
6098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10942 .loc 1 6098 11 is_stmt 0 view .LVU3425
10943 0002 4123 movs r3, #65
10944 0004 C35C ldrb r3, [r0, r3]
6098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10945 .loc 1 6098 6 view .LVU3426
10946 0006 602B cmp r3, #96
10947 0008 06D0 beq .L602
6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10948 .loc 1 6115 5 is_stmt 1 view .LVU3427
6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10949 .loc 1 6115 25 is_stmt 0 view .LVU3428
10950 000a 0023 movs r3, #0
10951 000c 0363 str r3, [r0, #48]
6118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10952 .loc 1 6118 5 is_stmt 1 view .LVU3429
6118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10953 .loc 1 6118 5 view .LVU3430
10954 000e 4022 movs r2, #64
10955 0010 8354 strb r3, [r0, r2]
6124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10956 .loc 1 6124 5 view .LVU3431
10957 0012 FFF7FEFF bl HAL_I2C_ErrorCallback
10958 .LVL786:
10959 .L599:
6127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10960 .loc 1 6127 1 is_stmt 0 view .LVU3432
10961 @ sp needed
10962 0016 10BD pop {r4, pc}
10963 .LVL787:
10964 .L602:
6100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10965 .loc 1 6100 5 is_stmt 1 view .LVU3433
6100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10966 .loc 1 6100 17 is_stmt 0 view .LVU3434
10967 0018 1F3B subs r3, r3, #31
10968 001a 2022 movs r2, #32
10969 001c C254 strb r2, [r0, r3]
6101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10970 .loc 1 6101 5 is_stmt 1 view .LVU3435
6101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10971 .loc 1 6101 25 is_stmt 0 view .LVU3436
10972 001e 0023 movs r3, #0
10973 0020 0363 str r3, [r0, #48]
6104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 369
10974 .loc 1 6104 5 is_stmt 1 view .LVU3437
6104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10975 .loc 1 6104 5 view .LVU3438
10976 0022 2032 adds r2, r2, #32
10977 0024 8354 strb r3, [r0, r2]
6110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10978 .loc 1 6110 5 view .LVU3439
10979 0026 FFF7FEFF bl HAL_I2C_AbortCpltCallback
10980 .LVL788:
6110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10981 .loc 1 6110 5 is_stmt 0 view .LVU3440
10982 002a F4E7 b .L599
10983 .cfi_endproc
10984 .LFE102:
10986 .section .text.I2C_ITError,"ax",%progbits
10987 .align 1
10988 .syntax unified
10989 .code 16
10990 .thumb_func
10991 .fpu softvfp
10993 I2C_ITError:
10994 .LVL789:
10995 .LFB101:
5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
10996 .loc 1 5985 1 is_stmt 1 view -0
10997 .cfi_startproc
10998 @ args = 0, pretend = 0, frame = 0
10999 @ frame_needed = 0, uses_anonymous_args = 0
5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
11000 .loc 1 5985 1 is_stmt 0 view .LVU3442
11001 0000 10B5 push {r4, lr}
11002 .LCFI76:
11003 .cfi_def_cfa_offset 8
11004 .cfi_offset 4, -8
11005 .cfi_offset 14, -4
11006 0002 0400 movs r4, r0
5986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmppreviousstate;
11007 .loc 1 5986 3 is_stmt 1 view .LVU3443
5986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmppreviousstate;
11008 .loc 1 5986 24 is_stmt 0 view .LVU3444
11009 0004 4123 movs r3, #65
11010 0006 C35C ldrb r3, [r0, r3]
11011 .LVL790:
5987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11012 .loc 1 5987 3 is_stmt 1 view .LVU3445
5990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11013 .loc 1 5990 3 view .LVU3446
5990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11014 .loc 1 5990 23 is_stmt 0 view .LVU3447
11015 0008 0020 movs r0, #0
11016 .LVL791:
5990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11017 .loc 1 5990 23 view .LVU3448
11018 000a 4222 movs r2, #66
11019 000c A054 strb r0, [r4, r2]
5991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U;
11020 .loc 1 5991 3 is_stmt 1 view .LVU3449
ARM GAS /tmp/ccRVAHyi.s page 370
5991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U;
11021 .loc 1 5991 23 is_stmt 0 view .LVU3450
11022 000e 3A4A ldr r2, .L616
11023 0010 E262 str r2, [r4, #44]
5992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11024 .loc 1 5992 3 is_stmt 1 view .LVU3451
5992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11025 .loc 1 5992 23 is_stmt 0 view .LVU3452
11026 0012 6085 strh r0, [r4, #42]
5995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11027 .loc 1 5995 3 is_stmt 1 view .LVU3453
5995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11028 .loc 1 5995 19 is_stmt 0 view .LVU3454
11029 0014 626C ldr r2, [r4, #68]
11030 0016 0A43 orrs r2, r1
11031 0018 6264 str r2, [r4, #68]
5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
11032 .loc 1 5998 3 is_stmt 1 view .LVU3455
5999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
11033 .loc 1 5999 50 is_stmt 0 view .LVU3456
11034 001a 283B subs r3, r3, #40
11035 .LVL792:
5999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
11036 .loc 1 5999 50 view .LVU3457
11037 001c DBB2 uxtb r3, r3
5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
11038 .loc 1 5998 6 view .LVU3458
11039 001e 022B cmp r3, #2
11040 0020 1BD8 bhi .L604
6003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11041 .loc 1 6003 5 is_stmt 1 view .LVU3459
11042 0022 0321 movs r1, #3
11043 .LVL793:
6003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11044 .loc 1 6003 5 is_stmt 0 view .LVU3460
11045 0024 2000 movs r0, r4
11046 0026 FFF7FEFF bl I2C_Disable_IRQ
11047 .LVL794:
6006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
11048 .loc 1 6006 5 is_stmt 1 view .LVU3461
6006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
11049 .loc 1 6006 25 is_stmt 0 view .LVU3462
11050 002a 4123 movs r3, #65
11051 002c 2822 movs r2, #40
11052 002e E254 strb r2, [r4, r3]
6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11053 .loc 1 6007 5 is_stmt 1 view .LVU3463
6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11054 .loc 1 6007 25 is_stmt 0 view .LVU3464
11055 0030 324B ldr r3, .L616+4
11056 0032 6363 str r3, [r4, #52]
11057 .L605:
6025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \
11058 .loc 1 6025 3 is_stmt 1 view .LVU3465
6025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \
11059 .loc 1 6025 20 is_stmt 0 view .LVU3466
11060 0034 236B ldr r3, [r4, #48]
ARM GAS /tmp/ccRVAHyi.s page 371
11061 .LVL795:
6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
11062 .loc 1 6026 3 is_stmt 1 view .LVU3467
6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
11063 .loc 1 6026 6 is_stmt 0 view .LVU3468
11064 0036 A26B ldr r2, [r4, #56]
11065 0038 002A cmp r2, #0
11066 003a 03D0 beq .L607
6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
11067 .loc 1 6026 30 discriminator 1 view .LVU3469
11068 003c 112B cmp r3, #17
11069 003e 1AD0 beq .L608
6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
11070 .loc 1 6026 81 discriminator 2 view .LVU3470
11071 0040 212B cmp r3, #33
11072 0042 18D0 beq .L608
11073 .L607:
6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
11074 .loc 1 6056 8 is_stmt 1 view .LVU3471
6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
11075 .loc 1 6056 11 is_stmt 0 view .LVU3472
11076 0044 E26B ldr r2, [r4, #60]
11077 0046 002A cmp r2, #0
11078 0048 03D0 beq .L612
6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
11079 .loc 1 6056 35 discriminator 1 view .LVU3473
11080 004a 122B cmp r3, #18
11081 004c 33D0 beq .L613
6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
11082 .loc 1 6056 86 discriminator 2 view .LVU3474
11083 004e 222B cmp r3, #34
11084 0050 31D0 beq .L613
11085 .L612:
6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11086 .loc 1 6087 5 is_stmt 1 view .LVU3475
11087 0052 2000 movs r0, r4
11088 0054 FFF7FEFF bl I2C_TreatErrorCallback
11089 .LVL796:
11090 .L603:
6089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11091 .loc 1 6089 1 is_stmt 0 view .LVU3476
11092 @ sp needed
11093 .LVL797:
6089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11094 .loc 1 6089 1 view .LVU3477
11095 0058 10BD pop {r4, pc}
11096 .LVL798:
11097 .L604:
6012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11098 .loc 1 6012 5 is_stmt 1 view .LVU3478
11099 005a 2949 ldr r1, .L616+8
11100 .LVL799:
6012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11101 .loc 1 6012 5 is_stmt 0 view .LVU3479
11102 005c 2000 movs r0, r4
11103 005e FFF7FEFF bl I2C_Disable_IRQ
11104 .LVL800:
ARM GAS /tmp/ccRVAHyi.s page 372
6016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11105 .loc 1 6016 5 is_stmt 1 view .LVU3480
6016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11106 .loc 1 6016 13 is_stmt 0 view .LVU3481
11107 0062 4123 movs r3, #65
11108 0064 E35C ldrb r3, [r4, r3]
6016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11109 .loc 1 6016 8 view .LVU3482
11110 0066 602B cmp r3, #96
11111 0068 02D0 beq .L606
6019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11112 .loc 1 6019 7 is_stmt 1 view .LVU3483
6019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11113 .loc 1 6019 27 is_stmt 0 view .LVU3484
11114 006a 4123 movs r3, #65
11115 006c 2022 movs r2, #32
11116 006e E254 strb r2, [r4, r3]
11117 .L606:
6021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11118 .loc 1 6021 5 is_stmt 1 view .LVU3485
6021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11119 .loc 1 6021 25 is_stmt 0 view .LVU3486
11120 0070 0023 movs r3, #0
11121 0072 6363 str r3, [r4, #52]
11122 0074 DEE7 b .L605
11123 .LVL801:
11124 .L608:
6029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11125 .loc 1 6029 5 is_stmt 1 view .LVU3487
6029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11126 .loc 1 6029 14 is_stmt 0 view .LVU3488
11127 0076 2368 ldr r3, [r4]
11128 .LVL802:
6029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11129 .loc 1 6029 24 view .LVU3489
11130 0078 1A68 ldr r2, [r3]
6029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11131 .loc 1 6029 8 view .LVU3490
11132 007a 5204 lsls r2, r2, #17
11133 007c 03D5 bpl .L609
6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11134 .loc 1 6031 7 is_stmt 1 view .LVU3491
6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11135 .loc 1 6031 27 is_stmt 0 view .LVU3492
11136 007e 1A68 ldr r2, [r3]
11137 0080 2049 ldr r1, .L616+12
11138 0082 0A40 ands r2, r1
11139 0084 1A60 str r2, [r3]
11140 .L609:
6034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11141 .loc 1 6034 5 is_stmt 1 view .LVU3493
6034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11142 .loc 1 6034 9 is_stmt 0 view .LVU3494
11143 0086 A06B ldr r0, [r4, #56]
11144 0088 FFF7FEFF bl HAL_DMA_GetState
11145 .LVL803:
6034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 373
11146 .loc 1 6034 8 view .LVU3495
11147 008c 0128 cmp r0, #1
11148 008e 0ED0 beq .L610
6038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11149 .loc 1 6038 7 is_stmt 1 view .LVU3496
6038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11150 .loc 1 6038 11 is_stmt 0 view .LVU3497
11151 0090 A36B ldr r3, [r4, #56]
6038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11152 .loc 1 6038 39 view .LVU3498
11153 0092 1D4A ldr r2, .L616+16
11154 0094 5A63 str r2, [r3, #52]
6041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11155 .loc 1 6041 7 is_stmt 1 view .LVU3499
6041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11156 .loc 1 6041 7 view .LVU3500
11157 0096 4023 movs r3, #64
11158 0098 0022 movs r2, #0
11159 009a E254 strb r2, [r4, r3]
6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11160 .loc 1 6044 7 view .LVU3501
6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11161 .loc 1 6044 11 is_stmt 0 view .LVU3502
11162 009c A06B ldr r0, [r4, #56]
11163 009e FFF7FEFF bl HAL_DMA_Abort_IT
11164 .LVL804:
6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11165 .loc 1 6044 10 view .LVU3503
11166 00a2 0028 cmp r0, #0
11167 00a4 D8D0 beq .L603
6047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11168 .loc 1 6047 9 is_stmt 1 view .LVU3504
6047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11169 .loc 1 6047 13 is_stmt 0 view .LVU3505
11170 00a6 A06B ldr r0, [r4, #56]
6047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11171 .loc 1 6047 21 view .LVU3506
11172 00a8 436B ldr r3, [r0, #52]
6047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11173 .loc 1 6047 9 view .LVU3507
11174 00aa 9847 blx r3
11175 .LVL805:
11176 00ac D4E7 b .L603
11177 .L610:
6052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11178 .loc 1 6052 7 is_stmt 1 view .LVU3508
11179 00ae 2000 movs r0, r4
11180 00b0 FFF7FEFF bl I2C_TreatErrorCallback
11181 .LVL806:
11182 00b4 D0E7 b .L603
11183 .LVL807:
11184 .L613:
6059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11185 .loc 1 6059 5 view .LVU3509
6059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11186 .loc 1 6059 14 is_stmt 0 view .LVU3510
11187 00b6 2368 ldr r3, [r4]
ARM GAS /tmp/ccRVAHyi.s page 374
11188 .LVL808:
6059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11189 .loc 1 6059 24 view .LVU3511
11190 00b8 1A68 ldr r2, [r3]
6059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11191 .loc 1 6059 8 view .LVU3512
11192 00ba 1204 lsls r2, r2, #16
11193 00bc 03D5 bpl .L614
6061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11194 .loc 1 6061 7 is_stmt 1 view .LVU3513
6061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11195 .loc 1 6061 27 is_stmt 0 view .LVU3514
11196 00be 1A68 ldr r2, [r3]
11197 00c0 1249 ldr r1, .L616+20
11198 00c2 0A40 ands r2, r1
11199 00c4 1A60 str r2, [r3]
11200 .L614:
6064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11201 .loc 1 6064 5 is_stmt 1 view .LVU3515
6064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11202 .loc 1 6064 9 is_stmt 0 view .LVU3516
11203 00c6 E06B ldr r0, [r4, #60]
11204 00c8 FFF7FEFF bl HAL_DMA_GetState
11205 .LVL809:
6064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11206 .loc 1 6064 8 view .LVU3517
11207 00cc 0128 cmp r0, #1
11208 00ce 0ED0 beq .L615
6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11209 .loc 1 6068 7 is_stmt 1 view .LVU3518
6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11210 .loc 1 6068 11 is_stmt 0 view .LVU3519
11211 00d0 E36B ldr r3, [r4, #60]
6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11212 .loc 1 6068 39 view .LVU3520
11213 00d2 0D4A ldr r2, .L616+16
11214 00d4 5A63 str r2, [r3, #52]
6071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11215 .loc 1 6071 7 is_stmt 1 view .LVU3521
6071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11216 .loc 1 6071 7 view .LVU3522
11217 00d6 4023 movs r3, #64
11218 00d8 0022 movs r2, #0
11219 00da E254 strb r2, [r4, r3]
6074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11220 .loc 1 6074 7 view .LVU3523
6074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11221 .loc 1 6074 11 is_stmt 0 view .LVU3524
11222 00dc E06B ldr r0, [r4, #60]
11223 00de FFF7FEFF bl HAL_DMA_Abort_IT
11224 .LVL810:
6074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11225 .loc 1 6074 10 view .LVU3525
11226 00e2 0028 cmp r0, #0
11227 00e4 B8D0 beq .L603
6077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11228 .loc 1 6077 9 is_stmt 1 view .LVU3526
ARM GAS /tmp/ccRVAHyi.s page 375
6077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11229 .loc 1 6077 13 is_stmt 0 view .LVU3527
11230 00e6 E06B ldr r0, [r4, #60]
6077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11231 .loc 1 6077 21 view .LVU3528
11232 00e8 436B ldr r3, [r0, #52]
6077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11233 .loc 1 6077 9 view .LVU3529
11234 00ea 9847 blx r3
11235 .LVL811:
11236 00ec B4E7 b .L603
11237 .L615:
6082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11238 .loc 1 6082 7 is_stmt 1 view .LVU3530
11239 00ee 2000 movs r0, r4
11240 00f0 FFF7FEFF bl I2C_TreatErrorCallback
11241 .LVL812:
11242 00f4 B0E7 b .L603
11243 .L617:
11244 00f6 C046 .align 2
11245 .L616:
11246 00f8 0000FFFF .word -65536
11247 00fc 00000000 .word I2C_Slave_ISR_IT
11248 0100 03800000 .word 32771
11249 0104 FFBFFFFF .word -16385
11250 0108 00000000 .word I2C_DMAAbort
11251 010c FF7FFFFF .word -32769
11252 .cfi_endproc
11253 .LFE101:
11255 .section .text.I2C_ITSlaveCplt,"ax",%progbits
11256 .align 1
11257 .syntax unified
11258 .code 16
11259 .thumb_func
11260 .fpu softvfp
11262 I2C_ITSlaveCplt:
11263 .LVL813:
11264 .LFB99:
5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
11265 .loc 1 5775 1 view -0
11266 .cfi_startproc
11267 @ args = 0, pretend = 0, frame = 0
11268 @ frame_needed = 0, uses_anonymous_args = 0
5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
11269 .loc 1 5775 1 is_stmt 0 view .LVU3532
11270 0000 70B5 push {r4, r5, r6, lr}
11271 .LCFI77:
11272 .cfi_def_cfa_offset 16
11273 .cfi_offset 4, -16
11274 .cfi_offset 5, -12
11275 .cfi_offset 6, -8
11276 .cfi_offset 14, -4
11277 0002 0400 movs r4, r0
11278 0004 0D00 movs r5, r1
5776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11279 .loc 1 5776 3 is_stmt 1 view .LVU3533
5776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
ARM GAS /tmp/ccRVAHyi.s page 376
11280 .loc 1 5776 26 is_stmt 0 view .LVU3534
11281 0006 0268 ldr r2, [r0]
5776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11282 .loc 1 5776 12 view .LVU3535
11283 0008 1668 ldr r6, [r2]
11284 .LVL814:
5777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
11285 .loc 1 5777 3 is_stmt 1 view .LVU3536
5778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11286 .loc 1 5778 3 view .LVU3537
5778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11287 .loc 1 5778 24 is_stmt 0 view .LVU3538
11288 000a 4123 movs r3, #65
11289 000c C35C ldrb r3, [r0, r3]
11290 000e DBB2 uxtb r3, r3
11291 .LVL815:
5781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11292 .loc 1 5781 3 is_stmt 1 view .LVU3539
11293 0010 2021 movs r1, #32
11294 .LVL816:
5781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11295 .loc 1 5781 3 is_stmt 0 view .LVU3540
11296 0012 D161 str r1, [r2, #28]
5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11297 .loc 1 5784 3 is_stmt 1 view .LVU3541
5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11298 .loc 1 5784 6 is_stmt 0 view .LVU3542
11299 0014 212B cmp r3, #33
11300 0016 0CD0 beq .L619
5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11301 .loc 1 5784 43 discriminator 1 view .LVU3543
11302 0018 292B cmp r3, #41
11303 001a 0AD0 beq .L619
5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11304 .loc 1 5789 8 is_stmt 1 view .LVU3544
5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11305 .loc 1 5789 11 is_stmt 0 view .LVU3545
11306 001c 222B cmp r3, #34
11307 001e 01D0 beq .L622
5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11308 .loc 1 5789 48 discriminator 1 view .LVU3546
11309 0020 2A2B cmp r3, #42
11310 0022 0CD1 bne .L621
11311 .L622:
5791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
11312 .loc 1 5791 5 is_stmt 1 view .LVU3547
11313 0024 4A49 ldr r1, .L634
11314 0026 2000 movs r0, r4
11315 .LVL817:
5791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
11316 .loc 1 5791 5 is_stmt 0 view .LVU3548
11317 0028 FFF7FEFF bl I2C_Disable_IRQ
11318 .LVL818:
5792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11319 .loc 1 5792 5 is_stmt 1 view .LVU3549
5792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11320 .loc 1 5792 25 is_stmt 0 view .LVU3550
ARM GAS /tmp/ccRVAHyi.s page 377
11321 002c 2223 movs r3, #34
11322 002e 2363 str r3, [r4, #48]
11323 0030 05E0 b .L621
11324 .LVL819:
11325 .L619:
5786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
11326 .loc 1 5786 5 is_stmt 1 view .LVU3551
11327 0032 4849 ldr r1, .L634+4
11328 0034 2000 movs r0, r4
11329 .LVL820:
5786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
11330 .loc 1 5786 5 is_stmt 0 view .LVU3552
11331 0036 FFF7FEFF bl I2C_Disable_IRQ
11332 .LVL821:
5787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11333 .loc 1 5787 5 is_stmt 1 view .LVU3553
5787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11334 .loc 1 5787 25 is_stmt 0 view .LVU3554
11335 003a 2123 movs r3, #33
11336 003c 2363 str r3, [r4, #48]
11337 .L621:
5800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11338 .loc 1 5800 3 is_stmt 1 view .LVU3555
5800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11339 .loc 1 5800 7 is_stmt 0 view .LVU3556
11340 003e 2268 ldr r2, [r4]
5800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11341 .loc 1 5800 23 view .LVU3557
11342 0040 5168 ldr r1, [r2, #4]
11343 0042 8023 movs r3, #128
11344 0044 1B02 lsls r3, r3, #8
11345 0046 0B43 orrs r3, r1
11346 0048 5360 str r3, [r2, #4]
5803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11347 .loc 1 5803 3 is_stmt 1 view .LVU3558
11348 004a 2268 ldr r2, [r4]
11349 004c 5368 ldr r3, [r2, #4]
11350 004e 4249 ldr r1, .L634+8
11351 0050 0B40 ands r3, r1
11352 0052 5360 str r3, [r2, #4]
5806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11353 .loc 1 5806 3 view .LVU3559
11354 0054 2000 movs r0, r4
11355 0056 FFF7FEFF bl I2C_Flush_TXDR
11356 .LVL822:
5809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11357 .loc 1 5809 3 view .LVU3560
5809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11358 .loc 1 5809 6 is_stmt 0 view .LVU3561
11359 005a 7304 lsls r3, r6, #17
11360 005c 41D5 bpl .L623
5812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11361 .loc 1 5812 5 is_stmt 1 view .LVU3562
5812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11362 .loc 1 5812 9 is_stmt 0 view .LVU3563
11363 005e 2268 ldr r2, [r4]
5812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 378
11364 .loc 1 5812 25 view .LVU3564
11365 0060 1368 ldr r3, [r2]
11366 0062 3E49 ldr r1, .L634+12
11367 0064 0B40 ands r3, r1
11368 0066 1360 str r3, [r2]
5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11369 .loc 1 5814 5 is_stmt 1 view .LVU3565
5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11370 .loc 1 5814 13 is_stmt 0 view .LVU3566
11371 0068 A36B ldr r3, [r4, #56]
5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11372 .loc 1 5814 8 view .LVU3567
11373 006a 002B cmp r3, #0
11374 006c 03D0 beq .L624
5816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11375 .loc 1 5816 7 is_stmt 1 view .LVU3568
5816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11376 .loc 1 5816 35 is_stmt 0 view .LVU3569
11377 006e 1B68 ldr r3, [r3]
11378 0070 5B68 ldr r3, [r3, #4]
5816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11379 .loc 1 5816 25 view .LVU3570
11380 0072 9BB2 uxth r3, r3
5816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11381 .loc 1 5816 23 view .LVU3571
11382 0074 6385 strh r3, [r4, #42]
11383 .L624:
5832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11384 .loc 1 5832 3 is_stmt 1 view .LVU3572
5835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11385 .loc 1 5835 3 view .LVU3573
5835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11386 .loc 1 5835 6 is_stmt 0 view .LVU3574
11387 0076 6B07 lsls r3, r5, #29
11388 0078 11D5 bpl .L625
5838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11389 .loc 1 5838 5 is_stmt 1 view .LVU3575
5838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11390 .loc 1 5838 16 is_stmt 0 view .LVU3576
11391 007a 0423 movs r3, #4
11392 007c 9D43 bics r5, r3
11393 .LVL823:
5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11394 .loc 1 5841 5 is_stmt 1 view .LVU3577
5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11395 .loc 1 5841 36 is_stmt 0 view .LVU3578
11396 007e 2368 ldr r3, [r4]
5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11397 .loc 1 5841 46 view .LVU3579
11398 0080 5B6A ldr r3, [r3, #36]
5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11399 .loc 1 5841 21 view .LVU3580
11400 0082 626A ldr r2, [r4, #36]
11401 0084 1370 strb r3, [r2]
5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11402 .loc 1 5844 5 is_stmt 1 view .LVU3581
5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 379
11403 .loc 1 5844 19 is_stmt 0 view .LVU3582
11404 0086 636A ldr r3, [r4, #36]
11405 0088 0133 adds r3, r3, #1
11406 008a 6362 str r3, [r4, #36]
5846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11407 .loc 1 5846 5 is_stmt 1 view .LVU3583
5846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11408 .loc 1 5846 14 is_stmt 0 view .LVU3584
11409 008c 238D ldrh r3, [r4, #40]
5846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11410 .loc 1 5846 8 view .LVU3585
11411 008e 002B cmp r3, #0
11412 0090 05D0 beq .L625
5848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
11413 .loc 1 5848 7 is_stmt 1 view .LVU3586
5848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
11414 .loc 1 5848 21 is_stmt 0 view .LVU3587
11415 0092 013B subs r3, r3, #1
11416 0094 2385 strh r3, [r4, #40]
5849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11417 .loc 1 5849 7 is_stmt 1 view .LVU3588
5849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11418 .loc 1 5849 11 is_stmt 0 view .LVU3589
11419 0096 638D ldrh r3, [r4, #42]
5849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11420 .loc 1 5849 22 view .LVU3590
11421 0098 013B subs r3, r3, #1
11422 009a 9BB2 uxth r3, r3
11423 009c 6385 strh r3, [r4, #42]
11424 .L625:
5854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11425 .loc 1 5854 3 is_stmt 1 view .LVU3591
5854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11426 .loc 1 5854 11 is_stmt 0 view .LVU3592
11427 009e 638D ldrh r3, [r4, #42]
11428 00a0 9BB2 uxth r3, r3
5854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11429 .loc 1 5854 6 view .LVU3593
11430 00a2 002B cmp r3, #0
11431 00a4 03D0 beq .L626
5857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11432 .loc 1 5857 5 is_stmt 1 view .LVU3594
5857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11433 .loc 1 5857 21 is_stmt 0 view .LVU3595
11434 00a6 636C ldr r3, [r4, #68]
11435 00a8 0422 movs r2, #4
11436 00aa 1343 orrs r3, r2
11437 00ac 6364 str r3, [r4, #68]
11438 .L626:
5860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
11439 .loc 1 5860 3 is_stmt 1 view .LVU3596
5860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
11440 .loc 1 5860 14 is_stmt 0 view .LVU3597
11441 00ae 0023 movs r3, #0
11442 00b0 4222 movs r2, #66
11443 00b2 A354 strb r3, [r4, r2]
5861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 380
11444 .loc 1 5861 3 is_stmt 1 view .LVU3598
5861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11445 .loc 1 5861 17 is_stmt 0 view .LVU3599
11446 00b4 6363 str r3, [r4, #52]
5863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11447 .loc 1 5863 3 is_stmt 1 view .LVU3600
5863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11448 .loc 1 5863 11 is_stmt 0 view .LVU3601
11449 00b6 636C ldr r3, [r4, #68]
5863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11450 .loc 1 5863 6 view .LVU3602
11451 00b8 002B cmp r3, #0
11452 00ba 21D1 bne .L631
5875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11453 .loc 1 5875 8 is_stmt 1 view .LVU3603
5875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11454 .loc 1 5875 16 is_stmt 0 view .LVU3604
11455 00bc E26A ldr r2, [r4, #44]
5875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11456 .loc 1 5875 11 view .LVU3605
11457 00be 284B ldr r3, .L634+16
11458 00c0 9A42 cmp r2, r3
11459 00c2 2AD1 bne .L632
5895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11460 .loc 1 5895 8 is_stmt 1 view .LVU3606
5895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11461 .loc 1 5895 16 is_stmt 0 view .LVU3607
11462 00c4 4123 movs r3, #65
11463 00c6 E35C ldrb r3, [r4, r3]
5895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11464 .loc 1 5895 11 view .LVU3608
11465 00c8 222B cmp r3, #34
11466 00ca 36D0 beq .L633
5912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11467 .loc 1 5912 5 is_stmt 1 view .LVU3609
5912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11468 .loc 1 5912 17 is_stmt 0 view .LVU3610
11469 00cc 4123 movs r3, #65
11470 00ce 2022 movs r2, #32
11471 00d0 E254 strb r2, [r4, r3]
5913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11472 .loc 1 5913 5 is_stmt 1 view .LVU3611
5913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11473 .loc 1 5913 25 is_stmt 0 view .LVU3612
11474 00d2 0023 movs r3, #0
11475 00d4 2363 str r3, [r4, #48]
5916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11476 .loc 1 5916 5 is_stmt 1 view .LVU3613
5916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11477 .loc 1 5916 5 view .LVU3614
11478 00d6 2032 adds r2, r2, #32
11479 00d8 A354 strb r3, [r4, r2]
5922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11480 .loc 1 5922 5 view .LVU3615
11481 00da 2000 movs r0, r4
11482 00dc FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
11483 .LVL824:
ARM GAS /tmp/ccRVAHyi.s page 381
5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11484 .loc 1 5925 1 is_stmt 0 view .LVU3616
11485 00e0 2AE0 b .L618
11486 .LVL825:
11487 .L623:
5819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11488 .loc 1 5819 8 is_stmt 1 view .LVU3617
5819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11489 .loc 1 5819 11 is_stmt 0 view .LVU3618
11490 00e2 3304 lsls r3, r6, #16
11491 00e4 C7D5 bpl .L624
5822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11492 .loc 1 5822 5 is_stmt 1 view .LVU3619
5822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11493 .loc 1 5822 9 is_stmt 0 view .LVU3620
11494 00e6 2268 ldr r2, [r4]
5822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11495 .loc 1 5822 25 view .LVU3621
11496 00e8 1368 ldr r3, [r2]
11497 00ea 1E49 ldr r1, .L634+20
11498 00ec 0B40 ands r3, r1
11499 00ee 1360 str r3, [r2]
5824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11500 .loc 1 5824 5 is_stmt 1 view .LVU3622
5824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11501 .loc 1 5824 13 is_stmt 0 view .LVU3623
11502 00f0 E36B ldr r3, [r4, #60]
5824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11503 .loc 1 5824 8 view .LVU3624
11504 00f2 002B cmp r3, #0
11505 00f4 BFD0 beq .L624
5826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11506 .loc 1 5826 7 is_stmt 1 view .LVU3625
5826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11507 .loc 1 5826 35 is_stmt 0 view .LVU3626
11508 00f6 1B68 ldr r3, [r3]
11509 00f8 5B68 ldr r3, [r3, #4]
5826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11510 .loc 1 5826 25 view .LVU3627
11511 00fa 9BB2 uxth r3, r3
5826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11512 .loc 1 5826 23 view .LVU3628
11513 00fc 6385 strh r3, [r4, #42]
11514 00fe BAE7 b .L624
11515 .LVL826:
11516 .L631:
5866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11517 .loc 1 5866 5 is_stmt 1 view .LVU3629
11518 0100 616C ldr r1, [r4, #68]
11519 0102 2000 movs r0, r4
11520 0104 FFF7FEFF bl I2C_ITError
11521 .LVL827:
5869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11522 .loc 1 5869 5 view .LVU3630
5869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11523 .loc 1 5869 13 is_stmt 0 view .LVU3631
11524 0108 4123 movs r3, #65
ARM GAS /tmp/ccRVAHyi.s page 382
11525 010a E35C ldrb r3, [r4, r3]
5869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11526 .loc 1 5869 8 view .LVU3632
11527 010c 282B cmp r3, #40
11528 010e 13D1 bne .L618
5872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11529 .loc 1 5872 7 is_stmt 1 view .LVU3633
11530 0110 2900 movs r1, r5
11531 0112 2000 movs r0, r4
11532 0114 FFF7FEFF bl I2C_ITListenCplt
11533 .LVL828:
11534 0118 0EE0 b .L618
11535 .L632:
5878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11536 .loc 1 5878 5 view .LVU3634
11537 011a 2000 movs r0, r4
11538 011c FFF7FEFF bl I2C_ITSlaveSeqCplt
11539 .LVL829:
5880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11540 .loc 1 5880 5 view .LVU3635
5880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11541 .loc 1 5880 23 is_stmt 0 view .LVU3636
11542 0120 0F4B ldr r3, .L634+16
11543 0122 E362 str r3, [r4, #44]
5881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11544 .loc 1 5881 5 is_stmt 1 view .LVU3637
5881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11545 .loc 1 5881 17 is_stmt 0 view .LVU3638
11546 0124 4123 movs r3, #65
11547 0126 2022 movs r2, #32
11548 0128 E254 strb r2, [r4, r3]
5882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11549 .loc 1 5882 5 is_stmt 1 view .LVU3639
5882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11550 .loc 1 5882 25 is_stmt 0 view .LVU3640
11551 012a 0023 movs r3, #0
11552 012c 2363 str r3, [r4, #48]
5885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11553 .loc 1 5885 5 is_stmt 1 view .LVU3641
5885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11554 .loc 1 5885 5 view .LVU3642
11555 012e 2032 adds r2, r2, #32
11556 0130 A354 strb r3, [r4, r2]
5891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11557 .loc 1 5891 5 view .LVU3643
11558 0132 2000 movs r0, r4
11559 0134 FFF7FEFF bl HAL_I2C_ListenCpltCallback
11560 .LVL830:
11561 .L618:
5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11562 .loc 1 5925 1 is_stmt 0 view .LVU3644
11563 @ sp needed
11564 .LVL831:
11565 .LVL832:
11566 .LVL833:
5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11567 .loc 1 5925 1 view .LVU3645
ARM GAS /tmp/ccRVAHyi.s page 383
11568 0138 70BD pop {r4, r5, r6, pc}
11569 .LVL834:
11570 .L633:
5897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11571 .loc 1 5897 5 is_stmt 1 view .LVU3646
5897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11572 .loc 1 5897 17 is_stmt 0 view .LVU3647
11573 013a 1F33 adds r3, r3, #31
11574 013c 2022 movs r2, #32
11575 013e E254 strb r2, [r4, r3]
5898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11576 .loc 1 5898 5 is_stmt 1 view .LVU3648
5898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11577 .loc 1 5898 25 is_stmt 0 view .LVU3649
11578 0140 0023 movs r3, #0
11579 0142 2363 str r3, [r4, #48]
5901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11580 .loc 1 5901 5 is_stmt 1 view .LVU3650
5901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11581 .loc 1 5901 5 view .LVU3651
11582 0144 2032 adds r2, r2, #32
11583 0146 A354 strb r3, [r4, r2]
5907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11584 .loc 1 5907 5 view .LVU3652
11585 0148 2000 movs r0, r4
11586 014a FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
11587 .LVL835:
11588 014e F3E7 b .L618
11589 .L635:
11590 .align 2
11591 .L634:
11592 0150 02800000 .word 32770
11593 0154 01800000 .word 32769
11594 0158 00E800FE .word -33495040
11595 015c FFBFFFFF .word -16385
11596 0160 0000FFFF .word -65536
11597 0164 FF7FFFFF .word -32769
11598 .cfi_endproc
11599 .LFE99:
11601 .section .text.I2C_Slave_ISR_IT,"ax",%progbits
11602 .align 1
11603 .syntax unified
11604 .code 16
11605 .thumb_func
11606 .fpu softvfp
11608 I2C_Slave_ISR_IT:
11609 .LVL836:
11610 .LFB90:
4881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
11611 .loc 1 4881 1 view -0
11612 .cfi_startproc
11613 @ args = 0, pretend = 0, frame = 0
11614 @ frame_needed = 0, uses_anonymous_args = 0
4881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
11615 .loc 1 4881 1 is_stmt 0 view .LVU3654
11616 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
11617 .LCFI78:
ARM GAS /tmp/ccRVAHyi.s page 384
11618 .cfi_def_cfa_offset 24
11619 .cfi_offset 3, -24
11620 .cfi_offset 4, -20
11621 .cfi_offset 5, -16
11622 .cfi_offset 6, -12
11623 .cfi_offset 7, -8
11624 .cfi_offset 14, -4
11625 0002 0400 movs r4, r0
11626 0004 0D00 movs r5, r1
11627 0006 1600 movs r6, r2
4882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11628 .loc 1 4882 3 is_stmt 1 view .LVU3655
4882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11629 .loc 1 4882 12 is_stmt 0 view .LVU3656
11630 0008 C76A ldr r7, [r0, #44]
11631 .LVL837:
4883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11632 .loc 1 4883 3 is_stmt 1 view .LVU3657
4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11633 .loc 1 4886 3 view .LVU3658
4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11634 .loc 1 4886 3 view .LVU3659
11635 000a 4023 movs r3, #64
11636 000c C35C ldrb r3, [r0, r3]
11637 000e 012B cmp r3, #1
11638 0010 00D1 bne .LCB10805
11639 0012 96E0 b .L650 @long jump
11640 .LCB10805:
4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11641 .loc 1 4886 3 discriminator 2 view .LVU3660
11642 0014 0123 movs r3, #1
11643 0016 4022 movs r2, #64
11644 .LVL838:
4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11645 .loc 1 4886 3 is_stmt 0 discriminator 2 view .LVU3661
11646 0018 8354 strb r3, [r0, r2]
4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11647 .loc 1 4889 3 is_stmt 1 discriminator 2 view .LVU3662
4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11648 .loc 1 4889 8 is_stmt 0 discriminator 2 view .LVU3663
11649 001a 4A09 lsrs r2, r1, #5
4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11650 .loc 1 4889 6 discriminator 2 view .LVU3664
11651 001c 1342 tst r3, r2
11652 001e 01D0 beq .L638
4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11653 .loc 1 4889 61 discriminator 1 view .LVU3665
11654 0020 B306 lsls r3, r6, #26
11655 0022 17D4 bmi .L651
11656 .LVL839:
11657 .L638:
4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11658 .loc 1 4896 3 is_stmt 1 view .LVU3666
4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11659 .loc 1 4896 6 is_stmt 0 view .LVU3667
11660 0024 EB06 lsls r3, r5, #27
11661 0026 40D5 bpl .L639
ARM GAS /tmp/ccRVAHyi.s page 385
4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11662 .loc 1 4896 58 discriminator 1 view .LVU3668
11663 0028 F306 lsls r3, r6, #27
11664 002a 3ED5 bpl .L639
4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11665 .loc 1 4903 5 is_stmt 1 view .LVU3669
4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11666 .loc 1 4903 13 is_stmt 0 view .LVU3670
11667 002c 638D ldrh r3, [r4, #42]
11668 002e 9BB2 uxth r3, r3
4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11669 .loc 1 4903 8 view .LVU3671
11670 0030 002B cmp r3, #0
11671 0032 28D1 bne .L640
4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11672 .loc 1 4905 7 is_stmt 1 view .LVU3672
4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11673 .loc 1 4905 16 is_stmt 0 view .LVU3673
11674 0034 4133 adds r3, r3, #65
11675 0036 E35C ldrb r3, [r4, r3]
4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11676 .loc 1 4905 10 view .LVU3674
11677 0038 282B cmp r3, #40
11678 003a 0ED0 beq .L652
11679 .L641:
4912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11680 .loc 1 4912 12 is_stmt 1 view .LVU3675
4912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11681 .loc 1 4912 21 is_stmt 0 view .LVU3676
11682 003c 4123 movs r3, #65
11683 003e E35C ldrb r3, [r4, r3]
4912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11684 .loc 1 4912 15 view .LVU3677
11685 0040 292B cmp r3, #41
11686 0042 13D0 beq .L653
11687 .L643:
4927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11688 .loc 1 4927 9 is_stmt 1 view .LVU3678
11689 0044 2368 ldr r3, [r4]
11690 0046 1022 movs r2, #16
11691 0048 DA61 str r2, [r3, #28]
11692 .L642:
5004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11693 .loc 1 5004 3 view .LVU3679
5007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11694 .loc 1 5007 3 view .LVU3680
5007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11695 .loc 1 5007 3 view .LVU3681
11696 004a 4023 movs r3, #64
11697 004c 0022 movs r2, #0
11698 004e E254 strb r2, [r4, r3]
5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11699 .loc 1 5009 3 view .LVU3682
5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11700 .loc 1 5009 10 is_stmt 0 view .LVU3683
11701 0050 0020 movs r0, #0
11702 .L637:
ARM GAS /tmp/ccRVAHyi.s page 386
5010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11703 .loc 1 5010 1 view .LVU3684
11704 @ sp needed
11705 .LVL840:
11706 .LVL841:
11707 .LVL842:
11708 .LVL843:
5010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11709 .loc 1 5010 1 view .LVU3685
11710 0052 F8BD pop {r3, r4, r5, r6, r7, pc}
11711 .LVL844:
11712 .L651:
4893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11713 .loc 1 4893 5 is_stmt 1 view .LVU3686
11714 0054 FFF7FEFF bl I2C_ITSlaveCplt
11715 .LVL845:
4893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11716 .loc 1 4893 5 is_stmt 0 view .LVU3687
11717 0058 E4E7 b .L638
11718 .L652:
4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11719 .loc 1 4905 49 discriminator 1 view .LVU3688
11720 005a 8023 movs r3, #128
11721 005c 9B04 lsls r3, r3, #18
11722 005e 9F42 cmp r7, r3
11723 0060 ECD1 bne .L641
4910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11724 .loc 1 4910 9 is_stmt 1 view .LVU3689
11725 0062 2900 movs r1, r5
11726 0064 2000 movs r0, r4
11727 0066 FFF7FEFF bl I2C_ITListenCplt
11728 .LVL846:
11729 006a EEE7 b .L642
11730 .L653:
4912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11731 .loc 1 4912 62 is_stmt 0 discriminator 1 view .LVU3690
11732 006c 364B ldr r3, .L655
11733 006e 9F42 cmp r7, r3
11734 0070 E8D0 beq .L643
4915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11735 .loc 1 4915 9 is_stmt 1 view .LVU3691
11736 0072 2368 ldr r3, [r4]
11737 0074 1022 movs r2, #16
11738 0076 DA61 str r2, [r3, #28]
4918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11739 .loc 1 4918 9 view .LVU3692
11740 0078 2000 movs r0, r4
11741 007a FFF7FEFF bl I2C_Flush_TXDR
11742 .LVL847:
4922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11743 .loc 1 4922 9 view .LVU3693
11744 007e 2000 movs r0, r4
11745 0080 FFF7FEFF bl I2C_ITSlaveSeqCplt
11746 .LVL848:
11747 0084 E1E7 b .L642
11748 .L640:
4934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 387
11749 .loc 1 4934 7 view .LVU3694
11750 0086 2368 ldr r3, [r4]
11751 0088 1022 movs r2, #16
11752 008a DA61 str r2, [r3, #28]
4937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11753 .loc 1 4937 7 view .LVU3695
4937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11754 .loc 1 4937 23 is_stmt 0 view .LVU3696
11755 008c 636C ldr r3, [r4, #68]
11756 008e 0C3A subs r2, r2, #12
11757 0090 1343 orrs r3, r2
11758 0092 6364 str r3, [r4, #68]
4939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11759 .loc 1 4939 7 is_stmt 1 view .LVU3697
4939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11760 .loc 1 4939 10 is_stmt 0 view .LVU3698
11761 0094 002F cmp r7, #0
11762 0096 03D0 beq .L644
4939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11763 .loc 1 4939 43 discriminator 1 view .LVU3699
11764 0098 8023 movs r3, #128
11765 009a 5B04 lsls r3, r3, #17
11766 009c 9F42 cmp r7, r3
11767 009e D4D1 bne .L642
11768 .L644:
4942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11769 .loc 1 4942 9 is_stmt 1 view .LVU3700
11770 00a0 616C ldr r1, [r4, #68]
11771 00a2 2000 movs r0, r4
11772 00a4 FFF7FEFF bl I2C_ITError
11773 .LVL849:
11774 00a8 CFE7 b .L642
11775 .L639:
4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11776 .loc 1 4946 8 view .LVU3701
4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11777 .loc 1 4946 11 is_stmt 0 view .LVU3702
11778 00aa 6B07 lsls r3, r5, #29
11779 00ac 1ED5 bpl .L645
4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11780 .loc 1 4946 65 discriminator 1 view .LVU3703
11781 00ae 7307 lsls r3, r6, #29
11782 00b0 1CD5 bpl .L645
4949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11783 .loc 1 4949 5 is_stmt 1 view .LVU3704
4949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11784 .loc 1 4949 13 is_stmt 0 view .LVU3705
11785 00b2 638D ldrh r3, [r4, #42]
11786 00b4 9BB2 uxth r3, r3
4949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11787 .loc 1 4949 8 view .LVU3706
11788 00b6 002B cmp r3, #0
11789 00b8 0DD0 beq .L646
4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11790 .loc 1 4952 7 is_stmt 1 view .LVU3707
4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11791 .loc 1 4952 38 is_stmt 0 view .LVU3708
ARM GAS /tmp/ccRVAHyi.s page 388
11792 00ba 2368 ldr r3, [r4]
4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11793 .loc 1 4952 48 view .LVU3709
11794 00bc 5B6A ldr r3, [r3, #36]
4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11795 .loc 1 4952 23 view .LVU3710
11796 00be 626A ldr r2, [r4, #36]
11797 00c0 1370 strb r3, [r2]
4955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11798 .loc 1 4955 7 is_stmt 1 view .LVU3711
4955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11799 .loc 1 4955 21 is_stmt 0 view .LVU3712
11800 00c2 636A ldr r3, [r4, #36]
11801 00c4 0133 adds r3, r3, #1
11802 00c6 6362 str r3, [r4, #36]
4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
11803 .loc 1 4957 7 is_stmt 1 view .LVU3713
4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
11804 .loc 1 4957 11 is_stmt 0 view .LVU3714
11805 00c8 238D ldrh r3, [r4, #40]
4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
11806 .loc 1 4957 21 view .LVU3715
11807 00ca 013B subs r3, r3, #1
11808 00cc 2385 strh r3, [r4, #40]
4958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11809 .loc 1 4958 7 is_stmt 1 view .LVU3716
4958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11810 .loc 1 4958 11 is_stmt 0 view .LVU3717
11811 00ce 638D ldrh r3, [r4, #42]
4958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11812 .loc 1 4958 22 view .LVU3718
11813 00d0 013B subs r3, r3, #1
11814 00d2 9BB2 uxth r3, r3
11815 00d4 6385 strh r3, [r4, #42]
11816 .L646:
4961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11817 .loc 1 4961 5 is_stmt 1 view .LVU3719
4961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11818 .loc 1 4961 14 is_stmt 0 view .LVU3720
11819 00d6 638D ldrh r3, [r4, #42]
11820 00d8 9BB2 uxth r3, r3
4961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11821 .loc 1 4961 8 view .LVU3721
11822 00da 002B cmp r3, #0
11823 00dc B5D1 bne .L642
4961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11824 .loc 1 4961 33 discriminator 1 view .LVU3722
11825 00de 1A4B ldr r3, .L655
11826 00e0 9F42 cmp r7, r3
11827 00e2 B2D0 beq .L642
4965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11828 .loc 1 4965 7 is_stmt 1 view .LVU3723
11829 00e4 2000 movs r0, r4
11830 00e6 FFF7FEFF bl I2C_ITSlaveSeqCplt
11831 .LVL850:
11832 00ea AEE7 b .L642
11833 .L645:
ARM GAS /tmp/ccRVAHyi.s page 389
4968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
11834 .loc 1 4968 8 view .LVU3724
4968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
11835 .loc 1 4968 11 is_stmt 0 view .LVU3725
11836 00ec 2B07 lsls r3, r5, #28
11837 00ee 01D5 bpl .L647
4968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
11838 .loc 1 4968 65 discriminator 1 view .LVU3726
11839 00f0 3307 lsls r3, r6, #28
11840 00f2 16D4 bmi .L654
11841 .L647:
4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11842 .loc 1 4973 8 is_stmt 1 view .LVU3727
4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11843 .loc 1 4973 11 is_stmt 0 view .LVU3728
11844 00f4 AB07 lsls r3, r5, #30
11845 00f6 A8D5 bpl .L642
4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11846 .loc 1 4973 65 discriminator 1 view .LVU3729
11847 00f8 B307 lsls r3, r6, #30
11848 00fa A6D5 bpl .L642
4980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11849 .loc 1 4980 5 is_stmt 1 view .LVU3730
4980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11850 .loc 1 4980 13 is_stmt 0 view .LVU3731
11851 00fc 638D ldrh r3, [r4, #42]
11852 00fe 9BB2 uxth r3, r3
4980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11853 .loc 1 4980 8 view .LVU3732
11854 0100 002B cmp r3, #0
11855 0102 13D0 beq .L648
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11856 .loc 1 4983 7 is_stmt 1 view .LVU3733
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11857 .loc 1 4983 11 is_stmt 0 view .LVU3734
11858 0104 2368 ldr r3, [r4]
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11859 .loc 1 4983 30 view .LVU3735
11860 0106 626A ldr r2, [r4, #36]
11861 0108 1278 ldrb r2, [r2]
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11862 .loc 1 4983 28 view .LVU3736
11863 010a 9A62 str r2, [r3, #40]
4986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11864 .loc 1 4986 7 is_stmt 1 view .LVU3737
4986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11865 .loc 1 4986 21 is_stmt 0 view .LVU3738
11866 010c 636A ldr r3, [r4, #36]
11867 010e 0133 adds r3, r3, #1
11868 0110 6362 str r3, [r4, #36]
4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
11869 .loc 1 4988 7 is_stmt 1 view .LVU3739
4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
11870 .loc 1 4988 11 is_stmt 0 view .LVU3740
11871 0112 638D ldrh r3, [r4, #42]
4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
11872 .loc 1 4988 22 view .LVU3741
ARM GAS /tmp/ccRVAHyi.s page 390
11873 0114 013B subs r3, r3, #1
11874 0116 9BB2 uxth r3, r3
11875 0118 6385 strh r3, [r4, #42]
4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11876 .loc 1 4989 7 is_stmt 1 view .LVU3742
4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11877 .loc 1 4989 11 is_stmt 0 view .LVU3743
11878 011a 238D ldrh r3, [r4, #40]
4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11879 .loc 1 4989 21 view .LVU3744
11880 011c 013B subs r3, r3, #1
11881 011e 2385 strh r3, [r4, #40]
11882 0120 93E7 b .L642
11883 .L654:
4971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11884 .loc 1 4971 5 is_stmt 1 view .LVU3745
11885 0122 2900 movs r1, r5
11886 0124 2000 movs r0, r4
11887 0126 FFF7FEFF bl I2C_ITAddrCplt
11888 .LVL851:
11889 012a 8EE7 b .L642
11890 .L648:
4993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11891 .loc 1 4993 7 view .LVU3746
4993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11892 .loc 1 4993 10 is_stmt 0 view .LVU3747
11893 012c 8023 movs r3, #128
11894 012e 5B04 lsls r3, r3, #17
11895 0130 9F42 cmp r7, r3
11896 0132 02D0 beq .L649
4993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11897 .loc 1 4993 42 discriminator 1 view .LVU3748
11898 0134 002F cmp r7, #0
11899 0136 00D0 beq .LCB11090
11900 0138 87E7 b .L642 @long jump
11901 .LCB11090:
11902 .L649:
4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11903 .loc 1 4997 9 is_stmt 1 view .LVU3749
11904 013a 2000 movs r0, r4
11905 013c FFF7FEFF bl I2C_ITSlaveSeqCplt
11906 .LVL852:
11907 0140 83E7 b .L642
11908 .LVL853:
11909 .L650:
4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11910 .loc 1 4886 3 is_stmt 0 view .LVU3750
11911 0142 0220 movs r0, #2
11912 .LVL854:
4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11913 .loc 1 4886 3 view .LVU3751
11914 0144 85E7 b .L637
11915 .L656:
11916 0146 C046 .align 2
11917 .L655:
11918 0148 0000FFFF .word -65536
11919 .cfi_endproc
ARM GAS /tmp/ccRVAHyi.s page 391
11920 .LFE90:
11922 .section .text.I2C_ITMasterCplt,"ax",%progbits
11923 .align 1
11924 .syntax unified
11925 .code 16
11926 .thumb_func
11927 .fpu softvfp
11929 I2C_ITMasterCplt:
11930 .LVL855:
11931 .LFB98:
5632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
11932 .loc 1 5632 1 is_stmt 1 view -0
11933 .cfi_startproc
11934 @ args = 0, pretend = 0, frame = 8
11935 @ frame_needed = 0, uses_anonymous_args = 0
5632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
11936 .loc 1 5632 1 is_stmt 0 view .LVU3753
11937 0000 30B5 push {r4, r5, lr}
11938 .LCFI79:
11939 .cfi_def_cfa_offset 12
11940 .cfi_offset 4, -12
11941 .cfi_offset 5, -8
11942 .cfi_offset 14, -4
11943 0002 83B0 sub sp, sp, #12
11944 .LCFI80:
11945 .cfi_def_cfa_offset 24
11946 0004 0400 movs r4, r0
11947 0006 0D00 movs r5, r1
5633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11948 .loc 1 5633 3 is_stmt 1 view .LVU3754
5634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __IO uint32_t tmpreg;
11949 .loc 1 5634 3 view .LVU3755
11950 .LVL856:
5635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11951 .loc 1 5635 3 view .LVU3756
5638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11952 .loc 1 5638 3 view .LVU3757
11953 0008 0368 ldr r3, [r0]
11954 000a 2022 movs r2, #32
11955 000c DA61 str r2, [r3, #28]
5641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11956 .loc 1 5641 3 view .LVU3758
5641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11957 .loc 1 5641 11 is_stmt 0 view .LVU3759
11958 000e 4123 movs r3, #65
11959 0010 C35C ldrb r3, [r0, r3]
5641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11960 .loc 1 5641 6 view .LVU3760
11961 0012 212B cmp r3, #33
11962 0014 29D0 beq .L668
5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11963 .loc 1 5646 8 is_stmt 1 view .LVU3761
5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11964 .loc 1 5646 16 is_stmt 0 view .LVU3762
11965 0016 4123 movs r3, #65
11966 0018 C35C ldrb r3, [r0, r3]
5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 392
11967 .loc 1 5646 11 view .LVU3763
11968 001a 222B cmp r3, #34
11969 001c 2BD0 beq .L669
11970 .LVL857:
11971 .L659:
5654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11972 .loc 1 5654 3 is_stmt 1 view .LVU3764
5657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11973 .loc 1 5657 3 view .LVU3765
11974 001e 2268 ldr r2, [r4]
11975 0020 5368 ldr r3, [r2, #4]
11976 0022 3B49 ldr r1, .L674
11977 0024 0B40 ands r3, r1
11978 0026 5360 str r3, [r2, #4]
5660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11979 .loc 1 5660 3 view .LVU3766
5660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11980 .loc 1 5660 23 is_stmt 0 view .LVU3767
11981 0028 0023 movs r3, #0
11982 002a 6363 str r3, [r4, #52]
5661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11983 .loc 1 5661 3 is_stmt 1 view .LVU3768
5661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11984 .loc 1 5661 23 is_stmt 0 view .LVU3769
11985 002c 394B ldr r3, .L674+4
11986 002e E362 str r3, [r4, #44]
5663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11987 .loc 1 5663 3 is_stmt 1 view .LVU3770
5663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11988 .loc 1 5663 6 is_stmt 0 view .LVU3771
11989 0030 EB06 lsls r3, r5, #27
11990 0032 06D5 bpl .L660
5666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11991 .loc 1 5666 5 is_stmt 1 view .LVU3772
11992 0034 2368 ldr r3, [r4]
11993 0036 1022 movs r2, #16
11994 0038 DA61 str r2, [r3, #28]
5669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11995 .loc 1 5669 5 view .LVU3773
5669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11996 .loc 1 5669 21 is_stmt 0 view .LVU3774
11997 003a 636C ldr r3, [r4, #68]
11998 003c 0C3A subs r2, r2, #12
11999 003e 1343 orrs r3, r2
12000 0040 6364 str r3, [r4, #68]
12001 .L660:
5673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12002 .loc 1 5673 3 is_stmt 1 view .LVU3775
5673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12003 .loc 1 5673 12 is_stmt 0 view .LVU3776
12004 0042 4123 movs r3, #65
12005 0044 E35C ldrb r3, [r4, r3]
5673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12006 .loc 1 5673 6 view .LVU3777
12007 0046 602B cmp r3, #96
12008 0048 1BD0 beq .L670
12009 .L661:
ARM GAS /tmp/ccRVAHyi.s page 393
5681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12010 .loc 1 5681 3 is_stmt 1 view .LVU3778
12011 004a 2000 movs r0, r4
12012 004c FFF7FEFF bl I2C_Flush_TXDR
12013 .LVL858:
5684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12014 .loc 1 5684 3 view .LVU3779
5684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12015 .loc 1 5684 12 is_stmt 0 view .LVU3780
12016 0050 626C ldr r2, [r4, #68]
12017 .LVL859:
5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12018 .loc 1 5687 3 is_stmt 1 view .LVU3781
5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12019 .loc 1 5687 12 is_stmt 0 view .LVU3782
12020 0052 4123 movs r3, #65
12021 0054 E35C ldrb r3, [r4, r3]
5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12022 .loc 1 5687 6 view .LVU3783
12023 0056 602B cmp r3, #96
12024 0058 01D0 beq .L662
5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12025 .loc 1 5687 44 discriminator 1 view .LVU3784
12026 005a 002A cmp r2, #0
12027 005c 1AD0 beq .L663
12028 .L662:
5690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12029 .loc 1 5690 5 is_stmt 1 view .LVU3785
12030 005e 616C ldr r1, [r4, #68]
12031 0060 2000 movs r0, r4
12032 0062 FFF7FEFF bl I2C_ITError
12033 .LVL860:
12034 .L657:
5766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12035 .loc 1 5766 1 is_stmt 0 view .LVU3786
12036 0066 03B0 add sp, sp, #12
12037 @ sp needed
12038 .LVL861:
12039 .LVL862:
5766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12040 .loc 1 5766 1 view .LVU3787
12041 0068 30BD pop {r4, r5, pc}
12042 .LVL863:
12043 .L668:
5643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
12044 .loc 1 5643 5 is_stmt 1 view .LVU3788
12045 006a 0121 movs r1, #1
12046 .LVL864:
5643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
12047 .loc 1 5643 5 is_stmt 0 view .LVU3789
12048 006c FFF7FEFF bl I2C_Disable_IRQ
12049 .LVL865:
5644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12050 .loc 1 5644 5 is_stmt 1 view .LVU3790
5644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12051 .loc 1 5644 25 is_stmt 0 view .LVU3791
12052 0070 1123 movs r3, #17
ARM GAS /tmp/ccRVAHyi.s page 394
12053 0072 2363 str r3, [r4, #48]
12054 0074 D3E7 b .L659
12055 .LVL866:
12056 .L669:
5648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
12057 .loc 1 5648 5 is_stmt 1 view .LVU3792
12058 0076 0221 movs r1, #2
12059 .LVL867:
5648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
12060 .loc 1 5648 5 is_stmt 0 view .LVU3793
12061 0078 FFF7FEFF bl I2C_Disable_IRQ
12062 .LVL868:
5649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12063 .loc 1 5649 5 is_stmt 1 view .LVU3794
5649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12064 .loc 1 5649 25 is_stmt 0 view .LVU3795
12065 007c 1223 movs r3, #18
12066 007e 2363 str r3, [r4, #48]
12067 0080 CDE7 b .L659
12068 .L670:
5673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12069 .loc 1 5673 44 discriminator 1 view .LVU3796
12070 0082 6B07 lsls r3, r5, #29
12071 0084 E1D5 bpl .L661
5676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(tmpreg);
12072 .loc 1 5676 5 is_stmt 1 view .LVU3797
5676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(tmpreg);
12073 .loc 1 5676 27 is_stmt 0 view .LVU3798
12074 0086 2368 ldr r3, [r4]
5676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(tmpreg);
12075 .loc 1 5676 37 view .LVU3799
12076 0088 5A6A ldr r2, [r3, #36]
12077 008a FF23 movs r3, #255
12078 008c 1340 ands r3, r2
5676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(tmpreg);
12079 .loc 1 5676 12 view .LVU3800
12080 008e 0193 str r3, [sp, #4]
5677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12081 .loc 1 5677 5 is_stmt 1 view .LVU3801
12082 0090 019B ldr r3, [sp, #4]
12083 0092 DAE7 b .L661
12084 .LVL869:
12085 .L663:
5693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12086 .loc 1 5693 8 view .LVU3802
5693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12087 .loc 1 5693 16 is_stmt 0 view .LVU3803
12088 0094 4123 movs r3, #65
12089 0096 E35C ldrb r3, [r4, r3]
5693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12090 .loc 1 5693 11 view .LVU3804
12091 0098 212B cmp r3, #33
12092 009a 15D0 beq .L671
5728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12093 .loc 1 5728 8 is_stmt 1 view .LVU3805
5728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12094 .loc 1 5728 16 is_stmt 0 view .LVU3806
ARM GAS /tmp/ccRVAHyi.s page 395
12095 009c 4123 movs r3, #65
12096 009e E35C ldrb r3, [r4, r3]
5728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12097 .loc 1 5728 11 view .LVU3807
12098 00a0 222B cmp r3, #34
12099 00a2 E0D1 bne .L657
5730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12100 .loc 1 5730 5 is_stmt 1 view .LVU3808
5730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12101 .loc 1 5730 17 is_stmt 0 view .LVU3809
12102 00a4 1F33 adds r3, r3, #31
12103 00a6 2022 movs r2, #32
12104 .LVL870:
5730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12105 .loc 1 5730 17 view .LVU3810
12106 00a8 E254 strb r2, [r4, r3]
5731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12107 .loc 1 5731 5 is_stmt 1 view .LVU3811
5731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12108 .loc 1 5731 25 is_stmt 0 view .LVU3812
12109 00aa 0023 movs r3, #0
12110 00ac 2363 str r3, [r4, #48]
5733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12111 .loc 1 5733 5 is_stmt 1 view .LVU3813
5733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12112 .loc 1 5733 13 is_stmt 0 view .LVU3814
12113 00ae 4233 adds r3, r3, #66
12114 00b0 E35C ldrb r3, [r4, r3]
5733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12115 .loc 1 5733 8 view .LVU3815
12116 00b2 402B cmp r3, #64
12117 00b4 23D0 beq .L672
5749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12118 .loc 1 5749 7 is_stmt 1 view .LVU3816
5749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12119 .loc 1 5749 18 is_stmt 0 view .LVU3817
12120 00b6 0023 movs r3, #0
12121 00b8 4222 movs r2, #66
12122 00ba A354 strb r3, [r4, r2]
5752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12123 .loc 1 5752 7 is_stmt 1 view .LVU3818
5752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12124 .loc 1 5752 7 view .LVU3819
12125 00bc 023A subs r2, r2, #2
12126 00be A354 strb r3, [r4, r2]
5758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12127 .loc 1 5758 7 view .LVU3820
12128 00c0 2000 movs r0, r4
12129 00c2 FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
12130 .LVL871:
5765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12131 .loc 1 5765 3 view .LVU3821
5766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12132 .loc 1 5766 1 is_stmt 0 view .LVU3822
12133 00c6 CEE7 b .L657
12134 .LVL872:
12135 .L671:
ARM GAS /tmp/ccRVAHyi.s page 396
5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12136 .loc 1 5695 5 is_stmt 1 view .LVU3823
5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12137 .loc 1 5695 17 is_stmt 0 view .LVU3824
12138 00c8 2033 adds r3, r3, #32
12139 00ca 2022 movs r2, #32
12140 .LVL873:
5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12141 .loc 1 5695 17 view .LVU3825
12142 00cc E254 strb r2, [r4, r3]
5696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12143 .loc 1 5696 5 is_stmt 1 view .LVU3826
5696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12144 .loc 1 5696 25 is_stmt 0 view .LVU3827
12145 00ce 0023 movs r3, #0
12146 00d0 2363 str r3, [r4, #48]
5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12147 .loc 1 5698 5 is_stmt 1 view .LVU3828
5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12148 .loc 1 5698 13 is_stmt 0 view .LVU3829
12149 00d2 4233 adds r3, r3, #66
12150 00d4 E35C ldrb r3, [r4, r3]
5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12151 .loc 1 5698 8 view .LVU3830
12152 00d6 402B cmp r3, #64
12153 00d8 08D0 beq .L673
5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12154 .loc 1 5714 7 is_stmt 1 view .LVU3831
5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12155 .loc 1 5714 18 is_stmt 0 view .LVU3832
12156 00da 0023 movs r3, #0
12157 00dc 4222 movs r2, #66
12158 00de A354 strb r3, [r4, r2]
5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12159 .loc 1 5717 7 is_stmt 1 view .LVU3833
5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12160 .loc 1 5717 7 view .LVU3834
12161 00e0 023A subs r2, r2, #2
12162 00e2 A354 strb r3, [r4, r2]
5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12163 .loc 1 5723 7 view .LVU3835
12164 00e4 2000 movs r0, r4
12165 00e6 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
12166 .LVL874:
12167 00ea BCE7 b .L657
12168 .L673:
5700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12169 .loc 1 5700 7 view .LVU3836
5700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12170 .loc 1 5700 18 is_stmt 0 view .LVU3837
12171 00ec 0023 movs r3, #0
12172 00ee 2232 adds r2, r2, #34
12173 00f0 A354 strb r3, [r4, r2]
5703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12174 .loc 1 5703 7 is_stmt 1 view .LVU3838
5703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12175 .loc 1 5703 7 view .LVU3839
ARM GAS /tmp/ccRVAHyi.s page 397
12176 00f2 023A subs r2, r2, #2
12177 00f4 A354 strb r3, [r4, r2]
5709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12178 .loc 1 5709 7 view .LVU3840
12179 00f6 2000 movs r0, r4
12180 00f8 FFF7FEFF bl HAL_I2C_MemTxCpltCallback
12181 .LVL875:
12182 00fc B3E7 b .L657
12183 .L672:
5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12184 .loc 1 5735 7 view .LVU3841
5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12185 .loc 1 5735 18 is_stmt 0 view .LVU3842
12186 00fe 0023 movs r3, #0
12187 0100 2232 adds r2, r2, #34
12188 0102 A354 strb r3, [r4, r2]
5738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12189 .loc 1 5738 7 is_stmt 1 view .LVU3843
5738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12190 .loc 1 5738 7 view .LVU3844
12191 0104 023A subs r2, r2, #2
12192 0106 A354 strb r3, [r4, r2]
5744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12193 .loc 1 5744 7 view .LVU3845
12194 0108 2000 movs r0, r4
12195 010a FFF7FEFF bl HAL_I2C_MemRxCpltCallback
12196 .LVL876:
12197 010e AAE7 b .L657
12198 .L675:
12199 .align 2
12200 .L674:
12201 0110 00E800FE .word -33495040
12202 0114 0000FFFF .word -65536
12203 .cfi_endproc
12204 .LFE98:
12206 .section .text.I2C_Master_ISR_IT,"ax",%progbits
12207 .align 1
12208 .syntax unified
12209 .code 16
12210 .thumb_func
12211 .fpu softvfp
12213 I2C_Master_ISR_IT:
12214 .LVL877:
12215 .LFB89:
4735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
12216 .loc 1 4735 1 view -0
12217 .cfi_startproc
12218 @ args = 0, pretend = 0, frame = 0
12219 @ frame_needed = 0, uses_anonymous_args = 0
4735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
12220 .loc 1 4735 1 is_stmt 0 view .LVU3847
12221 0000 70B5 push {r4, r5, r6, lr}
12222 .LCFI81:
12223 .cfi_def_cfa_offset 16
12224 .cfi_offset 4, -16
12225 .cfi_offset 5, -12
12226 .cfi_offset 6, -8
ARM GAS /tmp/ccRVAHyi.s page 398
12227 .cfi_offset 14, -4
12228 0002 82B0 sub sp, sp, #8
12229 .LCFI82:
12230 .cfi_def_cfa_offset 24
12231 0004 0400 movs r4, r0
12232 0006 0D00 movs r5, r1
12233 0008 1600 movs r6, r2
4736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
12234 .loc 1 4736 3 is_stmt 1 view .LVU3848
4737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12235 .loc 1 4737 3 view .LVU3849
12236 .LVL878:
4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12237 .loc 1 4740 3 view .LVU3850
4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12238 .loc 1 4740 3 view .LVU3851
12239 000a 4023 movs r3, #64
12240 000c C35C ldrb r3, [r0, r3]
12241 000e 012B cmp r3, #1
12242 0010 00D1 bne .LCB11419
12243 0012 ADE0 b .L690 @long jump
12244 .LCB11419:
4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12245 .loc 1 4740 3 discriminator 2 view .LVU3852
12246 0014 0123 movs r3, #1
12247 0016 4022 movs r2, #64
12248 .LVL879:
4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12249 .loc 1 4740 3 is_stmt 0 discriminator 2 view .LVU3853
12250 0018 8354 strb r3, [r0, r2]
4742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12251 .loc 1 4742 3 is_stmt 1 discriminator 2 view .LVU3854
4742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12252 .loc 1 4742 8 is_stmt 0 discriminator 2 view .LVU3855
12253 001a 0A09 lsrs r2, r1, #4
4742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12254 .loc 1 4742 6 discriminator 2 view .LVU3856
12255 001c 1342 tst r3, r2
12256 001e 01D0 beq .L678
4742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12257 .loc 1 4742 58 discriminator 1 view .LVU3857
12258 0020 F306 lsls r3, r6, #27
12259 0022 1ED4 bmi .L691
12260 .L678:
4756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
12261 .loc 1 4756 8 is_stmt 1 view .LVU3858
4756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
12262 .loc 1 4756 11 is_stmt 0 view .LVU3859
12263 0024 6B07 lsls r3, r5, #29
12264 0026 26D5 bpl .L680
4756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
12265 .loc 1 4756 65 discriminator 1 view .LVU3860
12266 0028 7307 lsls r3, r6, #29
12267 002a 24D5 bpl .L680
4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12268 .loc 1 4760 5 is_stmt 1 view .LVU3861
4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 399
12269 .loc 1 4760 16 is_stmt 0 view .LVU3862
12270 002c 0423 movs r3, #4
12271 002e 9D43 bics r5, r3
12272 .LVL880:
4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12273 .loc 1 4763 5 is_stmt 1 view .LVU3863
4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12274 .loc 1 4763 36 is_stmt 0 view .LVU3864
12275 0030 2368 ldr r3, [r4]
4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12276 .loc 1 4763 46 view .LVU3865
12277 0032 5B6A ldr r3, [r3, #36]
4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12278 .loc 1 4763 21 view .LVU3866
12279 0034 626A ldr r2, [r4, #36]
12280 0036 1370 strb r3, [r2]
4766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12281 .loc 1 4766 5 is_stmt 1 view .LVU3867
4766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12282 .loc 1 4766 19 is_stmt 0 view .LVU3868
12283 0038 636A ldr r3, [r4, #36]
12284 003a 0133 adds r3, r3, #1
12285 003c 6362 str r3, [r4, #36]
4768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12286 .loc 1 4768 5 is_stmt 1 view .LVU3869
4768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12287 .loc 1 4768 9 is_stmt 0 view .LVU3870
12288 003e 238D ldrh r3, [r4, #40]
4768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12289 .loc 1 4768 19 view .LVU3871
12290 0040 013B subs r3, r3, #1
12291 0042 2385 strh r3, [r4, #40]
4769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12292 .loc 1 4769 5 is_stmt 1 view .LVU3872
4769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12293 .loc 1 4769 9 is_stmt 0 view .LVU3873
12294 0044 638D ldrh r3, [r4, #42]
4769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12295 .loc 1 4769 20 view .LVU3874
12296 0046 013B subs r3, r3, #1
12297 0048 9BB2 uxth r3, r3
12298 004a 6385 strh r3, [r4, #42]
12299 .LVL881:
12300 .L679:
4856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12301 .loc 1 4856 3 is_stmt 1 view .LVU3875
4858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12302 .loc 1 4858 3 view .LVU3876
4858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12303 .loc 1 4858 6 is_stmt 0 view .LVU3877
12304 004c AB06 lsls r3, r5, #26
12305 004e 02D5 bpl .L689
4858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12306 .loc 1 4858 61 discriminator 1 view .LVU3878
12307 0050 B306 lsls r3, r6, #26
12308 0052 00D5 bpl .LCB11491
12309 0054 87E0 b .L692 @long jump
ARM GAS /tmp/ccRVAHyi.s page 400
12310 .LCB11491:
12311 .L689:
4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12312 .loc 1 4866 3 is_stmt 1 view .LVU3879
4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12313 .loc 1 4866 3 view .LVU3880
12314 0056 4023 movs r3, #64
12315 0058 0022 movs r2, #0
12316 005a E254 strb r2, [r4, r3]
4868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12317 .loc 1 4868 3 view .LVU3881
4868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12318 .loc 1 4868 10 is_stmt 0 view .LVU3882
12319 005c 0020 movs r0, #0
12320 .L677:
4869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12321 .loc 1 4869 1 view .LVU3883
12322 005e 02B0 add sp, sp, #8
12323 @ sp needed
12324 .LVL882:
12325 .LVL883:
12326 .LVL884:
4869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12327 .loc 1 4869 1 view .LVU3884
12328 0060 70BD pop {r4, r5, r6, pc}
12329 .LVL885:
12330 .L691:
4746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12331 .loc 1 4746 5 is_stmt 1 view .LVU3885
12332 0062 0368 ldr r3, [r0]
12333 0064 1022 movs r2, #16
12334 0066 DA61 str r2, [r3, #28]
4751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12335 .loc 1 4751 5 view .LVU3886
4751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12336 .loc 1 4751 21 is_stmt 0 view .LVU3887
12337 0068 436C ldr r3, [r0, #68]
12338 006a 0C3A subs r2, r2, #12
12339 006c 1343 orrs r3, r2
12340 006e 4364 str r3, [r0, #68]
4754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12341 .loc 1 4754 5 is_stmt 1 view .LVU3888
12342 0070 FFF7FEFF bl I2C_Flush_TXDR
12343 .LVL886:
4754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12344 .loc 1 4754 5 is_stmt 0 view .LVU3889
12345 0074 EAE7 b .L679
12346 .LVL887:
12347 .L680:
4771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12348 .loc 1 4771 8 is_stmt 1 view .LVU3890
4771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12349 .loc 1 4771 11 is_stmt 0 view .LVU3891
12350 0076 AB07 lsls r3, r5, #30
12351 0078 10D5 bpl .L681
4771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12352 .loc 1 4771 65 discriminator 1 view .LVU3892
ARM GAS /tmp/ccRVAHyi.s page 401
12353 007a B307 lsls r3, r6, #30
12354 007c 0ED5 bpl .L681
4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12355 .loc 1 4775 5 is_stmt 1 view .LVU3893
4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12356 .loc 1 4775 9 is_stmt 0 view .LVU3894
12357 007e 2368 ldr r3, [r4]
4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12358 .loc 1 4775 28 view .LVU3895
12359 0080 626A ldr r2, [r4, #36]
12360 0082 1278 ldrb r2, [r2]
4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12361 .loc 1 4775 26 view .LVU3896
12362 0084 9A62 str r2, [r3, #40]
4778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12363 .loc 1 4778 5 is_stmt 1 view .LVU3897
4778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12364 .loc 1 4778 19 is_stmt 0 view .LVU3898
12365 0086 636A ldr r3, [r4, #36]
12366 0088 0133 adds r3, r3, #1
12367 008a 6362 str r3, [r4, #36]
4780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12368 .loc 1 4780 5 is_stmt 1 view .LVU3899
4780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12369 .loc 1 4780 9 is_stmt 0 view .LVU3900
12370 008c 238D ldrh r3, [r4, #40]
4780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12371 .loc 1 4780 19 view .LVU3901
12372 008e 013B subs r3, r3, #1
12373 0090 2385 strh r3, [r4, #40]
4781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12374 .loc 1 4781 5 is_stmt 1 view .LVU3902
4781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12375 .loc 1 4781 9 is_stmt 0 view .LVU3903
12376 0092 638D ldrh r3, [r4, #42]
4781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12377 .loc 1 4781 20 view .LVU3904
12378 0094 013B subs r3, r3, #1
12379 0096 9BB2 uxth r3, r3
12380 0098 6385 strh r3, [r4, #42]
12381 009a D7E7 b .L679
12382 .L681:
4783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12383 .loc 1 4783 8 is_stmt 1 view .LVU3905
4783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12384 .loc 1 4783 11 is_stmt 0 view .LVU3906
12385 009c 2B06 lsls r3, r5, #24
12386 009e 40D5 bpl .L682
4783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12387 .loc 1 4783 64 discriminator 1 view .LVU3907
12388 00a0 7306 lsls r3, r6, #25
12389 00a2 3ED5 bpl .L682
4786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12390 .loc 1 4786 5 is_stmt 1 view .LVU3908
4786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12391 .loc 1 4786 14 is_stmt 0 view .LVU3909
12392 00a4 638D ldrh r3, [r4, #42]
ARM GAS /tmp/ccRVAHyi.s page 402
12393 00a6 9BB2 uxth r3, r3
4786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12394 .loc 1 4786 8 view .LVU3910
12395 00a8 002B cmp r3, #0
12396 00aa 2DD0 beq .L683
4786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12397 .loc 1 4786 41 discriminator 1 view .LVU3911
12398 00ac 238D ldrh r3, [r4, #40]
4786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12399 .loc 1 4786 33 discriminator 1 view .LVU3912
12400 00ae 002B cmp r3, #0
12401 00b0 2AD1 bne .L683
4788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12402 .loc 1 4788 7 is_stmt 1 view .LVU3913
4788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12403 .loc 1 4788 35 is_stmt 0 view .LVU3914
12404 00b2 2368 ldr r3, [r4]
4788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12405 .loc 1 4788 45 view .LVU3915
12406 00b4 5968 ldr r1, [r3, #4]
12407 .LVL888:
4788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12408 .loc 1 4788 18 view .LVU3916
12409 00b6 8905 lsls r1, r1, #22
12410 00b8 890D lsrs r1, r1, #22
12411 .LVL889:
4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12412 .loc 1 4790 7 is_stmt 1 view .LVU3917
4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12413 .loc 1 4790 15 is_stmt 0 view .LVU3918
12414 00ba 638D ldrh r3, [r4, #42]
12415 00bc 9BB2 uxth r3, r3
4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12416 .loc 1 4790 10 view .LVU3919
12417 00be FF2B cmp r3, #255
12418 00c0 0ED8 bhi .L693
4797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
12419 .loc 1 4797 9 is_stmt 1 view .LVU3920
4797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
12420 .loc 1 4797 30 is_stmt 0 view .LVU3921
12421 00c2 628D ldrh r2, [r4, #42]
12422 00c4 92B2 uxth r2, r2
4797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
12423 .loc 1 4797 24 view .LVU3922
12424 00c6 2285 strh r2, [r4, #40]
4798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12425 .loc 1 4798 9 is_stmt 1 view .LVU3923
4798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12426 .loc 1 4798 17 is_stmt 0 view .LVU3924
12427 00c8 E06A ldr r0, [r4, #44]
12428 .LVL890:
4798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12429 .loc 1 4798 12 view .LVU3925
12430 00ca 2A4B ldr r3, .L694
12431 00cc 9842 cmp r0, r3
12432 00ce 12D0 beq .L685
4800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
ARM GAS /tmp/ccRVAHyi.s page 403
12433 .loc 1 4800 11 is_stmt 1 view .LVU3926
12434 00d0 E36A ldr r3, [r4, #44]
12435 00d2 D2B2 uxtb r2, r2
12436 00d4 0020 movs r0, #0
12437 00d6 0090 str r0, [sp]
12438 00d8 2000 movs r0, r4
12439 00da FFF7FEFF bl I2C_TransferConfig
12440 .LVL891:
4800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
12441 .loc 1 4800 11 is_stmt 0 view .LVU3927
12442 00de B5E7 b .L679
12443 .LVL892:
12444 .L693:
4792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
12445 .loc 1 4792 9 is_stmt 1 view .LVU3928
4792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
12446 .loc 1 4792 24 is_stmt 0 view .LVU3929
12447 00e0 FF23 movs r3, #255
12448 00e2 2385 strh r3, [r4, #40]
4793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12449 .loc 1 4793 9 is_stmt 1 view .LVU3930
12450 00e4 7F3B subs r3, r3, #127
12451 00e6 0022 movs r2, #0
12452 00e8 0092 str r2, [sp]
12453 00ea 5B04 lsls r3, r3, #17
12454 00ec FF32 adds r2, r2, #255
12455 00ee 2000 movs r0, r4
12456 .LVL893:
4793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12457 .loc 1 4793 9 is_stmt 0 view .LVU3931
12458 00f0 FFF7FEFF bl I2C_TransferConfig
12459 .LVL894:
4793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12460 .loc 1 4793 9 view .LVU3932
12461 00f4 AAE7 b .L679
12462 .LVL895:
12463 .L685:
4805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
12464 .loc 1 4805 11 is_stmt 1 view .LVU3933
12465 00f6 8023 movs r3, #128
12466 00f8 D2B2 uxtb r2, r2
12467 00fa 0020 movs r0, #0
12468 00fc 0090 str r0, [sp]
12469 00fe 9B04 lsls r3, r3, #18
12470 0100 2000 movs r0, r4
12471 0102 FFF7FEFF bl I2C_TransferConfig
12472 .LVL896:
4805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
12473 .loc 1 4805 11 is_stmt 0 view .LVU3934
12474 0106 A1E7 b .L679
12475 .LVL897:
12476 .L683:
4813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12477 .loc 1 4813 7 is_stmt 1 view .LVU3935
4813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12478 .loc 1 4813 11 is_stmt 0 view .LVU3936
12479 0108 2368 ldr r3, [r4]
ARM GAS /tmp/ccRVAHyi.s page 404
12480 010a 5B68 ldr r3, [r3, #4]
4813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12481 .loc 1 4813 10 view .LVU3937
12482 010c 9B01 lsls r3, r3, #6
12483 010e 03D4 bmi .L686
4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12484 .loc 1 4816 9 is_stmt 1 view .LVU3938
12485 0110 2000 movs r0, r4
12486 .LVL898:
4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12487 .loc 1 4816 9 is_stmt 0 view .LVU3939
12488 0112 FFF7FEFF bl I2C_ITMasterSeqCplt
12489 .LVL899:
4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12490 .loc 1 4816 9 view .LVU3940
12491 0116 99E7 b .L679
12492 .LVL900:
12493 .L686:
4822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12494 .loc 1 4822 9 is_stmt 1 view .LVU3941
12495 0118 4021 movs r1, #64
12496 .LVL901:
4822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12497 .loc 1 4822 9 is_stmt 0 view .LVU3942
12498 011a 2000 movs r0, r4
12499 .LVL902:
4822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12500 .loc 1 4822 9 view .LVU3943
12501 011c FFF7FEFF bl I2C_ITError
12502 .LVL903:
12503 0120 94E7 b .L679
12504 .LVL904:
12505 .L682:
4826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12506 .loc 1 4826 8 is_stmt 1 view .LVU3944
4826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12507 .loc 1 4826 11 is_stmt 0 view .LVU3945
12508 0122 6B06 lsls r3, r5, #25
12509 0124 00D4 bmi .LCB11714
12510 0126 91E7 b .L679 @long jump
12511 .LCB11714:
4826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12512 .loc 1 4826 63 discriminator 1 view .LVU3946
12513 0128 7306 lsls r3, r6, #25
12514 012a 00D4 bmi .LCB11719
12515 012c 8EE7 b .L679 @long jump
12516 .LCB11719:
4829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12517 .loc 1 4829 5 is_stmt 1 view .LVU3947
4829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12518 .loc 1 4829 13 is_stmt 0 view .LVU3948
12519 012e 638D ldrh r3, [r4, #42]
12520 0130 9BB2 uxth r3, r3
4829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12521 .loc 1 4829 8 view .LVU3949
12522 0132 002B cmp r3, #0
12523 0134 12D1 bne .L687
ARM GAS /tmp/ccRVAHyi.s page 405
4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12524 .loc 1 4831 7 is_stmt 1 view .LVU3950
4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12525 .loc 1 4831 11 is_stmt 0 view .LVU3951
12526 0136 2368 ldr r3, [r4]
12527 0138 5A68 ldr r2, [r3, #4]
4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12528 .loc 1 4831 10 view .LVU3952
12529 013a 9201 lsls r2, r2, #6
12530 013c 00D5 bpl .LCB11731
12531 013e 85E7 b .L679 @long jump
12532 .LCB11731:
4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12533 .loc 1 4834 9 is_stmt 1 view .LVU3953
4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12534 .loc 1 4834 17 is_stmt 0 view .LVU3954
12535 0140 E16A ldr r1, [r4, #44]
12536 .LVL905:
4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12537 .loc 1 4834 12 view .LVU3955
12538 0142 0C4A ldr r2, .L694
12539 0144 9142 cmp r1, r2
12540 0146 05D1 bne .L688
4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12541 .loc 1 4837 11 is_stmt 1 view .LVU3956
4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12542 .loc 1 4837 31 is_stmt 0 view .LVU3957
12543 0148 5968 ldr r1, [r3, #4]
12544 014a 8022 movs r2, #128
12545 014c D201 lsls r2, r2, #7
12546 014e 0A43 orrs r2, r1
12547 0150 5A60 str r2, [r3, #4]
12548 0152 7BE7 b .L679
12549 .L688:
4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12550 .loc 1 4842 11 is_stmt 1 view .LVU3958
12551 0154 2000 movs r0, r4
12552 .LVL906:
4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12553 .loc 1 4842 11 is_stmt 0 view .LVU3959
12554 0156 FFF7FEFF bl I2C_ITMasterSeqCplt
12555 .LVL907:
12556 015a 77E7 b .L679
12557 .LVL908:
12558 .L687:
4850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12559 .loc 1 4850 7 is_stmt 1 view .LVU3960
12560 015c 4021 movs r1, #64
12561 .LVL909:
4850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12562 .loc 1 4850 7 is_stmt 0 view .LVU3961
12563 015e 2000 movs r0, r4
12564 .LVL910:
4850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12565 .loc 1 4850 7 view .LVU3962
12566 0160 FFF7FEFF bl I2C_ITError
12567 .LVL911:
ARM GAS /tmp/ccRVAHyi.s page 406
12568 0164 72E7 b .L679
12569 .LVL912:
12570 .L692:
4862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12571 .loc 1 4862 5 is_stmt 1 view .LVU3963
12572 0166 2900 movs r1, r5
12573 0168 2000 movs r0, r4
12574 016a FFF7FEFF bl I2C_ITMasterCplt
12575 .LVL913:
12576 016e 72E7 b .L689
12577 .LVL914:
12578 .L690:
4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12579 .loc 1 4740 3 is_stmt 0 view .LVU3964
12580 0170 0220 movs r0, #2
12581 .LVL915:
4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12582 .loc 1 4740 3 view .LVU3965
12583 0172 74E7 b .L677
12584 .L695:
12585 .align 2
12586 .L694:
12587 0174 0000FFFF .word -65536
12588 .cfi_endproc
12589 .LFE89:
12591 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits
12592 .align 1
12593 .syntax unified
12594 .code 16
12595 .thumb_func
12596 .fpu softvfp
12598 I2C_Slave_ISR_DMA:
12599 .LVL916:
12600 .LFB92:
5162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
12601 .loc 1 5162 1 is_stmt 1 view -0
12602 .cfi_startproc
12603 @ args = 0, pretend = 0, frame = 0
12604 @ frame_needed = 0, uses_anonymous_args = 0
5162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
12605 .loc 1 5162 1 is_stmt 0 view .LVU3967
12606 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
12607 .LCFI83:
12608 .cfi_def_cfa_offset 24
12609 .cfi_offset 3, -24
12610 .cfi_offset 4, -20
12611 .cfi_offset 5, -16
12612 .cfi_offset 6, -12
12613 .cfi_offset 7, -8
12614 .cfi_offset 14, -4
12615 0002 0400 movs r4, r0
12616 0004 0D00 movs r5, r1
12617 0006 1600 movs r6, r2
5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
12618 .loc 1 5163 3 is_stmt 1 view .LVU3968
5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
12619 .loc 1 5163 12 is_stmt 0 view .LVU3969
ARM GAS /tmp/ccRVAHyi.s page 407
12620 0008 C76A ldr r7, [r0, #44]
12621 .LVL917:
5164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
12622 .loc 1 5164 3 is_stmt 1 view .LVU3970
5165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12623 .loc 1 5165 3 view .LVU3971
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12624 .loc 1 5168 3 view .LVU3972
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12625 .loc 1 5168 3 view .LVU3973
12626 000a 4023 movs r3, #64
12627 000c C35C ldrb r3, [r0, r3]
12628 000e 012B cmp r3, #1
12629 0010 00D1 bne .LCB11827
12630 0012 85E0 b .L714 @long jump
12631 .LCB11827:
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12632 .loc 1 5168 3 discriminator 2 view .LVU3974
12633 0014 0123 movs r3, #1
12634 0016 4022 movs r2, #64
12635 .LVL918:
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12636 .loc 1 5168 3 is_stmt 0 discriminator 2 view .LVU3975
12637 0018 8354 strb r3, [r0, r2]
5171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12638 .loc 1 5171 3 is_stmt 1 discriminator 2 view .LVU3976
5171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12639 .loc 1 5171 8 is_stmt 0 discriminator 2 view .LVU3977
12640 001a 4A09 lsrs r2, r1, #5
5171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12641 .loc 1 5171 6 discriminator 2 view .LVU3978
12642 001c 1342 tst r3, r2
12643 001e 01D0 beq .L698
5171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12644 .loc 1 5171 58 discriminator 1 view .LVU3979
12645 0020 B306 lsls r3, r6, #26
12646 0022 14D4 bmi .L718
12647 .LVL919:
12648 .L698:
5178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12649 .loc 1 5178 3 is_stmt 1 view .LVU3980
5178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12650 .loc 1 5178 6 is_stmt 0 view .LVU3981
12651 0024 EB06 lsls r3, r5, #27
12652 0026 6DD5 bpl .L699
5178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12653 .loc 1 5178 55 discriminator 1 view .LVU3982
12654 0028 F306 lsls r3, r6, #27
12655 002a 6BD5 bpl .L699
5185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
12656 .loc 1 5185 5 is_stmt 1 view .LVU3983
5185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
12657 .loc 1 5185 10 is_stmt 0 view .LVU3984
12658 002c B20B lsrs r2, r6, #14
12659 002e 0123 movs r3, #1
12660 0030 1340 ands r3, r2
5185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
ARM GAS /tmp/ccRVAHyi.s page 408
12661 .loc 1 5185 8 view .LVU3985
12662 0032 01D1 bne .L700
5185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
12663 .loc 1 5185 68 discriminator 1 view .LVU3986
12664 0034 3204 lsls r2, r6, #16
12665 0036 61D5 bpl .L701
12666 .L700:
5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12667 .loc 1 5189 7 is_stmt 1 view .LVU3987
5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12668 .loc 1 5189 15 is_stmt 0 view .LVU3988
12669 0038 E26B ldr r2, [r4, #60]
5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12670 .loc 1 5189 10 view .LVU3989
12671 003a 002A cmp r2, #0
12672 003c 0AD0 beq .L715
5191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12673 .loc 1 5191 9 is_stmt 1 view .LVU3990
5191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12674 .loc 1 5191 12 is_stmt 0 view .LVU3991
12675 003e 3104 lsls r1, r6, #16
12676 0040 0AD5 bpl .L716
5193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12677 .loc 1 5193 11 is_stmt 1 view .LVU3992
5193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12678 .loc 1 5193 15 is_stmt 0 view .LVU3993
12679 0042 1268 ldr r2, [r2]
12680 0044 5268 ldr r2, [r2, #4]
5193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12681 .loc 1 5193 14 view .LVU3994
12682 0046 002A cmp r2, #0
12683 0048 2DD0 beq .L717
5164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
12684 .loc 1 5164 12 view .LVU3995
12685 004a 0021 movs r1, #0
12686 004c 05E0 b .L702
12687 .LVL920:
12688 .L718:
5175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12689 .loc 1 5175 5 is_stmt 1 view .LVU3996
12690 004e FFF7FEFF bl I2C_ITSlaveCplt
12691 .LVL921:
5175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12692 .loc 1 5175 5 is_stmt 0 view .LVU3997
12693 0052 E7E7 b .L698
12694 .L715:
5164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
12695 .loc 1 5164 12 view .LVU3998
12696 0054 0021 movs r1, #0
12697 0056 00E0 b .L702
12698 .L716:
12699 0058 0021 movs r1, #0
12700 .L702:
12701 .LVL922:
5201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12702 .loc 1 5201 7 is_stmt 1 view .LVU3999
5201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 409
12703 .loc 1 5201 15 is_stmt 0 view .LVU4000
12704 005a A26B ldr r2, [r4, #56]
5201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12705 .loc 1 5201 10 view .LVU4001
12706 005c 002A cmp r2, #0
12707 005e 05D0 beq .L703
5203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12708 .loc 1 5203 9 is_stmt 1 view .LVU4002
5203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12709 .loc 1 5203 12 is_stmt 0 view .LVU4003
12710 0060 002B cmp r3, #0
12711 0062 03D0 beq .L703
5205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12712 .loc 1 5205 11 is_stmt 1 view .LVU4004
5205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12713 .loc 1 5205 15 is_stmt 0 view .LVU4005
12714 0064 1368 ldr r3, [r2]
12715 0066 5B68 ldr r3, [r3, #4]
5205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12716 .loc 1 5205 14 view .LVU4006
12717 0068 002B cmp r3, #0
12718 006a 1ED0 beq .L704
12719 .L703:
5212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12720 .loc 1 5212 7 is_stmt 1 view .LVU4007
5212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12721 .loc 1 5212 10 is_stmt 0 view .LVU4008
12722 006c 0129 cmp r1, #1
12723 006e 1CD0 beq .L704
5243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12724 .loc 1 5243 9 is_stmt 1 view .LVU4009
12725 0070 2368 ldr r3, [r4]
12726 0072 1022 movs r2, #16
12727 0074 DA61 str r2, [r3, #28]
5246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12728 .loc 1 5246 9 view .LVU4010
5246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12729 .loc 1 5246 25 is_stmt 0 view .LVU4011
12730 0076 636C ldr r3, [r4, #68]
12731 0078 0C3A subs r2, r2, #12
12732 007a 1343 orrs r3, r2
12733 007c 6364 str r3, [r4, #68]
5249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12734 .loc 1 5249 9 is_stmt 1 view .LVU4012
5249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12735 .loc 1 5249 18 is_stmt 0 view .LVU4013
12736 007e 4123 movs r3, #65
12737 0080 E35C ldrb r3, [r4, r3]
12738 0082 DBB2 uxtb r3, r3
12739 .LVL923:
5251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12740 .loc 1 5251 9 is_stmt 1 view .LVU4014
5251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12741 .loc 1 5251 12 is_stmt 0 view .LVU4015
12742 0084 002F cmp r7, #0
12743 0086 03D0 beq .L709
5251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 410
12744 .loc 1 5251 45 discriminator 1 view .LVU4016
12745 0088 8022 movs r2, #128
12746 008a 5204 lsls r2, r2, #17
12747 008c 9742 cmp r7, r2
12748 008e 3DD1 bne .L707
12749 .L709:
5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12750 .loc 1 5253 11 is_stmt 1 view .LVU4017
5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12751 .loc 1 5253 14 is_stmt 0 view .LVU4018
12752 0090 212B cmp r3, #33
12753 0092 2CD0 beq .L710
5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12754 .loc 1 5253 51 discriminator 1 view .LVU4019
12755 0094 292B cmp r3, #41
12756 0096 2AD0 beq .L710
5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12757 .loc 1 5257 16 is_stmt 1 view .LVU4020
5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12758 .loc 1 5257 19 is_stmt 0 view .LVU4021
12759 0098 222B cmp r3, #34
12760 009a 01D0 beq .L713
5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12761 .loc 1 5257 56 discriminator 1 view .LVU4022
12762 009c 2A2B cmp r3, #42
12763 009e 28D1 bne .L712
12764 .L713:
5259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12765 .loc 1 5259 13 is_stmt 1 view .LVU4023
5259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12766 .loc 1 5259 33 is_stmt 0 view .LVU4024
12767 00a0 2223 movs r3, #34
12768 .LVL924:
5259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12769 .loc 1 5259 33 view .LVU4025
12770 00a2 2363 str r3, [r4, #48]
12771 00a4 25E0 b .L712
12772 .LVL925:
12773 .L717:
5195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12774 .loc 1 5195 26 view .LVU4026
12775 00a6 0121 movs r1, #1
12776 00a8 D7E7 b .L702
12777 .LVL926:
12778 .L704:
5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12779 .loc 1 5214 9 is_stmt 1 view .LVU4027
5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12780 .loc 1 5214 18 is_stmt 0 view .LVU4028
12781 00aa 4123 movs r3, #65
12782 00ac E35C ldrb r3, [r4, r3]
5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12783 .loc 1 5214 12 view .LVU4029
12784 00ae 282B cmp r3, #40
12785 00b0 07D0 beq .L719
12786 .L706:
5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 411
12787 .loc 1 5221 14 is_stmt 1 view .LVU4030
5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12788 .loc 1 5221 23 is_stmt 0 view .LVU4031
12789 00b2 4123 movs r3, #65
12790 00b4 E35C ldrb r3, [r4, r3]
5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12791 .loc 1 5221 17 view .LVU4032
12792 00b6 292B cmp r3, #41
12793 00b8 0CD0 beq .L720
12794 .L708:
5236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12795 .loc 1 5236 11 is_stmt 1 view .LVU4033
12796 00ba 2368 ldr r3, [r4]
12797 00bc 1022 movs r2, #16
12798 00be DA61 str r2, [r3, #28]
12799 00c0 24E0 b .L707
12800 .L719:
5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12801 .loc 1 5214 51 is_stmt 0 discriminator 1 view .LVU4034
12802 00c2 8023 movs r3, #128
12803 00c4 9B04 lsls r3, r3, #18
12804 00c6 9F42 cmp r7, r3
12805 00c8 F3D1 bne .L706
5219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12806 .loc 1 5219 11 is_stmt 1 view .LVU4035
12807 00ca 2900 movs r1, r5
12808 .LVL927:
5219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12809 .loc 1 5219 11 is_stmt 0 view .LVU4036
12810 00cc 2000 movs r0, r4
12811 00ce FFF7FEFF bl I2C_ITListenCplt
12812 .LVL928:
12813 00d2 1BE0 b .L707
12814 .LVL929:
12815 .L720:
5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12816 .loc 1 5221 64 discriminator 1 view .LVU4037
12817 00d4 134B ldr r3, .L722
12818 00d6 9F42 cmp r7, r3
12819 00d8 EFD0 beq .L708
5224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12820 .loc 1 5224 11 is_stmt 1 view .LVU4038
12821 00da 2368 ldr r3, [r4]
12822 00dc 1022 movs r2, #16
12823 00de DA61 str r2, [r3, #28]
5227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12824 .loc 1 5227 11 view .LVU4039
12825 00e0 2000 movs r0, r4
12826 00e2 FFF7FEFF bl I2C_Flush_TXDR
12827 .LVL930:
5231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12828 .loc 1 5231 11 view .LVU4040
12829 00e6 2000 movs r0, r4
12830 00e8 FFF7FEFF bl I2C_ITSlaveSeqCplt
12831 .LVL931:
12832 00ec 0EE0 b .L707
12833 .LVL932:
ARM GAS /tmp/ccRVAHyi.s page 412
12834 .L710:
5255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12835 .loc 1 5255 13 view .LVU4041
5255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12836 .loc 1 5255 33 is_stmt 0 view .LVU4042
12837 00ee 2123 movs r3, #33
12838 .LVL933:
5255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12839 .loc 1 5255 33 view .LVU4043
12840 00f0 2363 str r3, [r4, #48]
12841 .L712:
5267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12842 .loc 1 5267 11 is_stmt 1 view .LVU4044
12843 00f2 616C ldr r1, [r4, #68]
12844 .LVL934:
5267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12845 .loc 1 5267 11 is_stmt 0 view .LVU4045
12846 00f4 2000 movs r0, r4
12847 00f6 FFF7FEFF bl I2C_ITError
12848 .LVL935:
12849 00fa 07E0 b .L707
12850 .LVL936:
12851 .L701:
5274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12852 .loc 1 5274 7 is_stmt 1 view .LVU4046
12853 00fc 2368 ldr r3, [r4]
12854 00fe 1022 movs r2, #16
12855 0100 DA61 str r2, [r3, #28]
12856 0102 03E0 b .L707
12857 .L699:
5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12858 .loc 1 5277 8 view .LVU4047
5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12859 .loc 1 5277 11 is_stmt 0 view .LVU4048
12860 0104 2B07 lsls r3, r5, #28
12861 0106 01D5 bpl .L707
5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12862 .loc 1 5277 62 discriminator 1 view .LVU4049
12863 0108 3307 lsls r3, r6, #28
12864 010a 04D4 bmi .L721
12865 .LVL937:
12866 .L707:
5285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12867 .loc 1 5285 3 is_stmt 1 view .LVU4050
5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12868 .loc 1 5288 3 view .LVU4051
5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12869 .loc 1 5288 3 view .LVU4052
12870 010c 4023 movs r3, #64
12871 010e 0022 movs r2, #0
12872 0110 E254 strb r2, [r4, r3]
5290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12873 .loc 1 5290 3 view .LVU4053
5290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12874 .loc 1 5290 10 is_stmt 0 view .LVU4054
12875 0112 0020 movs r0, #0
12876 .L697:
ARM GAS /tmp/ccRVAHyi.s page 413
5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12877 .loc 1 5291 1 view .LVU4055
12878 @ sp needed
12879 .LVL938:
12880 .LVL939:
12881 .LVL940:
12882 .LVL941:
5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12883 .loc 1 5291 1 view .LVU4056
12884 0114 F8BD pop {r3, r4, r5, r6, r7, pc}
12885 .LVL942:
12886 .L721:
5280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12887 .loc 1 5280 5 is_stmt 1 view .LVU4057
12888 0116 2900 movs r1, r5
12889 0118 2000 movs r0, r4
12890 011a FFF7FEFF bl I2C_ITAddrCplt
12891 .LVL943:
12892 011e F5E7 b .L707
12893 .LVL944:
12894 .L714:
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12895 .loc 1 5168 3 is_stmt 0 view .LVU4058
12896 0120 0220 movs r0, #2
12897 .LVL945:
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12898 .loc 1 5168 3 view .LVU4059
12899 0122 F7E7 b .L697
12900 .L723:
12901 .align 2
12902 .L722:
12903 0124 0000FFFF .word -65536
12904 .cfi_endproc
12905 .LFE92:
12907 .section .text.I2C_Master_ISR_DMA,"ax",%progbits
12908 .align 1
12909 .syntax unified
12910 .code 16
12911 .thumb_func
12912 .fpu softvfp
12914 I2C_Master_ISR_DMA:
12915 .LVL946:
12916 .LFB91:
5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
12917 .loc 1 5022 1 is_stmt 1 view -0
12918 .cfi_startproc
12919 @ args = 0, pretend = 0, frame = 0
12920 @ frame_needed = 0, uses_anonymous_args = 0
5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
12921 .loc 1 5022 1 is_stmt 0 view .LVU4061
12922 0000 10B5 push {r4, lr}
12923 .LCFI84:
12924 .cfi_def_cfa_offset 8
12925 .cfi_offset 4, -8
12926 .cfi_offset 14, -4
12927 0002 82B0 sub sp, sp, #8
12928 .LCFI85:
ARM GAS /tmp/ccRVAHyi.s page 414
12929 .cfi_def_cfa_offset 16
12930 0004 0400 movs r4, r0
5023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
12931 .loc 1 5023 3 is_stmt 1 view .LVU4062
5024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12932 .loc 1 5024 3 view .LVU4063
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12933 .loc 1 5027 3 view .LVU4064
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12934 .loc 1 5027 3 view .LVU4065
12935 0006 4023 movs r3, #64
12936 0008 C35C ldrb r3, [r0, r3]
12937 000a 012B cmp r3, #1
12938 000c 00D1 bne .LCB12158
12939 000e 91E0 b .L737 @long jump
12940 .LCB12158:
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12941 .loc 1 5027 3 discriminator 2 view .LVU4066
12942 0010 0123 movs r3, #1
12943 0012 4020 movs r0, #64
12944 .LVL947:
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12945 .loc 1 5027 3 is_stmt 0 discriminator 2 view .LVU4067
12946 0014 2354 strb r3, [r4, r0]
5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12947 .loc 1 5029 3 is_stmt 1 discriminator 2 view .LVU4068
5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12948 .loc 1 5029 8 is_stmt 0 discriminator 2 view .LVU4069
12949 0016 0809 lsrs r0, r1, #4
5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12950 .loc 1 5029 6 discriminator 2 view .LVU4070
12951 0018 0342 tst r3, r0
12952 001a 01D0 beq .L726
5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12953 .loc 1 5029 55 discriminator 1 view .LVU4071
12954 001c D306 lsls r3, r2, #27
12955 001e 2FD4 bmi .L739
12956 .L726:
5046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12957 .loc 1 5046 8 is_stmt 1 view .LVU4072
5046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12958 .loc 1 5046 11 is_stmt 0 view .LVU4073
12959 0020 0B06 lsls r3, r1, #24
12960 0022 60D5 bpl .L728
5046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12961 .loc 1 5046 61 discriminator 1 view .LVU4074
12962 0024 5306 lsls r3, r2, #25
12963 0026 5ED5 bpl .L728
5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12964 .loc 1 5050 5 is_stmt 1 view .LVU4075
12965 0028 2268 ldr r2, [r4]
12966 .LVL948:
5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12967 .loc 1 5050 5 is_stmt 0 view .LVU4076
12968 002a 1368 ldr r3, [r2]
12969 002c 4021 movs r1, #64
12970 .LVL949:
ARM GAS /tmp/ccRVAHyi.s page 415
5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12971 .loc 1 5050 5 view .LVU4077
12972 002e 8B43 bics r3, r1
12973 0030 1360 str r3, [r2]
5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12974 .loc 1 5052 5 is_stmt 1 view .LVU4078
5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12975 .loc 1 5052 13 is_stmt 0 view .LVU4079
12976 0032 638D ldrh r3, [r4, #42]
12977 0034 9BB2 uxth r3, r3
5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12978 .loc 1 5052 8 view .LVU4080
12979 0036 002B cmp r3, #0
12980 0038 48D0 beq .L729
5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12981 .loc 1 5055 7 is_stmt 1 view .LVU4081
5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12982 .loc 1 5055 35 is_stmt 0 view .LVU4082
12983 003a 2368 ldr r3, [r4]
5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12984 .loc 1 5055 45 view .LVU4083
12985 003c 5968 ldr r1, [r3, #4]
5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12986 .loc 1 5055 18 view .LVU4084
12987 003e 8905 lsls r1, r1, #22
12988 0040 890D lsrs r1, r1, #22
12989 .LVL950:
5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12990 .loc 1 5058 7 is_stmt 1 view .LVU4085
5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12991 .loc 1 5058 15 is_stmt 0 view .LVU4086
12992 0042 638D ldrh r3, [r4, #42]
12993 0044 9BB2 uxth r3, r3
5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12994 .loc 1 5058 10 view .LVU4087
12995 0046 FF2B cmp r3, #255
12996 0048 2ED9 bls .L730
5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
12997 .loc 1 5060 9 is_stmt 1 view .LVU4088
5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
12998 .loc 1 5060 24 is_stmt 0 view .LVU4089
12999 004a FF23 movs r3, #255
13000 004c 2385 strh r3, [r4, #40]
5061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13001 .loc 1 5061 9 is_stmt 1 view .LVU4090
13002 .LVL951:
5061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13003 .loc 1 5061 18 is_stmt 0 view .LVU4091
13004 004e 8023 movs r3, #128
13005 0050 5B04 lsls r3, r3, #17
13006 .LVL952:
13007 .L731:
5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13008 .loc 1 5077 7 is_stmt 1 view .LVU4092
5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13009 .loc 1 5077 57 is_stmt 0 view .LVU4093
13010 0052 228D ldrh r2, [r4, #40]
ARM GAS /tmp/ccRVAHyi.s page 416
5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13011 .loc 1 5077 7 view .LVU4094
13012 0054 D2B2 uxtb r2, r2
13013 0056 0020 movs r0, #0
13014 0058 0090 str r0, [sp]
13015 005a 2000 movs r0, r4
13016 005c FFF7FEFF bl I2C_TransferConfig
13017 .LVL953:
5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13018 .loc 1 5080 7 is_stmt 1 view .LVU4095
5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13019 .loc 1 5080 23 is_stmt 0 view .LVU4096
13020 0060 638D ldrh r3, [r4, #42]
5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13021 .loc 1 5080 30 view .LVU4097
13022 0062 228D ldrh r2, [r4, #40]
5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13023 .loc 1 5080 23 view .LVU4098
13024 0064 9B1A subs r3, r3, r2
13025 0066 9BB2 uxth r3, r3
13026 0068 6385 strh r3, [r4, #42]
5083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13027 .loc 1 5083 7 is_stmt 1 view .LVU4099
5083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13028 .loc 1 5083 15 is_stmt 0 view .LVU4100
13029 006a 4123 movs r3, #65
13030 006c E35C ldrb r3, [r4, r3]
5083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13031 .loc 1 5083 10 view .LVU4101
13032 006e 222B cmp r3, #34
13033 0070 25D0 beq .L740
5089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13034 .loc 1 5089 9 is_stmt 1 view .LVU4102
5089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13035 .loc 1 5089 13 is_stmt 0 view .LVU4103
13036 0072 2268 ldr r2, [r4]
5089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13037 .loc 1 5089 29 view .LVU4104
13038 0074 1168 ldr r1, [r2]
13039 0076 8023 movs r3, #128
13040 0078 DB01 lsls r3, r3, #7
13041 007a 0B43 orrs r3, r1
13042 007c 1360 str r3, [r2]
13043 007e 0DE0 b .L727
13044 .LVL954:
13045 .L739:
5033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13046 .loc 1 5033 5 is_stmt 1 view .LVU4105
13047 0080 2368 ldr r3, [r4]
13048 0082 1022 movs r2, #16
13049 .LVL955:
5033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13050 .loc 1 5033 5 is_stmt 0 view .LVU4106
13051 0084 DA61 str r2, [r3, #28]
5036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13052 .loc 1 5036 5 is_stmt 1 view .LVU4107
5036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccRVAHyi.s page 417
13053 .loc 1 5036 21 is_stmt 0 view .LVU4108
13054 0086 636C ldr r3, [r4, #68]
13055 0088 0C3A subs r2, r2, #12
13056 008a 1343 orrs r3, r2
13057 008c 6364 str r3, [r4, #68]
5041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13058 .loc 1 5041 5 is_stmt 1 view .LVU4109
13059 008e 2021 movs r1, #32
13060 .LVL956:
5041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13061 .loc 1 5041 5 is_stmt 0 view .LVU4110
13062 0090 2000 movs r0, r4
13063 0092 FFF7FEFF bl I2C_Enable_IRQ
13064 .LVL957:
5044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13065 .loc 1 5044 5 is_stmt 1 view .LVU4111
13066 0096 2000 movs r0, r4
13067 0098 FFF7FEFF bl I2C_Flush_TXDR
13068 .LVL958:
13069 .L727:
5144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13070 .loc 1 5144 3 view .LVU4112
5147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13071 .loc 1 5147 3 view .LVU4113
5147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13072 .loc 1 5147 3 view .LVU4114
13073 009c 4023 movs r3, #64
13074 009e 0022 movs r2, #0
13075 00a0 E254 strb r2, [r4, r3]
5149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13076 .loc 1 5149 3 view .LVU4115
5149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13077 .loc 1 5149 10 is_stmt 0 view .LVU4116
13078 00a2 0020 movs r0, #0
13079 .L725:
5150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13080 .loc 1 5150 1 view .LVU4117
13081 00a4 02B0 add sp, sp, #8
13082 @ sp needed
13083 .LVL959:
5150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13084 .loc 1 5150 1 view .LVU4118
13085 00a6 10BD pop {r4, pc}
13086 .LVL960:
13087 .L730:
5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
13088 .loc 1 5065 9 is_stmt 1 view .LVU4119
5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
13089 .loc 1 5065 30 is_stmt 0 view .LVU4120
13090 00a8 638D ldrh r3, [r4, #42]
5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
13091 .loc 1 5065 24 view .LVU4121
13092 00aa 2385 strh r3, [r4, #40]
5066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13093 .loc 1 5066 9 is_stmt 1 view .LVU4122
5066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13094 .loc 1 5066 17 is_stmt 0 view .LVU4123
ARM GAS /tmp/ccRVAHyi.s page 418
13095 00ac E26A ldr r2, [r4, #44]
5066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13096 .loc 1 5066 12 view .LVU4124
13097 00ae 224B ldr r3, .L741
13098 00b0 9A42 cmp r2, r3
13099 00b2 01D0 beq .L738
5068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13100 .loc 1 5068 11 is_stmt 1 view .LVU4125
5068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13101 .loc 1 5068 20 is_stmt 0 view .LVU4126
13102 00b4 E36A ldr r3, [r4, #44]
13103 .LVL961:
5068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13104 .loc 1 5068 20 view .LVU4127
13105 00b6 CCE7 b .L731
13106 .LVL962:
13107 .L738:
5072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13108 .loc 1 5072 20 view .LVU4128
13109 00b8 8023 movs r3, #128
13110 00ba 9B04 lsls r3, r3, #18
13111 00bc C9E7 b .L731
13112 .LVL963:
13113 .L740:
5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13114 .loc 1 5085 9 is_stmt 1 view .LVU4129
5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13115 .loc 1 5085 13 is_stmt 0 view .LVU4130
13116 00be 2268 ldr r2, [r4]
5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13117 .loc 1 5085 29 view .LVU4131
13118 00c0 1168 ldr r1, [r2]
13119 00c2 8023 movs r3, #128
13120 00c4 1B02 lsls r3, r3, #8
13121 00c6 0B43 orrs r3, r1
13122 00c8 1360 str r3, [r2]
13123 00ca E7E7 b .L727
13124 .L729:
5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13125 .loc 1 5095 7 is_stmt 1 view .LVU4132
5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13126 .loc 1 5095 11 is_stmt 0 view .LVU4133
13127 00cc 2368 ldr r3, [r4]
13128 00ce 5B68 ldr r3, [r3, #4]
5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13129 .loc 1 5095 10 view .LVU4134
13130 00d0 9B01 lsls r3, r3, #6
13131 00d2 03D4 bmi .L733
5098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13132 .loc 1 5098 9 is_stmt 1 view .LVU4135
13133 00d4 2000 movs r0, r4
13134 00d6 FFF7FEFF bl I2C_ITMasterSeqCplt
13135 .LVL964:
13136 00da DFE7 b .L727
13137 .L733:
5104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13138 .loc 1 5104 9 view .LVU4136
ARM GAS /tmp/ccRVAHyi.s page 419
13139 00dc 4021 movs r1, #64
13140 00de 2000 movs r0, r4
13141 00e0 FFF7FEFF bl I2C_ITError
13142 .LVL965:
13143 00e4 DAE7 b .L727
13144 .LVL966:
13145 .L728:
5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13146 .loc 1 5108 8 view .LVU4137
5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13147 .loc 1 5108 11 is_stmt 0 view .LVU4138
13148 00e6 4B06 lsls r3, r1, #25
13149 00e8 1CD5 bpl .L734
5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13150 .loc 1 5108 60 discriminator 1 view .LVU4139
13151 00ea 5306 lsls r3, r2, #25
13152 00ec 1AD5 bpl .L734
5111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13153 .loc 1 5111 5 is_stmt 1 view .LVU4140
5111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13154 .loc 1 5111 13 is_stmt 0 view .LVU4141
13155 00ee 638D ldrh r3, [r4, #42]
13156 00f0 9BB2 uxth r3, r3
5111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13157 .loc 1 5111 8 view .LVU4142
13158 00f2 002B cmp r3, #0
13159 00f4 11D1 bne .L735
5113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13160 .loc 1 5113 7 is_stmt 1 view .LVU4143
5113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13161 .loc 1 5113 11 is_stmt 0 view .LVU4144
13162 00f6 2368 ldr r3, [r4]
13163 00f8 5A68 ldr r2, [r3, #4]
13164 .LVL967:
5113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13165 .loc 1 5113 10 view .LVU4145
13166 00fa 9201 lsls r2, r2, #6
13167 00fc CED4 bmi .L727
5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13168 .loc 1 5116 9 is_stmt 1 view .LVU4146
5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13169 .loc 1 5116 17 is_stmt 0 view .LVU4147
13170 00fe E16A ldr r1, [r4, #44]
13171 .LVL968:
5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13172 .loc 1 5116 12 view .LVU4148
13173 0100 0D4A ldr r2, .L741
13174 0102 9142 cmp r1, r2
13175 0104 05D1 bne .L736
5119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13176 .loc 1 5119 11 is_stmt 1 view .LVU4149
5119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13177 .loc 1 5119 31 is_stmt 0 view .LVU4150
13178 0106 5968 ldr r1, [r3, #4]
13179 0108 8022 movs r2, #128
13180 010a D201 lsls r2, r2, #7
13181 010c 0A43 orrs r2, r1
ARM GAS /tmp/ccRVAHyi.s page 420
13182 010e 5A60 str r2, [r3, #4]
13183 0110 C4E7 b .L727
13184 .L736:
5124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13185 .loc 1 5124 11 is_stmt 1 view .LVU4151
13186 0112 2000 movs r0, r4
13187 0114 FFF7FEFF bl I2C_ITMasterSeqCplt
13188 .LVL969:
13189 0118 C0E7 b .L727
13190 .LVL970:
13191 .L735:
5132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13192 .loc 1 5132 7 view .LVU4152
13193 011a 4021 movs r1, #64
13194 .LVL971:
5132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13195 .loc 1 5132 7 is_stmt 0 view .LVU4153
13196 011c 2000 movs r0, r4
13197 011e FFF7FEFF bl I2C_ITError
13198 .LVL972:
5132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13199 .loc 1 5132 7 view .LVU4154
13200 0122 BBE7 b .L727
13201 .LVL973:
13202 .L734:
5135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13203 .loc 1 5135 8 is_stmt 1 view .LVU4155
5135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13204 .loc 1 5135 11 is_stmt 0 view .LVU4156
13205 0124 8B06 lsls r3, r1, #26
13206 0126 B9D5 bpl .L727
5135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13207 .loc 1 5135 63 discriminator 1 view .LVU4157
13208 0128 9306 lsls r3, r2, #26
13209 012a B7D5 bpl .L727
5139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13210 .loc 1 5139 5 is_stmt 1 view .LVU4158
13211 012c 2000 movs r0, r4
13212 012e FFF7FEFF bl I2C_ITMasterCplt
13213 .LVL974:
5139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13214 .loc 1 5139 5 is_stmt 0 view .LVU4159
13215 0132 B3E7 b .L727
13216 .LVL975:
13217 .L737:
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13218 .loc 1 5027 3 view .LVU4160
13219 0134 0220 movs r0, #2
13220 .LVL976:
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13221 .loc 1 5027 3 view .LVU4161
13222 0136 B5E7 b .L725
13223 .L742:
13224 .align 2
13225 .L741:
13226 0138 0000FFFF .word -65536
13227 .cfi_endproc
ARM GAS /tmp/ccRVAHyi.s page 421
13228 .LFE91:
13230 .section .text.I2C_DMAError,"ax",%progbits
13231 .align 1
13232 .syntax unified
13233 .code 16
13234 .thumb_func
13235 .fpu softvfp
13237 I2C_DMAError:
13238 .LVL977:
13239 .LFB108:
6312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13240 .loc 1 6312 1 is_stmt 1 view -0
13241 .cfi_startproc
13242 @ args = 0, pretend = 0, frame = 0
13243 @ frame_needed = 0, uses_anonymous_args = 0
6312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13244 .loc 1 6312 1 is_stmt 0 view .LVU4163
13245 0000 10B5 push {r4, lr}
13246 .LCFI86:
13247 .cfi_def_cfa_offset 8
13248 .cfi_offset 4, -8
13249 .cfi_offset 14, -4
6314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13250 .loc 1 6314 3 is_stmt 1 view .LVU4164
6314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13251 .loc 1 6314 22 is_stmt 0 view .LVU4165
13252 0002 406A ldr r0, [r0, #36]
13253 .LVL978:
6317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13254 .loc 1 6317 3 is_stmt 1 view .LVU4166
6317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13255 .loc 1 6317 7 is_stmt 0 view .LVU4167
13256 0004 0268 ldr r2, [r0]
6317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13257 .loc 1 6317 23 view .LVU4168
13258 0006 5168 ldr r1, [r2, #4]
13259 0008 8023 movs r3, #128
13260 000a 1B02 lsls r3, r3, #8
13261 000c 0B43 orrs r3, r1
13262 000e 5360 str r3, [r2, #4]
6320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13263 .loc 1 6320 3 is_stmt 1 view .LVU4169
13264 0010 1021 movs r1, #16
13265 0012 FFF7FEFF bl I2C_ITError
13266 .LVL979:
6321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13267 .loc 1 6321 1 is_stmt 0 view .LVU4170
13268 @ sp needed
13269 0016 10BD pop {r4, pc}
13270 .cfi_endproc
13271 .LFE108:
13273 .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits
13274 .align 1
13275 .syntax unified
13276 .code 16
13277 .thumb_func
13278 .fpu softvfp
ARM GAS /tmp/ccRVAHyi.s page 422
13280 I2C_DMAMasterTransmitCplt:
13281 .LVL980:
13282 .LFB104:
6156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13283 .loc 1 6156 1 is_stmt 1 view -0
13284 .cfi_startproc
13285 @ args = 0, pretend = 0, frame = 0
13286 @ frame_needed = 0, uses_anonymous_args = 0
6156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13287 .loc 1 6156 1 is_stmt 0 view .LVU4172
13288 0000 10B5 push {r4, lr}
13289 .LCFI87:
13290 .cfi_def_cfa_offset 8
13291 .cfi_offset 4, -8
13292 .cfi_offset 14, -4
6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13293 .loc 1 6158 3 is_stmt 1 view .LVU4173
6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13294 .loc 1 6158 22 is_stmt 0 view .LVU4174
13295 0002 446A ldr r4, [r0, #36]
13296 .LVL981:
6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13297 .loc 1 6161 3 is_stmt 1 view .LVU4175
6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13298 .loc 1 6161 7 is_stmt 0 view .LVU4176
13299 0004 2268 ldr r2, [r4]
6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13300 .loc 1 6161 23 view .LVU4177
13301 0006 1368 ldr r3, [r2]
13302 0008 1549 ldr r1, .L751
13303 000a 0B40 ands r3, r1
13304 000c 1360 str r3, [r2]
6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13305 .loc 1 6164 3 is_stmt 1 view .LVU4178
6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13306 .loc 1 6164 11 is_stmt 0 view .LVU4179
13307 000e 638D ldrh r3, [r4, #42]
13308 0010 9BB2 uxth r3, r3
6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13309 .loc 1 6164 6 view .LVU4180
13310 0012 002B cmp r3, #0
13311 0014 17D0 beq .L750
6173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13312 .loc 1 6173 5 is_stmt 1 view .LVU4181
6173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13313 .loc 1 6173 27 is_stmt 0 view .LVU4182
13314 0016 218D ldrh r1, [r4, #40]
6173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13315 .loc 1 6173 20 view .LVU4183
13316 0018 636A ldr r3, [r4, #36]
13317 001a 9C46 mov ip, r3
13318 001c 6144 add r1, r1, ip
13319 001e 6162 str r1, [r4, #36]
6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13320 .loc 1 6176 5 is_stmt 1 view .LVU4184
6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13321 .loc 1 6176 13 is_stmt 0 view .LVU4185
ARM GAS /tmp/ccRVAHyi.s page 423
13322 0020 638D ldrh r3, [r4, #42]
13323 0022 9BB2 uxth r3, r3
6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13324 .loc 1 6176 8 view .LVU4186
13325 0024 FF2B cmp r3, #255
13326 0026 13D9 bls .L747
6178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13327 .loc 1 6178 7 is_stmt 1 view .LVU4187
6178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13328 .loc 1 6178 22 is_stmt 0 view .LVU4188
13329 0028 FF23 movs r3, #255
13330 002a 2385 strh r3, [r4, #40]
13331 .L748:
6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13332 .loc 1 6186 5 is_stmt 1 view .LVU4189
6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13333 .loc 1 6186 76 is_stmt 0 view .LVU4190
13334 002c 2268 ldr r2, [r4]
13335 002e 2832 adds r2, r2, #40
6187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13336 .loc 1 6187 30 view .LVU4191
13337 0030 238D ldrh r3, [r4, #40]
6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13338 .loc 1 6186 9 view .LVU4192
13339 0032 A06B ldr r0, [r4, #56]
13340 .LVL982:
6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13341 .loc 1 6186 9 view .LVU4193
13342 0034 FFF7FEFF bl HAL_DMA_Start_IT
13343 .LVL983:
6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13344 .loc 1 6186 8 view .LVU4194
13345 0038 0028 cmp r0, #0
13346 003a 0CD0 beq .L749
6190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13347 .loc 1 6190 7 is_stmt 1 view .LVU4195
13348 003c 1021 movs r1, #16
13349 003e 2000 movs r0, r4
13350 0040 FFF7FEFF bl I2C_ITError
13351 .LVL984:
13352 .L744:
6198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13353 .loc 1 6198 1 is_stmt 0 view .LVU4196
13354 @ sp needed
13355 .LVL985:
6198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13356 .loc 1 6198 1 view .LVU4197
13357 0044 10BD pop {r4, pc}
13358 .LVL986:
13359 .L750:
6167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13360 .loc 1 6167 5 is_stmt 1 view .LVU4198
13361 0046 2021 movs r1, #32
13362 0048 2000 movs r0, r4
13363 .LVL987:
6167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13364 .loc 1 6167 5 is_stmt 0 view .LVU4199
ARM GAS /tmp/ccRVAHyi.s page 424
13365 004a FFF7FEFF bl I2C_Enable_IRQ
13366 .LVL988:
13367 004e F9E7 b .L744
13368 .LVL989:
13369 .L747:
6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13370 .loc 1 6182 7 is_stmt 1 view .LVU4200
6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13371 .loc 1 6182 28 is_stmt 0 view .LVU4201
13372 0050 638D ldrh r3, [r4, #42]
6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13373 .loc 1 6182 22 view .LVU4202
13374 0052 2385 strh r3, [r4, #40]
13375 0054 EAE7 b .L748
13376 .LVL990:
13377 .L749:
6195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13378 .loc 1 6195 7 is_stmt 1 view .LVU4203
13379 0056 4021 movs r1, #64
13380 0058 2000 movs r0, r4
13381 005a FFF7FEFF bl I2C_Enable_IRQ
13382 .LVL991:
6198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13383 .loc 1 6198 1 is_stmt 0 view .LVU4204
13384 005e F1E7 b .L744
13385 .L752:
13386 .align 2
13387 .L751:
13388 0060 FFBFFFFF .word -16385
13389 .cfi_endproc
13390 .LFE104:
13392 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits
13393 .align 1
13394 .syntax unified
13395 .code 16
13396 .thumb_func
13397 .fpu softvfp
13399 I2C_DMAMasterReceiveCplt:
13400 .LVL992:
13401 .LFB106:
6234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13402 .loc 1 6234 1 is_stmt 1 view -0
13403 .cfi_startproc
13404 @ args = 0, pretend = 0, frame = 0
13405 @ frame_needed = 0, uses_anonymous_args = 0
6234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13406 .loc 1 6234 1 is_stmt 0 view .LVU4206
13407 0000 10B5 push {r4, lr}
13408 .LCFI88:
13409 .cfi_def_cfa_offset 8
13410 .cfi_offset 4, -8
13411 .cfi_offset 14, -4
6236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13412 .loc 1 6236 3 is_stmt 1 view .LVU4207
6236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13413 .loc 1 6236 22 is_stmt 0 view .LVU4208
13414 0002 446A ldr r4, [r0, #36]
ARM GAS /tmp/ccRVAHyi.s page 425
13415 .LVL993:
6239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13416 .loc 1 6239 3 is_stmt 1 view .LVU4209
6239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13417 .loc 1 6239 7 is_stmt 0 view .LVU4210
13418 0004 2268 ldr r2, [r4]
6239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13419 .loc 1 6239 23 view .LVU4211
13420 0006 1368 ldr r3, [r2]
13421 0008 1549 ldr r1, .L760
13422 000a 0B40 ands r3, r1
13423 000c 1360 str r3, [r2]
6242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13424 .loc 1 6242 3 is_stmt 1 view .LVU4212
6242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13425 .loc 1 6242 11 is_stmt 0 view .LVU4213
13426 000e 638D ldrh r3, [r4, #42]
13427 0010 9BB2 uxth r3, r3
6242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13428 .loc 1 6242 6 view .LVU4214
13429 0012 002B cmp r3, #0
13430 0014 17D0 beq .L759
6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13431 .loc 1 6251 5 is_stmt 1 view .LVU4215
6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13432 .loc 1 6251 27 is_stmt 0 view .LVU4216
13433 0016 228D ldrh r2, [r4, #40]
6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13434 .loc 1 6251 20 view .LVU4217
13435 0018 636A ldr r3, [r4, #36]
13436 001a 9C46 mov ip, r3
13437 001c 6244 add r2, r2, ip
13438 001e 6262 str r2, [r4, #36]
6254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13439 .loc 1 6254 5 is_stmt 1 view .LVU4218
6254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13440 .loc 1 6254 13 is_stmt 0 view .LVU4219
13441 0020 638D ldrh r3, [r4, #42]
13442 0022 9BB2 uxth r3, r3
6254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13443 .loc 1 6254 8 view .LVU4220
13444 0024 FF2B cmp r3, #255
13445 0026 13D9 bls .L756
6256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13446 .loc 1 6256 7 is_stmt 1 view .LVU4221
6256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13447 .loc 1 6256 22 is_stmt 0 view .LVU4222
13448 0028 FF23 movs r3, #255
13449 002a 2385 strh r3, [r4, #40]
13450 .L757:
6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13451 .loc 1 6264 5 is_stmt 1 view .LVU4223
6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13452 .loc 1 6264 50 is_stmt 0 view .LVU4224
13453 002c 2168 ldr r1, [r4]
13454 002e 2431 adds r1, r1, #36
6265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccRVAHyi.s page 426
13455 .loc 1 6265 30 view .LVU4225
13456 0030 238D ldrh r3, [r4, #40]
6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13457 .loc 1 6264 9 view .LVU4226
13458 0032 E06B ldr r0, [r4, #60]
13459 .LVL994:
6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13460 .loc 1 6264 9 view .LVU4227
13461 0034 FFF7FEFF bl HAL_DMA_Start_IT
13462 .LVL995:
6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13463 .loc 1 6264 8 view .LVU4228
13464 0038 0028 cmp r0, #0
13465 003a 0CD0 beq .L758
6268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13466 .loc 1 6268 7 is_stmt 1 view .LVU4229
13467 003c 1021 movs r1, #16
13468 003e 2000 movs r0, r4
13469 0040 FFF7FEFF bl I2C_ITError
13470 .LVL996:
13471 .L753:
6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13472 .loc 1 6276 1 is_stmt 0 view .LVU4230
13473 @ sp needed
13474 .LVL997:
6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13475 .loc 1 6276 1 view .LVU4231
13476 0044 10BD pop {r4, pc}
13477 .LVL998:
13478 .L759:
6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13479 .loc 1 6245 5 is_stmt 1 view .LVU4232
13480 0046 2021 movs r1, #32
13481 0048 2000 movs r0, r4
13482 .LVL999:
6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13483 .loc 1 6245 5 is_stmt 0 view .LVU4233
13484 004a FFF7FEFF bl I2C_Enable_IRQ
13485 .LVL1000:
13486 004e F9E7 b .L753
13487 .LVL1001:
13488 .L756:
6260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13489 .loc 1 6260 7 is_stmt 1 view .LVU4234
6260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13490 .loc 1 6260 28 is_stmt 0 view .LVU4235
13491 0050 638D ldrh r3, [r4, #42]
6260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13492 .loc 1 6260 22 view .LVU4236
13493 0052 2385 strh r3, [r4, #40]
13494 0054 EAE7 b .L757
13495 .LVL1002:
13496 .L758:
6273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13497 .loc 1 6273 7 is_stmt 1 view .LVU4237
13498 0056 4021 movs r1, #64
13499 0058 2000 movs r0, r4
ARM GAS /tmp/ccRVAHyi.s page 427
13500 005a FFF7FEFF bl I2C_Enable_IRQ
13501 .LVL1003:
6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13502 .loc 1 6276 1 is_stmt 0 view .LVU4238
13503 005e F1E7 b .L753
13504 .L761:
13505 .align 2
13506 .L760:
13507 0060 FF7FFFFF .word -32769
13508 .cfi_endproc
13509 .LFE106:
13511 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits
13512 .align 1
13513 .global HAL_I2C_ER_IRQHandler
13514 .syntax unified
13515 .code 16
13516 .thumb_func
13517 .fpu softvfp
13519 HAL_I2C_ER_IRQHandler:
13520 .LVL1004:
13521 .LFB75:
4452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
13522 .loc 1 4452 1 is_stmt 1 view -0
13523 .cfi_startproc
13524 @ args = 0, pretend = 0, frame = 0
13525 @ frame_needed = 0, uses_anonymous_args = 0
4452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
13526 .loc 1 4452 1 is_stmt 0 view .LVU4240
13527 0000 70B5 push {r4, r5, r6, lr}
13528 .LCFI89:
13529 .cfi_def_cfa_offset 16
13530 .cfi_offset 4, -16
13531 .cfi_offset 5, -12
13532 .cfi_offset 6, -8
13533 .cfi_offset 14, -4
4453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
13534 .loc 1 4453 3 is_stmt 1 view .LVU4241
4453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
13535 .loc 1 4453 24 is_stmt 0 view .LVU4242
13536 0002 0268 ldr r2, [r0]
4453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
13537 .loc 1 4453 12 view .LVU4243
13538 0004 9369 ldr r3, [r2, #24]
13539 .LVL1005:
4454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
13540 .loc 1 4454 3 is_stmt 1 view .LVU4244
4454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
13541 .loc 1 4454 12 is_stmt 0 view .LVU4245
13542 0006 1168 ldr r1, [r2]
13543 .LVL1006:
4455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13544 .loc 1 4455 3 is_stmt 1 view .LVU4246
4458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13545 .loc 1 4458 3 view .LVU4247
4458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13546 .loc 1 4458 6 is_stmt 0 view .LVU4248
13547 0008 DC05 lsls r4, r3, #23
ARM GAS /tmp/ccRVAHyi.s page 428
13548 000a 08D5 bpl .L763
4458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13549 .loc 1 4458 57 discriminator 1 view .LVU4249
13550 000c 0C06 lsls r4, r1, #24
13551 000e 06D5 bpl .L763
4461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13552 .loc 1 4461 5 is_stmt 1 view .LVU4250
4461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13553 .loc 1 4461 21 is_stmt 0 view .LVU4251
13554 0010 446C ldr r4, [r0, #68]
13555 0012 0125 movs r5, #1
13556 0014 2C43 orrs r4, r5
13557 0016 4464 str r4, [r0, #68]
4464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13558 .loc 1 4464 5 is_stmt 1 view .LVU4252
13559 0018 8024 movs r4, #128
13560 001a 6400 lsls r4, r4, #1
13561 001c D461 str r4, [r2, #28]
13562 .L763:
4468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13563 .loc 1 4468 3 view .LVU4253
4468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13564 .loc 1 4468 6 is_stmt 0 view .LVU4254
13565 001e 5A05 lsls r2, r3, #21
13566 0020 09D5 bpl .L764
4468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13567 .loc 1 4468 56 discriminator 1 view .LVU4255
13568 0022 0A06 lsls r2, r1, #24
13569 0024 07D5 bpl .L764
4471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13570 .loc 1 4471 5 is_stmt 1 view .LVU4256
4471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13571 .loc 1 4471 21 is_stmt 0 view .LVU4257
13572 0026 426C ldr r2, [r0, #68]
13573 0028 0824 movs r4, #8
13574 002a 2243 orrs r2, r4
13575 002c 4264 str r2, [r0, #68]
4474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13576 .loc 1 4474 5 is_stmt 1 view .LVU4258
13577 002e 0268 ldr r2, [r0]
13578 0030 8024 movs r4, #128
13579 0032 E400 lsls r4, r4, #3
13580 0034 D461 str r4, [r2, #28]
13581 .L764:
4478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13582 .loc 1 4478 3 view .LVU4259
4478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13583 .loc 1 4478 6 is_stmt 0 view .LVU4260
13584 0036 9B05 lsls r3, r3, #22
13585 0038 09D5 bpl .L765
13586 .LVL1007:
4478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13587 .loc 1 4478 57 discriminator 1 view .LVU4261
13588 003a 0B06 lsls r3, r1, #24
13589 003c 07D5 bpl .L765
4481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13590 .loc 1 4481 5 is_stmt 1 view .LVU4262
ARM GAS /tmp/ccRVAHyi.s page 429
4481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13591 .loc 1 4481 21 is_stmt 0 view .LVU4263
13592 003e 436C ldr r3, [r0, #68]
13593 0040 0222 movs r2, #2
13594 0042 1343 orrs r3, r2
13595 0044 4364 str r3, [r0, #68]
4484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13596 .loc 1 4484 5 is_stmt 1 view .LVU4264
13597 0046 0368 ldr r3, [r0]
13598 0048 FF32 adds r2, r2, #255
13599 004a FF32 adds r2, r2, #255
13600 004c DA61 str r2, [r3, #28]
13601 .L765:
4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13602 .loc 1 4488 3 view .LVU4265
4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13603 .loc 1 4488 12 is_stmt 0 view .LVU4266
13604 004e 416C ldr r1, [r0, #68]
13605 .LVL1008:
4491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13606 .loc 1 4491 3 is_stmt 1 view .LVU4267
4491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13607 .loc 1 4491 17 is_stmt 0 view .LVU4268
13608 0050 0B23 movs r3, #11
4491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13609 .loc 1 4491 6 view .LVU4269
13610 0052 0B42 tst r3, r1
13611 0054 00D1 bne .L767
13612 .LVL1009:
13613 .L762:
4495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13614 .loc 1 4495 1 view .LVU4270
13615 @ sp needed
13616 0056 70BD pop {r4, r5, r6, pc}
13617 .LVL1010:
13618 .L767:
4493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13619 .loc 1 4493 5 is_stmt 1 view .LVU4271
13620 0058 FFF7FEFF bl I2C_ITError
13621 .LVL1011:
4495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13622 .loc 1 4495 1 is_stmt 0 view .LVU4272
13623 005c FBE7 b .L762
13624 .cfi_endproc
13625 .LFE75:
13627 .section .text.I2C_DMAAbort,"ax",%progbits
13628 .align 1
13629 .syntax unified
13630 .code 16
13631 .thumb_func
13632 .fpu softvfp
13634 I2C_DMAAbort:
13635 .LVL1012:
13636 .LFB109:
6330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13637 .loc 1 6330 1 is_stmt 1 view -0
13638 .cfi_startproc
ARM GAS /tmp/ccRVAHyi.s page 430
13639 @ args = 0, pretend = 0, frame = 0
13640 @ frame_needed = 0, uses_anonymous_args = 0
6330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13641 .loc 1 6330 1 is_stmt 0 view .LVU4274
13642 0000 10B5 push {r4, lr}
13643 .LCFI90:
13644 .cfi_def_cfa_offset 8
13645 .cfi_offset 4, -8
13646 .cfi_offset 14, -4
6332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13647 .loc 1 6332 3 is_stmt 1 view .LVU4275
6332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13648 .loc 1 6332 22 is_stmt 0 view .LVU4276
13649 0002 406A ldr r0, [r0, #36]
13650 .LVL1013:
6335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13651 .loc 1 6335 3 is_stmt 1 view .LVU4277
6335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13652 .loc 1 6335 11 is_stmt 0 view .LVU4278
13653 0004 836B ldr r3, [r0, #56]
6335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13654 .loc 1 6335 6 view .LVU4279
13655 0006 002B cmp r3, #0
13656 0008 01D0 beq .L769
6337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13657 .loc 1 6337 5 is_stmt 1 view .LVU4280
6337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13658 .loc 1 6337 37 is_stmt 0 view .LVU4281
13659 000a 0022 movs r2, #0
13660 000c 5A63 str r2, [r3, #52]
13661 .L769:
6339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13662 .loc 1 6339 3 is_stmt 1 view .LVU4282
6339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13663 .loc 1 6339 11 is_stmt 0 view .LVU4283
13664 000e C36B ldr r3, [r0, #60]
6339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13665 .loc 1 6339 6 view .LVU4284
13666 0010 002B cmp r3, #0
13667 0012 01D0 beq .L770
6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13668 .loc 1 6341 5 is_stmt 1 view .LVU4285
6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13669 .loc 1 6341 37 is_stmt 0 view .LVU4286
13670 0014 0022 movs r2, #0
13671 0016 5A63 str r2, [r3, #52]
13672 .L770:
6344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13673 .loc 1 6344 3 is_stmt 1 view .LVU4287
13674 0018 FFF7FEFF bl I2C_TreatErrorCallback
13675 .LVL1014:
6345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13676 .loc 1 6345 1 is_stmt 0 view .LVU4288
13677 @ sp needed
13678 001c 10BD pop {r4, pc}
13679 .cfi_endproc
13680 .LFE109:
ARM GAS /tmp/ccRVAHyi.s page 431
13682 .section .text.HAL_I2C_GetState,"ax",%progbits
13683 .align 1
13684 .global HAL_I2C_GetState
13685 .syntax unified
13686 .code 16
13687 .thumb_func
13688 .fpu softvfp
13690 HAL_I2C_GetState:
13691 .LVL1015:
13692 .LFB86:
4686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return I2C handle state */
13693 .loc 1 4686 1 is_stmt 1 view -0
13694 .cfi_startproc
13695 @ args = 0, pretend = 0, frame = 0
13696 @ frame_needed = 0, uses_anonymous_args = 0
13697 @ link register save eliminated.
4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13698 .loc 1 4688 3 view .LVU4290
4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13699 .loc 1 4688 14 is_stmt 0 view .LVU4291
13700 0000 4123 movs r3, #65
13701 0002 C05C ldrb r0, [r0, r3]
13702 .LVL1016:
4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13703 .loc 1 4688 14 view .LVU4292
13704 0004 C0B2 uxtb r0, r0
4689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13705 .loc 1 4689 1 view .LVU4293
13706 @ sp needed
13707 0006 7047 bx lr
13708 .cfi_endproc
13709 .LFE86:
13711 .section .text.HAL_I2C_GetMode,"ax",%progbits
13712 .align 1
13713 .global HAL_I2C_GetMode
13714 .syntax unified
13715 .code 16
13716 .thumb_func
13717 .fpu softvfp
13719 HAL_I2C_GetMode:
13720 .LVL1017:
13721 .LFB87:
4698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->Mode;
13722 .loc 1 4698 1 is_stmt 1 view -0
13723 .cfi_startproc
13724 @ args = 0, pretend = 0, frame = 0
13725 @ frame_needed = 0, uses_anonymous_args = 0
13726 @ link register save eliminated.
4699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13727 .loc 1 4699 3 view .LVU4295
4699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13728 .loc 1 4699 14 is_stmt 0 view .LVU4296
13729 0000 4223 movs r3, #66
13730 0002 C05C ldrb r0, [r0, r3]
13731 .LVL1018:
4699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13732 .loc 1 4699 14 view .LVU4297
ARM GAS /tmp/ccRVAHyi.s page 432
13733 0004 C0B2 uxtb r0, r0
4700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13734 .loc 1 4700 1 view .LVU4298
13735 @ sp needed
13736 0006 7047 bx lr
13737 .cfi_endproc
13738 .LFE87:
13740 .section .text.HAL_I2C_GetError,"ax",%progbits
13741 .align 1
13742 .global HAL_I2C_GetError
13743 .syntax unified
13744 .code 16
13745 .thumb_func
13746 .fpu softvfp
13748 HAL_I2C_GetError:
13749 .LVL1019:
13750 .LFB88:
4709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->ErrorCode;
13751 .loc 1 4709 1 is_stmt 1 view -0
13752 .cfi_startproc
13753 @ args = 0, pretend = 0, frame = 0
13754 @ frame_needed = 0, uses_anonymous_args = 0
13755 @ link register save eliminated.
4710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13756 .loc 1 4710 3 view .LVU4300
4710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13757 .loc 1 4710 14 is_stmt 0 view .LVU4301
13758 0000 406C ldr r0, [r0, #68]
13759 .LVL1020:
4711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13760 .loc 1 4711 1 view .LVU4302
13761 @ sp needed
13762 0002 7047 bx lr
13763 .cfi_endproc
13764 .LFE88:
13766 .text
13767 .Letext0:
13768 .file 2 "/usr/lib/gcc/arm-none-eabi/8.3.1/include/stdint.h"
13769 .file 3 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
13770 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h"
13771 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
13772 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
13773 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
13774 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h"
13775 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
ARM GAS /tmp/ccRVAHyi.s page 433
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f0xx_hal_i2c.c
/tmp/ccRVAHyi.s:16 .text.I2C_Flush_TXDR:0000000000000000 $t
/tmp/ccRVAHyi.s:23 .text.I2C_Flush_TXDR:0000000000000000 I2C_Flush_TXDR
/tmp/ccRVAHyi.s:64 .text.I2C_TransferConfig:0000000000000000 $t
/tmp/ccRVAHyi.s:70 .text.I2C_TransferConfig:0000000000000000 I2C_TransferConfig
/tmp/ccRVAHyi.s:120 .text.I2C_TransferConfig:0000000000000028 $d
/tmp/ccRVAHyi.s:125 .text.I2C_Enable_IRQ:0000000000000000 $t
/tmp/ccRVAHyi.s:131 .text.I2C_Enable_IRQ:0000000000000000 I2C_Enable_IRQ
/tmp/ccRVAHyi.s:269 .text.I2C_Enable_IRQ:0000000000000068 $d
/tmp/ccRVAHyi.s:12914 .text.I2C_Master_ISR_DMA:0000000000000000 I2C_Master_ISR_DMA
/tmp/ccRVAHyi.s:12598 .text.I2C_Slave_ISR_DMA:0000000000000000 I2C_Slave_ISR_DMA
/tmp/ccRVAHyi.s:275 .text.I2C_Disable_IRQ:0000000000000000 $t
/tmp/ccRVAHyi.s:281 .text.I2C_Disable_IRQ:0000000000000000 I2C_Disable_IRQ
/tmp/ccRVAHyi.s:423 .text.I2C_ConvertOtherXferOptions:0000000000000000 $t
/tmp/ccRVAHyi.s:429 .text.I2C_ConvertOtherXferOptions:0000000000000000 I2C_ConvertOtherXferOptions
/tmp/ccRVAHyi.s:474 .text.I2C_IsAcknowledgeFailed:0000000000000000 $t
/tmp/ccRVAHyi.s:480 .text.I2C_IsAcknowledgeFailed:0000000000000000 I2C_IsAcknowledgeFailed
/tmp/ccRVAHyi.s:627 .text.I2C_IsAcknowledgeFailed:000000000000008c $d
/tmp/ccRVAHyi.s:632 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 $t
/tmp/ccRVAHyi.s:638 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 I2C_WaitOnTXISFlagUntilTimeout
/tmp/ccRVAHyi.s:735 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 $t
/tmp/ccRVAHyi.s:741 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 I2C_WaitOnFlagUntilTimeout
/tmp/ccRVAHyi.s:831 .text.I2C_RequestMemoryWrite:0000000000000000 $t
/tmp/ccRVAHyi.s:837 .text.I2C_RequestMemoryWrite:0000000000000000 I2C_RequestMemoryWrite
/tmp/ccRVAHyi.s:957 .text.I2C_RequestMemoryWrite:0000000000000074 $d
/tmp/ccRVAHyi.s:962 .text.I2C_RequestMemoryRead:0000000000000000 $t
/tmp/ccRVAHyi.s:968 .text.I2C_RequestMemoryRead:0000000000000000 I2C_RequestMemoryRead
/tmp/ccRVAHyi.s:1084 .text.I2C_RequestMemoryRead:0000000000000070 $d
/tmp/ccRVAHyi.s:1089 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 $t
/tmp/ccRVAHyi.s:1095 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 I2C_WaitOnSTOPFlagUntilTimeout
/tmp/ccRVAHyi.s:1188 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 $t
/tmp/ccRVAHyi.s:1194 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 I2C_WaitOnRXNEFlagUntilTimeout
/tmp/ccRVAHyi.s:1331 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000080 $d
/tmp/ccRVAHyi.s:1336 .text.HAL_I2C_MspInit:0000000000000000 $t
/tmp/ccRVAHyi.s:1343 .text.HAL_I2C_MspInit:0000000000000000 HAL_I2C_MspInit
/tmp/ccRVAHyi.s:1359 .text.HAL_I2C_Init:0000000000000000 $t
/tmp/ccRVAHyi.s:1366 .text.HAL_I2C_Init:0000000000000000 HAL_I2C_Init
/tmp/ccRVAHyi.s:1563 .text.HAL_I2C_Init:00000000000000c0 $d
/tmp/ccRVAHyi.s:1570 .text.HAL_I2C_MspDeInit:0000000000000000 $t
/tmp/ccRVAHyi.s:1577 .text.HAL_I2C_MspDeInit:0000000000000000 HAL_I2C_MspDeInit
/tmp/ccRVAHyi.s:1593 .text.HAL_I2C_DeInit:0000000000000000 $t
/tmp/ccRVAHyi.s:1600 .text.HAL_I2C_DeInit:0000000000000000 HAL_I2C_DeInit
/tmp/ccRVAHyi.s:1672 .text.HAL_I2C_Master_Transmit:0000000000000000 $t
/tmp/ccRVAHyi.s:1679 .text.HAL_I2C_Master_Transmit:0000000000000000 HAL_I2C_Master_Transmit
/tmp/ccRVAHyi.s:1999 .text.HAL_I2C_Master_Transmit:0000000000000164 $d
/tmp/ccRVAHyi.s:2005 .text.HAL_I2C_Master_Receive:0000000000000000 $t
/tmp/ccRVAHyi.s:2012 .text.HAL_I2C_Master_Receive:0000000000000000 HAL_I2C_Master_Receive
/tmp/ccRVAHyi.s:2332 .text.HAL_I2C_Master_Receive:0000000000000164 $d
/tmp/ccRVAHyi.s:2338 .text.HAL_I2C_Slave_Transmit:0000000000000000 $t
/tmp/ccRVAHyi.s:2345 .text.HAL_I2C_Slave_Transmit:0000000000000000 HAL_I2C_Slave_Transmit
/tmp/ccRVAHyi.s:2718 .text.HAL_I2C_Slave_Transmit:0000000000000194 $d
/tmp/ccRVAHyi.s:2723 .text.HAL_I2C_Slave_Receive:0000000000000000 $t
/tmp/ccRVAHyi.s:2730 .text.HAL_I2C_Slave_Receive:0000000000000000 HAL_I2C_Slave_Receive
/tmp/ccRVAHyi.s:3080 .text.HAL_I2C_Slave_Receive:0000000000000174 $d
/tmp/ccRVAHyi.s:3085 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:3092 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 HAL_I2C_Master_Transmit_IT
ARM GAS /tmp/ccRVAHyi.s page 434
/tmp/ccRVAHyi.s:3248 .text.HAL_I2C_Master_Transmit_IT:0000000000000088 $d
/tmp/ccRVAHyi.s:12213 .text.I2C_Master_ISR_IT:0000000000000000 I2C_Master_ISR_IT
/tmp/ccRVAHyi.s:3255 .text.HAL_I2C_Master_Receive_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:3262 .text.HAL_I2C_Master_Receive_IT:0000000000000000 HAL_I2C_Master_Receive_IT
/tmp/ccRVAHyi.s:3418 .text.HAL_I2C_Master_Receive_IT:0000000000000088 $d
/tmp/ccRVAHyi.s:3425 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:3432 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 HAL_I2C_Slave_Transmit_IT
/tmp/ccRVAHyi.s:3540 .text.HAL_I2C_Slave_Transmit_IT:0000000000000058 $d
/tmp/ccRVAHyi.s:11608 .text.I2C_Slave_ISR_IT:0000000000000000 I2C_Slave_ISR_IT
/tmp/ccRVAHyi.s:3548 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:3555 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 HAL_I2C_Slave_Receive_IT
/tmp/ccRVAHyi.s:3663 .text.HAL_I2C_Slave_Receive_IT:0000000000000058 $d
/tmp/ccRVAHyi.s:3671 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:3678 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 HAL_I2C_Master_Transmit_DMA
/tmp/ccRVAHyi.s:4008 .text.HAL_I2C_Master_Transmit_DMA:000000000000013c $d
/tmp/ccRVAHyi.s:13280 .text.I2C_DMAMasterTransmitCplt:0000000000000000 I2C_DMAMasterTransmitCplt
/tmp/ccRVAHyi.s:13237 .text.I2C_DMAError:0000000000000000 I2C_DMAError
/tmp/ccRVAHyi.s:4018 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:4025 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 HAL_I2C_Master_Receive_DMA
/tmp/ccRVAHyi.s:4354 .text.HAL_I2C_Master_Receive_DMA:0000000000000138 $d
/tmp/ccRVAHyi.s:13399 .text.I2C_DMAMasterReceiveCplt:0000000000000000 I2C_DMAMasterReceiveCplt
/tmp/ccRVAHyi.s:4364 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:4371 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Transmit_DMA
/tmp/ccRVAHyi.s:4612 .text.HAL_I2C_Slave_Transmit_DMA:00000000000000e0 $d
/tmp/ccRVAHyi.s:10358 .text.I2C_DMASlaveTransmitCplt:0000000000000000 I2C_DMASlaveTransmitCplt
/tmp/ccRVAHyi.s:4621 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:4628 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 HAL_I2C_Slave_Receive_DMA
/tmp/ccRVAHyi.s:4872 .text.HAL_I2C_Slave_Receive_DMA:00000000000000e4 $d
/tmp/ccRVAHyi.s:10420 .text.I2C_DMASlaveReceiveCplt:0000000000000000 I2C_DMASlaveReceiveCplt
/tmp/ccRVAHyi.s:4881 .text.HAL_I2C_Mem_Write:0000000000000000 $t
/tmp/ccRVAHyi.s:4888 .text.HAL_I2C_Mem_Write:0000000000000000 HAL_I2C_Mem_Write
/tmp/ccRVAHyi.s:5260 .text.HAL_I2C_Mem_Write:000000000000019c $d
/tmp/ccRVAHyi.s:5265 .text.HAL_I2C_Mem_Read:0000000000000000 $t
/tmp/ccRVAHyi.s:5272 .text.HAL_I2C_Mem_Read:0000000000000000 HAL_I2C_Mem_Read
/tmp/ccRVAHyi.s:5644 .text.HAL_I2C_Mem_Read:00000000000001a0 $d
/tmp/ccRVAHyi.s:5650 .text.HAL_I2C_Mem_Write_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:5657 .text.HAL_I2C_Mem_Write_IT:0000000000000000 HAL_I2C_Mem_Write_IT
/tmp/ccRVAHyi.s:5882 .text.HAL_I2C_Mem_Write_IT:00000000000000d8 $d
/tmp/ccRVAHyi.s:5888 .text.HAL_I2C_Mem_Read_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:5895 .text.HAL_I2C_Mem_Read_IT:0000000000000000 HAL_I2C_Mem_Read_IT
/tmp/ccRVAHyi.s:6121 .text.HAL_I2C_Mem_Read_IT:00000000000000d8 $d
/tmp/ccRVAHyi.s:6128 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:6135 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 HAL_I2C_Mem_Write_DMA
/tmp/ccRVAHyi.s:6480 .text.HAL_I2C_Mem_Write_DMA:0000000000000158 $d
/tmp/ccRVAHyi.s:6488 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:6495 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 HAL_I2C_Mem_Read_DMA
/tmp/ccRVAHyi.s:6841 .text.HAL_I2C_Mem_Read_DMA:0000000000000158 $d
/tmp/ccRVAHyi.s:6850 .text.HAL_I2C_IsDeviceReady:0000000000000000 $t
/tmp/ccRVAHyi.s:6857 .text.HAL_I2C_IsDeviceReady:0000000000000000 HAL_I2C_IsDeviceReady
/tmp/ccRVAHyi.s:7229 .text.HAL_I2C_IsDeviceReady:0000000000000184 $d
/tmp/ccRVAHyi.s:7234 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:7241 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 HAL_I2C_Master_Seq_Transmit_IT
/tmp/ccRVAHyi.s:7446 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000000000b0 $d
/tmp/ccRVAHyi.s:7452 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:7459 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Master_Seq_Transmit_DMA
/tmp/ccRVAHyi.s:7816 .text.HAL_I2C_Master_Seq_Transmit_DMA:000000000000015c $d
/tmp/ccRVAHyi.s:7825 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 $t
ARM GAS /tmp/ccRVAHyi.s page 435
/tmp/ccRVAHyi.s:7832 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 HAL_I2C_Master_Seq_Receive_IT
/tmp/ccRVAHyi.s:8037 .text.HAL_I2C_Master_Seq_Receive_IT:00000000000000b0 $d
/tmp/ccRVAHyi.s:8043 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:8050 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 HAL_I2C_Master_Seq_Receive_DMA
/tmp/ccRVAHyi.s:8407 .text.HAL_I2C_Master_Seq_Receive_DMA:000000000000015c $d
/tmp/ccRVAHyi.s:8416 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:8423 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 HAL_I2C_Slave_Seq_Transmit_IT
/tmp/ccRVAHyi.s:8636 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000000000c8 $d
/tmp/ccRVAHyi.s:13634 .text.I2C_DMAAbort:0000000000000000 I2C_DMAAbort
/tmp/ccRVAHyi.s:8644 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:8651 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Seq_Transmit_DMA
/tmp/ccRVAHyi.s:9041 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000184 $d
/tmp/ccRVAHyi.s:9052 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:9059 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 HAL_I2C_Slave_Seq_Receive_IT
/tmp/ccRVAHyi.s:9272 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000000000c8 $d
/tmp/ccRVAHyi.s:9281 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:9288 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 HAL_I2C_Slave_Seq_Receive_DMA
/tmp/ccRVAHyi.s:9679 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000180 $d
/tmp/ccRVAHyi.s:9690 .text.HAL_I2C_EnableListen_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:9697 .text.HAL_I2C_EnableListen_IT:0000000000000000 HAL_I2C_EnableListen_IT
/tmp/ccRVAHyi.s:9747 .text.HAL_I2C_EnableListen_IT:0000000000000024 $d
/tmp/ccRVAHyi.s:9752 .text.HAL_I2C_DisableListen_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:9759 .text.HAL_I2C_DisableListen_IT:0000000000000000 HAL_I2C_DisableListen_IT
/tmp/ccRVAHyi.s:9832 .text.HAL_I2C_Master_Abort_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:9839 .text.HAL_I2C_Master_Abort_IT:0000000000000000 HAL_I2C_Master_Abort_IT
/tmp/ccRVAHyi.s:9969 .text.HAL_I2C_Master_Abort_IT:000000000000007c $d
/tmp/ccRVAHyi.s:9974 .text.HAL_I2C_EV_IRQHandler:0000000000000000 $t
/tmp/ccRVAHyi.s:9981 .text.HAL_I2C_EV_IRQHandler:0000000000000000 HAL_I2C_EV_IRQHandler
/tmp/ccRVAHyi.s:10021 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 $t
/tmp/ccRVAHyi.s:10028 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 HAL_I2C_MasterTxCpltCallback
/tmp/ccRVAHyi.s:10044 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 $t
/tmp/ccRVAHyi.s:10051 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 HAL_I2C_MasterRxCpltCallback
/tmp/ccRVAHyi.s:10067 .text.I2C_ITMasterSeqCplt:0000000000000000 $t
/tmp/ccRVAHyi.s:10073 .text.I2C_ITMasterSeqCplt:0000000000000000 I2C_ITMasterSeqCplt
/tmp/ccRVAHyi.s:10164 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 $t
/tmp/ccRVAHyi.s:10171 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 HAL_I2C_SlaveTxCpltCallback
/tmp/ccRVAHyi.s:10187 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 $t
/tmp/ccRVAHyi.s:10194 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 HAL_I2C_SlaveRxCpltCallback
/tmp/ccRVAHyi.s:10210 .text.I2C_ITSlaveSeqCplt:0000000000000000 $t
/tmp/ccRVAHyi.s:10216 .text.I2C_ITSlaveSeqCplt:0000000000000000 I2C_ITSlaveSeqCplt
/tmp/ccRVAHyi.s:10346 .text.I2C_ITSlaveSeqCplt:000000000000007c $d
/tmp/ccRVAHyi.s:10352 .text.I2C_DMASlaveTransmitCplt:0000000000000000 $t
/tmp/ccRVAHyi.s:10409 .text.I2C_DMASlaveTransmitCplt:0000000000000024 $d
/tmp/ccRVAHyi.s:10414 .text.I2C_DMASlaveReceiveCplt:0000000000000000 $t
/tmp/ccRVAHyi.s:10478 .text.I2C_DMASlaveReceiveCplt:0000000000000028 $d
/tmp/ccRVAHyi.s:10484 .text.HAL_I2C_AddrCallback:0000000000000000 $t
/tmp/ccRVAHyi.s:10491 .text.HAL_I2C_AddrCallback:0000000000000000 HAL_I2C_AddrCallback
/tmp/ccRVAHyi.s:10509 .text.I2C_ITAddrCplt:0000000000000000 $t
/tmp/ccRVAHyi.s:10515 .text.I2C_ITAddrCplt:0000000000000000 I2C_ITAddrCplt
/tmp/ccRVAHyi.s:10690 .text.HAL_I2C_ListenCpltCallback:0000000000000000 $t
/tmp/ccRVAHyi.s:10697 .text.HAL_I2C_ListenCpltCallback:0000000000000000 HAL_I2C_ListenCpltCallback
/tmp/ccRVAHyi.s:10713 .text.I2C_ITListenCplt:0000000000000000 $t
/tmp/ccRVAHyi.s:10719 .text.I2C_ITListenCplt:0000000000000000 I2C_ITListenCplt
/tmp/ccRVAHyi.s:10824 .text.I2C_ITListenCplt:0000000000000060 $d
/tmp/ccRVAHyi.s:10830 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 $t
/tmp/ccRVAHyi.s:10837 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 HAL_I2C_MemTxCpltCallback
/tmp/ccRVAHyi.s:10853 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 $t
ARM GAS /tmp/ccRVAHyi.s page 436
/tmp/ccRVAHyi.s:10860 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 HAL_I2C_MemRxCpltCallback
/tmp/ccRVAHyi.s:10876 .text.HAL_I2C_ErrorCallback:0000000000000000 $t
/tmp/ccRVAHyi.s:10883 .text.HAL_I2C_ErrorCallback:0000000000000000 HAL_I2C_ErrorCallback
/tmp/ccRVAHyi.s:10899 .text.HAL_I2C_AbortCpltCallback:0000000000000000 $t
/tmp/ccRVAHyi.s:10906 .text.HAL_I2C_AbortCpltCallback:0000000000000000 HAL_I2C_AbortCpltCallback
/tmp/ccRVAHyi.s:10922 .text.I2C_TreatErrorCallback:0000000000000000 $t
/tmp/ccRVAHyi.s:10928 .text.I2C_TreatErrorCallback:0000000000000000 I2C_TreatErrorCallback
/tmp/ccRVAHyi.s:10987 .text.I2C_ITError:0000000000000000 $t
/tmp/ccRVAHyi.s:10993 .text.I2C_ITError:0000000000000000 I2C_ITError
/tmp/ccRVAHyi.s:11246 .text.I2C_ITError:00000000000000f8 $d
/tmp/ccRVAHyi.s:11256 .text.I2C_ITSlaveCplt:0000000000000000 $t
/tmp/ccRVAHyi.s:11262 .text.I2C_ITSlaveCplt:0000000000000000 I2C_ITSlaveCplt
/tmp/ccRVAHyi.s:11592 .text.I2C_ITSlaveCplt:0000000000000150 $d
/tmp/ccRVAHyi.s:11602 .text.I2C_Slave_ISR_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:11918 .text.I2C_Slave_ISR_IT:0000000000000148 $d
/tmp/ccRVAHyi.s:11923 .text.I2C_ITMasterCplt:0000000000000000 $t
/tmp/ccRVAHyi.s:11929 .text.I2C_ITMasterCplt:0000000000000000 I2C_ITMasterCplt
/tmp/ccRVAHyi.s:12201 .text.I2C_ITMasterCplt:0000000000000110 $d
/tmp/ccRVAHyi.s:12207 .text.I2C_Master_ISR_IT:0000000000000000 $t
/tmp/ccRVAHyi.s:12587 .text.I2C_Master_ISR_IT:0000000000000174 $d
/tmp/ccRVAHyi.s:12592 .text.I2C_Slave_ISR_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:12903 .text.I2C_Slave_ISR_DMA:0000000000000124 $d
/tmp/ccRVAHyi.s:12908 .text.I2C_Master_ISR_DMA:0000000000000000 $t
/tmp/ccRVAHyi.s:13226 .text.I2C_Master_ISR_DMA:0000000000000138 $d
/tmp/ccRVAHyi.s:13231 .text.I2C_DMAError:0000000000000000 $t
/tmp/ccRVAHyi.s:13274 .text.I2C_DMAMasterTransmitCplt:0000000000000000 $t
/tmp/ccRVAHyi.s:13388 .text.I2C_DMAMasterTransmitCplt:0000000000000060 $d
/tmp/ccRVAHyi.s:13393 .text.I2C_DMAMasterReceiveCplt:0000000000000000 $t
/tmp/ccRVAHyi.s:13507 .text.I2C_DMAMasterReceiveCplt:0000000000000060 $d
/tmp/ccRVAHyi.s:13512 .text.HAL_I2C_ER_IRQHandler:0000000000000000 $t
/tmp/ccRVAHyi.s:13519 .text.HAL_I2C_ER_IRQHandler:0000000000000000 HAL_I2C_ER_IRQHandler
/tmp/ccRVAHyi.s:13628 .text.I2C_DMAAbort:0000000000000000 $t
/tmp/ccRVAHyi.s:13683 .text.HAL_I2C_GetState:0000000000000000 $t
/tmp/ccRVAHyi.s:13690 .text.HAL_I2C_GetState:0000000000000000 HAL_I2C_GetState
/tmp/ccRVAHyi.s:13712 .text.HAL_I2C_GetMode:0000000000000000 $t
/tmp/ccRVAHyi.s:13719 .text.HAL_I2C_GetMode:0000000000000000 HAL_I2C_GetMode
/tmp/ccRVAHyi.s:13741 .text.HAL_I2C_GetError:0000000000000000 $t
/tmp/ccRVAHyi.s:13748 .text.HAL_I2C_GetError:0000000000000000 HAL_I2C_GetError
UNDEFINED SYMBOLS
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort_IT
HAL_DMA_GetState