Rev 19 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 1
1 .cpu cortex-m3
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, 1
10 .eabi_attribute 18, 4
11 .file "stm32f1xx_hal_i2c.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.I2C_Master_SB,"ax",%progbits
16 .align 1
17 .arch armv7-m
18 .syntax unified
19 .thumb
20 .thumb_func
21 .fpu softvfp
23 I2C_Master_SB:
24 .LVL0:
25 .LFB118:
26 .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c"
1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ******************************************************************************
3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @file stm32f1xx_hal_i2c.c
4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @author MCD Application Team
5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief I2C HAL module driver.
6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral:
8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * + IO operation functions
10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * + Peripheral State, Mode and Error functions
11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *
12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @verbatim
13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ==============================================================================
14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ##### How to use this driver #####
15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ==============================================================================
16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** The I2C HAL driver can be used as follows:
18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example:
20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_HandleTypeDef hi2c;
21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the @ref HAL_I2C_MspInit() API:
23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (##) Enable the I2Cx interface clock
24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (##) I2C pins configuration
25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs
26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain
27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process
28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority
29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel
30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process
31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive channel
32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 2
33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) Configure the DMA handle parameters
34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel
35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the DMA Tx or Rx channel
38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#) Configure the Communication Speed, Duty cycle, Addressing mode, Own Address1,
40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Dual Addressing mode, Own Address2, General call and Nostretch mode in the hi2c Init struct
41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the @ref HAL_I2C_Init(), configures also the low le
43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized @ref HAL_I2C_MspInit() API.
44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function @ref HAL_I2C_IsDevic
46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *** Polling mode IO operation ***
50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** =================================
51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using @ref HAL_I2C_Master_Tran
53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using @ref HAL_I2C_Master_Recei
54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using @ref HAL_I2C_Slave_Transm
55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using @ref HAL_I2C_Slave_Receive
56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *** Polling mode IO MEM operation ***
58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** =====================================
59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using @ref HAL_I2C_
61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using @ref HAL_I2C
62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *** Interrupt mode IO operation ***
65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ===================================
66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using @ref HAL_I2C_Master_
68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_MasterTxCpltCallback() is executed and user
69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using @ref HAL_I2C_Master_R
71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_MasterRxCpltCallback() is executed and user ca
72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using @ref HAL_I2C_Slave_Tr
74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_SlaveTxCpltCallback() is executed and user
75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using @ref HAL_I2C_Slave_Rec
77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_SlaveRxCpltCallback() is executed and user can
78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using @ref HAL_I2C_Master_Abort_I
82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation ***
86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ==========================================================
87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition
89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** when a direction change during transfer
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 3
90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer
92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Option field values are defined through @ref I2C_XferOptions_definition and are listed be
93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functionnal is same as associated interfa
94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** and data to transfer without a final stop condition
96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a
97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** and data to transfer without a final stop condition, an then permit a c
98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** several times (like @ref HAL_I2C_Master_Seq_Transmit_IT() then @ref HAL
99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or @ref HAL_I2C_Master_Seq_Transmit_DMA() then @ref HAL_I2C_Master_Seq_
100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart
101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases
103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart
104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases
106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re
107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** interface several times (link with option I2C_FIRST_AND_NEXT_FRAME).
108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Usage can, transfer several bytes one by one using HAL_I2C_Master_Seq_T
109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_AND_NEXT_FRAME then
110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_AND_NEXT_FRAME th
111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_AND_NEXT_FRAME the
112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit o
113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio
114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c
115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** interface.
116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave
117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_FRAME then I2C_OTHE
118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_FRAME then I2C_OT
119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_FRAME then I2C_OTH
120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to
121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Differents sequential I2C interfaces are listed below:
123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using @ref
124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or using @ref HAL_I2C_Master_Seq_Transmit_DMA()
125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, @ref HAL_I2C_MasterTxCpltCallback() is e
126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using @ref
128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or using @ref HAL_I2C_Master_Seq_Receive_DMA()
129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) At reception end of current frame transfer, @ref HAL_I2C_MasterRxCpltCallback() is exec
130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Abort a master IT or DMA I2C process communication with Interrupt using @ref HAL_I2C_Mas
132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using @ref HAL_I2C_EnableListen
135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) When address slave I2C match, @ref HAL_I2C_AddrCallback() is executed and user can
136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code to check the Address Match Code and the transmission direction request
137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) At Listen mode end @ref HAL_I2C_ListenCpltCallback() is executed and user can
138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ListenCpltCallback()
139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using @ref
140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or using @ref HAL_I2C_Slave_Seq_Transmit_DMA()
141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, @ref HAL_I2C_SlaveTxCpltCallback() is ex
142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using @ref H
144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or using @ref HAL_I2C_Slave_Seq_Receive_DMA()
145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+++) At reception end of current frame transfer, @ref HAL_I2C_SlaveRxCpltCallback() is execu
146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 4
147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user ca
148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *** Interrupt mode IO MEM operation ***
151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** =======================================
152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address
154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @ref HAL_I2C_Mem_Write_IT()
155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At Memory end of write transfer, @ref HAL_I2C_MemTxCpltCallback() is executed and user ca
156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemTxCpltCallback()
157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @ref HAL_I2C_Mem_Read_IT()
159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At Memory end of read transfer, @ref HAL_I2C_MemRxCpltCallback() is executed and user can
160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemRxCpltCallback()
161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *** DMA mode IO operation ***
165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ==============================
166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @ref HAL_I2C_Master_Transmit_DMA()
169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_MasterTxCpltCallback() is executed and user
170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @ref HAL_I2C_Master_Receive_DMA()
173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_MasterRxCpltCallback() is executed and user ca
174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @ref HAL_I2C_Slave_Transmit_DMA()
177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_SlaveTxCpltCallback() is executed and user
178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @ref HAL_I2C_Slave_Receive_DMA()
181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_SlaveRxCpltCallback() is executed and user can
182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using @ref HAL_I2C_Master_Abort_I
186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *** DMA mode IO MEM operation ***
190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** =================================
191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @ref HAL_I2C_Mem_Write_DMA()
194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At Memory end of write transfer, @ref HAL_I2C_MemTxCpltCallback() is executed and user ca
195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemTxCpltCallback()
196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @ref HAL_I2C_Mem_Read_DMA()
198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) At Memory end of read transfer, @ref HAL_I2C_MemRxCpltCallback() is executed and user can
199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemRxCpltCallback()
200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 5
204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *** I2C HAL driver macros list ***
205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ==================================
206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver.
208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) @ref __HAL_I2C_ENABLE: Enable the I2C peripheral
210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) @ref __HAL_I2C_DISABLE: Disable the I2C peripheral
211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) @ref __HAL_I2C_GET_FLAG: Checks whether the specified I2C flag is set or not
212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) @ref __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) @ref __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt
214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) @ref __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *** Callback registration ***
217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** =============================================
218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1
220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks.
221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Use Functions @ref HAL_I2C_RegisterCallback() or @ref HAL_I2C_RegisterAddrCallback()
222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to register an interrupt callback.
223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Function @ref HAL_I2C_RegisterCallback() allows to register following callbacks:
225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** and a pointer to the user callback function.
238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : @ref HAL_I2C_RegisterAdd
240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Use function @ref HAL_I2C_UnRegisterCallback to reset a callback to the default
242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** weak function.
243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @ref HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle,
244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** and the Callback ID.
245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** This function allows to reset following callbacks:
246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : @ref HAL_I2C_UnRegisterAddrCallba
259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** By default, after the @ref HAL_I2C_Init() and when the state is @ref HAL_I2C_STATE_RESET
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 6
261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions:
262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** examples @ref HAL_I2C_MasterTxCpltCallback(), @ref HAL_I2C_MasterRxCpltCallback().
263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are
264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** reset to the legacy weak functions in the @ref HAL_I2C_Init()/ @ref HAL_I2C_DeInit() only when
265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** these callbacks are null (not registered beforehand).
266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the @ref HAL_I2C_Init()/ @ref HAL_I2C_DeInit()
267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Callbacks can be registered/unregistered in @ref HAL_I2C_STATE_READY state only.
270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** in @ref HAL_I2C_STATE_READY or @ref HAL_I2C_STATE_RESET state,
272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** using @ref HAL_I2C_RegisterCallback() before calling @ref HAL_I2C_DeInit()
275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or @ref HAL_I2C_Init() function.
276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or
278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks
279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** are set to the corresponding weak functions.
280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *** I2C Workarounds linked to Silicon Limitation ***
283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ====================================================
284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Below the list of all silicon limitations implemented for HAL on STM32F1xx product.
286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (@) See ErrataSheet to know full silicon limitation list of your product.
287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Workarounds Implemented inside I2C HAL Driver
289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Wrong data read into data register (Polling and Interrupt mode)
290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Start cannot be generated after a misplaced Stop
291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Some software events must be managed before the current byte is being transferred:
292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Workaround: Use DMA in general, except when the Master is receiving a single byte.
293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** For Interupt mode, I2C should have the highest priority in the application.
294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Mismatch on the "Setup time for a repeated Start condition" timing parameter:
295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Workaround: Reduce the frequency down to 88 kHz or use the I2C Fast-mode if
296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** supported by the slave.
297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Data valid time (tVD;DAT) violated without the OVR flag being set:
298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Workaround: If the slave device allows it, use the clock stretching mechanism
299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** by programming NoStretchMode = I2C_NOSTRETCH_DISABLE in @ref HAL_I2C_Init.
300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros
303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @endverbatim
305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ******************************************************************************
306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @attention
307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *
308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * <h2><center>© Copyright (c) 2016 STMicroelectronics.
309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * All rights reserved.</center></h2>
310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *
311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * This software component is licensed by ST under BSD 3-Clause license,
312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the "License"; You may not use this file except in compliance with the
313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * License. You may obtain a copy of the License at:
314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * opensource.org/licenses/BSD-3-Clause
315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *
316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ******************************************************************************
317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 7
318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #include "stm32f1xx_hal.h"
321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @addtogroup STM32F1xx_HAL_Driver
323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @{
324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C I2C
327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief I2C HAL module driver
328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @{
329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @addtogroup I2C_Private_Define
336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @{
337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG 35U /*!< Timeout 35 ms */
339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY_FLAG 25U /*!< Timeout 25 ms */
340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME 0xFFFF0000U /*!< XferOptions default value */
341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | (uint32_
344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE))
345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | (
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | (
347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | (
348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | (
349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @}
352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private macro -------------------------------------------------------------*/
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @{
360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAXferCplt(DMA_HandleTypeDef *hdma);
363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c);
367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint3
369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32
370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1
371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16
372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 8
375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnMasterAddressFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t
376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, u
377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnBTFFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, u
378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c);
381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterTransmit_TXE(I2C_HandleTypeDef *hi2c);
384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterTransmit_BTF(I2C_HandleTypeDef *hi2c);
385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterReceive_RXNE(I2C_HandleTypeDef *hi2c);
386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterReceive_BTF(I2C_HandleTypeDef *hi2c);
387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_SB(I2C_HandleTypeDef *hi2c);
388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_ADD10(I2C_HandleTypeDef *hi2c);
389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_ADDR(I2C_HandleTypeDef *hi2c);
390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveTransmit_TXE(I2C_HandleTypeDef *hi2c);
392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveTransmit_BTF(I2C_HandleTypeDef *hi2c);
393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveReceive_RXNE(I2C_HandleTypeDef *hi2c);
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveReceive_BTF(I2C_HandleTypeDef *hi2c);
395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_ADDR(I2C_HandleTypeDef *hi2c, uint32_t IT2Flags);
396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_STOPF(I2C_HandleTypeDef *hi2c);
397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_AF(I2C_HandleTypeDef *hi2c);
398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private function to Convert Specific options */
400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @}
403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @{
409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Initialization and Configuration functions
413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *
414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @verbatim
415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ===============================================================================
416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ##### Initialization and de-initialization functions #####
417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ===============================================================================
418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and
419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** deinitialize the I2Cx peripheral:
420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures
422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC).
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with
425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the selected configuration:
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Communication Speed
427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Duty cycle
428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Addressing mode
429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Own Address 1
430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Dual Addressing mode
431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Own Address 2
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 9
432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) General call mode
433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Nostretch mode
434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration
436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** of the selected I2Cx peripheral.
437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @endverbatim
439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @{
440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters
444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle.
445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t freqrange;
452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t pclk1;
453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the I2C handle allocation */
455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c == NULL)
456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_CLOCK_SPEED(hi2c->Init.ClockSpeed));
463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_DUTY_CYCLE(hi2c->Init.DutyCycle));
464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET)
472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Allocate lock resource and initialize it */
474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED;
475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init the I2C Callback settings */
478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback
479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback
480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback
481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback
482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback
483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback
488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 10
489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL)
490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */
492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC */
495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c);
496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC */
498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c);
499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable the selected I2C peripheral */
505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Get PCLK1 frequency */
508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** pclk1 = HAL_RCC_GetPCLK1Freq();
509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the minimum allowed PCLK1 frequency */
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_MIN_PCLK_FREQ(pclk1, hi2c->Init.ClockSpeed) == 1U)
512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Calculate frequency range */
517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** freqrange = I2C_FREQRANGE(pclk1);
518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/
520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */
521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, I2C_CR2_FREQ, freqrange);
522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /*---------------------------- I2Cx TRISE Configuration --------------------*/
524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Configure I2Cx: Rise Time */
525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->TRISE, I2C_TRISE_TRISE, I2C_RISE_TIME(freqrange, hi2c->Init.ClockSpeed
526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /*---------------------------- I2Cx CCR Configuration ----------------------*/
528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Configure I2Cx: Speed */
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CCR, (I2C_CCR_FS | I2C_CCR_DUTY | I2C_CCR_CCR), I2C_SPEED(pclk1, hi2c-
530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/
532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */
533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR1, (I2C_CR1_ENGC | I2C_CR1_NOSTRETCH), (hi2c->Init.GeneralCallMode |
534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and addressing mode */
537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->OAR1, (I2C_OAR1_ADDMODE | I2C_OAR1_ADD8_9 | I2C_OAR1_ADD1_7 | I2C_OAR1
538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */
541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->OAR2, (I2C_OAR2_ENDUAL | I2C_OAR2_ADD2), (hi2c->Init.DualAddressMode |
542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the selected I2C peripheral */
544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 11
546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral.
556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the I2C handle allocation */
563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c == NULL)
564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */
574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL)
578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */
580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c);
584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c);
587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Release Lock */
595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Initialize the I2C MSP.
602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 12
603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file
613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP.
618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file
629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Register a User I2C Callback
635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * To be used instead of the weak predefined callback
636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered
639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * This parameter can be one of the following values:
640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pCallback pointer to the Callback function
652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb
655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (pCallback == NULL)
659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 13
660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update the error code */
661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process locked */
666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** switch (CallbackID)
671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback;
674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback;
678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback;
682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback;
686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback;
690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback;
694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback;
698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback;
702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback;
706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** default :
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 14
717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update the error code */
718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Return error status */
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** status = HAL_ERROR;
722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** switch (CallbackID)
728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** default :
738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update the error code */
739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Return error status */
742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** status = HAL_ERROR;
743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update the error code */
749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Return error status */
752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** status = HAL_ERROR;
753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Release Lock */
756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return status;
758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Unregister an I2C Callback
762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback
763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered
766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * This parameter can be one of the following values:
767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * This parameter can be one of the following values:
768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 15
774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal
782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process locked */
786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** switch (CallbackID)
791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb
794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb
798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba
802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba
806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac
810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 16
831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** default :
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update the error code */
838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Return error status */
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** status = HAL_ERROR;
842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** switch (CallbackID)
848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** default :
858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update the error code */
859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Return error status */
862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** status = HAL_ERROR;
863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** break;
864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update the error code */
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Return error status */
872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** status = HAL_ERROR;
873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Release Lock */
876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return status;
878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback
882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback
883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function
886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 17
888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC
889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (pCallback == NULL)
893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update the error code */
895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process locked */
900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->AddrCallback = pCallback;
905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update the error code */
909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Return error status */
912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** status = HAL_ERROR;
913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Release Lock */
916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return status;
918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback
922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal
923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process locked */
932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */
937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update the error code */
941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Return error status */
944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** status = HAL_ERROR;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 18
945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Release Lock */
948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return status;
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @}
956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Data transfers functions
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *
961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @verbatim
962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ===============================================================================
963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ##### IO operation functions #####
964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ===============================================================================
965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** transfers.
968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#) There are two modes of transfer:
970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode.
971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** The status of all data processing is returned by the same function
972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** after finishing transfer.
973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts
974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup.
975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** The end of the data processing will be indicated through the
976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** using DMA mode.
978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#) Blocking mode functions are :
980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit()
981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive()
982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit()
983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive()
984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write()
985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read()
986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady()
987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are :
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT()
990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT()
991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT()
992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT()
993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT()
994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT()
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT()
996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT()
997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT()
998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT()
999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT()
1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT()
1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT()
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 19
1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are :
1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA()
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA()
1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA()
1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA()
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA()
1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA()
1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA()
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA()
1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA()
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA()
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback()
1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback()
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback()
1019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback()
1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback()
1021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback()
1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback()
1023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback()
1024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback()
1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback()
1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @endverbatim
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @{
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode.
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
1042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick();
1046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 20
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
1063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send Slave Address */
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_MasterRequestWrite(hi2c, DevAddress, Timeout, tickstart) != HAL_OK)
1080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (hi2c->XferSize > 0U)
1088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until TXE flag is set */
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
1102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U))
1111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
1114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 21
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BTF flag is set */
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnBTFFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
1149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode.
1154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
1156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
1159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
1161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick();
1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 22
1173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
1184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send Slave Address */
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_MasterRequestRead(hi2c, DevAddress, Timeout, tickstart) != HAL_OK)
1201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize == 0U)
1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferSize == 1U)
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** software sequence must complete before the current byte end of transfer */
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __disable_irq();
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Re-enable IRQs */
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __enable_irq();
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 23
1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferSize == 2U)
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Pos */
1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** software sequence must complete before the current byte end of transfer */
1238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __disable_irq();
1239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Re-enable IRQs */
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __enable_irq();
1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (hi2c->XferSize > 0U)
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize <= 3U)
1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* One byte */
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize == 1U)
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Two bytes */
1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferSize == 2U)
1283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BTF flag is set */
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 24
1287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** software sequence must complete before the current byte end of transfer */
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __disable_irq();
1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Re-enable IRQs */
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __enable_irq();
1309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* 3 Last bytes */
1321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BTF flag is set */
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
1330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** software sequence must complete before the current byte end of transfer */
1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __disable_irq();
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 25
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BTF flag is set */
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Re-enable IRQs */
1366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __enable_irq();
1367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET)
1398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 26
1401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
1419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
1423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode.
1428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
1430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
1431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
1432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
1434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
1435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, ui
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick();
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
1443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
1455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 27
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Address Acknowledge */
1471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If 10bit addressing mode is selected */
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
1484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (hi2c->XferSize > 0U)
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until TXE flag is set */
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Address Acknowledge */
1501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
1508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 28
1515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U))
1517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
1520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until AF flag is set */
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_AF, RESET, Timeout, tickstart) != HAL_OK)
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear AF flag */
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
1538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Address Acknowledge */
1540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
1549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
1553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
1561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
1562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
1564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
1565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uin
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick();
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 29
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((pData == NULL) || (Size == (uint16_t)0))
1573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
1585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
1588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Address Acknowledge */
1601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (hi2c->XferSize > 0U)
1613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Address Acknowledge */
1618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 30
1629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U))
1634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
1640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
1644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until STOP flag is set */
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Address Acknowledge */
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear STOP flag */
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_STOPFLAG(hi2c);
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Address Acknowledge */
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
1673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt
1678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
1680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
1683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
1684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
1685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 31
1686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
1689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
1694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
1703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
1711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
1723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
1735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 32
1743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
1746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
1749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt
1758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
1760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
1763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
1764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
1765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
1766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
1769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
1778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
1783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
1791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 33
1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
1820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
1821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
1828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
1830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
1831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
1833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt
1842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
1845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
1846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
1847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
1848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
1854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 34
1857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
1865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Address Acknowledge */
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
1890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
1893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
1899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt
1904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
1906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
1907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
1908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
1909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
1910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 35
1914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
1928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
1931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Address Acknowledge */
1944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
1954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
1957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
1959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
1961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA
1966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
1968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 36
1971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
1972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
1974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
1977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
1978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
1983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
1984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
1987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
1992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
1994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
1997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
2000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
2008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
2009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
2019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
2026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 37
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt;
2029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA error callback */
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the DMA channel */
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Ins
2039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
2043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
2046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
2054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */
2056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
2060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 38
2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
2090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
2093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
2096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
2100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA
2105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
2107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
2110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
2111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
2112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
2113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
2116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
2122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
2123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
2126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
2131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
2139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 39
2142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
2163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
2165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt;
2168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA error callback */
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
2175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the DMA channel */
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c-
2178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
2182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
2185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
2193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */
2195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
2196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
2198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 40
2199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
2203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
2207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
2218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
2221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
2229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
2231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
2232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
2235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
2239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA
2244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
2246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
2247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
2248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
2249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
2250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 41
2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
2268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
2269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
2272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt;
2286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA error callback */
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
2293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the DMA channel */
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Insta
2296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Address Acknowledge */
2300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
2308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */
2309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
2310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_DMAEN;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 42
2313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
2315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
2319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
2334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA
2339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
2341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
2342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
2344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
2345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
2346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
2363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
2364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
2367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 43
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
2374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt;
2381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA error callback */
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
2388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the DMA channel */
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c->p
2391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Address Acknowledge */
2395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
2403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */
2404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
2405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
2407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
2408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
2410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
2414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
2418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 44
2427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
2429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address
2434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
2436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddress Internal memory address
2439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
2441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
2442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
2443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
2444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
2445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick();
2449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
2451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H
2457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
2459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
2468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
2469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
2472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
2479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 45
2484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
2486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (hi2c->XferSize > 0U)
2491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until TXE flag is set */
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
2496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
2498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
2505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
2508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
2512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U))
2514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
2517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
2520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
2524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BTF flag is set */
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnBTFFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
2531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
2533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
2539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 46
2541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
2548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
2552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address
2557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
2559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddress Internal memory address
2562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
2564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
2565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
2566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
2567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
2568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick();
2572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
2574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H
2580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
2582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
2591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
2592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
2595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 47
2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
2602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
2604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
2609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize == 0U)
2614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
2617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
2619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferSize == 1U)
2622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
2624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
2627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** software sequence must complete before the current byte end of transfer */
2628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __disable_irq();
2629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
2632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
2634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Re-enable IRQs */
2637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __enable_irq();
2638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferSize == 2U)
2640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Pos */
2642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
2645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** software sequence must complete before the current byte end of transfer */
2646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __disable_irq();
2647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
2650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
2652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Re-enable IRQs */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 48
2655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __enable_irq();
2656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
2660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
2663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (hi2c->XferSize > 0U)
2666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize <= 3U)
2668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* One byte */
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize == 1U)
2671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until RXNE flag is set */
2673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
2682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
2683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
2685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
2686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
2687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Two bytes */
2689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferSize == 2U)
2690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BTF flag is set */
2692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** software sequence must complete before the current byte end of transfer */
2699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __disable_irq();
2700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
2702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
2709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
2711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 49
2712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
2713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Re-enable IRQs */
2715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __enable_irq();
2716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
2721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
2722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
2724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
2725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
2726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* 3 Last bytes */
2728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BTF flag is set */
2731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
2732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
2737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
2740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** software sequence must complete before the current byte end of transfer */
2741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __disable_irq();
2742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
2747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
2748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
2750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
2751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
2752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BTF flag is set */
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
2755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
2760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
2767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 50
2769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
2770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
2771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Re-enable IRQs */
2773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __enable_irq();
2774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
2780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
2782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
2783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
2784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until RXNE flag is set */
2789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
2798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
2799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
2802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
2803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET)
2805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
2807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
2810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
2811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
2815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 51
2826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
2830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
2835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
2837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddress Internal memory address
2840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
2842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
2843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
2844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
2845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
2848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
2850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
2856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
2857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
2859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
2860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
2862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
2865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
2873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
2878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
2881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
2882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 52
2883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
2885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
2892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
2894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Memaddress = MemAddress;
2898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemaddSize = MemAddSize;
2899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount = 0U;
2900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
2910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
2912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
2913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
2915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
2917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
2919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
2924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
2926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address
2927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddress Internal memory address
2928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
2930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
2931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
2932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
2933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
2934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
2936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
2938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 53
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
2944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
2945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
2947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
2948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
2950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
2953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
2958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
2961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
2966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
2969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
2970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
2973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
2980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
2982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
2985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Memaddress = MemAddress;
2986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemaddSize = MemAddSize;
2987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount = 0U;
2988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
2990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
2993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
2996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 54
2997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
2999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
3003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
3005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
3006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
3008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
3012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address
3017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
3019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddress Internal memory address
3022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
3023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
3024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
3025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
3026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
3027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
3030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
3033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick();
3034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
3036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
3037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
3043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
3045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
3046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
3048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 55
3054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
3067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
3068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
3071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
3074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
3075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt;
3087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA error callback */
3089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
3093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the DMA channel */
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Ins
3097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tick
3102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
3108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 56
3111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
3115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable ERR interrupt */
3116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_ERR);
3117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
3119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
3120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
3122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
3126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
3130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
3141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
3145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_SIZE;
3146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
3156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address.
3161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
3163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddress Internal memory address
3166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
3167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 57
3168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be read
3169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
3170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
3171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
3172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
3174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick();
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
3176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
3179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
3180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
3186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
3188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
3189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
3191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
3207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
3210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
3211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
3214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
3218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
3221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
3223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 58
3225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt;
3230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA error callback */
3232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
3236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
3237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the DMA channel */
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c-
3240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, ticks
3245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize == 1U)
3250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
3252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Last DMA bit */
3257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
3258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
3262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
3269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable ERR interrupt */
3270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_ERR);
3271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
3273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_DMAEN;
3274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
3278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 59
3282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, ticksta
3294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
3300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
3302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
3303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
3311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
3315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Checks if target device is ready for communication.
3320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @note This function is used with Memory devices
3321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
3323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Trials Number of trials
3326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
3327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
3328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
3329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
3330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Get tick */
3332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick();
3333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t I2C_Trials = 1U;
3334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** FlagStatus tmp1;
3335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** FlagStatus tmp2;
3336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 60
3339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H
3341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
3343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
3352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
3353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
3356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
3359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
3363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
3365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until SB flag is set */
3368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, tickstart) != HAL_OK)
3369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave address */
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress);
3375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADDR or AF flag are set */
3377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Get tick */
3378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tickstart = HAL_GetTick();
3379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
3381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while ((hi2c->State != HAL_I2C_STATE_TIMEOUT) && (tmp1 == RESET) && (tmp2 == RESET))
3383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
3385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_TIMEOUT;
3387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
3389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the ADDR flag has been set */
3395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR) == SET)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 61
3396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
3398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
3399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR Flag */
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
3402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart)
3405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
3415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
3419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
3420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear AF Flag */
3422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
3423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart)
3426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Trials */
3432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_Trials++;
3433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (I2C_Trials < Trials);
3435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
3446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
3451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 62
3453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
3454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
3457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
3458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
3459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
3460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
3461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
3464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0x00U;
3465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
3467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check Busy Flag only if FIRST call of Master interface */
3472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((XferOptions == I2C_FIRST_AND_LAST_FRAME) || (XferOptions == I2C_FIRST_FRAME))
3473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
3477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
3479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
3480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
3482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
3502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
3503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
3506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
3509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 63
3510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
3513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
3515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
3518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Prev_State = hi2c->PreviousState;
3520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene
3522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_TX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOpti
3524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
3526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
3535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
3537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
3538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
3540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
3544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
3549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
3552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
3555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
3556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
3557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
3558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
3559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin
3560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
3562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0x00U;
3563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
3566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 64
3567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check Busy Flag only if FIRST call of Master interface */
3571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((XferOptions == I2C_FIRST_AND_LAST_FRAME) || (XferOptions == I2C_FIRST_FRAME))
3572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
3576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
3579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
3581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
3601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
3602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
3605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
3608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
3612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
3617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Prev_State = hi2c->PreviousState;
3619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 65
3624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA error callback */
3626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
3630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the DMA channel */
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Ins
3634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
3638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not
3641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_TX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(Xfer
3643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
3645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
3654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If XferOptions is not associated to a new frame, mean no start bit is request, enable di
3656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* In other cases, DMA request is enabled after Slave address treatment in IRQHandler */
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((XferOptions == I2C_NEXT_FRAME) || (XferOptions == I2C_LAST_FRAME) || (XferOptions == I
3658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
3660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
3661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */
3664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
3665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
3669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
3673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 66
3681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
3684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not ge
3687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_TX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOp
3689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
3691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
3700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
3702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
3703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
3706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
3710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
3715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
3718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
3721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
3722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
3723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
3724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
3725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8
3726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
3728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
3729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
3730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
3732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check Busy Flag only if FIRST call of Master interface */
3737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((XferOptions == I2C_FIRST_AND_LAST_FRAME) || (XferOptions == I2C_FIRST_FRAME))
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 67
3738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
3742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
3745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
3747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
3767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
3768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
3771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
3778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
3780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
3783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Prev_State = hi2c->PreviousState;
3785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->XferCount == 2U) && ((XferOptions == I2C_LAST_FRAME) || (XferOptions == I2C_LAST_FRA
3787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (Prev_State == I2C_STATE_MASTER_BUSY_RX)
3789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
3791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Pos */
3794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 68
3795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Remove Enabling of IT_BUF, mean RXNE treatment, treat the 2 bytes through BTF */
3797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** enableIT &= ~I2C_IT_BUF;
3798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
3802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
3808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene
3812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOpti
3814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
3816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
3825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable interrupts */
3827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, enableIT);
3828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
3830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
3834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Sequential receive in master mode an amount of data in non-blocking mode with DMA
3839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
3842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
3845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
3846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
3847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
3848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
3849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 69
3852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
3853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
3854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
3857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check Busy Flag only if FIRST call of Master interface */
3862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((XferOptions == I2C_FIRST_AND_LAST_FRAME) || (XferOptions == I2C_FIRST_FRAME))
3863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
3865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
3867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** count--;
3869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
3870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
3872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
3880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
3889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
3892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
3893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
3896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear Last DMA bit */
3899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
3900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
3906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
3908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 70
3909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
3911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** Prev_State = hi2c->PreviousState;
3913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->XferCount == 2U) && ((XferOptions == I2C_LAST_FRAME) || (XferOptions == I2C_LAST_F
3917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (Prev_State == I2C_STATE_MASTER_BUSY_RX)
3919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
3921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Pos */
3924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Last DMA bit */
3927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
3928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
3932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
3938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((XferOptions == I2C_LAST_FRAME) || (XferOptions == I2C_OTHER_AND_LAST_FRAME) || (XferOp
3941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Last DMA bit */
3943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
3944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt;
3949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA error callback */
3951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
3955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
3956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the DMA channel */
3958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c-
3959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not
3963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(Xfer
3965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 71
3966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
3967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update interrupt for only EVT and ERR */
3970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** enableIT = (I2C_IT_EVT | I2C_IT_ERR);
3971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update interrupt for only ERR */
3975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** enableIT = I2C_IT_ERR;
3976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
3979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
3984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If XferOptions is not associated to a new frame, mean no start bit is request, enable di
3986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* In other cases, DMA request is enabled after Slave address treatment in IRQHandler */
3987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((XferOptions == I2C_NEXT_FRAME) || (XferOptions == I2C_LAST_FRAME) || (XferOptions == I
3988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
3990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
3991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */
3994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, enableIT);
3995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
3997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
3999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
4000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
4003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
4006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
4009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
4014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not ge
4017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Mean Previous state is same as current state */
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOp
4019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
4021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
4022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 72
4023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
4025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
4030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable interrupts */
4032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, enableIT);
4033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
4035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
4039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Sequential transmit in slave mode an amount of data in non-blocking mode with Interrupt
4044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
4048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
4049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
4050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
4051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
4053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
4055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
4062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
4068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
4069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
4071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
4072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
4075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
4076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
4078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 73
4080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
4082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
4089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
4091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
4096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
4098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
4099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
4101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
4105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Sequential transmit in slave mode an amount of data in non-blocking mode with DMA
4110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
4114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
4115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
4116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
4117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t
4119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
4123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
4130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 74
4137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
4140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
4141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
4143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
4146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
4148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
4152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA RX */
4154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
4155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
4158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
4165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
4167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA TX */
4176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Nothing to do */
4187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
4190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
4191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
4193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 75
4194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
4197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
4198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
4200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
4204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
4210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt;
4211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA error callback */
4213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
4214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
4216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
4217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the DMA channel */
4220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Insta
4221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
4223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Address Acknowledge */
4225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
4229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
4231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
4236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */
4237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
4238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
4240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_DMAEN;
4241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
4243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
4247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
4248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 76
4251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
4254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
4257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
4262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Sequential receive in slave mode an amount of data in non-blocking mode with Interrupt
4267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
4271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
4272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
4273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
4274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si
4276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
4278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
4285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
4291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
4292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
4294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
4295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
4298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
4299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
4301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
4305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 77
4308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
4312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
4314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
4319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */
4321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
4322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
4324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
4328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Sequential receive in slave mode an amount of data in non-blocking mode with DMA
4333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param pData Pointer to data buffer
4337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Size Amount of data to be sent
4338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
4339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
4340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
4342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
4346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
4353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
4360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
4363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
4364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 78
4365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
4366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
4369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
4371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
4375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA RX */
4377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
4378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
4381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
4388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
4390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA TX */
4399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Nothing to do */
4410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
4413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
4414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
4416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
4417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos */
4420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
4421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 79
4422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
4423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare transfer parameters */
4427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
4433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt;
4434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA error callback */
4436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
4437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
4439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
4440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable the DMA channel */
4443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c->p
4444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
4446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Address Acknowledge */
4448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
4452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
4454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
4457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
4458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** process unlock */
4462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */
4463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
4464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
4466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C state */
4470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
4471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update I2C error code */
4474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
4477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 80
4479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
4480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
4485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt.
4490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
4493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
4495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
4497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if the I2C is already enabled */
4501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
4502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable I2C peripheral */
4504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
4505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Address Acknowledge */
4508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */
4511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
4512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
4514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
4518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt.
4523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
4526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
4528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
4530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tmp;
4531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */
4533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
4534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 81
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
4537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
4538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Address Acknowledge */
4541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT and ERR interrupt */
4544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
4545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
4547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_BUSY;
4551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt.
4556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
4559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
4560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
4561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
4563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(DevAddress);
4566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort Master transfer during Receive or Transmit process */
4568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
4569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Locked */
4571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
4574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
4575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
4577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
4580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
4581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = 0U;
4583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */
4585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
4586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
4588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_ITError(hi2c);
4592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 82
4593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
4594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wrong usage of abort function */
4598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */
4599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
4600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @}
4605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
4608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @{
4609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request.
4613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c)
4618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t sr1itflags;
4620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t sr2itflags = 0U;
4621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR2);
4622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
4623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode;
4624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
4625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Master or Memory mode selected */
4627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentMode == HAL_I2C_MODE_MASTER) || (CurrentMode == HAL_I2C_MODE_MEM))
4628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** sr2itflags = READ_REG(hi2c->Instance->SR2);
4630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** sr1itflags = READ_REG(hi2c->Instance->SR1);
4631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Exit IRQ event until Start Bit detected in case of Other frame requested */
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_SB) == RESET) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUES
4634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return;
4636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* SB Set ----------------------------------------------------------------*/
4639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_SB) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_I
4640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
4642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
4643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_Master_SB(hi2c);
4645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* ADD10 Set -------------------------------------------------------------*/
4647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ADD10) != RESET) && (I2C_CHECK_IT_SOURCE(itsource
4648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_Master_ADD10(hi2c);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 83
4650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* ADDR Set --------------------------------------------------------------*/
4652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources
4653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_Master_ADDR(hi2c);
4655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* I2C in mode Transmitter -----------------------------------------------*/
4657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (I2C_CHECK_FLAG(sr2itflags, I2C_FLAG_TRA) != RESET)
4658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do not check buffer and BTF flag if a Xfer DMA is on going */
4660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) != I2C_CR2_DMAEN)
4661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* TXE set and BTF reset -----------------------------------------------*/
4663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_TXE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources,
4664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_MasterTransmit_TXE(hi2c);
4666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* BTF set -------------------------------------------------------------*/
4668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsour
4669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_MasterTransmit_BTF(hi2c);
4671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
4675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* I2C in mode Receiver --------------------------------------------------*/
4679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do not check buffer and BTF flag if a Xfer DMA is on going */
4682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) != I2C_CR2_DMAEN)
4683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* RXNE set and BTF reset -----------------------------------------------*/
4685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources,
4686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_MasterReceive_RXNE(hi2c);
4688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* BTF set -------------------------------------------------------------*/
4690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsour
4691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_MasterReceive_BTF(hi2c);
4693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
4697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Slave mode selected */
4702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If an error is detected, read only SR1 register to prevent */
4705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* a clear of ADDR flags by reading SR2 after reading SR1 in Error treatment */
4706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 84
4707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** sr1itflags = READ_REG(hi2c->Instance->SR1);
4709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** sr2itflags = READ_REG(hi2c->Instance->SR2);
4713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** sr1itflags = READ_REG(hi2c->Instance->SR1);
4714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* ADDR set --------------------------------------------------------------*/
4717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C
4718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Now time to read SR2, this will clear ADDR flag automatically */
4720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
4721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** sr2itflags = READ_REG(hi2c->Instance->SR2);
4723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_Slave_ADDR(hi2c, sr2itflags);
4725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* STOPF set --------------------------------------------------------------*/
4727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(itsource
4728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_Slave_STOPF(hi2c);
4730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* I2C in mode Transmitter -----------------------------------------------*/
4732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((CurrentState == HAL_I2C_STATE_BUSY_TX) || (CurrentState == HAL_I2C_STATE_BUSY_TX_LIST
4733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* TXE set and BTF reset -----------------------------------------------*/
4735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_TXE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2
4736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_SlaveTransmit_TXE(hi2c);
4738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* BTF set -------------------------------------------------------------*/
4740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsource
4741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_SlaveTransmit_BTF(hi2c);
4743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
4747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* I2C in mode Receiver --------------------------------------------------*/
4750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* RXNE set and BTF reset ----------------------------------------------*/
4753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I
4754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_SlaveReceive_RXNE(hi2c);
4756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* BTF set -------------------------------------------------------------*/
4758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsource
4759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_SlaveReceive_BTF(hi2c);
4761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
4763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 85
4764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
4765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request.
4772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
4777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp1;
4779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tmp2;
4780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmp3;
4781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tmp4;
4782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t sr1itflags = READ_REG(hi2c->Instance->SR1);
4783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR2);
4784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t error = HAL_I2C_ERROR_NONE;
4785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ----------------------------------------*/
4787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BERR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_I
4788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** error |= HAL_I2C_ERROR_BERR;
4790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear BERR flag */
4792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
4793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Workaround: Start cannot be generated after a misplaced Stop */
4795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_SWRST);
4796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* I2C Arbitration Lost error interrupt occurred ---------------------------*/
4799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ARLO) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_I
4800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** error |= HAL_I2C_ERROR_ARLO;
4802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ARLO flag */
4804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
4805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* I2C Acknowledge failure error interrupt occurred ------------------------*/
4808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_
4809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp1 = hi2c->Mode;
4811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp2 = hi2c->XferCount;
4812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp3 = hi2c->State;
4813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp4 = hi2c->PreviousState;
4814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((tmp1 == HAL_I2C_MODE_SLAVE) && (tmp2 == 0U) && \
4815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \
4816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((tmp3 == HAL_I2C_STATE_LISTEN) && (tmp4 == I2C_STATE_SLAVE_BUSY_TX))))
4817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_Slave_AF(hi2c);
4819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 86
4821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear AF flag */
4823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** error |= HAL_I2C_ERROR_AF;
4826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do not generate a STOP in case of Slave receive non acknowledge during transfer (mean not
4828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
4829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
4831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
4832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred -------------------------------*/
4837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_OVR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT
4838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** error |= HAL_I2C_ERROR_OVR;
4840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear OVR flag */
4841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
4842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected -----------------------*/
4845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (error != HAL_I2C_ERROR_NONE)
4846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= error;
4848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_ITError(hi2c);
4849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback.
4854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
4859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
4862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
4865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback.
4870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
4875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 87
4878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
4881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback.
4885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
4890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
4893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
4896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback.
4901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
4906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
4909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
4912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Slave Address Match callback.
4917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_Xfe
4920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code
4921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
4924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
4927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(TransferDirection);
4928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(AddrMatchCode);
4929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file
4932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 88
4935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Listen Complete callback.
4937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
4942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
4945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file
4948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback.
4953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
4958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
4961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file
4964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback.
4969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
4974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
4977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file
4980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief I2C error callback.
4985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
4987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
4988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
4990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 89
4992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
4993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file
4996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
4997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief I2C abort callback.
5001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
5003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
5006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
5008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(hi2c);
5009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
5011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file
5012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @}
5017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
5020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions
5021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *
5022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @verbatim
5023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ===============================================================================
5024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions #####
5025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ===============================================================================
5026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** [..]
5027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral
5028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** and the data flow.
5029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @endverbatim
5031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @{
5032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Return the I2C handle state.
5036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
5038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL state
5039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c)
5041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Return I2C handle state */
5043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return hi2c->State;
5044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode.
5048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 90
5049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL mode
5051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c)
5053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return hi2c->Mode;
5055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Return the I2C error code.
5059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
5061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval I2C Error Code
5062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c)
5064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return hi2c->ErrorCode;
5066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @}
5070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @}
5074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
5077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @{
5078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle TXE flag for Master
5082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterTransmit_TXE(I2C_HandleTypeDef *hi2c)
5087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
5089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
5090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode;
5091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
5092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->XferSize == 0U) && (CurrentState == HAL_I2C_STATE_BUSY_TX))
5094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call TxCpltCallback() directly if no stop mode is set */
5096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentXferOptions != I2C_FIRST_AND_LAST_FRAME) && (CurrentXferOptions != I2C_LAST_FRAME)
5097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 91
5106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
5108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else /* Generate Stop condition then Call TxCpltCallback() */
5111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */
5113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
5116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
5117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
5122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c);
5126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c);
5128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
5135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
5137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((CurrentState == HAL_I2C_STATE_BUSY_TX) || \
5142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((CurrentMode == HAL_I2C_MODE_MEM) && (CurrentState == HAL_I2C_STATE_BUSY_RX)))
5143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
5145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable BUF interrupt */
5147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
5152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->EventCount == 0U)
5154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If Memory address size is 8Bit */
5156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->MemaddSize == I2C_MEMADD_SIZE_8BIT)
5157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send Memory Address */
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(hi2c->Memaddress);
5160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount += 2U;
5162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 92
5163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If Memory address size is 16Bit */
5164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send MSB of Memory Address */
5167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_MSB(hi2c->Memaddress);
5168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount++;
5170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->EventCount == 1U)
5173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send LSB of Memory Address */
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(hi2c->Memaddress);
5176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount++;
5178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->EventCount == 2U)
5180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Restart */
5184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_START;
5185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
5190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
5200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
5205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
5211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 93
5220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
5223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle BTF flag for Master transmitter
5228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterTransmit_BTF(I2C_HandleTypeDef *hi2c)
5233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
5235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
5236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
5243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call TxCpltCallback() directly if no stop mode is set */
5253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentXferOptions != I2C_FIRST_AND_LAST_FRAME) && (CurrentXferOptions != I2C_LAST_FRAME
5254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
5263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
5265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else /* Generate Stop condition then Call TxCpltCallback() */
5268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */
5270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
5273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
5274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 94
5277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
5279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c);
5283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c);
5285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
5293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
5295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle RXNE flag for Master
5304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterReceive_RXNE(I2C_HandleTypeDef *hi2c)
5309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tmp;
5313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp = hi2c->XferCount;
5315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (tmp > 3U)
5316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount == (uint16_t)3)
5327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable BUF interrupt, this help to treat correctly the last 4 bytes
5329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** on BTF subroutine */
5330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable BUF interrupt */
5331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 95
5334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((hi2c->XferOptions != I2C_FIRST_AND_NEXT_FRAME) && ((tmp == 1U) || (tmp == 0U)))
5335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
5337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */
5340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
5354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c);
5360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
5362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
5368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
5371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
5373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
5379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle BTF flag for Master receiver
5385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterReceive_BTF(I2C_HandleTypeDef *hi2c)
5390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 96
5391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
5392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
5393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount == 4U)
5395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable BUF interrupt, this help to treat correctly the last 2 bytes
5397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** on BTF subroutine if there is a reception delay between N-1 and N byte */
5398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferCount == 3U)
5410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable BUF interrupt, this help to treat correctly the last 2 bytes
5412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** on BTF subroutine if there is a reception delay between N-1 and N byte */
5413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentXferOptions != I2C_NEXT_FRAME) && (CurrentXferOptions != I2C_FIRST_AND_NEXT_FRAME))
5416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
5418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferCount == 2U)
5431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare next transfer or stop current transfer */
5433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentXferOptions == I2C_FIRST_FRAME) || (CurrentXferOptions == I2C_LAST_FRAME_NO_STOP))
5434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
5436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((CurrentXferOptions == I2C_NEXT_FRAME) || (CurrentXferOptions == I2C_FIRST_AND_NEXT_FR
5439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
5441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (CurrentXferOptions != I2C_LAST_FRAME_NO_STOP)
5444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
5446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
5447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 97
5448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
5451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
5463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT and ERR interrupt */
5472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
5473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
5476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
5479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c);
5481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
5483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
5489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
5491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
5493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 98
5505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle SB flag for Master
5511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_SB(I2C_HandleTypeDef *hi2c)
5516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
27 .loc 1 5516 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.
5517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
32 .loc 1 5517 3 view .LVU1
33 .loc 1 5517 11 is_stmt 0 view .LVU2
34 0000 90F83E30 ldrb r3, [r0, #62] @ zero_extendqisi2
35 0004 DBB2 uxtb r3, r3
36 .loc 1 5517 6 view .LVU3
37 0006 402B cmp r3, #64
38 0008 10D0 beq .L11
5518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->EventCount == 0U)
5520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave address */
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(hi2c->Devaddress);
5523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_READ(hi2c->Devaddress);
5527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
39 .loc 1 5531 5 is_stmt 1 view .LVU4
40 .loc 1 5531 19 is_stmt 0 view .LVU5
41 000a 0369 ldr r3, [r0, #16]
42 .loc 1 5531 8 view .LVU6
43 000c B3F5804F cmp r3, #16384
44 0010 1BD0 beq .L12
5532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave 7 Bits address */
5534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(hi2c->Devaddress);
5537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_READ(hi2c->Devaddress);
5541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) || (hi2c->hdmarx != NULL))
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 99
5544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->hdmatx->XferCpltCallback != NULL) || (hi2c->hdmarx->XferCpltCallback != NULL))
5546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
5548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
5549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->EventCount == 0U)
45 .loc 1 5554 7 is_stmt 1 view .LVU7
46 .loc 1 5554 15 is_stmt 0 view .LVU8
47 0012 036D ldr r3, [r0, #80]
48 .loc 1 5554 10 view .LVU9
49 0014 002B cmp r3, #0
50 0016 3CD1 bne .L10
5555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send header of slave address */
5557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_HEADER_WRITE(hi2c->Devaddress);
51 .loc 1 5557 9 is_stmt 1 view .LVU10
52 .loc 1 5557 30 is_stmt 0 view .LVU11
53 0018 436C ldr r3, [r0, #68]
54 001a C3F3C813 ubfx r3, r3, #7, #9
55 .loc 1 5557 13 view .LVU12
56 001e 0268 ldr r2, [r0]
57 .loc 1 5557 30 view .LVU13
58 0020 03F00603 and r3, r3, #6
59 0024 43F0F003 orr r3, r3, #240
60 .loc 1 5557 28 view .LVU14
61 0028 1361 str r3, [r2, #16]
62 002a 7047 bx lr
63 .L11:
5519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
64 .loc 1 5519 5 is_stmt 1 view .LVU15
5519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
65 .loc 1 5519 13 is_stmt 0 view .LVU16
66 002c 036D ldr r3, [r0, #80]
5519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
67 .loc 1 5519 8 view .LVU17
68 002e 2BB9 cbnz r3, .L3
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
69 .loc 1 5522 7 is_stmt 1 view .LVU18
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
70 .loc 1 5522 28 is_stmt 0 view .LVU19
71 0030 436C ldr r3, [r0, #68]
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
72 .loc 1 5522 11 view .LVU20
73 0032 0268 ldr r2, [r0]
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
74 .loc 1 5522 28 view .LVU21
75 0034 03F0FE03 and r3, r3, #254
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
76 .loc 1 5522 26 view .LVU22
77 0038 1361 str r3, [r2, #16]
78 003a 7047 bx lr
79 .L3:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 100
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
80 .loc 1 5526 7 is_stmt 1 view .LVU23
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
81 .loc 1 5526 28 is_stmt 0 view .LVU24
82 003c 436C ldr r3, [r0, #68]
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
83 .loc 1 5526 11 view .LVU25
84 003e 0268 ldr r2, [r0]
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
85 .loc 1 5526 28 view .LVU26
86 0040 43F00103 orr r3, r3, #1
87 0044 DBB2 uxtb r3, r3
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
88 .loc 1 5526 26 view .LVU27
89 0046 1361 str r3, [r2, #16]
90 0048 7047 bx lr
91 .L12:
5534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
92 .loc 1 5534 7 is_stmt 1 view .LVU28
5534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
93 .loc 1 5534 15 is_stmt 0 view .LVU29
94 004a 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
95 004e DBB2 uxtb r3, r3
5534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
96 .loc 1 5534 10 view .LVU30
97 0050 212B cmp r3, #33
98 0052 0FD0 beq .L13
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
99 .loc 1 5540 9 is_stmt 1 view .LVU31
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
100 .loc 1 5540 30 is_stmt 0 view .LVU32
101 0054 436C ldr r3, [r0, #68]
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
102 .loc 1 5540 13 view .LVU33
103 0056 0268 ldr r2, [r0]
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
104 .loc 1 5540 30 view .LVU34
105 0058 43F00103 orr r3, r3, #1
106 005c DBB2 uxtb r3, r3
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
107 .loc 1 5540 28 view .LVU35
108 005e 1361 str r3, [r2, #16]
109 .L7:
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
110 .loc 1 5543 7 is_stmt 1 view .LVU36
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
111 .loc 1 5543 16 is_stmt 0 view .LVU37
112 0060 436B ldr r3, [r0, #52]
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
113 .loc 1 5543 10 view .LVU38
114 0062 6BB1 cbz r3, .L14
115 .L8:
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
116 .loc 1 5545 9 is_stmt 1 view .LVU39
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
117 .loc 1 5545 26 is_stmt 0 view .LVU40
118 0064 9B6A ldr r3, [r3, #40]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 101
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
119 .loc 1 5545 12 view .LVU41
120 0066 7BB1 cbz r3, .L15
121 .L9:
5548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
122 .loc 1 5548 11 is_stmt 1 view .LVU42
123 0068 0268 ldr r2, [r0]
124 006a 5368 ldr r3, [r2, #4]
125 006c 43F40063 orr r3, r3, #2048
126 0070 5360 str r3, [r2, #4]
127 0072 7047 bx lr
128 .L13:
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
129 .loc 1 5536 9 view .LVU43
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
130 .loc 1 5536 30 is_stmt 0 view .LVU44
131 0074 436C ldr r3, [r0, #68]
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
132 .loc 1 5536 13 view .LVU45
133 0076 0268 ldr r2, [r0]
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
134 .loc 1 5536 30 view .LVU46
135 0078 03F0FE03 and r3, r3, #254
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
136 .loc 1 5536 28 view .LVU47
137 007c 1361 str r3, [r2, #16]
138 007e EFE7 b .L7
139 .L14:
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
140 .loc 1 5543 42 discriminator 1 view .LVU48
141 0080 826B ldr r2, [r0, #56]
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
142 .loc 1 5543 34 discriminator 1 view .LVU49
143 0082 002A cmp r2, #0
144 0084 EED1 bne .L8
145 0086 07E0 b .L1
146 .L15:
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
147 .loc 1 5545 62 discriminator 1 view .LVU50
148 0088 836B ldr r3, [r0, #56]
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
149 .loc 1 5545 70 discriminator 1 view .LVU51
150 008a 9B6A ldr r3, [r3, #40]
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
151 .loc 1 5545 54 discriminator 1 view .LVU52
152 008c 002B cmp r3, #0
153 008e EBD1 bne .L9
154 0090 02E0 b .L1
155 .L10:
5558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->EventCount == 1U)
156 .loc 1 5559 12 is_stmt 1 view .LVU53
157 .loc 1 5559 20 is_stmt 0 view .LVU54
158 0092 036D ldr r3, [r0, #80]
159 .loc 1 5559 15 view .LVU55
160 0094 012B cmp r3, #1
161 0096 00D0 beq .L16
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 102
162 .L1:
5560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send header of slave address */
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_HEADER_READ(hi2c->Devaddress);
5563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
5567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
163 .loc 1 5570 1 view .LVU56
164 0098 7047 bx lr
165 .L16:
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
166 .loc 1 5562 9 is_stmt 1 view .LVU57
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
167 .loc 1 5562 30 is_stmt 0 view .LVU58
168 009a 436C ldr r3, [r0, #68]
169 009c C3F3C813 ubfx r3, r3, #7, #9
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
170 .loc 1 5562 13 view .LVU59
171 00a0 0268 ldr r2, [r0]
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
172 .loc 1 5562 30 view .LVU60
173 00a2 03F00603 and r3, r3, #6
174 00a6 43F0F103 orr r3, r3, #241
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
175 .loc 1 5562 28 view .LVU61
176 00aa 1361 str r3, [r2, #16]
5567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
177 .loc 1 5567 7 is_stmt 1 view .LVU62
178 .loc 1 5570 1 is_stmt 0 view .LVU63
179 00ac F4E7 b .L1
180 .cfi_endproc
181 .LFE118:
183 .section .text.I2C_Master_ADD10,"ax",%progbits
184 .align 1
185 .syntax unified
186 .thumb
187 .thumb_func
188 .fpu softvfp
190 I2C_Master_ADD10:
191 .LVL1:
192 .LFB119:
5571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle ADD10 flag for Master
5574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_ADD10(I2C_HandleTypeDef *hi2c)
5579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
193 .loc 1 5579 1 is_stmt 1 view -0
194 .cfi_startproc
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 103
195 @ args = 0, pretend = 0, frame = 0
196 @ frame_needed = 0, uses_anonymous_args = 0
197 @ link register save eliminated.
5580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave address */
5581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_ADDRESS(hi2c->Devaddress);
198 .loc 1 5581 3 view .LVU65
199 .loc 1 5581 24 is_stmt 0 view .LVU66
200 0000 436C ldr r3, [r0, #68]
201 .loc 1 5581 7 view .LVU67
202 0002 0268 ldr r2, [r0]
203 0004 DBB2 uxtb r3, r3
204 .loc 1 5581 22 view .LVU68
205 0006 1361 str r3, [r2, #16]
5582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) || (hi2c->hdmarx != NULL))
206 .loc 1 5583 3 is_stmt 1 view .LVU69
207 .loc 1 5583 12 is_stmt 0 view .LVU70
208 0008 436B ldr r3, [r0, #52]
209 .loc 1 5583 6 view .LVU71
210 000a 3BB1 cbz r3, .L21
211 .L18:
5584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->hdmatx->XferCpltCallback != NULL) || (hi2c->hdmarx->XferCpltCallback != NULL))
212 .loc 1 5585 5 is_stmt 1 view .LVU72
213 .loc 1 5585 22 is_stmt 0 view .LVU73
214 000c 9B6A ldr r3, [r3, #40]
215 .loc 1 5585 8 view .LVU74
216 000e 4BB1 cbz r3, .L22
217 .L20:
5586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable DMA Request */
5588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
218 .loc 1 5588 7 is_stmt 1 view .LVU75
219 0010 0268 ldr r2, [r0]
220 0012 5368 ldr r3, [r2, #4]
221 0014 43F40063 orr r3, r3, #2048
222 0018 5360 str r3, [r2, #4]
223 .L17:
5589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
224 .loc 1 5591 1 is_stmt 0 view .LVU76
225 001a 7047 bx lr
226 .L21:
5583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
227 .loc 1 5583 38 discriminator 1 view .LVU77
228 001c 826B ldr r2, [r0, #56]
5583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
229 .loc 1 5583 30 discriminator 1 view .LVU78
230 001e 002A cmp r2, #0
231 0020 F4D1 bne .L18
232 0022 FAE7 b .L17
233 .L22:
5585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
234 .loc 1 5585 58 discriminator 1 view .LVU79
235 0024 836B ldr r3, [r0, #56]
5585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 104
236 .loc 1 5585 66 discriminator 1 view .LVU80
237 0026 9B6A ldr r3, [r3, #40]
5585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
238 .loc 1 5585 50 discriminator 1 view .LVU81
239 0028 002B cmp r3, #0
240 002a F1D1 bne .L20
241 002c F5E7 b .L17
242 .cfi_endproc
243 .LFE119:
245 .section .text.I2C_Master_ADDR,"ax",%progbits
246 .align 1
247 .syntax unified
248 .thumb
249 .thumb_func
250 .fpu softvfp
252 I2C_Master_ADDR:
253 .LVL2:
254 .LFB120:
5592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle ADDR flag for Master
5595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_ADDR(I2C_HandleTypeDef *hi2c)
5600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
255 .loc 1 5600 1 is_stmt 1 view -0
256 .cfi_startproc
257 @ args = 0, pretend = 0, frame = 48
258 @ frame_needed = 0, uses_anonymous_args = 0
259 @ link register save eliminated.
260 .loc 1 5600 1 is_stmt 0 view .LVU83
261 0000 10B4 push {r4}
262 .LCFI0:
263 .cfi_def_cfa_offset 4
264 .cfi_offset 4, -4
265 0002 8DB0 sub sp, sp, #52
266 .LCFI1:
267 .cfi_def_cfa_offset 56
5601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
5602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode;
268 .loc 1 5602 3 is_stmt 1 view .LVU84
269 .loc 1 5602 23 is_stmt 0 view .LVU85
270 0004 90F83E30 ldrb r3, [r0, #62] @ zero_extendqisi2
271 0008 DAB2 uxtb r2, r3
272 .LVL3:
5603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
273 .loc 1 5603 3 is_stmt 1 view .LVU86
274 .loc 1 5603 12 is_stmt 0 view .LVU87
275 000a C16A ldr r1, [r0, #44]
276 .LVL4:
5604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t Prev_State = hi2c->PreviousState;
277 .loc 1 5604 3 is_stmt 1 view .LVU88
278 .loc 1 5604 12 is_stmt 0 view .LVU89
279 000c 046B ldr r4, [r0, #48]
280 .LVL5:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 105
5605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
281 .loc 1 5606 3 is_stmt 1 view .LVU90
282 .loc 1 5606 11 is_stmt 0 view .LVU91
283 000e 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
284 0012 DBB2 uxtb r3, r3
285 .loc 1 5606 6 view .LVU92
286 0014 222B cmp r3, #34
287 0016 0AD0 beq .L44
5607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->EventCount == 0U) && (CurrentMode == HAL_I2C_MODE_MEM))
5609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((hi2c->EventCount == 0U) && (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT))
5614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Restart */
5619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
5620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount++;
5622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
5626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
5631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
5632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferCount == 1U)
5634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (CurrentXferOptions == I2C_NO_OPTION_FRAME)
5636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
5638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
5641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
5643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
5654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 106
5655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare next transfer or stop current transfer */
5658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if ((CurrentXferOptions != I2C_FIRST_AND_LAST_FRAME) && (CurrentXferOptions != I2C_LAS
5659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** && ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (CurrentXferOptions == I2C_FIRST_F
5660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentXferOptions != I2C_NEXT_FRAME) && (CurrentXferOptions != I2C_FIRST_AND_NEXT_F
5662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
5664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
5669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
5678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
5684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
5685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferCount == 2U)
5688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentXferOptions != I2C_NEXT_FRAME) && (CurrentXferOptions != I2C_FIRST_AND_NEXT_FRA
5690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Pos */
5692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
5693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
5698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
5703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) && ((CurrentXferOptions == I2C
5710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Last DMA bit */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 107
5712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
5713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
5718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) && ((CurrentXferOptions == I2C
5721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Last DMA bit */
5723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
5724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Reset Event counter */
5731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount = 0U;
5732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
288 .loc 1 5737 5 is_stmt 1 view .LVU93
289 .LBB42:
290 .loc 1 5737 5 view .LVU94
291 0018 0023 movs r3, #0
292 001a 0B93 str r3, [sp, #44]
293 .loc 1 5737 5 view .LVU95
294 001c 0368 ldr r3, [r0]
295 001e 5A69 ldr r2, [r3, #20]
296 .LVL6:
297 .loc 1 5737 5 is_stmt 0 view .LVU96
298 0020 0B92 str r2, [sp, #44]
299 .loc 1 5737 5 is_stmt 1 view .LVU97
300 0022 9B69 ldr r3, [r3, #24]
301 0024 0B93 str r3, [sp, #44]
302 .loc 1 5737 5 view .LVU98
303 0026 0B9B ldr r3, [sp, #44]
304 .L23:
305 .LBE42:
5738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
306 .loc 1 5739 1 is_stmt 0 view .LVU99
307 0028 0DB0 add sp, sp, #52
308 .LCFI2:
309 .cfi_remember_state
310 .cfi_def_cfa_offset 4
311 @ sp needed
312 002a 10BC pop {r4}
313 .LCFI3:
314 .cfi_restore 4
315 .cfi_def_cfa_offset 0
316 .LVL7:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 108
317 .loc 1 5739 1 view .LVU100
318 002c 7047 bx lr
319 .LVL8:
320 .L44:
321 .LCFI4:
322 .cfi_restore_state
5608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
323 .loc 1 5608 5 is_stmt 1 view .LVU101
5608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
324 .loc 1 5608 14 is_stmt 0 view .LVU102
325 002e 036D ldr r3, [r0, #80]
5608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
326 .loc 1 5608 8 view .LVU103
327 0030 0BB9 cbnz r3, .L25
5608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
328 .loc 1 5608 34 discriminator 1 view .LVU104
329 0032 402A cmp r2, #64
330 0034 17D0 beq .L45
331 .L25:
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
332 .loc 1 5613 10 is_stmt 1 view .LVU105
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
333 .loc 1 5613 19 is_stmt 0 view .LVU106
334 0036 036D ldr r3, [r0, #80]
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
335 .loc 1 5613 13 view .LVU107
336 0038 1BB9 cbnz r3, .L27
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
337 .loc 1 5613 53 discriminator 1 view .LVU108
338 003a 0369 ldr r3, [r0, #16]
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
339 .loc 1 5613 39 discriminator 1 view .LVU109
340 003c B3F5404F cmp r3, #49152
341 0040 19D0 beq .L46
342 .L27:
5625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
343 .loc 1 5625 7 is_stmt 1 view .LVU110
5625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
344 .loc 1 5625 15 is_stmt 0 view .LVU111
345 0042 438D ldrh r3, [r0, #42]
346 0044 9BB2 uxth r3, r3
5625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
347 .loc 1 5625 10 view .LVU112
348 0046 002B cmp r3, #0
349 0048 25D1 bne .L28
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
350 .loc 1 5628 9 is_stmt 1 view .LVU113
351 .LBB43:
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
352 .loc 1 5628 9 view .LVU114
353 004a 0393 str r3, [sp, #12]
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
354 .loc 1 5628 9 view .LVU115
355 004c 0368 ldr r3, [r0]
356 004e 5A69 ldr r2, [r3, #20]
357 .LVL9:
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 109
358 .loc 1 5628 9 is_stmt 0 view .LVU116
359 0050 0392 str r2, [sp, #12]
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
360 .loc 1 5628 9 is_stmt 1 view .LVU117
361 0052 9A69 ldr r2, [r3, #24]
362 0054 0392 str r2, [sp, #12]
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
363 .loc 1 5628 9 view .LVU118
364 0056 039A ldr r2, [sp, #12]
365 .LBE43:
5631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
366 .loc 1 5631 9 view .LVU119
367 0058 1A68 ldr r2, [r3]
368 005a 42F40072 orr r2, r2, #512
369 005e 1A60 str r2, [r3]
370 .L29:
5731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
371 .loc 1 5731 7 view .LVU120
5731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
372 .loc 1 5731 24 is_stmt 0 view .LVU121
373 0060 0023 movs r3, #0
374 0062 0365 str r3, [r0, #80]
375 0064 E0E7 b .L23
376 .LVL10:
377 .L45:
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
378 .loc 1 5611 7 is_stmt 1 view .LVU122
379 .LBB44:
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
380 .loc 1 5611 7 view .LVU123
381 0066 0193 str r3, [sp, #4]
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
382 .loc 1 5611 7 view .LVU124
383 0068 0368 ldr r3, [r0]
384 006a 5A69 ldr r2, [r3, #20]
385 .LVL11:
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
386 .loc 1 5611 7 is_stmt 0 view .LVU125
387 006c 0192 str r2, [sp, #4]
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
388 .loc 1 5611 7 is_stmt 1 view .LVU126
389 006e 9B69 ldr r3, [r3, #24]
390 0070 0193 str r3, [sp, #4]
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
391 .loc 1 5611 7 view .LVU127
392 0072 019B ldr r3, [sp, #4]
393 .LBE44:
394 0074 D8E7 b .L23
395 .LVL12:
396 .L46:
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
397 .loc 1 5616 7 view .LVU128
398 .LBB45:
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
399 .loc 1 5616 7 view .LVU129
400 0076 0023 movs r3, #0
401 0078 0293 str r3, [sp, #8]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 110
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
402 .loc 1 5616 7 view .LVU130
403 007a 0368 ldr r3, [r0]
404 007c 5A69 ldr r2, [r3, #20]
405 .LVL13:
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
406 .loc 1 5616 7 is_stmt 0 view .LVU131
407 007e 0292 str r2, [sp, #8]
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
408 .loc 1 5616 7 is_stmt 1 view .LVU132
409 0080 9A69 ldr r2, [r3, #24]
410 0082 0292 str r2, [sp, #8]
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
411 .loc 1 5616 7 view .LVU133
412 0084 029A ldr r2, [sp, #8]
413 .LBE45:
5619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
414 .loc 1 5619 7 view .LVU134
415 0086 1A68 ldr r2, [r3]
416 0088 42F48072 orr r2, r2, #256
417 008c 1A60 str r2, [r3]
5621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
418 .loc 1 5621 7 view .LVU135
5621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
419 .loc 1 5621 11 is_stmt 0 view .LVU136
420 008e 036D ldr r3, [r0, #80]
5621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
421 .loc 1 5621 23 view .LVU137
422 0090 0133 adds r3, r3, #1
423 0092 0365 str r3, [r0, #80]
424 0094 C8E7 b .L23
425 .LVL14:
426 .L28:
5633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
427 .loc 1 5633 12 is_stmt 1 view .LVU138
5633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
428 .loc 1 5633 20 is_stmt 0 view .LVU139
429 0096 438D ldrh r3, [r0, #42]
430 0098 9BB2 uxth r3, r3
5633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
431 .loc 1 5633 15 view .LVU140
432 009a 012B cmp r3, #1
433 009c 25D0 beq .L47
5687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
434 .loc 1 5687 12 is_stmt 1 view .LVU141
5687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
435 .loc 1 5687 20 is_stmt 0 view .LVU142
436 009e 438D ldrh r3, [r0, #42]
437 00a0 9BB2 uxth r3, r3
5687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
438 .loc 1 5687 15 view .LVU143
439 00a2 022B cmp r3, #2
440 00a4 7BD0 beq .L48
5718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
441 .loc 1 5718 9 is_stmt 1 view .LVU144
442 00a6 0268 ldr r2, [r0]
443 .LVL15:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 111
5718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
444 .loc 1 5718 9 is_stmt 0 view .LVU145
445 00a8 1368 ldr r3, [r2]
446 00aa 43F48063 orr r3, r3, #1024
447 00ae 1360 str r3, [r2]
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
448 .loc 1 5720 9 is_stmt 1 view .LVU146
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
449 .loc 1 5720 19 is_stmt 0 view .LVU147
450 00b0 0368 ldr r3, [r0]
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
451 .loc 1 5720 29 view .LVU148
452 00b2 5A68 ldr r2, [r3, #4]
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
453 .loc 1 5720 12 view .LVU149
454 00b4 12F4006F tst r2, #2048
455 00b8 0ED0 beq .L41
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
456 .loc 1 5720 70 discriminator 1 view .LVU150
457 00ba 11F5803F cmn r1, #65536
458 00be 07D0 beq .L42
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
459 .loc 1 5720 118 discriminator 2 view .LVU151
460 00c0 0129 cmp r1, #1
461 00c2 05D0 beq .L42
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
462 .loc 1 5720 161 discriminator 3 view .LVU152
463 00c4 0829 cmp r1, #8
464 00c6 03D0 beq .L42
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
465 .loc 1 5720 213 discriminator 4 view .LVU153
466 00c8 1029 cmp r1, #16
467 00ca 01D0 beq .L42
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
468 .loc 1 5720 263 discriminator 5 view .LVU154
469 00cc 2029 cmp r1, #32
470 00ce 03D1 bne .L41
471 .L42:
5723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
472 .loc 1 5723 11 is_stmt 1 view .LVU155
473 00d0 5A68 ldr r2, [r3, #4]
474 00d2 42F48052 orr r2, r2, #4096
475 00d6 5A60 str r2, [r3, #4]
476 .L41:
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
477 .loc 1 5727 9 view .LVU156
478 .LBB46:
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
479 .loc 1 5727 9 view .LVU157
480 00d8 0023 movs r3, #0
481 00da 0A93 str r3, [sp, #40]
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
482 .loc 1 5727 9 view .LVU158
483 00dc 0368 ldr r3, [r0]
484 00de 5A69 ldr r2, [r3, #20]
485 00e0 0A92 str r2, [sp, #40]
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 112
486 .loc 1 5727 9 view .LVU159
487 00e2 9B69 ldr r3, [r3, #24]
488 00e4 0A93 str r3, [sp, #40]
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
489 .loc 1 5727 9 view .LVU160
490 00e6 0A9B ldr r3, [sp, #40]
491 00e8 BAE7 b .L29
492 .LVL16:
493 .L47:
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
494 .loc 1 5727 9 is_stmt 0 view .LVU161
495 .LBE46:
5635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
496 .loc 1 5635 9 is_stmt 1 view .LVU162
5635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
497 .loc 1 5635 12 is_stmt 0 view .LVU163
498 00ea 11F5803F cmn r1, #65536
499 00ee 11D0 beq .L49
5658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** && ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (CurrentXferOptions == I2C_FIRST_F
500 .loc 1 5658 14 is_stmt 1 view .LVU164
5658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** && ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (CurrentXferOptions == I2C_FIRST_F
501 .loc 1 5658 17 is_stmt 0 view .LVU165
502 00f0 0829 cmp r1, #8
503 00f2 34D0 beq .L33
5658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** && ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (CurrentXferOptions == I2C_FIRST_F
504 .loc 1 5658 67 discriminator 1 view .LVU166
505 00f4 2029 cmp r1, #32
506 00f6 32D0 beq .L33
5659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
507 .loc 1 5659 18 view .LVU167
508 00f8 122C cmp r4, #18
509 00fa 2ED0 beq .L50
510 .L34:
5661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
511 .loc 1 5661 11 is_stmt 1 view .LVU168
5661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
512 .loc 1 5661 14 is_stmt 0 view .LVU169
513 00fc 0429 cmp r1, #4
514 00fe 40D0 beq .L35
5661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
515 .loc 1 5661 54 discriminator 1 view .LVU170
516 0100 0229 cmp r1, #2
517 0102 3ED0 beq .L35
5661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
518 .loc 1 5661 106 discriminator 2 view .LVU171
519 0104 1029 cmp r1, #16
520 0106 3CD0 beq .L35
5664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
521 .loc 1 5664 13 is_stmt 1 view .LVU172
522 0108 0268 ldr r2, [r0]
523 .LVL17:
5664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
524 .loc 1 5664 13 is_stmt 0 view .LVU173
525 010a 1368 ldr r3, [r2]
526 010c 23F48063 bic r3, r3, #1024
527 0110 1360 str r3, [r2]
528 0112 3BE0 b .L36
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 113
529 .LVL18:
530 .L49:
5638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
531 .loc 1 5638 11 is_stmt 1 view .LVU174
532 0114 0268 ldr r2, [r0]
533 .LVL19:
5638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
534 .loc 1 5638 11 is_stmt 0 view .LVU175
535 0116 1368 ldr r3, [r2]
536 0118 23F48063 bic r3, r3, #1024
537 011c 1360 str r3, [r2]
5640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
538 .loc 1 5640 11 is_stmt 1 view .LVU176
5640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
539 .loc 1 5640 20 is_stmt 0 view .LVU177
540 011e 0368 ldr r3, [r0]
5640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
541 .loc 1 5640 30 view .LVU178
542 0120 5A68 ldr r2, [r3, #4]
5640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
543 .loc 1 5640 14 view .LVU179
544 0122 12F4006F tst r2, #2048
545 0126 0CD0 beq .L32
5643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
546 .loc 1 5643 13 is_stmt 1 view .LVU180
547 0128 1A68 ldr r2, [r3]
548 012a 22F48062 bic r2, r2, #1024
549 012e 1A60 str r2, [r3]
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
550 .loc 1 5646 13 view .LVU181
551 .LBB47:
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
552 .loc 1 5646 13 view .LVU182
553 0130 0023 movs r3, #0
554 0132 0493 str r3, [sp, #16]
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
555 .loc 1 5646 13 view .LVU183
556 0134 0368 ldr r3, [r0]
557 0136 5A69 ldr r2, [r3, #20]
558 0138 0492 str r2, [sp, #16]
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
559 .loc 1 5646 13 view .LVU184
560 013a 9B69 ldr r3, [r3, #24]
561 013c 0493 str r3, [sp, #16]
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
562 .loc 1 5646 13 view .LVU185
563 013e 049B ldr r3, [sp, #16]
564 .LBE47:
565 0140 8EE7 b .L29
566 .L32:
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
567 .loc 1 5651 13 view .LVU186
568 .LBB48:
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
569 .loc 1 5651 13 view .LVU187
570 0142 0022 movs r2, #0
571 0144 0592 str r2, [sp, #20]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 114
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
572 .loc 1 5651 13 view .LVU188
573 0146 5A69 ldr r2, [r3, #20]
574 0148 0592 str r2, [sp, #20]
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
575 .loc 1 5651 13 view .LVU189
576 014a 9A69 ldr r2, [r3, #24]
577 014c 0592 str r2, [sp, #20]
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
578 .loc 1 5651 13 view .LVU190
579 014e 059A ldr r2, [sp, #20]
580 .LBE48:
5654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
581 .loc 1 5654 13 view .LVU191
582 0150 1A68 ldr r2, [r3]
583 0152 42F40072 orr r2, r2, #512
584 0156 1A60 str r2, [r3]
585 0158 82E7 b .L29
586 .LVL20:
587 .L50:
5659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
588 .loc 1 5659 63 is_stmt 0 discriminator 1 view .LVU192
589 015a 0129 cmp r1, #1
590 015c CED0 beq .L34
591 .L33:
5678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
592 .loc 1 5678 11 is_stmt 1 view .LVU193
593 015e 0268 ldr r2, [r0]
594 .LVL21:
5678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
595 .loc 1 5678 11 is_stmt 0 view .LVU194
596 0160 1368 ldr r3, [r2]
597 0162 23F48063 bic r3, r3, #1024
598 0166 1360 str r3, [r2]
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
599 .loc 1 5681 11 is_stmt 1 view .LVU195
600 .LBB49:
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
601 .loc 1 5681 11 view .LVU196
602 0168 0023 movs r3, #0
603 016a 0793 str r3, [sp, #28]
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
604 .loc 1 5681 11 view .LVU197
605 016c 0368 ldr r3, [r0]
606 016e 5A69 ldr r2, [r3, #20]
607 0170 0792 str r2, [sp, #28]
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
608 .loc 1 5681 11 view .LVU198
609 0172 9A69 ldr r2, [r3, #24]
610 0174 0792 str r2, [sp, #28]
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
611 .loc 1 5681 11 view .LVU199
612 0176 079A ldr r2, [sp, #28]
613 .LBE49:
5684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
614 .loc 1 5684 11 view .LVU200
615 0178 1A68 ldr r2, [r3]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 115
616 017a 42F40072 orr r2, r2, #512
617 017e 1A60 str r2, [r3]
618 0180 6EE7 b .L29
619 .LVL22:
620 .L35:
5669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
621 .loc 1 5669 13 view .LVU201
622 0182 0268 ldr r2, [r0]
623 .LVL23:
5669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
624 .loc 1 5669 13 is_stmt 0 view .LVU202
625 0184 1368 ldr r3, [r2]
626 0186 43F48063 orr r3, r3, #1024
627 018a 1360 str r3, [r2]
628 .L36:
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
629 .loc 1 5673 11 is_stmt 1 view .LVU203
630 .LBB50:
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
631 .loc 1 5673 11 view .LVU204
632 018c 0023 movs r3, #0
633 018e 0693 str r3, [sp, #24]
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
634 .loc 1 5673 11 view .LVU205
635 0190 0368 ldr r3, [r0]
636 0192 5A69 ldr r2, [r3, #20]
637 0194 0692 str r2, [sp, #24]
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
638 .loc 1 5673 11 view .LVU206
639 0196 9B69 ldr r3, [r3, #24]
640 0198 0693 str r3, [sp, #24]
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
641 .loc 1 5673 11 view .LVU207
642 019a 069B ldr r3, [sp, #24]
643 .LBE50:
644 019c 60E7 b .L29
645 .LVL24:
646 .L48:
5689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
647 .loc 1 5689 9 view .LVU208
5689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
648 .loc 1 5689 12 is_stmt 0 view .LVU209
649 019e 0429 cmp r1, #4
650 01a0 15D0 beq .L38
5689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
651 .loc 1 5689 52 discriminator 1 view .LVU210
652 01a2 0229 cmp r1, #2
653 01a4 13D0 beq .L38
5689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
654 .loc 1 5689 104 discriminator 2 view .LVU211
655 01a6 1029 cmp r1, #16
656 01a8 11D0 beq .L38
5692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
657 .loc 1 5692 11 is_stmt 1 view .LVU212
658 01aa 0268 ldr r2, [r0]
659 .LVL25:
5692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 116
660 .loc 1 5692 11 is_stmt 0 view .LVU213
661 01ac 1368 ldr r3, [r2]
662 01ae 43F40063 orr r3, r3, #2048
663 01b2 1360 str r3, [r2]
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
664 .loc 1 5695 11 is_stmt 1 view .LVU214
665 .LBB51:
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
666 .loc 1 5695 11 view .LVU215
667 01b4 0023 movs r3, #0
668 01b6 0893 str r3, [sp, #32]
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
669 .loc 1 5695 11 view .LVU216
670 01b8 0368 ldr r3, [r0]
671 01ba 5A69 ldr r2, [r3, #20]
672 01bc 0892 str r2, [sp, #32]
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
673 .loc 1 5695 11 view .LVU217
674 01be 9A69 ldr r2, [r3, #24]
675 01c0 0892 str r2, [sp, #32]
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
676 .loc 1 5695 11 view .LVU218
677 01c2 089A ldr r2, [sp, #32]
678 .LBE51:
5698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
679 .loc 1 5698 11 view .LVU219
680 01c4 1A68 ldr r2, [r3]
681 01c6 22F48062 bic r2, r2, #1024
682 01ca 1A60 str r2, [r3]
683 01cc 0CE0 b .L39
684 .LVL26:
685 .L38:
5703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
686 .loc 1 5703 11 view .LVU220
687 01ce 0268 ldr r2, [r0]
688 .LVL27:
5703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
689 .loc 1 5703 11 is_stmt 0 view .LVU221
690 01d0 1368 ldr r3, [r2]
691 01d2 43F48063 orr r3, r3, #1024
692 01d6 1360 str r3, [r2]
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
693 .loc 1 5706 11 is_stmt 1 view .LVU222
694 .LBB52:
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
695 .loc 1 5706 11 view .LVU223
696 01d8 0023 movs r3, #0
697 01da 0993 str r3, [sp, #36]
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
698 .loc 1 5706 11 view .LVU224
699 01dc 0368 ldr r3, [r0]
700 01de 5A69 ldr r2, [r3, #20]
701 01e0 0992 str r2, [sp, #36]
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
702 .loc 1 5706 11 view .LVU225
703 01e2 9B69 ldr r3, [r3, #24]
704 01e4 0993 str r3, [sp, #36]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 117
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
705 .loc 1 5706 11 view .LVU226
706 01e6 099B ldr r3, [sp, #36]
707 .L39:
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
708 .loc 1 5706 11 is_stmt 0 view .LVU227
709 .LBE52:
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
710 .loc 1 5709 9 is_stmt 1 view .LVU228
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
711 .loc 1 5709 19 is_stmt 0 view .LVU229
712 01e8 0368 ldr r3, [r0]
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
713 .loc 1 5709 29 view .LVU230
714 01ea 5A68 ldr r2, [r3, #4]
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
715 .loc 1 5709 12 view .LVU231
716 01ec 12F4006F tst r2, #2048
717 01f0 3FF436AF beq .L29
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
718 .loc 1 5709 70 discriminator 1 view .LVU232
719 01f4 11F5803F cmn r1, #65536
720 01f8 08D0 beq .L40
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
721 .loc 1 5709 118 discriminator 2 view .LVU233
722 01fa 0129 cmp r1, #1
723 01fc 06D0 beq .L40
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
724 .loc 1 5709 161 discriminator 3 view .LVU234
725 01fe 0829 cmp r1, #8
726 0200 04D0 beq .L40
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
727 .loc 1 5709 213 discriminator 4 view .LVU235
728 0202 1029 cmp r1, #16
729 0204 02D0 beq .L40
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
730 .loc 1 5709 263 discriminator 5 view .LVU236
731 0206 2029 cmp r1, #32
732 0208 7FF42AAF bne .L29
733 .L40:
5712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
734 .loc 1 5712 11 is_stmt 1 view .LVU237
735 020c 5A68 ldr r2, [r3, #4]
736 020e 42F48052 orr r2, r2, #4096
737 0212 5A60 str r2, [r3, #4]
738 0214 24E7 b .L29
739 .cfi_endproc
740 .LFE120:
742 .section .text.I2C_SlaveTransmit_BTF,"ax",%progbits
743 .align 1
744 .syntax unified
745 .thumb
746 .thumb_func
747 .fpu softvfp
749 I2C_SlaveTransmit_BTF:
750 .LVL28:
751 .LFB122:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 118
5740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle TXE flag for Slave
5743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveTransmit_TXE(I2C_HandleTypeDef *hi2c)
5748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
5750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
5751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
5756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && (CurrentState == HAL_I2C_STATE_BUSY_TX_LISTEN))
5764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Last Byte is received, disable Interrupt */
5766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set state at HAL_I2C_STATE_LISTEN */
5769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
5771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
5775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
5777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle BTF flag for Slave transmitter
5784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveTransmit_BTF(I2C_HandleTypeDef *hi2c)
5789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
752 .loc 1 5789 1 view -0
753 .cfi_startproc
754 @ args = 0, pretend = 0, frame = 0
755 @ frame_needed = 0, uses_anonymous_args = 0
756 @ link register save eliminated.
5790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
757 .loc 1 5790 3 view .LVU239
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 119
758 .loc 1 5790 11 is_stmt 0 view .LVU240
759 0000 438D ldrh r3, [r0, #42]
760 0002 9BB2 uxth r3, r3
761 .loc 1 5790 6 view .LVU241
762 0004 53B1 cbz r3, .L51
5791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Write data to DR */
5793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr;
763 .loc 1 5793 5 is_stmt 1 view .LVU242
764 .loc 1 5793 31 is_stmt 0 view .LVU243
765 0006 426A ldr r2, [r0, #36]
766 .loc 1 5793 9 view .LVU244
767 0008 0368 ldr r3, [r0]
768 .loc 1 5793 26 view .LVU245
769 000a 1278 ldrb r2, [r2] @ zero_extendqisi2
770 .loc 1 5793 24 view .LVU246
771 000c 1A61 str r2, [r3, #16]
5794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
772 .loc 1 5796 5 is_stmt 1 view .LVU247
773 .loc 1 5796 9 is_stmt 0 view .LVU248
774 000e 436A ldr r3, [r0, #36]
775 .loc 1 5796 19 view .LVU249
776 0010 0133 adds r3, r3, #1
777 0012 4362 str r3, [r0, #36]
5797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
778 .loc 1 5799 5 is_stmt 1 view .LVU250
779 .loc 1 5799 9 is_stmt 0 view .LVU251
780 0014 438D ldrh r3, [r0, #42]
781 .loc 1 5799 20 view .LVU252
782 0016 013B subs r3, r3, #1
783 0018 9BB2 uxth r3, r3
784 001a 4385 strh r3, [r0, #42] @ movhi
785 .L51:
5800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
786 .loc 1 5801 1 view .LVU253
787 001c 7047 bx lr
788 .cfi_endproc
789 .LFE122:
791 .section .text.I2C_SlaveReceive_BTF,"ax",%progbits
792 .align 1
793 .syntax unified
794 .thumb
795 .thumb_func
796 .fpu softvfp
798 I2C_SlaveReceive_BTF:
799 .LVL29:
800 .LFB124:
5802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle RXNE flag for Slave
5805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 120
5807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveReceive_RXNE(I2C_HandleTypeDef *hi2c)
5810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
5812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
5813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
5821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
5824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN))
5826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Last Byte is received, disable Interrupt */
5828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set state at HAL_I2C_STATE_LISTEN */
5831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
5833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
5837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
5839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle BTF flag for Slave receiver
5846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveReceive_BTF(I2C_HandleTypeDef *hi2c)
5851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
801 .loc 1 5851 1 is_stmt 1 view -0
802 .cfi_startproc
803 @ args = 0, pretend = 0, frame = 0
804 @ frame_needed = 0, uses_anonymous_args = 0
805 @ link register save eliminated.
5852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
806 .loc 1 5852 3 view .LVU255
807 .loc 1 5852 11 is_stmt 0 view .LVU256
808 0000 438D ldrh r3, [r0, #42]
809 0002 9BB2 uxth r3, r3
810 .loc 1 5852 6 view .LVU257
811 0004 53B1 cbz r3, .L53
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 121
5853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
5855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
812 .loc 1 5855 5 is_stmt 1 view .LVU258
813 .loc 1 5855 36 is_stmt 0 view .LVU259
814 0006 0368 ldr r3, [r0]
815 .loc 1 5855 46 view .LVU260
816 0008 1A69 ldr r2, [r3, #16]
817 .loc 1 5855 10 view .LVU261
818 000a 436A ldr r3, [r0, #36]
819 .loc 1 5855 21 view .LVU262
820 000c 1A70 strb r2, [r3]
5856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
5858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
821 .loc 1 5858 5 is_stmt 1 view .LVU263
822 .loc 1 5858 9 is_stmt 0 view .LVU264
823 000e 436A ldr r3, [r0, #36]
824 .loc 1 5858 19 view .LVU265
825 0010 0133 adds r3, r3, #1
826 0012 4362 str r3, [r0, #36]
5859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
5861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
827 .loc 1 5861 5 is_stmt 1 view .LVU266
828 .loc 1 5861 9 is_stmt 0 view .LVU267
829 0014 438D ldrh r3, [r0, #42]
830 .loc 1 5861 20 view .LVU268
831 0016 013B subs r3, r3, #1
832 0018 9BB2 uxth r3, r3
833 001a 4385 strh r3, [r0, #42] @ movhi
834 .L53:
5862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
835 .loc 1 5863 1 view .LVU269
836 001c 7047 bx lr
837 .cfi_endproc
838 .LFE124:
840 .section .text.I2C_IsAcknowledgeFailed,"ax",%progbits
841 .align 1
842 .syntax unified
843 .thumb
844 .thumb_func
845 .fpu softvfp
847 I2C_IsAcknowledgeFailed:
848 .LVL30:
849 .LFB142:
5864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle ADD flag for Slave
5867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param IT2Flags Interrupt2 flags to handle.
5870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_ADDR(I2C_HandleTypeDef *hi2c, uint32_t IT2Flags)
5873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 122
5874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint8_t TransferDirection = I2C_DIRECTION_RECEIVE;
5875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint16_t SlaveAddrCode;
5876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
5878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable BUF interrupt, BUF enabling is manage through slave specific interface */
5880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, (I2C_IT_BUF));
5881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Transfer Direction requested by Master */
5883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_CHECK_FLAG(IT2Flags, I2C_FLAG_TRA) == RESET)
5884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** TransferDirection = I2C_DIRECTION_TRANSMIT;
5886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_CHECK_FLAG(IT2Flags, I2C_FLAG_DUALF) == RESET)
5889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SlaveAddrCode = (uint16_t)hi2c->Init.OwnAddress1;
5891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SlaveAddrCode = (uint16_t)hi2c->Init.OwnAddress2;
5895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
5898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call Slave Addr callback */
5901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, TransferDirection, SlaveAddrCode);
5903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, TransferDirection, SlaveAddrCode);
5905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
5910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
5913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Handle STOPF flag for Slave
5919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
5921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
5922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
5923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_STOPF(I2C_HandleTypeDef *hi2c)
5924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
5926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
5927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */
5929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 123
5931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear STOPF flag */
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_STOPFLAG(hi2c);
5933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
5935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
5938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
5939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentState == HAL_I2C_STATE_BUSY_RX) || (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN))
5941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)(__HAL_DMA_GET_COUNTER(hi2c->hdmarx));
5943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable, stop the current DMA */
5951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
5952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA Xfer if any */
5954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY)
5955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
5957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
5958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
5959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA RX */
5961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
5962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
5964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
5965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
5969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)(__HAL_DMA_GET_COUNTER(hi2c->hdmatx));
5971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable, stop the current DMA */
5979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
5980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA Xfer if any */
5982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY)
5983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
5985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
5986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
5987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 124
5988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA TX */
5989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
5990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
5992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
5993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */
5999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
6000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Store Last receive data if any */
6002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET)
6003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
6005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
6006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
6008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
6009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
6011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
6012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Store Last receive data if any */
6015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
6016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
6018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
6019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
6021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
6022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Update counter */
6024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
6025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
6028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
6030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
6035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_ITError(hi2c);
6038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN)
6042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set state at HAL_I2C_STATE_LISTEN */
6044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 125
6045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
6046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
6050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
6052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
6056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
6065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
6067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_SLAVE_BUSY_RX) || (CurrentState == HAL_I2C_STATE_BUSY_
6072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
6079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
6081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
6090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
6091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_AF(I2C_HandleTypeDef *hi2c)
6093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
6095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
6096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
6097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((CurrentXferOptions == I2C_FIRST_AND_LAST_FRAME) || (CurrentXferOptions == I2C_LAST_FRAME))
6099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (CurrentState == HAL_I2C_STATE_LISTEN))
6100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 126
6102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */
6104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
6105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear AF flag */
6107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
6110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
6119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
6121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (CurrentState == HAL_I2C_STATE_BUSY_TX)
6124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
6127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */
6131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
6132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear AF flag */
6134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
6137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
6141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
6143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear AF flag only */
6148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* State Listen, but XferOptions == FIRST or NEXT */
6149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief I2C interrupts error process
6155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c I2C handle.
6156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
6157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 127
6159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
6161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
6162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((hi2c->Mode == HAL_I2C_MODE_MASTER) && (CurrentState == HAL_I2C_STATE_BUSY_RX))
6164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Pos bit in I2C CR1 when error occurred in Master/Mem Receive IT Process */
6166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_POS;
6167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((uint32_t)CurrentState & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
6170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN */
6172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
6174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If state is an abort treatment on going, don't change state */
6178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* This change will be do later */
6179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) != I2C_CR2_DMAEN) && (CurrentState != HAL_I2C
6180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Abort DMA transfer */
6188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
6189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_DMAEN;
6191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->hdmatx->State != HAL_DMA_STATE_READY)
6193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA Abort callback :
6195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
6197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
6199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable I2C peripheral to prevent dummy data in buffer */
6201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
6202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
6206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
6207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set the DMA Abort callback :
6212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
6214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 128
6216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Store Last receive data if any */
6218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
6219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
6221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
6222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
6224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
6225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable I2C peripheral to prevent dummy data in buffer */
6228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
6229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
6233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
6234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_ABORT)
6238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Store Last receive data if any */
6243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
6244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
6246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
6247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
6249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
6250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable I2C peripheral to prevent dummy data in buffer */
6253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
6254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
6258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
6260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Store Last receive data if any */
6265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
6266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Read data from DR */
6268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
6269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Increment Buffer pointer */
6271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->pBuffPtr++;
6272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 129
6273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call user error callback */
6275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
6277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
6279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* STOP Flag is not set after a NACK reception */
6282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* So may inform upper layer that listen phase is stopped */
6283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* during NACK error treatment */
6284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CurrentState = hi2c->State;
6285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((hi2c->ErrorCode & HAL_I2C_ERROR_AF) == HAL_I2C_ERROR_AF) && (CurrentState == HAL_I2C_STATE_
6286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */
6288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
6289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
6298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
6300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
6307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
6308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
6309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
6310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Tickstart Tick start value
6311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
6312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint3
6314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
6316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
6317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start condition if first transfer */
6319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentXferOptions == I2C_FIRST_AND_LAST_FRAME) || (CurrentXferOptions == I2C_FIRST_FRAME) |
6320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
6322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX)
6325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate ReStart */
6327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 130
6330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
6332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until SB flag is set */
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
6341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave address */
6343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress);
6344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send header of slave address */
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_HEADER_WRITE(DevAddress);
6349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADD10 flag is set */
6351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADD10, Timeout, Tickstart) != HAL_OK
6352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave address */
6357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_ADDRESS(DevAddress);
6358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADDR flag is set */
6361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
6367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Master sends target device address for read request.
6371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
6373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
6374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
6375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
6376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Tickstart Tick start value
6377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
6378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32
6380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
6382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
6383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
6385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 131
6387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start condition if first transfer */
6388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentXferOptions == I2C_FIRST_AND_LAST_FRAME) || (CurrentXferOptions == I2C_FIRST_FRAME)
6389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
6391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX)
6394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate ReStart */
6396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
6401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until SB flag is set */
6404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
6410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave address */
6412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_READ(DevAddress);
6413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send header of slave address */
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_HEADER_WRITE(DevAddress);
6418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADD10 flag is set */
6420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADD10, Timeout, Tickstart) != HAL_OK
6421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave address */
6426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_ADDRESS(DevAddress);
6427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADDR flag is set */
6429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
6436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Restart */
6438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until SB flag is set */
6441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 132
6444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send header of slave address */
6447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_HEADER_READ(DevAddress);
6448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADDR flag is set */
6451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
6457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques
6461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
6463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
6464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
6465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddress Internal memory address
6466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
6467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
6468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Tickstart Tick start value
6469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
6470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1
6472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
6474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until SB flag is set */
6477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave address */
6483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress);
6484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADDR flag is set */
6486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
6493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until TXE flag is set */
6495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
6496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
6498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
6500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 133
6501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If Memory address size is 8Bit */
6506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
6507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send Memory Address */
6509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress);
6510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If Memory address size is 16Bit */
6512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send MSB of Memory Address */
6515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_MSB(MemAddress);
6516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until TXE flag is set */
6518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
6519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
6521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
6523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send LSB of Memory Address */
6529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress);
6530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
6533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request
6537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
6539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
6540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
6541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddress Internal memory address
6542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
6543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
6544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Tickstart Tick start value
6545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
6546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16
6548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
6550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
6553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until SB flag is set */
6556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 134
6558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave address */
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress);
6563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADDR flag is set */
6565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
6572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until TXE flag is set */
6574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
6575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
6577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
6579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If Memory address size is 8Bit */
6585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
6586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send Memory Address */
6588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress);
6589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* If Memory address size is 16Bit */
6591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send MSB of Memory Address */
6594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_MSB(MemAddress);
6595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until TXE flag is set */
6597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
6598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
6600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
6602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send LSB of Memory Address */
6608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress);
6609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until TXE flag is set */
6612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
6613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 135
6615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
6617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Restart */
6623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until SB flag is set */
6626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Send slave address */
6632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_READ(DevAddress);
6633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until ADDR flag is set */
6635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
6641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief DMA I2C process complete callback.
6645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hdma DMA handle
6646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
6647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAXferCplt(DMA_HandleTypeDef *hdma)
6649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
6651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
6653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
6654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode;
6655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
6656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT and ERR interrupt */
6658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
6659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear Complete callback */
6661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = NULL;
6662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
6663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((((uint32_t)CurrentState & (uint32_t)HAL_I2C_STATE_BUSY_TX) == (uint32_t)HAL_I2C_STATE_BUSY_T
6665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable DMA Request */
6667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
6668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = 0U;
6670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (CurrentState == HAL_I2C_STATE_BUSY_TX_LISTEN)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 136
6672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set state at HAL_I2C_STATE_LISTEN */
6674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
6675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
6676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
6680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
6682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN)
6685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Set state at HAL_I2C_STATE_LISTEN */
6687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
6688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
6689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
6693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
6695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
6700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable EVT and ERR interrupt to treat end of transfer in IRQ handler */
6703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
6704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check current Mode, in case of treatment DMA handler have been preempted by a prior interrupt
6706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->Mode != HAL_I2C_MODE_NONE)
6707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferCount == (uint16_t)1)
6709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
6711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable EVT and ERR interrupt */
6715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
6716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prepare next transfer or stop current transfer */
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((CurrentXferOptions == I2C_NO_OPTION_FRAME) || (CurrentXferOptions == I2C_FIRST_AND_LAST_FR
6719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
6721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Last DMA */
6725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
6726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable DMA Request */
6728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 137
6729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = 0U;
6731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if Errors has been detected during transfer */
6733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
6734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
6737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
6739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
6746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c);
6752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
6754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
6760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
6763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
6765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Do nothing */
6772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief DMA I2C communication error callback.
6777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hdma DMA handle
6778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
6779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
6781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
6783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear Complete callback */
6785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = NULL;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 138
6786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
6787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
6789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = 0U;
6792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
6795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
6798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
6800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief DMA I2C communication abort callback
6805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure).
6806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hdma DMA handle.
6807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
6808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
6810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
6812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
6814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
6815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear Complete callback */
6817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = NULL;
6818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
6819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable Acknowledge */
6821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = 0U;
6824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Reset XferAbortCallback */
6826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Disable I2C peripheral to prevent dummy data in buffer */
6830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
6831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if come from abort from user */
6833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
6834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
6842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 139
6843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
6844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((uint32_t)CurrentState & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN
6849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Renable I2C peripheral */
6851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
6852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
6854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN */
6857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
6859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
6861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
6869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
6871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout.
6877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
6879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Flag specifies the I2C flag to check.
6880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Status The new Flag status (SET or RESET).
6881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
6882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Tickstart Tick start value
6883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
6884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
6886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until flag is set */
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
6889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check for the Timeout */
6891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 140
6900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
6901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
6908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for Master addressing phase.
6912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for I2C module
6914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Flag specifies the I2C flag to check.
6915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
6916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Tickstart Tick start value
6917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
6918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnMasterAddressFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t
6920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == RESET)
6922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
6924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Stop */
6926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear AF Flag */
6929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
6937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check for the Timeout */
6943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
6953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 141
6957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
6960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXE flag.
6964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
6966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
6967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Tickstart Tick start value
6968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
6969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
6970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, u
6971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
6973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if a NACK is detected */
6975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c) != HAL_OK)
6976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check for the Timeout */
6981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
6991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
6994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
6998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
7001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of BTF flag.
7002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
7003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
7004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
7005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Tickstart Tick start value
7006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
7007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
7008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnBTFFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, u
7009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == RESET)
7011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if a NACK is detected */
7013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c) != HAL_OK)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 142
7014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
7016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check for the Timeout */
7019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
7020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
7022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
7024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
7027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
7029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
7030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
7032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
7036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
7039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag.
7040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
7041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
7042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
7043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Tickstart Tick start value
7044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
7045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
7046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
7047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
7049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if a NACK is detected */
7051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c) != HAL_OK)
7052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
7054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check for the Timeout */
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
7058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
7060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
7063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
7065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
7066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
7068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 143
7071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
7074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag.
7075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
7076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
7077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Timeout Timeout duration
7078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param Tickstart Tick start value
7079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
7080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
7081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
7082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
7085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check if a STOPF is detected */
7087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
7088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear STOP Flag */
7090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
7091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
7093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_NONE;
7096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
7098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
7099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
7101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check for the Timeout */
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
7105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
7107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
7110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
7112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
7113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
7115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
7118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
7121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief This function handles Acknowledge failed detection during an I2C Communication.
7122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
7123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * the configuration information for the specified I2C.
7124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval HAL status
7125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
7126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c)
7127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 144
850 .loc 1 7127 1 is_stmt 1 view -0
851 .cfi_startproc
852 @ args = 0, pretend = 0, frame = 0
853 @ frame_needed = 0, uses_anonymous_args = 0
854 @ link register save eliminated.
7128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
855 .loc 1 7128 3 view .LVU271
856 .loc 1 7128 7 is_stmt 0 view .LVU272
857 0000 0368 ldr r3, [r0]
858 0002 5A69 ldr r2, [r3, #20]
859 .loc 1 7128 6 view .LVU273
860 0004 12F4806F tst r2, #1024
861 0008 01D1 bne .L58
7129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear NACKF Flag */
7131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
7132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
7134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
7137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Process Unlocked */
7139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
7140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_ERROR;
7142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return HAL_OK;
862 .loc 1 7143 10 view .LVU274
863 000a 0020 movs r0, #0
864 .LVL31:
7144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
865 .loc 1 7144 1 view .LVU275
866 000c 7047 bx lr
867 .LVL32:
868 .L58:
7131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
869 .loc 1 7131 5 is_stmt 1 view .LVU276
870 000e 6FF48062 mvn r2, #1024
871 0012 5A61 str r2, [r3, #20]
7133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
872 .loc 1 7133 5 view .LVU277
7133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
873 .loc 1 7133 31 is_stmt 0 view .LVU278
874 0014 0023 movs r3, #0
875 0016 0363 str r3, [r0, #48]
7134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
876 .loc 1 7134 5 is_stmt 1 view .LVU279
7134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
877 .loc 1 7134 31 is_stmt 0 view .LVU280
878 0018 2022 movs r2, #32
879 001a 80F83D20 strb r2, [r0, #61]
7135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
880 .loc 1 7135 5 is_stmt 1 view .LVU281
7135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
881 .loc 1 7135 31 is_stmt 0 view .LVU282
882 001e 80F83E30 strb r3, [r0, #62]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 145
7136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
883 .loc 1 7136 5 is_stmt 1 view .LVU283
7136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
884 .loc 1 7136 31 is_stmt 0 view .LVU284
885 0022 026C ldr r2, [r0, #64]
886 0024 42F00402 orr r2, r2, #4
887 0028 0264 str r2, [r0, #64]
7139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
888 .loc 1 7139 5 is_stmt 1 view .LVU285
7139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
889 .loc 1 7139 5 view .LVU286
890 002a 80F83C30 strb r3, [r0, #60]
7141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
891 .loc 1 7141 5 view .LVU287
7141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
892 .loc 1 7141 12 is_stmt 0 view .LVU288
893 002e 0120 movs r0, #1
894 .LVL33:
7141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
895 .loc 1 7141 12 view .LVU289
896 0030 7047 bx lr
897 .cfi_endproc
898 .LFE142:
900 .section .text.I2C_ConvertOtherXferOptions,"ax",%progbits
901 .align 1
902 .syntax unified
903 .thumb
904 .thumb_func
905 .fpu softvfp
907 I2C_ConvertOtherXferOptions:
908 .LVL34:
909 .LFB143:
7145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
7147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functionnal XferOptions.
7148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @param hi2c I2C handle.
7149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** * @retval None
7150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** */
7151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c)
7152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
910 .loc 1 7152 1 is_stmt 1 view -0
911 .cfi_startproc
912 @ args = 0, pretend = 0, frame = 0
913 @ frame_needed = 0, uses_anonymous_args = 0
914 @ link register save eliminated.
7153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */
7154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
7155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */
7156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME)
915 .loc 1 7156 3 view .LVU291
916 .loc 1 7156 11 is_stmt 0 view .LVU292
917 0000 C36A ldr r3, [r0, #44]
918 .loc 1 7156 6 view .LVU293
919 0002 B3F52A0F cmp r3, #11141120
920 0006 04D0 beq .L62
7157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 146
7159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */
7161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
7162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */
7163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */
7164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME)
921 .loc 1 7164 8 is_stmt 1 view .LVU294
922 .loc 1 7164 16 is_stmt 0 view .LVU295
923 0008 C36A ldr r3, [r0, #44]
924 .loc 1 7164 11 view .LVU296
925 000a B3F12A4F cmp r3, #-1442840576
926 000e 03D0 beq .L63
927 .L59:
7165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME;
7167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** else
7169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Nothing to do */
7171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
928 .loc 1 7172 1 view .LVU297
929 0010 7047 bx lr
930 .L62:
7158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
931 .loc 1 7158 5 is_stmt 1 view .LVU298
7158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
932 .loc 1 7158 23 is_stmt 0 view .LVU299
933 0012 0123 movs r3, #1
934 0014 C362 str r3, [r0, #44]
935 0016 7047 bx lr
936 .L63:
7166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
937 .loc 1 7166 5 is_stmt 1 view .LVU300
7166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
938 .loc 1 7166 23 is_stmt 0 view .LVU301
939 0018 0823 movs r3, #8
940 001a C362 str r3, [r0, #44]
7171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
941 .loc 1 7171 3 is_stmt 1 view .LVU302
942 .loc 1 7172 1 is_stmt 0 view .LVU303
943 001c F8E7 b .L59
944 .cfi_endproc
945 .LFE143:
947 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
948 .align 1
949 .syntax unified
950 .thumb
951 .thumb_func
952 .fpu softvfp
954 I2C_WaitOnFlagUntilTimeout:
955 .LVL35:
956 .LFB136:
6886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until flag is set */
957 .loc 1 6886 1 is_stmt 1 view -0
958 .cfi_startproc
959 @ args = 4, pretend = 0, frame = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 147
960 @ frame_needed = 0, uses_anonymous_args = 0
6886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Wait until flag is set */
961 .loc 1 6886 1 is_stmt 0 view .LVU305
962 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
963 .LCFI5:
964 .cfi_def_cfa_offset 24
965 .cfi_offset 3, -24
966 .cfi_offset 4, -20
967 .cfi_offset 5, -16
968 .cfi_offset 6, -12
969 .cfi_offset 7, -8
970 .cfi_offset 14, -4
971 0002 0646 mov r6, r0
972 0004 0C46 mov r4, r1
973 0006 1746 mov r7, r2
974 0008 1D46 mov r5, r3
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
975 .loc 1 6888 3 is_stmt 1 view .LVU306
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
976 .loc 1 6888 9 is_stmt 0 view .LVU307
977 000a 22E0 b .L66
978 .LVL36:
979 .L74:
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
980 .loc 1 6893 7 is_stmt 1 view .LVU308
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
981 .loc 1 6893 13 is_stmt 0 view .LVU309
982 000c FFF7FEFF bl HAL_GetTick
983 .LVL37:
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
984 .loc 1 6893 27 view .LVU310
985 0010 069B ldr r3, [sp, #24]
986 0012 C01A subs r0, r0, r3
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
987 .loc 1 6893 10 view .LVU311
988 0014 A842 cmp r0, r5
989 0016 00D8 bhi .L67
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
990 .loc 1 6893 51 discriminator 1 view .LVU312
991 0018 DDB9 cbnz r5, .L66
992 .L67:
6895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
993 .loc 1 6895 9 is_stmt 1 view .LVU313
6895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
994 .loc 1 6895 33 is_stmt 0 view .LVU314
995 001a 0023 movs r3, #0
996 001c 3363 str r3, [r6, #48]
6896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
997 .loc 1 6896 9 is_stmt 1 view .LVU315
6896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
998 .loc 1 6896 33 is_stmt 0 view .LVU316
999 001e 2022 movs r2, #32
1000 0020 86F83D20 strb r2, [r6, #61]
6897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
1001 .loc 1 6897 9 is_stmt 1 view .LVU317
6897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
1002 .loc 1 6897 33 is_stmt 0 view .LVU318
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 148
1003 0024 86F83E30 strb r3, [r6, #62]
6898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1004 .loc 1 6898 9 is_stmt 1 view .LVU319
6898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1005 .loc 1 6898 33 is_stmt 0 view .LVU320
1006 0028 326C ldr r2, [r6, #64]
1007 002a 42F02002 orr r2, r2, #32
1008 002e 3264 str r2, [r6, #64]
6901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1009 .loc 1 6901 9 is_stmt 1 view .LVU321
6901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1010 .loc 1 6901 9 view .LVU322
1011 0030 86F83C30 strb r3, [r6, #60]
6903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1012 .loc 1 6903 9 view .LVU323
6903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1013 .loc 1 6903 16 is_stmt 0 view .LVU324
1014 0034 0120 movs r0, #1
1015 0036 1AE0 b .L68
1016 .L69:
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1017 .loc 1 6888 10 discriminator 2 view .LVU325
1018 0038 3368 ldr r3, [r6]
1019 003a 9B69 ldr r3, [r3, #24]
1020 003c 24EA0303 bic r3, r4, r3
1021 0040 9BB2 uxth r3, r3
1022 0042 B3FA83F3 clz r3, r3
1023 0046 5B09 lsrs r3, r3, #5
1024 .L70:
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1025 .loc 1 6888 9 discriminator 4 view .LVU326
1026 0048 9F42 cmp r7, r3
1027 004a 0FD1 bne .L73
6891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1028 .loc 1 6891 5 is_stmt 1 view .LVU327
6891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1029 .loc 1 6891 8 is_stmt 0 view .LVU328
1030 004c B5F1FF3F cmp r5, #-1
1031 0050 DCD1 bne .L74
1032 .L66:
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1033 .loc 1 6888 10 view .LVU329
1034 0052 C4F30743 ubfx r3, r4, #16, #8
1035 0056 012B cmp r3, #1
1036 0058 EED1 bne .L69
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1037 .loc 1 6888 10 discriminator 1 view .LVU330
1038 005a 3368 ldr r3, [r6]
1039 005c 5B69 ldr r3, [r3, #20]
1040 005e 24EA0303 bic r3, r4, r3
1041 0062 9BB2 uxth r3, r3
1042 0064 B3FA83F3 clz r3, r3
1043 0068 5B09 lsrs r3, r3, #5
1044 006a EDE7 b .L70
1045 .L73:
6907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1046 .loc 1 6907 10 view .LVU331
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 149
1047 006c 0020 movs r0, #0
1048 .L68:
6908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1049 .loc 1 6908 1 view .LVU332
1050 006e F8BD pop {r3, r4, r5, r6, r7, pc}
6908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1051 .loc 1 6908 1 view .LVU333
1052 .cfi_endproc
1053 .LFE136:
1055 .section .text.I2C_WaitOnMasterAddressFlagUntilTimeout,"ax",%progbits
1056 .align 1
1057 .syntax unified
1058 .thumb
1059 .thumb_func
1060 .fpu softvfp
1062 I2C_WaitOnMasterAddressFlagUntilTimeout:
1063 .LVL38:
1064 .LFB137:
6920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == RESET)
1065 .loc 1 6920 1 is_stmt 1 view -0
1066 .cfi_startproc
1067 @ args = 0, pretend = 0, frame = 0
1068 @ frame_needed = 0, uses_anonymous_args = 0
6920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == RESET)
1069 .loc 1 6920 1 is_stmt 0 view .LVU335
1070 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1071 .LCFI6:
1072 .cfi_def_cfa_offset 24
1073 .cfi_offset 3, -24
1074 .cfi_offset 4, -20
1075 .cfi_offset 5, -16
1076 .cfi_offset 6, -12
1077 .cfi_offset 7, -8
1078 .cfi_offset 14, -4
1079 0002 0446 mov r4, r0
1080 0004 0D46 mov r5, r1
1081 0006 1646 mov r6, r2
1082 0008 1F46 mov r7, r3
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1083 .loc 1 6921 3 is_stmt 1 view .LVU336
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1084 .loc 1 6921 9 is_stmt 0 view .LVU337
1085 000a 3CE0 b .L79
1086 .LVL39:
1087 .L86:
6926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1088 .loc 1 6926 7 is_stmt 1 view .LVU338
1089 000c 1A68 ldr r2, [r3]
1090 000e 42F40072 orr r2, r2, #512
1091 0012 1A60 str r2, [r3]
6929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1092 .loc 1 6929 7 view .LVU339
1093 0014 2368 ldr r3, [r4]
1094 0016 6FF48062 mvn r2, #1024
1095 001a 5A61 str r2, [r3, #20]
6931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1096 .loc 1 6931 7 view .LVU340
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 150
6931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1097 .loc 1 6931 33 is_stmt 0 view .LVU341
1098 001c 0023 movs r3, #0
1099 001e 2363 str r3, [r4, #48]
6932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1100 .loc 1 6932 7 is_stmt 1 view .LVU342
6932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1101 .loc 1 6932 33 is_stmt 0 view .LVU343
1102 0020 2022 movs r2, #32
1103 0022 84F83D20 strb r2, [r4, #61]
6933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
1104 .loc 1 6933 7 is_stmt 1 view .LVU344
6933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
1105 .loc 1 6933 33 is_stmt 0 view .LVU345
1106 0026 84F83E30 strb r3, [r4, #62]
6934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1107 .loc 1 6934 7 is_stmt 1 view .LVU346
6934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1108 .loc 1 6934 33 is_stmt 0 view .LVU347
1109 002a 226C ldr r2, [r4, #64]
1110 002c 42F00402 orr r2, r2, #4
1111 0030 2264 str r2, [r4, #64]
6937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1112 .loc 1 6937 7 is_stmt 1 view .LVU348
6937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1113 .loc 1 6937 7 view .LVU349
1114 0032 84F83C30 strb r3, [r4, #60]
6939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1115 .loc 1 6939 7 view .LVU350
6939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1116 .loc 1 6939 14 is_stmt 0 view .LVU351
1117 0036 0120 movs r0, #1
1118 0038 33E0 b .L78
1119 .L87:
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1120 .loc 1 6945 7 is_stmt 1 view .LVU352
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1121 .loc 1 6945 13 is_stmt 0 view .LVU353
1122 003a FFF7FEFF bl HAL_GetTick
1123 .LVL40:
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1124 .loc 1 6945 27 view .LVU354
1125 003e C01B subs r0, r0, r7
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1126 .loc 1 6945 10 view .LVU355
1127 0040 B042 cmp r0, r6
1128 0042 00D8 bhi .L80
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1129 .loc 1 6945 51 discriminator 1 view .LVU356
1130 0044 FEB9 cbnz r6, .L79
1131 .L80:
6947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1132 .loc 1 6947 9 is_stmt 1 view .LVU357
6947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1133 .loc 1 6947 35 is_stmt 0 view .LVU358
1134 0046 0023 movs r3, #0
1135 0048 2363 str r3, [r4, #48]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 151
6948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1136 .loc 1 6948 9 is_stmt 1 view .LVU359
6948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1137 .loc 1 6948 35 is_stmt 0 view .LVU360
1138 004a 2022 movs r2, #32
1139 004c 84F83D20 strb r2, [r4, #61]
6949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
1140 .loc 1 6949 9 is_stmt 1 view .LVU361
6949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
1141 .loc 1 6949 35 is_stmt 0 view .LVU362
1142 0050 84F83E30 strb r3, [r4, #62]
6950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1143 .loc 1 6950 9 is_stmt 1 view .LVU363
6950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1144 .loc 1 6950 35 is_stmt 0 view .LVU364
1145 0054 226C ldr r2, [r4, #64]
1146 0056 42F02002 orr r2, r2, #32
1147 005a 2264 str r2, [r4, #64]
6953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1148 .loc 1 6953 9 is_stmt 1 view .LVU365
6953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1149 .loc 1 6953 9 view .LVU366
1150 005c 84F83C30 strb r3, [r4, #60]
6955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1151 .loc 1 6955 9 view .LVU367
6955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1152 .loc 1 6955 16 is_stmt 0 view .LVU368
1153 0060 0120 movs r0, #1
1154 0062 1EE0 b .L78
1155 .L81:
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1156 .loc 1 6921 10 discriminator 2 view .LVU369
1157 0064 2368 ldr r3, [r4]
1158 0066 9B69 ldr r3, [r3, #24]
1159 0068 25EA0303 bic r3, r5, r3
1160 006c 9BB2 uxth r3, r3
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1161 .loc 1 6921 41 discriminator 2 view .LVU370
1162 006e 0033 adds r3, r3, #0
1163 0070 18BF it ne
1164 0072 0123 movne r3, #1
1165 .L82:
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1166 .loc 1 6921 9 discriminator 4 view .LVU371
1167 0074 A3B1 cbz r3, .L85
6923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1168 .loc 1 6923 5 is_stmt 1 view .LVU372
6923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1169 .loc 1 6923 9 is_stmt 0 view .LVU373
1170 0076 2368 ldr r3, [r4]
1171 0078 5A69 ldr r2, [r3, #20]
6923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1172 .loc 1 6923 8 view .LVU374
1173 007a 12F4806F tst r2, #1024
1174 007e C5D1 bne .L86
6943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1175 .loc 1 6943 5 is_stmt 1 view .LVU375
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 152
6943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1176 .loc 1 6943 8 is_stmt 0 view .LVU376
1177 0080 B6F1FF3F cmp r6, #-1
1178 0084 D9D1 bne .L87
1179 .L79:
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1180 .loc 1 6921 10 view .LVU377
1181 0086 C5F30743 ubfx r3, r5, #16, #8
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1182 .loc 1 6921 41 view .LVU378
1183 008a 012B cmp r3, #1
1184 008c EAD1 bne .L81
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1185 .loc 1 6921 10 discriminator 1 view .LVU379
1186 008e 2368 ldr r3, [r4]
1187 0090 5B69 ldr r3, [r3, #20]
1188 0092 25EA0303 bic r3, r5, r3
1189 0096 9BB2 uxth r3, r3
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1190 .loc 1 6921 41 discriminator 1 view .LVU380
1191 0098 0033 adds r3, r3, #0
1192 009a 18BF it ne
1193 009c 0123 movne r3, #1
1194 009e E9E7 b .L82
1195 .L85:
6959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1196 .loc 1 6959 10 view .LVU381
1197 00a0 0020 movs r0, #0
1198 .L78:
6960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1199 .loc 1 6960 1 view .LVU382
1200 00a2 F8BD pop {r3, r4, r5, r6, r7, pc}
6960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1201 .loc 1 6960 1 view .LVU383
1202 .cfi_endproc
1203 .LFE137:
1205 .section .text.I2C_MasterRequestWrite,"ax",%progbits
1206 .align 1
1207 .syntax unified
1208 .thumb
1209 .thumb_func
1210 .fpu softvfp
1212 I2C_MasterRequestWrite:
1213 .LVL41:
1214 .LFB129:
6314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
1215 .loc 1 6314 1 is_stmt 1 view -0
1216 .cfi_startproc
1217 @ args = 0, pretend = 0, frame = 0
1218 @ frame_needed = 0, uses_anonymous_args = 0
6314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
1219 .loc 1 6314 1 is_stmt 0 view .LVU385
1220 0000 F0B5 push {r4, r5, r6, r7, lr}
1221 .LCFI7:
1222 .cfi_def_cfa_offset 20
1223 .cfi_offset 4, -20
1224 .cfi_offset 5, -16
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 153
1225 .cfi_offset 6, -12
1226 .cfi_offset 7, -8
1227 .cfi_offset 14, -4
1228 0002 83B0 sub sp, sp, #12
1229 .LCFI8:
1230 .cfi_def_cfa_offset 32
1231 0004 0446 mov r4, r0
1232 0006 0D46 mov r5, r1
1233 0008 1646 mov r6, r2
1234 000a 1F46 mov r7, r3
6316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1235 .loc 1 6316 3 is_stmt 1 view .LVU386
6316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1236 .loc 1 6316 12 is_stmt 0 view .LVU387
1237 000c C36A ldr r3, [r0, #44]
1238 .LVL42:
6319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1239 .loc 1 6319 3 is_stmt 1 view .LVU388
6319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1240 .loc 1 6319 6 is_stmt 0 view .LVU389
1241 000e 082B cmp r3, #8
1242 0010 0DD0 beq .L89
6319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1243 .loc 1 6319 56 discriminator 1 view .LVU390
1244 0012 012B cmp r3, #1
1245 0014 0BD0 beq .L89
6319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1246 .loc 1 6319 99 discriminator 2 view .LVU391
1247 0016 13F5803F cmn r3, #65536
1248 001a 08D0 beq .L89
6324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1249 .loc 1 6324 8 is_stmt 1 view .LVU392
6324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1250 .loc 1 6324 16 is_stmt 0 view .LVU393
1251 001c 036B ldr r3, [r0, #48]
1252 .LVL43:
6324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1253 .loc 1 6324 11 view .LVU394
1254 001e 122B cmp r3, #18
1255 0020 0AD1 bne .L91
6327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1256 .loc 1 6327 5 is_stmt 1 view .LVU395
1257 0022 0268 ldr r2, [r0]
1258 .LVL44:
6327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1259 .loc 1 6327 5 is_stmt 0 view .LVU396
1260 0024 1368 ldr r3, [r2]
1261 0026 43F48073 orr r3, r3, #256
1262 002a 1360 str r3, [r2]
1263 002c 04E0 b .L91
1264 .LVL45:
1265 .L89:
6322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1266 .loc 1 6322 5 is_stmt 1 view .LVU397
1267 002e 2268 ldr r2, [r4]
1268 .LVL46:
6322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 154
1269 .loc 1 6322 5 is_stmt 0 view .LVU398
1270 0030 1368 ldr r3, [r2]
1271 .LVL47:
6322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1272 .loc 1 6322 5 view .LVU399
1273 0032 43F48073 orr r3, r3, #256
1274 0036 1360 str r3, [r2]
1275 .L91:
6332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1276 .loc 1 6332 3 is_stmt 1 view .LVU400
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1277 .loc 1 6335 3 view .LVU401
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1278 .loc 1 6335 7 is_stmt 0 view .LVU402
1279 0038 0097 str r7, [sp]
1280 003a 3346 mov r3, r6
1281 003c 0022 movs r2, #0
1282 003e 4FF00111 mov r1, #65537
1283 .LVL48:
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1284 .loc 1 6335 7 view .LVU403
1285 0042 2046 mov r0, r4
1286 .LVL49:
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1287 .loc 1 6335 7 view .LVU404
1288 0044 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1289 .LVL50:
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1290 .loc 1 6335 6 view .LVU405
1291 0048 20BB cbnz r0, .L95
6340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1292 .loc 1 6340 3 is_stmt 1 view .LVU406
6340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1293 .loc 1 6340 17 is_stmt 0 view .LVU407
1294 004a 2369 ldr r3, [r4, #16]
6340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1295 .loc 1 6340 6 view .LVU408
1296 004c B3F5804F cmp r3, #16384
1297 0050 0ED1 bne .L93
6343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1298 .loc 1 6343 5 is_stmt 1 view .LVU409
6343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1299 .loc 1 6343 9 is_stmt 0 view .LVU410
1300 0052 2368 ldr r3, [r4]
6343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1301 .loc 1 6343 26 view .LVU411
1302 0054 05F0FE05 and r5, r5, #254
6343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1303 .loc 1 6343 24 view .LVU412
1304 0058 1D61 str r5, [r3, #16]
1305 .L94:
6361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1306 .loc 1 6361 3 is_stmt 1 view .LVU413
6361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1307 .loc 1 6361 7 is_stmt 0 view .LVU414
1308 005a 3B46 mov r3, r7
1309 005c 3246 mov r2, r6
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 155
1310 005e 1049 ldr r1, .L100
1311 0060 2046 mov r0, r4
1312 0062 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout
1313 .LVL51:
6361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1314 .loc 1 6361 6 view .LVU415
1315 0066 0346 mov r3, r0
1316 0068 C0B9 cbnz r0, .L99
1317 .L92:
6367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1318 .loc 1 6367 1 view .LVU416
1319 006a 1846 mov r0, r3
1320 006c 03B0 add sp, sp, #12
1321 .LCFI9:
1322 .cfi_remember_state
1323 .cfi_def_cfa_offset 20
1324 @ sp needed
1325 006e F0BD pop {r4, r5, r6, r7, pc}
1326 .LVL52:
1327 .L93:
1328 .LCFI10:
1329 .cfi_restore_state
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1330 .loc 1 6348 5 is_stmt 1 view .LVU417
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1331 .loc 1 6348 26 is_stmt 0 view .LVU418
1332 0070 EB11 asrs r3, r5, #7
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1333 .loc 1 6348 9 view .LVU419
1334 0072 2268 ldr r2, [r4]
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1335 .loc 1 6348 26 view .LVU420
1336 0074 03F00603 and r3, r3, #6
1337 0078 43F0F003 orr r3, r3, #240
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1338 .loc 1 6348 24 view .LVU421
1339 007c 1361 str r3, [r2, #16]
6351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1340 .loc 1 6351 5 is_stmt 1 view .LVU422
6351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1341 .loc 1 6351 9 is_stmt 0 view .LVU423
1342 007e 3B46 mov r3, r7
1343 0080 3246 mov r2, r6
1344 0082 0849 ldr r1, .L100+4
1345 0084 2046 mov r0, r4
1346 0086 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout
1347 .LVL53:
6351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1348 .loc 1 6351 8 view .LVU424
1349 008a 28B9 cbnz r0, .L96
6357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1350 .loc 1 6357 5 is_stmt 1 view .LVU425
6357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1351 .loc 1 6357 9 is_stmt 0 view .LVU426
1352 008c 2368 ldr r3, [r4]
6357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1353 .loc 1 6357 26 view .LVU427
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 156
1354 008e EDB2 uxtb r5, r5
6357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1355 .loc 1 6357 24 view .LVU428
1356 0090 1D61 str r5, [r3, #16]
1357 0092 E2E7 b .L94
1358 .L95:
6337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1359 .loc 1 6337 12 view .LVU429
1360 0094 0123 movs r3, #1
1361 0096 E8E7 b .L92
1362 .L96:
6353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1363 .loc 1 6353 14 view .LVU430
1364 0098 0123 movs r3, #1
1365 009a E6E7 b .L92
1366 .L99:
6363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1367 .loc 1 6363 12 view .LVU431
1368 009c 0123 movs r3, #1
1369 009e E4E7 b .L92
1370 .L101:
1371 .align 2
1372 .L100:
1373 00a0 02000100 .word 65538
1374 00a4 08000100 .word 65544
1375 .cfi_endproc
1376 .LFE129:
1378 .section .text.I2C_MasterRequestRead,"ax",%progbits
1379 .align 1
1380 .syntax unified
1381 .thumb
1382 .thumb_func
1383 .fpu softvfp
1385 I2C_MasterRequestRead:
1386 .LVL54:
1387 .LFB130:
6380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
1388 .loc 1 6380 1 is_stmt 1 view -0
1389 .cfi_startproc
1390 @ args = 0, pretend = 0, frame = 8
1391 @ frame_needed = 0, uses_anonymous_args = 0
6380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
1392 .loc 1 6380 1 is_stmt 0 view .LVU433
1393 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1394 .LCFI11:
1395 .cfi_def_cfa_offset 24
1396 .cfi_offset 4, -24
1397 .cfi_offset 5, -20
1398 .cfi_offset 6, -16
1399 .cfi_offset 7, -12
1400 .cfi_offset 8, -8
1401 .cfi_offset 14, -4
1402 0004 84B0 sub sp, sp, #16
1403 .LCFI12:
1404 .cfi_def_cfa_offset 40
1405 0006 0446 mov r4, r0
1406 0008 0D46 mov r5, r1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 157
1407 000a 1646 mov r6, r2
1408 000c 1F46 mov r7, r3
6382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1409 .loc 1 6382 3 is_stmt 1 view .LVU434
6382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1410 .loc 1 6382 12 is_stmt 0 view .LVU435
1411 000e C26A ldr r2, [r0, #44]
1412 .LVL55:
6385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1413 .loc 1 6385 3 is_stmt 1 view .LVU436
1414 0010 0168 ldr r1, [r0]
1415 .LVL56:
6385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1416 .loc 1 6385 3 is_stmt 0 view .LVU437
1417 0012 0B68 ldr r3, [r1]
1418 .LVL57:
6385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1419 .loc 1 6385 3 view .LVU438
1420 0014 43F48063 orr r3, r3, #1024
1421 0018 0B60 str r3, [r1]
6388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1422 .loc 1 6388 3 is_stmt 1 view .LVU439
6388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1423 .loc 1 6388 6 is_stmt 0 view .LVU440
1424 001a 082A cmp r2, #8
1425 001c 0DD0 beq .L103
6388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1426 .loc 1 6388 56 discriminator 1 view .LVU441
1427 001e 012A cmp r2, #1
1428 0020 0BD0 beq .L103
6388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1429 .loc 1 6388 100 discriminator 2 view .LVU442
1430 0022 12F5803F cmn r2, #65536
1431 0026 08D0 beq .L103
6393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1432 .loc 1 6393 8 is_stmt 1 view .LVU443
6393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1433 .loc 1 6393 16 is_stmt 0 view .LVU444
1434 0028 036B ldr r3, [r0, #48]
6393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1435 .loc 1 6393 11 view .LVU445
1436 002a 112B cmp r3, #17
1437 002c 0AD1 bne .L105
6396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1438 .loc 1 6396 5 is_stmt 1 view .LVU446
1439 002e 0268 ldr r2, [r0]
1440 .LVL58:
6396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1441 .loc 1 6396 5 is_stmt 0 view .LVU447
1442 0030 1368 ldr r3, [r2]
1443 0032 43F48073 orr r3, r3, #256
1444 0036 1360 str r3, [r2]
1445 0038 04E0 b .L105
1446 .LVL59:
1447 .L103:
6391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1448 .loc 1 6391 5 is_stmt 1 view .LVU448
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 158
1449 003a 2268 ldr r2, [r4]
1450 .LVL60:
6391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1451 .loc 1 6391 5 is_stmt 0 view .LVU449
1452 003c 1368 ldr r3, [r2]
1453 003e 43F48073 orr r3, r3, #256
1454 0042 1360 str r3, [r2]
1455 .L105:
6401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1456 .loc 1 6401 3 is_stmt 1 view .LVU450
6404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1457 .loc 1 6404 3 view .LVU451
6404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1458 .loc 1 6404 7 is_stmt 0 view .LVU452
1459 0044 0097 str r7, [sp]
1460 0046 3346 mov r3, r6
1461 0048 0022 movs r2, #0
1462 004a 4FF00111 mov r1, #65537
1463 004e 2046 mov r0, r4
1464 .LVL61:
6404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1465 .loc 1 6404 7 view .LVU453
1466 0050 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1467 .LVL62:
6404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1468 .loc 1 6404 6 view .LVU454
1469 0054 0028 cmp r0, #0
1470 0056 49D1 bne .L109
6409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1471 .loc 1 6409 3 is_stmt 1 view .LVU455
6409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1472 .loc 1 6409 17 is_stmt 0 view .LVU456
1473 0058 2369 ldr r3, [r4, #16]
6409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1474 .loc 1 6409 6 view .LVU457
1475 005a B3F5804F cmp r3, #16384
1476 005e 0FD1 bne .L107
6412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1477 .loc 1 6412 5 is_stmt 1 view .LVU458
6412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1478 .loc 1 6412 9 is_stmt 0 view .LVU459
1479 0060 2368 ldr r3, [r4]
6412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1480 .loc 1 6412 26 view .LVU460
1481 0062 45F00105 orr r5, r5, #1
1482 0066 EDB2 uxtb r5, r5
6412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1483 .loc 1 6412 24 view .LVU461
1484 0068 1D61 str r5, [r3, #16]
1485 .L108:
6451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1486 .loc 1 6451 3 is_stmt 1 view .LVU462
6451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1487 .loc 1 6451 7 is_stmt 0 view .LVU463
1488 006a 3B46 mov r3, r7
1489 006c 3246 mov r2, r6
1490 006e 2349 ldr r1, .L117
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 159
1491 0070 2046 mov r0, r4
1492 0072 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout
1493 .LVL63:
6451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1494 .loc 1 6451 6 view .LVU464
1495 0076 0346 mov r3, r0
1496 0078 0028 cmp r0, #0
1497 007a 38D0 beq .L106
6453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1498 .loc 1 6453 12 view .LVU465
1499 007c 0123 movs r3, #1
1500 007e 36E0 b .L106
1501 .L107:
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1502 .loc 1 6417 5 is_stmt 1 view .LVU466
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1503 .loc 1 6417 26 is_stmt 0 view .LVU467
1504 0080 4FEAE518 asr r8, r5, #7
1505 0084 08F00608 and r8, r8, #6
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1506 .loc 1 6417 9 view .LVU468
1507 0088 2368 ldr r3, [r4]
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1508 .loc 1 6417 26 view .LVU469
1509 008a 48F0F002 orr r2, r8, #240
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1510 .loc 1 6417 24 view .LVU470
1511 008e 1A61 str r2, [r3, #16]
6420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1512 .loc 1 6420 5 is_stmt 1 view .LVU471
6420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1513 .loc 1 6420 9 is_stmt 0 view .LVU472
1514 0090 3B46 mov r3, r7
1515 0092 3246 mov r2, r6
1516 0094 1A49 ldr r1, .L117+4
1517 0096 2046 mov r0, r4
1518 0098 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout
1519 .LVL64:
6420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1520 .loc 1 6420 8 view .LVU473
1521 009c 08B1 cbz r0, .L115
6422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1522 .loc 1 6422 14 view .LVU474
1523 009e 0123 movs r3, #1
1524 00a0 25E0 b .L106
1525 .L115:
6426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1526 .loc 1 6426 5 is_stmt 1 view .LVU475
6426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1527 .loc 1 6426 9 is_stmt 0 view .LVU476
1528 00a2 2368 ldr r3, [r4]
6426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1529 .loc 1 6426 26 view .LVU477
1530 00a4 EDB2 uxtb r5, r5
6426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1531 .loc 1 6426 24 view .LVU478
1532 00a6 1D61 str r5, [r3, #16]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 160
6429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1533 .loc 1 6429 5 is_stmt 1 view .LVU479
6429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1534 .loc 1 6429 9 is_stmt 0 view .LVU480
1535 00a8 3B46 mov r3, r7
1536 00aa 3246 mov r2, r6
1537 00ac 1349 ldr r1, .L117
1538 00ae 2046 mov r0, r4
1539 00b0 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout
1540 .LVL65:
6429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1541 .loc 1 6429 8 view .LVU481
1542 00b4 08B1 cbz r0, .L116
6431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1543 .loc 1 6431 14 view .LVU482
1544 00b6 0123 movs r3, #1
1545 00b8 19E0 b .L106
1546 .L116:
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1547 .loc 1 6435 5 is_stmt 1 view .LVU483
1548 .LBB53:
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1549 .loc 1 6435 5 view .LVU484
1550 00ba 0022 movs r2, #0
1551 00bc 0392 str r2, [sp, #12]
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1552 .loc 1 6435 5 view .LVU485
1553 00be 2368 ldr r3, [r4]
1554 00c0 5969 ldr r1, [r3, #20]
1555 00c2 0391 str r1, [sp, #12]
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1556 .loc 1 6435 5 view .LVU486
1557 00c4 9969 ldr r1, [r3, #24]
1558 00c6 0391 str r1, [sp, #12]
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1559 .loc 1 6435 5 view .LVU487
1560 00c8 0399 ldr r1, [sp, #12]
1561 .LBE53:
6438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1562 .loc 1 6438 5 view .LVU488
1563 00ca 1968 ldr r1, [r3]
1564 00cc 41F48071 orr r1, r1, #256
1565 00d0 1960 str r1, [r3]
6441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1566 .loc 1 6441 5 view .LVU489
6441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1567 .loc 1 6441 9 is_stmt 0 view .LVU490
1568 00d2 0097 str r7, [sp]
1569 00d4 3346 mov r3, r6
1570 00d6 4FF00111 mov r1, #65537
1571 00da 2046 mov r0, r4
1572 00dc FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1573 .LVL66:
6441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1574 .loc 1 6441 8 view .LVU491
1575 00e0 48B9 cbnz r0, .L112
6447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 161
1576 .loc 1 6447 5 is_stmt 1 view .LVU492
6447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1577 .loc 1 6447 9 is_stmt 0 view .LVU493
1578 00e2 2268 ldr r2, [r4]
6447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1579 .loc 1 6447 26 view .LVU494
1580 00e4 48F0F103 orr r3, r8, #241
6447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1581 .loc 1 6447 24 view .LVU495
1582 00e8 1361 str r3, [r2, #16]
1583 00ea BEE7 b .L108
1584 .L109:
6406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1585 .loc 1 6406 12 view .LVU496
1586 00ec 0123 movs r3, #1
1587 .L106:
6457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1588 .loc 1 6457 1 view .LVU497
1589 00ee 1846 mov r0, r3
1590 00f0 04B0 add sp, sp, #16
1591 .LCFI13:
1592 .cfi_remember_state
1593 .cfi_def_cfa_offset 24
1594 @ sp needed
1595 00f2 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1596 .LVL67:
1597 .L112:
1598 .LCFI14:
1599 .cfi_restore_state
6443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1600 .loc 1 6443 14 view .LVU498
1601 00f6 0123 movs r3, #1
1602 00f8 F9E7 b .L106
1603 .L118:
1604 00fa 00BF .align 2
1605 .L117:
1606 00fc 02000100 .word 65538
1607 0100 08000100 .word 65544
1608 .cfi_endproc
1609 .LFE130:
1611 .section .text.I2C_WaitOnTXEFlagUntilTimeout,"ax",%progbits
1612 .align 1
1613 .syntax unified
1614 .thumb
1615 .thumb_func
1616 .fpu softvfp
1618 I2C_WaitOnTXEFlagUntilTimeout:
1619 .LVL68:
1620 .LFB138:
6971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
1621 .loc 1 6971 1 is_stmt 1 view -0
1622 .cfi_startproc
1623 @ args = 0, pretend = 0, frame = 0
1624 @ frame_needed = 0, uses_anonymous_args = 0
6971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
1625 .loc 1 6971 1 is_stmt 0 view .LVU500
1626 0000 70B5 push {r4, r5, r6, lr}
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 162
1627 .LCFI15:
1628 .cfi_def_cfa_offset 16
1629 .cfi_offset 4, -16
1630 .cfi_offset 5, -12
1631 .cfi_offset 6, -8
1632 .cfi_offset 14, -4
1633 0002 0446 mov r4, r0
1634 0004 0D46 mov r5, r1
1635 0006 1646 mov r6, r2
6972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1636 .loc 1 6972 3 is_stmt 1 view .LVU501
1637 .LVL69:
1638 .L122:
6972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1639 .loc 1 6972 10 is_stmt 0 view .LVU502
1640 0008 2368 ldr r3, [r4]
1641 000a 5B69 ldr r3, [r3, #20]
6972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1642 .loc 1 6972 9 view .LVU503
1643 000c 13F0800F tst r3, #128
1644 0010 1CD1 bne .L127
6975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1645 .loc 1 6975 5 is_stmt 1 view .LVU504
6975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1646 .loc 1 6975 9 is_stmt 0 view .LVU505
1647 0012 2046 mov r0, r4
1648 0014 FFF7FEFF bl I2C_IsAcknowledgeFailed
1649 .LVL70:
6975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1650 .loc 1 6975 8 view .LVU506
1651 0018 D0B9 cbnz r0, .L125
6981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1652 .loc 1 6981 5 is_stmt 1 view .LVU507
6981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1653 .loc 1 6981 8 is_stmt 0 view .LVU508
1654 001a B5F1FF3F cmp r5, #-1
1655 001e F3D0 beq .L122
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1656 .loc 1 6983 7 is_stmt 1 view .LVU509
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1657 .loc 1 6983 13 is_stmt 0 view .LVU510
1658 0020 FFF7FEFF bl HAL_GetTick
1659 .LVL71:
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1660 .loc 1 6983 27 view .LVU511
1661 0024 801B subs r0, r0, r6
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1662 .loc 1 6983 10 view .LVU512
1663 0026 A842 cmp r0, r5
1664 0028 01D8 bhi .L123
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1665 .loc 1 6983 51 discriminator 1 view .LVU513
1666 002a 002D cmp r5, #0
1667 002c ECD1 bne .L122
1668 .L123:
6985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1669 .loc 1 6985 9 is_stmt 1 view .LVU514
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 163
6985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1670 .loc 1 6985 35 is_stmt 0 view .LVU515
1671 002e 0023 movs r3, #0
1672 0030 2363 str r3, [r4, #48]
6986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1673 .loc 1 6986 9 is_stmt 1 view .LVU516
6986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1674 .loc 1 6986 35 is_stmt 0 view .LVU517
1675 0032 2022 movs r2, #32
1676 0034 84F83D20 strb r2, [r4, #61]
6987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
1677 .loc 1 6987 9 is_stmt 1 view .LVU518
6987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
1678 .loc 1 6987 35 is_stmt 0 view .LVU519
1679 0038 84F83E30 strb r3, [r4, #62]
6988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1680 .loc 1 6988 9 is_stmt 1 view .LVU520
6988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1681 .loc 1 6988 35 is_stmt 0 view .LVU521
1682 003c 226C ldr r2, [r4, #64]
1683 003e 42F02002 orr r2, r2, #32
1684 0042 2264 str r2, [r4, #64]
6991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1685 .loc 1 6991 9 is_stmt 1 view .LVU522
6991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1686 .loc 1 6991 9 view .LVU523
1687 0044 84F83C30 strb r3, [r4, #60]
6993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1688 .loc 1 6993 9 view .LVU524
6993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1689 .loc 1 6993 16 is_stmt 0 view .LVU525
1690 0048 0120 movs r0, #1
1691 004a 00E0 b .L121
1692 .L127:
6997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1693 .loc 1 6997 10 view .LVU526
1694 004c 0020 movs r0, #0
1695 .L121:
6998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1696 .loc 1 6998 1 view .LVU527
1697 004e 70BD pop {r4, r5, r6, pc}
1698 .LVL72:
1699 .L125:
6977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1700 .loc 1 6977 14 view .LVU528
1701 0050 0120 movs r0, #1
1702 0052 FCE7 b .L121
1703 .cfi_endproc
1704 .LFE138:
1706 .section .text.I2C_RequestMemoryWrite,"ax",%progbits
1707 .align 1
1708 .syntax unified
1709 .thumb
1710 .thumb_func
1711 .fpu softvfp
1713 I2C_RequestMemoryWrite:
1714 .LVL73:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 164
1715 .LFB131:
6472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
1716 .loc 1 6472 1 is_stmt 1 view -0
1717 .cfi_startproc
1718 @ args = 8, pretend = 0, frame = 8
1719 @ frame_needed = 0, uses_anonymous_args = 0
6472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Generate Start */
1720 .loc 1 6472 1 is_stmt 0 view .LVU530
1721 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1722 .LCFI16:
1723 .cfi_def_cfa_offset 24
1724 .cfi_offset 4, -24
1725 .cfi_offset 5, -20
1726 .cfi_offset 6, -16
1727 .cfi_offset 7, -12
1728 .cfi_offset 8, -8
1729 .cfi_offset 14, -4
1730 0004 84B0 sub sp, sp, #16
1731 .LCFI17:
1732 .cfi_def_cfa_offset 40
1733 0006 0446 mov r4, r0
1734 0008 0E46 mov r6, r1
1735 000a 1746 mov r7, r2
1736 000c 9846 mov r8, r3
1737 000e 0B9D ldr r5, [sp, #44]
6474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1738 .loc 1 6474 3 is_stmt 1 view .LVU531
1739 0010 0268 ldr r2, [r0]
1740 .LVL74:
6474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1741 .loc 1 6474 3 is_stmt 0 view .LVU532
1742 0012 1368 ldr r3, [r2]
1743 .LVL75:
6474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1744 .loc 1 6474 3 view .LVU533
1745 0014 43F48073 orr r3, r3, #256
1746 0018 1360 str r3, [r2]
6477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1747 .loc 1 6477 3 is_stmt 1 view .LVU534
6477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1748 .loc 1 6477 7 is_stmt 0 view .LVU535
1749 001a 0095 str r5, [sp]
1750 001c 0A9B ldr r3, [sp, #40]
1751 001e 0022 movs r2, #0
1752 0020 4FF00111 mov r1, #65537
1753 .LVL76:
6477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1754 .loc 1 6477 7 view .LVU536
1755 0024 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1756 .LVL77:
6477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1757 .loc 1 6477 6 view .LVU537
1758 0028 20B1 cbz r0, .L138
6479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1759 .loc 1 6479 12 view .LVU538
1760 002a 0123 movs r3, #1
1761 .L129:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 165
6533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1762 .loc 1 6533 1 view .LVU539
1763 002c 1846 mov r0, r3
1764 002e 04B0 add sp, sp, #16
1765 .LCFI18:
1766 .cfi_remember_state
1767 .cfi_def_cfa_offset 24
1768 @ sp needed
1769 0030 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1770 .LVL78:
1771 .L138:
1772 .LCFI19:
1773 .cfi_restore_state
6483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1774 .loc 1 6483 3 is_stmt 1 view .LVU540
6483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1775 .loc 1 6483 7 is_stmt 0 view .LVU541
1776 0034 2368 ldr r3, [r4]
6483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1777 .loc 1 6483 24 view .LVU542
1778 0036 06F0FE06 and r6, r6, #254
6483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1779 .loc 1 6483 22 view .LVU543
1780 003a 1E61 str r6, [r3, #16]
6486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1781 .loc 1 6486 3 is_stmt 1 view .LVU544
6486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1782 .loc 1 6486 7 is_stmt 0 view .LVU545
1783 003c 2B46 mov r3, r5
1784 003e 0A9A ldr r2, [sp, #40]
1785 0040 2049 ldr r1, .L144
1786 0042 2046 mov r0, r4
1787 0044 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout
1788 .LVL79:
6486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1789 .loc 1 6486 6 view .LVU546
1790 0048 08B1 cbz r0, .L139
6488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1791 .loc 1 6488 12 view .LVU547
1792 004a 0123 movs r3, #1
1793 004c EEE7 b .L129
1794 .L139:
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1795 .loc 1 6492 3 is_stmt 1 view .LVU548
1796 .LBB54:
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1797 .loc 1 6492 3 view .LVU549
1798 004e 0023 movs r3, #0
1799 0050 0393 str r3, [sp, #12]
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1800 .loc 1 6492 3 view .LVU550
1801 0052 2368 ldr r3, [r4]
1802 0054 5A69 ldr r2, [r3, #20]
1803 0056 0392 str r2, [sp, #12]
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1804 .loc 1 6492 3 view .LVU551
1805 0058 9B69 ldr r3, [r3, #24]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 166
1806 005a 0393 str r3, [sp, #12]
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1807 .loc 1 6492 3 view .LVU552
1808 005c 039B ldr r3, [sp, #12]
1809 .LBE54:
6495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1810 .loc 1 6495 3 view .LVU553
6495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1811 .loc 1 6495 7 is_stmt 0 view .LVU554
1812 005e 2A46 mov r2, r5
1813 0060 0A99 ldr r1, [sp, #40]
1814 0062 2046 mov r0, r4
1815 0064 FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout
1816 .LVL80:
6495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1817 .loc 1 6495 6 view .LVU555
1818 0068 0346 mov r3, r0
1819 006a 30B9 cbnz r0, .L140
6506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1820 .loc 1 6506 3 is_stmt 1 view .LVU556
6506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1821 .loc 1 6506 6 is_stmt 0 view .LVU557
1822 006c B8F1010F cmp r8, #1
1823 0070 0ED1 bne .L132
6509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1824 .loc 1 6509 5 is_stmt 1 view .LVU558
6509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1825 .loc 1 6509 9 is_stmt 0 view .LVU559
1826 0072 2268 ldr r2, [r4]
6509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1827 .loc 1 6509 26 view .LVU560
1828 0074 FFB2 uxtb r7, r7
6509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1829 .loc 1 6509 24 view .LVU561
1830 0076 1761 str r7, [r2, #16]
1831 0078 D8E7 b .L129
1832 .L140:
6497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1833 .loc 1 6497 5 is_stmt 1 view .LVU562
6497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1834 .loc 1 6497 13 is_stmt 0 view .LVU563
1835 007a 236C ldr r3, [r4, #64]
6497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1836 .loc 1 6497 8 view .LVU564
1837 007c 042B cmp r3, #4
1838 007e 01D0 beq .L141
1839 .L131:
6502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1840 .loc 1 6502 5 is_stmt 1 view .LVU565
6502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1841 .loc 1 6502 12 is_stmt 0 view .LVU566
1842 0080 0123 movs r3, #1
1843 0082 D3E7 b .L129
1844 .L141:
6500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1845 .loc 1 6500 7 is_stmt 1 view .LVU567
1846 0084 2268 ldr r2, [r4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 167
1847 0086 1368 ldr r3, [r2]
1848 0088 43F40073 orr r3, r3, #512
1849 008c 1360 str r3, [r2]
1850 008e F7E7 b .L131
1851 .L132:
6515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1852 .loc 1 6515 5 view .LVU568
6515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1853 .loc 1 6515 9 is_stmt 0 view .LVU569
1854 0090 2368 ldr r3, [r4]
6515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1855 .loc 1 6515 26 view .LVU570
1856 0092 3A0A lsrs r2, r7, #8
6515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1857 .loc 1 6515 24 view .LVU571
1858 0094 1A61 str r2, [r3, #16]
6518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1859 .loc 1 6518 5 is_stmt 1 view .LVU572
6518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1860 .loc 1 6518 9 is_stmt 0 view .LVU573
1861 0096 2A46 mov r2, r5
1862 0098 0A99 ldr r1, [sp, #40]
1863 009a 2046 mov r0, r4
1864 009c FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout
1865 .LVL81:
6518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1866 .loc 1 6518 8 view .LVU574
1867 00a0 0346 mov r3, r0
1868 00a2 18B9 cbnz r0, .L142
6529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1869 .loc 1 6529 5 is_stmt 1 view .LVU575
6529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1870 .loc 1 6529 9 is_stmt 0 view .LVU576
1871 00a4 2268 ldr r2, [r4]
6529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1872 .loc 1 6529 26 view .LVU577
1873 00a6 FFB2 uxtb r7, r7
6529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1874 .loc 1 6529 24 view .LVU578
1875 00a8 1761 str r7, [r2, #16]
1876 00aa BFE7 b .L129
1877 .L142:
6520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1878 .loc 1 6520 7 is_stmt 1 view .LVU579
6520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1879 .loc 1 6520 15 is_stmt 0 view .LVU580
1880 00ac 236C ldr r3, [r4, #64]
6520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1881 .loc 1 6520 10 view .LVU581
1882 00ae 042B cmp r3, #4
1883 00b0 01D0 beq .L143
1884 .L134:
6525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1885 .loc 1 6525 7 is_stmt 1 view .LVU582
6525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1886 .loc 1 6525 14 is_stmt 0 view .LVU583
1887 00b2 0123 movs r3, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 168
1888 00b4 BAE7 b .L129
1889 .L143:
6523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1890 .loc 1 6523 9 is_stmt 1 view .LVU584
1891 00b6 2268 ldr r2, [r4]
1892 00b8 1368 ldr r3, [r2]
1893 00ba 43F40073 orr r3, r3, #512
1894 00be 1360 str r3, [r2]
1895 00c0 F7E7 b .L134
1896 .L145:
1897 00c2 00BF .align 2
1898 .L144:
1899 00c4 02000100 .word 65538
1900 .cfi_endproc
1901 .LFE131:
1903 .section .text.I2C_RequestMemoryRead,"ax",%progbits
1904 .align 1
1905 .syntax unified
1906 .thumb
1907 .thumb_func
1908 .fpu softvfp
1910 I2C_RequestMemoryRead:
1911 .LVL82:
1912 .LFB132:
6548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
1913 .loc 1 6548 1 view -0
1914 .cfi_startproc
1915 @ args = 8, pretend = 0, frame = 8
1916 @ frame_needed = 0, uses_anonymous_args = 0
6548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Enable Acknowledge */
1917 .loc 1 6548 1 is_stmt 0 view .LVU586
1918 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1919 .LCFI20:
1920 .cfi_def_cfa_offset 24
1921 .cfi_offset 4, -24
1922 .cfi_offset 5, -20
1923 .cfi_offset 6, -16
1924 .cfi_offset 7, -12
1925 .cfi_offset 8, -8
1926 .cfi_offset 14, -4
1927 0004 84B0 sub sp, sp, #16
1928 .LCFI21:
1929 .cfi_def_cfa_offset 40
1930 0006 0446 mov r4, r0
1931 0008 0E46 mov r6, r1
1932 000a 1746 mov r7, r2
1933 000c 9846 mov r8, r3
1934 000e 0B9D ldr r5, [sp, #44]
6550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1935 .loc 1 6550 3 is_stmt 1 view .LVU587
1936 0010 0268 ldr r2, [r0]
1937 .LVL83:
6550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1938 .loc 1 6550 3 is_stmt 0 view .LVU588
1939 0012 1368 ldr r3, [r2]
1940 .LVL84:
6550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 169
1941 .loc 1 6550 3 view .LVU589
1942 0014 43F48063 orr r3, r3, #1024
1943 0018 1360 str r3, [r2]
6553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1944 .loc 1 6553 3 is_stmt 1 view .LVU590
1945 001a 0268 ldr r2, [r0]
1946 001c 1368 ldr r3, [r2]
1947 001e 43F48073 orr r3, r3, #256
1948 0022 1360 str r3, [r2]
6556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1949 .loc 1 6556 3 view .LVU591
6556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1950 .loc 1 6556 7 is_stmt 0 view .LVU592
1951 0024 0095 str r5, [sp]
1952 0026 0A9B ldr r3, [sp, #40]
1953 0028 0022 movs r2, #0
1954 002a 4FF00111 mov r1, #65537
1955 .LVL85:
6556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1956 .loc 1 6556 7 view .LVU593
1957 002e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1958 .LVL86:
6556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1959 .loc 1 6556 6 view .LVU594
1960 0032 20B1 cbz r0, .L161
6558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1961 .loc 1 6558 12 view .LVU595
1962 0034 0123 movs r3, #1
1963 .L147:
6641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1964 .loc 1 6641 1 view .LVU596
1965 0036 1846 mov r0, r3
1966 0038 04B0 add sp, sp, #16
1967 .LCFI22:
1968 .cfi_remember_state
1969 .cfi_def_cfa_offset 24
1970 @ sp needed
1971 003a BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1972 .LVL87:
1973 .L161:
1974 .LCFI23:
1975 .cfi_restore_state
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1976 .loc 1 6562 3 is_stmt 1 view .LVU597
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1977 .loc 1 6562 24 is_stmt 0 view .LVU598
1978 003e F6B2 uxtb r6, r6
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1979 .loc 1 6562 7 view .LVU599
1980 0040 2368 ldr r3, [r4]
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1981 .loc 1 6562 24 view .LVU600
1982 0042 06F0FE02 and r2, r6, #254
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1983 .loc 1 6562 22 view .LVU601
1984 0046 1A61 str r2, [r3, #16]
6565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 170
1985 .loc 1 6565 3 is_stmt 1 view .LVU602
6565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1986 .loc 1 6565 7 is_stmt 0 view .LVU603
1987 0048 2B46 mov r3, r5
1988 004a 0A9A ldr r2, [sp, #40]
1989 004c 3649 ldr r1, .L169
1990 004e 2046 mov r0, r4
1991 0050 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout
1992 .LVL88:
6565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1993 .loc 1 6565 6 view .LVU604
1994 0054 08B1 cbz r0, .L162
6567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1995 .loc 1 6567 12 view .LVU605
1996 0056 0123 movs r3, #1
1997 0058 EDE7 b .L147
1998 .L162:
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
1999 .loc 1 6571 3 is_stmt 1 view .LVU606
2000 .LBB55:
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2001 .loc 1 6571 3 view .LVU607
2002 005a 0023 movs r3, #0
2003 005c 0393 str r3, [sp, #12]
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2004 .loc 1 6571 3 view .LVU608
2005 005e 2368 ldr r3, [r4]
2006 0060 5A69 ldr r2, [r3, #20]
2007 0062 0392 str r2, [sp, #12]
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2008 .loc 1 6571 3 view .LVU609
2009 0064 9B69 ldr r3, [r3, #24]
2010 0066 0393 str r3, [sp, #12]
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2011 .loc 1 6571 3 view .LVU610
2012 0068 039B ldr r3, [sp, #12]
2013 .LBE55:
6574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2014 .loc 1 6574 3 view .LVU611
6574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2015 .loc 1 6574 7 is_stmt 0 view .LVU612
2016 006a 2A46 mov r2, r5
2017 006c 0A99 ldr r1, [sp, #40]
2018 006e 2046 mov r0, r4
2019 0070 FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout
2020 .LVL89:
6574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2021 .loc 1 6574 6 view .LVU613
2022 0074 80B9 cbnz r0, .L163
6585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2023 .loc 1 6585 3 is_stmt 1 view .LVU614
6585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2024 .loc 1 6585 6 is_stmt 0 view .LVU615
2025 0076 B8F1010F cmp r8, #1
2026 007a 18D1 bne .L150
6588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2027 .loc 1 6588 5 is_stmt 1 view .LVU616
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 171
6588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2028 .loc 1 6588 9 is_stmt 0 view .LVU617
2029 007c 2368 ldr r3, [r4]
6588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2030 .loc 1 6588 26 view .LVU618
2031 007e FFB2 uxtb r7, r7
6588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2032 .loc 1 6588 24 view .LVU619
2033 0080 1F61 str r7, [r3, #16]
2034 .L151:
6612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2035 .loc 1 6612 3 is_stmt 1 view .LVU620
6612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2036 .loc 1 6612 7 is_stmt 0 view .LVU621
2037 0082 2A46 mov r2, r5
2038 0084 0A99 ldr r1, [sp, #40]
2039 0086 2046 mov r0, r4
2040 0088 FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout
2041 .LVL90:
6612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2042 .loc 1 6612 6 view .LVU622
2043 008c 68B3 cbz r0, .L154
6614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2044 .loc 1 6614 5 is_stmt 1 view .LVU623
6614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2045 .loc 1 6614 13 is_stmt 0 view .LVU624
2046 008e 236C ldr r3, [r4, #64]
6614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2047 .loc 1 6614 8 view .LVU625
2048 0090 042B cmp r3, #4
2049 0092 24D0 beq .L164
2050 .L155:
6619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2051 .loc 1 6619 5 is_stmt 1 view .LVU626
6619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2052 .loc 1 6619 12 is_stmt 0 view .LVU627
2053 0094 0123 movs r3, #1
2054 0096 CEE7 b .L147
2055 .L163:
6576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2056 .loc 1 6576 5 is_stmt 1 view .LVU628
6576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2057 .loc 1 6576 13 is_stmt 0 view .LVU629
2058 0098 236C ldr r3, [r4, #64]
6576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2059 .loc 1 6576 8 view .LVU630
2060 009a 042B cmp r3, #4
2061 009c 01D0 beq .L165
2062 .L149:
6581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2063 .loc 1 6581 5 is_stmt 1 view .LVU631
6581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2064 .loc 1 6581 12 is_stmt 0 view .LVU632
2065 009e 0123 movs r3, #1
2066 00a0 C9E7 b .L147
2067 .L165:
6579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 172
2068 .loc 1 6579 7 is_stmt 1 view .LVU633
2069 00a2 2268 ldr r2, [r4]
2070 00a4 1368 ldr r3, [r2]
2071 00a6 43F40073 orr r3, r3, #512
2072 00aa 1360 str r3, [r2]
2073 00ac F7E7 b .L149
2074 .L150:
6594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2075 .loc 1 6594 5 view .LVU634
6594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2076 .loc 1 6594 9 is_stmt 0 view .LVU635
2077 00ae 2368 ldr r3, [r4]
6594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2078 .loc 1 6594 26 view .LVU636
2079 00b0 3A0A lsrs r2, r7, #8
6594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2080 .loc 1 6594 24 view .LVU637
2081 00b2 1A61 str r2, [r3, #16]
6597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2082 .loc 1 6597 5 is_stmt 1 view .LVU638
6597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2083 .loc 1 6597 9 is_stmt 0 view .LVU639
2084 00b4 2A46 mov r2, r5
2085 00b6 0A99 ldr r1, [sp, #40]
2086 00b8 2046 mov r0, r4
2087 00ba FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout
2088 .LVL91:
6597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2089 .loc 1 6597 8 view .LVU640
2090 00be 18B9 cbnz r0, .L166
6608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2091 .loc 1 6608 5 is_stmt 1 view .LVU641
6608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2092 .loc 1 6608 9 is_stmt 0 view .LVU642
2093 00c0 2368 ldr r3, [r4]
6608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2094 .loc 1 6608 26 view .LVU643
2095 00c2 FFB2 uxtb r7, r7
6608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2096 .loc 1 6608 24 view .LVU644
2097 00c4 1F61 str r7, [r3, #16]
2098 00c6 DCE7 b .L151
2099 .L166:
6599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2100 .loc 1 6599 7 is_stmt 1 view .LVU645
6599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2101 .loc 1 6599 15 is_stmt 0 view .LVU646
2102 00c8 236C ldr r3, [r4, #64]
6599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2103 .loc 1 6599 10 view .LVU647
2104 00ca 042B cmp r3, #4
2105 00cc 01D0 beq .L167
2106 .L153:
6604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2107 .loc 1 6604 7 is_stmt 1 view .LVU648
6604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2108 .loc 1 6604 14 is_stmt 0 view .LVU649
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 173
2109 00ce 0123 movs r3, #1
2110 00d0 B1E7 b .L147
2111 .L167:
6602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2112 .loc 1 6602 9 is_stmt 1 view .LVU650
2113 00d2 2268 ldr r2, [r4]
2114 00d4 1368 ldr r3, [r2]
2115 00d6 43F40073 orr r3, r3, #512
2116 00da 1360 str r3, [r2]
2117 00dc F7E7 b .L153
2118 .L164:
6617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2119 .loc 1 6617 7 view .LVU651
2120 00de 2268 ldr r2, [r4]
2121 00e0 1368 ldr r3, [r2]
2122 00e2 43F40073 orr r3, r3, #512
2123 00e6 1360 str r3, [r2]
2124 00e8 D4E7 b .L155
2125 .L154:
6623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2126 .loc 1 6623 3 view .LVU652
2127 00ea 2268 ldr r2, [r4]
2128 00ec 1368 ldr r3, [r2]
2129 00ee 43F48073 orr r3, r3, #256
2130 00f2 1360 str r3, [r2]
6626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2131 .loc 1 6626 3 view .LVU653
6626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2132 .loc 1 6626 7 is_stmt 0 view .LVU654
2133 00f4 0095 str r5, [sp]
2134 00f6 0A9B ldr r3, [sp, #40]
2135 00f8 0022 movs r2, #0
2136 00fa 4FF00111 mov r1, #65537
2137 00fe 2046 mov r0, r4
2138 0100 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2139 .LVL92:
6626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2140 .loc 1 6626 6 view .LVU655
2141 0104 08B1 cbz r0, .L168
6628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2142 .loc 1 6628 12 view .LVU656
2143 0106 0123 movs r3, #1
2144 0108 95E7 b .L147
2145 .L168:
6632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2146 .loc 1 6632 3 is_stmt 1 view .LVU657
6632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2147 .loc 1 6632 7 is_stmt 0 view .LVU658
2148 010a 2368 ldr r3, [r4]
6632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2149 .loc 1 6632 24 view .LVU659
2150 010c 46F00106 orr r6, r6, #1
6632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2151 .loc 1 6632 22 view .LVU660
2152 0110 1E61 str r6, [r3, #16]
6635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2153 .loc 1 6635 3 is_stmt 1 view .LVU661
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 174
6635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2154 .loc 1 6635 7 is_stmt 0 view .LVU662
2155 0112 2B46 mov r3, r5
2156 0114 0A9A ldr r2, [sp, #40]
2157 0116 0449 ldr r1, .L169
2158 0118 2046 mov r0, r4
2159 011a FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout
2160 .LVL93:
6635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2161 .loc 1 6635 6 view .LVU663
2162 011e 0346 mov r3, r0
2163 0120 0028 cmp r0, #0
2164 0122 88D0 beq .L147
6637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2165 .loc 1 6637 12 view .LVU664
2166 0124 0123 movs r3, #1
2167 0126 86E7 b .L147
2168 .L170:
2169 .align 2
2170 .L169:
2171 0128 02000100 .word 65538
2172 .cfi_endproc
2173 .LFE132:
2175 .section .text.I2C_WaitOnBTFFlagUntilTimeout,"ax",%progbits
2176 .align 1
2177 .syntax unified
2178 .thumb
2179 .thumb_func
2180 .fpu softvfp
2182 I2C_WaitOnBTFFlagUntilTimeout:
2183 .LVL94:
2184 .LFB139:
7009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == RESET)
2185 .loc 1 7009 1 is_stmt 1 view -0
2186 .cfi_startproc
2187 @ args = 0, pretend = 0, frame = 0
2188 @ frame_needed = 0, uses_anonymous_args = 0
7009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == RESET)
2189 .loc 1 7009 1 is_stmt 0 view .LVU666
2190 0000 70B5 push {r4, r5, r6, lr}
2191 .LCFI24:
2192 .cfi_def_cfa_offset 16
2193 .cfi_offset 4, -16
2194 .cfi_offset 5, -12
2195 .cfi_offset 6, -8
2196 .cfi_offset 14, -4
2197 0002 0446 mov r4, r0
2198 0004 0D46 mov r5, r1
2199 0006 1646 mov r6, r2
7010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2200 .loc 1 7010 3 is_stmt 1 view .LVU667
2201 .LVL95:
2202 .L174:
7010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2203 .loc 1 7010 10 is_stmt 0 view .LVU668
2204 0008 2368 ldr r3, [r4]
2205 000a 5B69 ldr r3, [r3, #20]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 175
7010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2206 .loc 1 7010 9 view .LVU669
2207 000c 13F0040F tst r3, #4
2208 0010 1CD1 bne .L179
7013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2209 .loc 1 7013 5 is_stmt 1 view .LVU670
7013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2210 .loc 1 7013 9 is_stmt 0 view .LVU671
2211 0012 2046 mov r0, r4
2212 0014 FFF7FEFF bl I2C_IsAcknowledgeFailed
2213 .LVL96:
7013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2214 .loc 1 7013 8 view .LVU672
2215 0018 D0B9 cbnz r0, .L177
7019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2216 .loc 1 7019 5 is_stmt 1 view .LVU673
7019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2217 .loc 1 7019 8 is_stmt 0 view .LVU674
2218 001a B5F1FF3F cmp r5, #-1
2219 001e F3D0 beq .L174
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2220 .loc 1 7021 7 is_stmt 1 view .LVU675
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2221 .loc 1 7021 13 is_stmt 0 view .LVU676
2222 0020 FFF7FEFF bl HAL_GetTick
2223 .LVL97:
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2224 .loc 1 7021 27 view .LVU677
2225 0024 801B subs r0, r0, r6
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2226 .loc 1 7021 10 view .LVU678
2227 0026 A842 cmp r0, r5
2228 0028 01D8 bhi .L175
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2229 .loc 1 7021 51 discriminator 1 view .LVU679
2230 002a 002D cmp r5, #0
2231 002c ECD1 bne .L174
2232 .L175:
7023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2233 .loc 1 7023 9 is_stmt 1 view .LVU680
7023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2234 .loc 1 7023 35 is_stmt 0 view .LVU681
2235 002e 0023 movs r3, #0
2236 0030 2363 str r3, [r4, #48]
7024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2237 .loc 1 7024 9 is_stmt 1 view .LVU682
7024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2238 .loc 1 7024 35 is_stmt 0 view .LVU683
2239 0032 2022 movs r2, #32
2240 0034 84F83D20 strb r2, [r4, #61]
7025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
2241 .loc 1 7025 9 is_stmt 1 view .LVU684
7025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
2242 .loc 1 7025 35 is_stmt 0 view .LVU685
2243 0038 84F83E30 strb r3, [r4, #62]
7026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2244 .loc 1 7026 9 is_stmt 1 view .LVU686
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 176
7026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2245 .loc 1 7026 35 is_stmt 0 view .LVU687
2246 003c 226C ldr r2, [r4, #64]
2247 003e 42F02002 orr r2, r2, #32
2248 0042 2264 str r2, [r4, #64]
7029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2249 .loc 1 7029 9 is_stmt 1 view .LVU688
7029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2250 .loc 1 7029 9 view .LVU689
2251 0044 84F83C30 strb r3, [r4, #60]
7031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2252 .loc 1 7031 9 view .LVU690
7031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2253 .loc 1 7031 16 is_stmt 0 view .LVU691
2254 0048 0120 movs r0, #1
2255 004a 00E0 b .L173
2256 .L179:
7035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2257 .loc 1 7035 10 view .LVU692
2258 004c 0020 movs r0, #0
2259 .L173:
7036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2260 .loc 1 7036 1 view .LVU693
2261 004e 70BD pop {r4, r5, r6, pc}
2262 .LVL98:
2263 .L177:
7015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2264 .loc 1 7015 14 view .LVU694
2265 0050 0120 movs r0, #1
2266 0052 FCE7 b .L173
2267 .cfi_endproc
2268 .LFE139:
2270 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
2271 .align 1
2272 .syntax unified
2273 .thumb
2274 .thumb_func
2275 .fpu softvfp
2277 I2C_WaitOnRXNEFlagUntilTimeout:
2278 .LVL99:
2279 .LFB141:
7082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2280 .loc 1 7082 1 is_stmt 1 view -0
2281 .cfi_startproc
2282 @ args = 0, pretend = 0, frame = 0
2283 @ frame_needed = 0, uses_anonymous_args = 0
7082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2284 .loc 1 7082 1 is_stmt 0 view .LVU696
2285 0000 70B5 push {r4, r5, r6, lr}
2286 .LCFI25:
2287 .cfi_def_cfa_offset 16
2288 .cfi_offset 4, -16
2289 .cfi_offset 5, -12
2290 .cfi_offset 6, -8
2291 .cfi_offset 14, -4
2292 0002 0546 mov r5, r0
2293 0004 0C46 mov r4, r1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 177
2294 0006 1646 mov r6, r2
7084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2295 .loc 1 7084 3 is_stmt 1 view .LVU697
2296 .LVL100:
2297 .L181:
7084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2298 .loc 1 7084 10 is_stmt 0 view .LVU698
2299 0008 2B68 ldr r3, [r5]
2300 000a 5A69 ldr r2, [r3, #20]
7084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2301 .loc 1 7084 9 view .LVU699
2302 000c 12F0400F tst r2, #64
2303 0010 29D1 bne .L187
7087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2304 .loc 1 7087 5 is_stmt 1 view .LVU700
7087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2305 .loc 1 7087 9 is_stmt 0 view .LVU701
2306 0012 5A69 ldr r2, [r3, #20]
7087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2307 .loc 1 7087 8 view .LVU702
2308 0014 12F0100F tst r2, #16
2309 0018 15D1 bne .L188
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2310 .loc 1 7104 5 is_stmt 1 view .LVU703
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2311 .loc 1 7104 11 is_stmt 0 view .LVU704
2312 001a FFF7FEFF bl HAL_GetTick
2313 .LVL101:
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2314 .loc 1 7104 25 view .LVU705
2315 001e 801B subs r0, r0, r6
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2316 .loc 1 7104 8 view .LVU706
2317 0020 A042 cmp r0, r4
2318 0022 01D8 bhi .L184
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2319 .loc 1 7104 49 discriminator 1 view .LVU707
2320 0024 002C cmp r4, #0
2321 0026 EFD1 bne .L181
2322 .L184:
7106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2323 .loc 1 7106 7 is_stmt 1 view .LVU708
7106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2324 .loc 1 7106 33 is_stmt 0 view .LVU709
2325 0028 0023 movs r3, #0
2326 002a 2B63 str r3, [r5, #48]
7107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2327 .loc 1 7107 7 is_stmt 1 view .LVU710
7107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2328 .loc 1 7107 33 is_stmt 0 view .LVU711
2329 002c 2022 movs r2, #32
2330 002e 85F83D20 strb r2, [r5, #61]
7108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
2331 .loc 1 7108 7 is_stmt 1 view .LVU712
7108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
2332 .loc 1 7108 33 is_stmt 0 view .LVU713
2333 0032 85F83E30 strb r3, [r5, #62]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 178
7109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2334 .loc 1 7109 7 is_stmt 1 view .LVU714
7109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2335 .loc 1 7109 33 is_stmt 0 view .LVU715
2336 0036 2A6C ldr r2, [r5, #64]
2337 0038 42F02002 orr r2, r2, #32
2338 003c 2A64 str r2, [r5, #64]
7112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2339 .loc 1 7112 7 is_stmt 1 view .LVU716
7112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2340 .loc 1 7112 7 view .LVU717
2341 003e 85F83C30 strb r3, [r5, #60]
7114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2342 .loc 1 7114 7 view .LVU718
7114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2343 .loc 1 7114 14 is_stmt 0 view .LVU719
2344 0042 0120 movs r0, #1
2345 .L183:
7118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2346 .loc 1 7118 1 view .LVU720
2347 0044 70BD pop {r4, r5, r6, pc}
2348 .LVL102:
2349 .L188:
7090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2350 .loc 1 7090 7 is_stmt 1 view .LVU721
2351 0046 6FF01002 mvn r2, #16
2352 004a 5A61 str r2, [r3, #20]
7092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2353 .loc 1 7092 7 view .LVU722
7092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2354 .loc 1 7092 33 is_stmt 0 view .LVU723
2355 004c 0023 movs r3, #0
2356 004e 2B63 str r3, [r5, #48]
7093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2357 .loc 1 7093 7 is_stmt 1 view .LVU724
7093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2358 .loc 1 7093 33 is_stmt 0 view .LVU725
2359 0050 2022 movs r2, #32
2360 0052 85F83D20 strb r2, [r5, #61]
7094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_NONE;
2361 .loc 1 7094 7 is_stmt 1 view .LVU726
7094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_NONE;
2362 .loc 1 7094 33 is_stmt 0 view .LVU727
2363 0056 85F83E30 strb r3, [r5, #62]
7095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2364 .loc 1 7095 7 is_stmt 1 view .LVU728
7095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2365 .loc 1 7095 33 is_stmt 0 view .LVU729
2366 005a 2A6C ldr r2, [r5, #64]
2367 005c 2A64 str r2, [r5, #64]
7098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2368 .loc 1 7098 7 is_stmt 1 view .LVU730
7098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2369 .loc 1 7098 7 view .LVU731
2370 005e 85F83C30 strb r3, [r5, #60]
7100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2371 .loc 1 7100 7 view .LVU732
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 179
7100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2372 .loc 1 7100 14 is_stmt 0 view .LVU733
2373 0062 0120 movs r0, #1
2374 0064 EEE7 b .L183
2375 .L187:
7117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2376 .loc 1 7117 10 view .LVU734
2377 0066 0020 movs r0, #0
2378 0068 ECE7 b .L183
2379 .cfi_endproc
2380 .LFE141:
2382 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
2383 .align 1
2384 .syntax unified
2385 .thumb
2386 .thumb_func
2387 .fpu softvfp
2389 I2C_WaitOnSTOPFlagUntilTimeout:
2390 .LVL103:
2391 .LFB140:
7047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
2392 .loc 1 7047 1 is_stmt 1 view -0
2393 .cfi_startproc
2394 @ args = 0, pretend = 0, frame = 0
2395 @ frame_needed = 0, uses_anonymous_args = 0
7047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
2396 .loc 1 7047 1 is_stmt 0 view .LVU736
2397 0000 70B5 push {r4, r5, r6, lr}
2398 .LCFI26:
2399 .cfi_def_cfa_offset 16
2400 .cfi_offset 4, -16
2401 .cfi_offset 5, -12
2402 .cfi_offset 6, -8
2403 .cfi_offset 14, -4
2404 0002 0446 mov r4, r0
2405 0004 0D46 mov r5, r1
2406 0006 1646 mov r6, r2
7048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2407 .loc 1 7048 3 is_stmt 1 view .LVU737
2408 .LVL104:
2409 .L190:
7048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2410 .loc 1 7048 10 is_stmt 0 view .LVU738
2411 0008 2368 ldr r3, [r4]
2412 000a 5B69 ldr r3, [r3, #20]
7048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2413 .loc 1 7048 9 view .LVU739
2414 000c 13F0100F tst r3, #16
2415 0010 19D1 bne .L196
7051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2416 .loc 1 7051 5 is_stmt 1 view .LVU740
7051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2417 .loc 1 7051 9 is_stmt 0 view .LVU741
2418 0012 2046 mov r0, r4
2419 0014 FFF7FEFF bl I2C_IsAcknowledgeFailed
2420 .LVL105:
7051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 180
2421 .loc 1 7051 8 view .LVU742
2422 0018 B8B9 cbnz r0, .L194
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2423 .loc 1 7057 5 is_stmt 1 view .LVU743
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2424 .loc 1 7057 11 is_stmt 0 view .LVU744
2425 001a FFF7FEFF bl HAL_GetTick
2426 .LVL106:
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2427 .loc 1 7057 25 view .LVU745
2428 001e 801B subs r0, r0, r6
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2429 .loc 1 7057 8 view .LVU746
2430 0020 A842 cmp r0, r5
2431 0022 01D8 bhi .L192
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2432 .loc 1 7057 49 discriminator 1 view .LVU747
2433 0024 002D cmp r5, #0
2434 0026 EFD1 bne .L190
2435 .L192:
7059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2436 .loc 1 7059 7 is_stmt 1 view .LVU748
7059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2437 .loc 1 7059 33 is_stmt 0 view .LVU749
2438 0028 0023 movs r3, #0
2439 002a 2363 str r3, [r4, #48]
7060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2440 .loc 1 7060 7 is_stmt 1 view .LVU750
7060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2441 .loc 1 7060 33 is_stmt 0 view .LVU751
2442 002c 2022 movs r2, #32
2443 002e 84F83D20 strb r2, [r4, #61]
7061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
2444 .loc 1 7061 7 is_stmt 1 view .LVU752
7061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
2445 .loc 1 7061 33 is_stmt 0 view .LVU753
2446 0032 84F83E30 strb r3, [r4, #62]
7062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2447 .loc 1 7062 7 is_stmt 1 view .LVU754
7062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2448 .loc 1 7062 33 is_stmt 0 view .LVU755
2449 0036 226C ldr r2, [r4, #64]
2450 0038 42F02002 orr r2, r2, #32
2451 003c 2264 str r2, [r4, #64]
7065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2452 .loc 1 7065 7 is_stmt 1 view .LVU756
7065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2453 .loc 1 7065 7 view .LVU757
2454 003e 84F83C30 strb r3, [r4, #60]
7067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2455 .loc 1 7067 7 view .LVU758
7067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2456 .loc 1 7067 14 is_stmt 0 view .LVU759
2457 0042 0120 movs r0, #1
2458 .L191:
7071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2459 .loc 1 7071 1 view .LVU760
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 181
2460 0044 70BD pop {r4, r5, r6, pc}
2461 .LVL107:
2462 .L196:
7070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2463 .loc 1 7070 10 view .LVU761
2464 0046 0020 movs r0, #0
2465 0048 FCE7 b .L191
2466 .L194:
7053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2467 .loc 1 7053 14 view .LVU762
2468 004a 0120 movs r0, #1
2469 004c FAE7 b .L191
2470 .cfi_endproc
2471 .LFE140:
2473 .section .text.HAL_I2C_MspInit,"ax",%progbits
2474 .align 1
2475 .weak HAL_I2C_MspInit
2476 .syntax unified
2477 .thumb
2478 .thumb_func
2479 .fpu softvfp
2481 HAL_I2C_MspInit:
2482 .LVL108:
2483 .LFB67:
607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
2484 .loc 1 607 1 is_stmt 1 view -0
2485 .cfi_startproc
2486 @ args = 0, pretend = 0, frame = 0
2487 @ frame_needed = 0, uses_anonymous_args = 0
2488 @ link register save eliminated.
609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2489 .loc 1 609 3 view .LVU764
614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2490 .loc 1 614 1 is_stmt 0 view .LVU765
2491 0000 7047 bx lr
2492 .cfi_endproc
2493 .LFE67:
2495 .section .text.HAL_I2C_Init,"ax",%progbits
2496 .align 1
2497 .global HAL_I2C_Init
2498 .syntax unified
2499 .thumb
2500 .thumb_func
2501 .fpu softvfp
2503 HAL_I2C_Init:
2504 .LVL109:
2505 .LFB65:
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t freqrange;
2506 .loc 1 450 1 is_stmt 1 view -0
2507 .cfi_startproc
2508 @ args = 0, pretend = 0, frame = 0
2509 @ frame_needed = 0, uses_anonymous_args = 0
451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t pclk1;
2510 .loc 1 451 3 view .LVU767
452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2511 .loc 1 452 3 view .LVU768
455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 182
2512 .loc 1 455 3 view .LVU769
455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2513 .loc 1 455 6 is_stmt 0 view .LVU770
2514 0000 0028 cmp r0, #0
2515 0002 00F0C180 beq .L210
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t freqrange;
2516 .loc 1 450 1 view .LVU771
2517 0006 F8B5 push {r3, r4, r5, r6, r7, lr}
2518 .LCFI27:
2519 .cfi_def_cfa_offset 24
2520 .cfi_offset 3, -24
2521 .cfi_offset 4, -20
2522 .cfi_offset 5, -16
2523 .cfi_offset 6, -12
2524 .cfi_offset 7, -8
2525 .cfi_offset 14, -4
2526 0008 0446 mov r4, r0
461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_CLOCK_SPEED(hi2c->Init.ClockSpeed));
2527 .loc 1 461 3 is_stmt 1 view .LVU772
462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_DUTY_CYCLE(hi2c->Init.DutyCycle));
2528 .loc 1 462 3 view .LVU773
463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
2529 .loc 1 463 3 view .LVU774
464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
2530 .loc 1 464 3 view .LVU775
465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
2531 .loc 1 465 3 view .LVU776
466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
2532 .loc 1 466 3 view .LVU777
467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
2533 .loc 1 467 3 view .LVU778
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
2534 .loc 1 468 3 view .LVU779
469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2535 .loc 1 469 3 view .LVU780
471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2536 .loc 1 471 3 view .LVU781
471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2537 .loc 1 471 11 is_stmt 0 view .LVU782
2538 000a 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2539 .loc 1 471 6 view .LVU783
2540 000e 002B cmp r3, #0
2541 0010 6CD0 beq .L218
2542 .LVL110:
2543 .L200:
502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2544 .loc 1 502 3 is_stmt 1 view .LVU784
502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2545 .loc 1 502 15 is_stmt 0 view .LVU785
2546 0012 2423 movs r3, #36
2547 0014 84F83D30 strb r3, [r4, #61]
505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2548 .loc 1 505 3 is_stmt 1 view .LVU786
2549 0018 2268 ldr r2, [r4]
2550 001a 1368 ldr r3, [r2]
2551 001c 23F00103 bic r3, r3, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 183
2552 0020 1360 str r3, [r2]
508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2553 .loc 1 508 3 view .LVU787
508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2554 .loc 1 508 11 is_stmt 0 view .LVU788
2555 0022 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
2556 .LVL111:
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2557 .loc 1 511 3 is_stmt 1 view .LVU789
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2558 .loc 1 511 7 is_stmt 0 view .LVU790
2559 0026 6268 ldr r2, [r4, #4]
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2560 .loc 1 511 55 view .LVU791
2561 0028 594B ldr r3, .L219
2562 002a 9A42 cmp r2, r3
2563 002c 63D8 bhi .L201
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2564 .loc 1 511 55 discriminator 1 view .LVU792
2565 002e 594B ldr r3, .L219+4
2566 0030 9842 cmp r0, r3
2567 0032 8CBF ite hi
2568 0034 0023 movhi r3, #0
2569 0036 0123 movls r3, #1
2570 .L202:
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2571 .loc 1 511 6 discriminator 4 view .LVU793
2572 0038 002B cmp r3, #0
2573 003a 40F0A780 bne .L211
517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2574 .loc 1 517 3 is_stmt 1 view .LVU794
517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2575 .loc 1 517 13 is_stmt 0 view .LVU795
2576 003e 564B ldr r3, .L219+8
2577 0040 A3FB0023 umull r2, r3, r3, r0
2578 0044 9B0C lsrs r3, r3, #18
2579 .LVL112:
521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2580 .loc 1 521 3 is_stmt 1 view .LVU796
2581 0046 2168 ldr r1, [r4]
2582 0048 4A68 ldr r2, [r1, #4]
2583 004a 22F03F02 bic r2, r2, #63
2584 004e 1A43 orrs r2, r2, r3
2585 0050 4A60 str r2, [r1, #4]
525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2586 .loc 1 525 3 view .LVU797
2587 0052 2568 ldr r5, [r4]
2588 0054 2A6A ldr r2, [r5, #32]
2589 0056 22F03F02 bic r2, r2, #63
2590 005a 6668 ldr r6, [r4, #4]
2591 005c 4C49 ldr r1, .L219
2592 005e 8E42 cmp r6, r1
2593 0060 4FD8 bhi .L203
525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2594 .loc 1 525 3 is_stmt 0 discriminator 1 view .LVU798
2595 0062 0133 adds r3, r3, #1
2596 .LVL113:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 184
2597 .L204:
525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2598 .loc 1 525 3 discriminator 4 view .LVU799
2599 0064 1343 orrs r3, r3, r2
2600 0066 2B62 str r3, [r5, #32]
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2601 .loc 1 529 3 is_stmt 1 discriminator 4 view .LVU800
2602 0068 2568 ldr r5, [r4]
2603 006a E969 ldr r1, [r5, #28]
2604 006c 21F44F41 bic r1, r1, #52992
2605 0070 21F0FF01 bic r1, r1, #255
2606 0074 6368 ldr r3, [r4, #4]
2607 0076 464A ldr r2, .L219
2608 0078 9342 cmp r3, r2
2609 007a 4CD8 bhi .L205
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2610 .loc 1 529 3 is_stmt 0 discriminator 1 view .LVU801
2611 007c 0138 subs r0, r0, #1
2612 .LVL114:
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2613 .loc 1 529 3 discriminator 1 view .LVU802
2614 007e 5B00 lsls r3, r3, #1
2615 0080 B0FBF3F0 udiv r0, r0, r3
2616 .LVL115:
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2617 .loc 1 529 3 discriminator 1 view .LVU803
2618 0084 0130 adds r0, r0, #1
2619 0086 40F6FC73 movw r3, #4092
2620 008a 1842 tst r0, r3
2621 008c 78D0 beq .L212
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2622 .loc 1 529 3 discriminator 3 view .LVU804
2623 008e C0F30B03 ubfx r3, r0, #0, #12
2624 .L206:
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2625 .loc 1 529 3 discriminator 20 view .LVU805
2626 0092 0B43 orrs r3, r3, r1
2627 0094 EB61 str r3, [r5, #28]
533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2628 .loc 1 533 3 is_stmt 1 discriminator 20 view .LVU806
2629 0096 2168 ldr r1, [r4]
2630 0098 0B68 ldr r3, [r1]
2631 009a 23F0C003 bic r3, r3, #192
2632 009e E269 ldr r2, [r4, #28]
2633 00a0 206A ldr r0, [r4, #32]
2634 00a2 0243 orrs r2, r2, r0
2635 00a4 1343 orrs r3, r3, r2
2636 00a6 0B60 str r3, [r1]
537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2637 .loc 1 537 3 discriminator 20 view .LVU807
2638 00a8 2168 ldr r1, [r4]
2639 00aa 8B68 ldr r3, [r1, #8]
2640 00ac 23F40343 bic r3, r3, #33536
2641 00b0 23F0FF03 bic r3, r3, #255
2642 00b4 2269 ldr r2, [r4, #16]
2643 00b6 E068 ldr r0, [r4, #12]
2644 00b8 0243 orrs r2, r2, r0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 185
2645 00ba 1343 orrs r3, r3, r2
2646 00bc 8B60 str r3, [r1, #8]
541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2647 .loc 1 541 3 discriminator 20 view .LVU808
2648 00be 2168 ldr r1, [r4]
2649 00c0 CB68 ldr r3, [r1, #12]
2650 00c2 23F0FF03 bic r3, r3, #255
2651 00c6 6269 ldr r2, [r4, #20]
2652 00c8 A069 ldr r0, [r4, #24]
2653 00ca 0243 orrs r2, r2, r0
2654 00cc 1343 orrs r3, r3, r2
2655 00ce CB60 str r3, [r1, #12]
544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2656 .loc 1 544 3 discriminator 20 view .LVU809
2657 00d0 2268 ldr r2, [r4]
2658 00d2 1368 ldr r3, [r2]
2659 00d4 43F00103 orr r3, r3, #1
2660 00d8 1360 str r3, [r2]
546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2661 .loc 1 546 3 discriminator 20 view .LVU810
546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2662 .loc 1 546 19 is_stmt 0 discriminator 20 view .LVU811
2663 00da 0020 movs r0, #0
2664 00dc 2064 str r0, [r4, #64]
547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
2665 .loc 1 547 3 is_stmt 1 discriminator 20 view .LVU812
547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
2666 .loc 1 547 15 is_stmt 0 discriminator 20 view .LVU813
2667 00de 2023 movs r3, #32
2668 00e0 84F83D30 strb r3, [r4, #61]
548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2669 .loc 1 548 3 is_stmt 1 discriminator 20 view .LVU814
548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2670 .loc 1 548 23 is_stmt 0 discriminator 20 view .LVU815
2671 00e4 2063 str r0, [r4, #48]
549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2672 .loc 1 549 3 is_stmt 1 discriminator 20 view .LVU816
549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2673 .loc 1 549 14 is_stmt 0 discriminator 20 view .LVU817
2674 00e6 84F83E00 strb r0, [r4, #62]
551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2675 .loc 1 551 3 is_stmt 1 discriminator 20 view .LVU818
2676 .L199:
552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2677 .loc 1 552 1 is_stmt 0 view .LVU819
2678 00ea F8BD pop {r3, r4, r5, r6, r7, pc}
2679 .LVL116:
2680 .L218:
474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2681 .loc 1 474 5 is_stmt 1 view .LVU820
474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2682 .loc 1 474 16 is_stmt 0 view .LVU821
2683 00ec 80F83C30 strb r3, [r0, #60]
498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
2684 .loc 1 498 5 is_stmt 1 view .LVU822
2685 00f0 FFF7FEFF bl HAL_I2C_MspInit
2686 .LVL117:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 186
498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
2687 .loc 1 498 5 is_stmt 0 view .LVU823
2688 00f4 8DE7 b .L200
2689 .LVL118:
2690 .L201:
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2691 .loc 1 511 55 discriminator 2 view .LVU824
2692 00f6 294B ldr r3, .L219+12
2693 00f8 9842 cmp r0, r3
2694 00fa 8CBF ite hi
2695 00fc 0023 movhi r3, #0
2696 00fe 0123 movls r3, #1
2697 0100 9AE7 b .L202
2698 .LVL119:
2699 .L203:
525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2700 .loc 1 525 3 discriminator 2 view .LVU825
2701 0102 4FF49671 mov r1, #300
2702 0106 01FB03F3 mul r3, r1, r3
2703 .LVL120:
525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2704 .loc 1 525 3 discriminator 2 view .LVU826
2705 010a 2549 ldr r1, .L219+16
2706 010c A1FB0313 umull r1, r3, r1, r3
2707 0110 9B09 lsrs r3, r3, #6
2708 0112 0133 adds r3, r3, #1
2709 0114 A6E7 b .L204
2710 .L205:
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2711 .loc 1 529 3 discriminator 2 view .LVU827
2712 0116 A268 ldr r2, [r4, #8]
2713 0118 BAB9 cbnz r2, .L207
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2714 .loc 1 529 3 discriminator 8 view .LVU828
2715 011a 461E subs r6, r0, #1
2716 011c 03EB4307 add r7, r3, r3, lsl #1
2717 0120 B6FBF7F6 udiv r6, r6, r7
2718 0124 0136 adds r6, r6, #1
2719 0126 C6F30B06 ubfx r6, r6, #0, #12
2720 012a B6FA86F6 clz r6, r6
2721 012e 7609 lsrs r6, r6, #5
2722 .L208:
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2723 .loc 1 529 3 discriminator 11 view .LVU829
2724 0130 46BB cbnz r6, .L213
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2725 .loc 1 529 3 discriminator 13 view .LVU830
2726 0132 C2B9 cbnz r2, .L209
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2727 .loc 1 529 3 discriminator 15 view .LVU831
2728 0134 421E subs r2, r0, #1
2729 0136 03EB4303 add r3, r3, r3, lsl #1
2730 013a B2FBF3F2 udiv r2, r2, r3
2731 013e 0132 adds r2, r2, #1
2732 0140 C2F30B02 ubfx r2, r2, #0, #12
2733 0144 42F40043 orr r3, r2, #32768
2734 0148 A3E7 b .L206
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 187
2735 .L207:
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2736 .loc 1 529 3 discriminator 9 view .LVU832
2737 014a 461E subs r6, r0, #1
2738 014c 03EB8307 add r7, r3, r3, lsl #2
2739 0150 07EB8707 add r7, r7, r7, lsl #2
2740 0154 B6FBF7F6 udiv r6, r6, r7
2741 0158 0136 adds r6, r6, #1
2742 015a C6F30B06 ubfx r6, r6, #0, #12
2743 015e B6FA86F6 clz r6, r6
2744 0162 7609 lsrs r6, r6, #5
2745 0164 E4E7 b .L208
2746 .L209:
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2747 .loc 1 529 3 discriminator 16 view .LVU833
2748 0166 421E subs r2, r0, #1
2749 0168 03EB8303 add r3, r3, r3, lsl #2
2750 016c 03EB8303 add r3, r3, r3, lsl #2
2751 0170 B2FBF3F2 udiv r2, r2, r3
2752 0174 0132 adds r2, r2, #1
2753 0176 C2F30B02 ubfx r2, r2, #0, #12
2754 017a 42F44043 orr r3, r2, #49152
2755 017e 88E7 b .L206
2756 .LVL121:
2757 .L212:
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2758 .loc 1 529 3 view .LVU834
2759 0180 0423 movs r3, #4
2760 0182 86E7 b .L206
2761 .LVL122:
2762 .L213:
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2763 .loc 1 529 3 view .LVU835
2764 0184 0123 movs r3, #1
2765 0186 84E7 b .L206
2766 .LVL123:
2767 .L210:
2768 .LCFI28:
2769 .cfi_def_cfa_offset 0
2770 .cfi_restore 3
2771 .cfi_restore 4
2772 .cfi_restore 5
2773 .cfi_restore 6
2774 .cfi_restore 7
2775 .cfi_restore 14
457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2776 .loc 1 457 12 view .LVU836
2777 0188 0120 movs r0, #1
2778 .LVL124:
552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2779 .loc 1 552 1 view .LVU837
2780 018a 7047 bx lr
2781 .LVL125:
2782 .L211:
2783 .LCFI29:
2784 .cfi_def_cfa_offset 24
2785 .cfi_offset 3, -24
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 188
2786 .cfi_offset 4, -20
2787 .cfi_offset 5, -16
2788 .cfi_offset 6, -12
2789 .cfi_offset 7, -8
2790 .cfi_offset 14, -4
513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2791 .loc 1 513 12 view .LVU838
2792 018c 0120 movs r0, #1
2793 .LVL126:
513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2794 .loc 1 513 12 view .LVU839
2795 018e ACE7 b .L199
2796 .L220:
2797 .align 2
2798 .L219:
2799 0190 A0860100 .word 100000
2800 0194 7F841E00 .word 1999999
2801 0198 83DE1B43 .word 1125899907
2802 019c FF083D00 .word 3999999
2803 01a0 D34D6210 .word 274877907
2804 .cfi_endproc
2805 .LFE65:
2807 .section .text.HAL_I2C_MspDeInit,"ax",%progbits
2808 .align 1
2809 .weak HAL_I2C_MspDeInit
2810 .syntax unified
2811 .thumb
2812 .thumb_func
2813 .fpu softvfp
2815 HAL_I2C_MspDeInit:
2816 .LVL127:
2817 .LFB68:
623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
2818 .loc 1 623 1 is_stmt 1 view -0
2819 .cfi_startproc
2820 @ args = 0, pretend = 0, frame = 0
2821 @ frame_needed = 0, uses_anonymous_args = 0
2822 @ link register save eliminated.
625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2823 .loc 1 625 3 view .LVU841
630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2824 .loc 1 630 1 is_stmt 0 view .LVU842
2825 0000 7047 bx lr
2826 .cfi_endproc
2827 .LFE68:
2829 .section .text.HAL_I2C_DeInit,"ax",%progbits
2830 .align 1
2831 .global HAL_I2C_DeInit
2832 .syntax unified
2833 .thumb
2834 .thumb_func
2835 .fpu softvfp
2837 HAL_I2C_DeInit:
2838 .LVL128:
2839 .LFB66:
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the I2C handle allocation */
2840 .loc 1 561 1 is_stmt 1 view -0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 189
2841 .cfi_startproc
2842 @ args = 0, pretend = 0, frame = 0
2843 @ frame_needed = 0, uses_anonymous_args = 0
563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2844 .loc 1 563 3 view .LVU844
563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2845 .loc 1 563 6 is_stmt 0 view .LVU845
2846 0000 A8B1 cbz r0, .L224
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the I2C handle allocation */
2847 .loc 1 561 1 view .LVU846
2848 0002 10B5 push {r4, lr}
2849 .LCFI30:
2850 .cfi_def_cfa_offset 8
2851 .cfi_offset 4, -8
2852 .cfi_offset 14, -4
2853 0004 0446 mov r4, r0
569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2854 .loc 1 569 3 is_stmt 1 view .LVU847
571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2855 .loc 1 571 3 view .LVU848
571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2856 .loc 1 571 15 is_stmt 0 view .LVU849
2857 0006 2423 movs r3, #36
2858 0008 80F83D30 strb r3, [r0, #61]
574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2859 .loc 1 574 3 is_stmt 1 view .LVU850
2860 000c 0268 ldr r2, [r0]
2861 000e 1368 ldr r3, [r2]
2862 0010 23F00103 bic r3, r3, #1
2863 0014 1360 str r3, [r2]
586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
2864 .loc 1 586 3 view .LVU851
2865 0016 FFF7FEFF bl HAL_I2C_MspDeInit
2866 .LVL129:
589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
2867 .loc 1 589 3 view .LVU852
589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
2868 .loc 1 589 23 is_stmt 0 view .LVU853
2869 001a 0020 movs r0, #0
2870 001c 2064 str r0, [r4, #64]
590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
2871 .loc 1 590 3 is_stmt 1 view .LVU854
590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
2872 .loc 1 590 23 is_stmt 0 view .LVU855
2873 001e 84F83D00 strb r0, [r4, #61]
591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2874 .loc 1 591 3 is_stmt 1 view .LVU856
591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2875 .loc 1 591 23 is_stmt 0 view .LVU857
2876 0022 2063 str r0, [r4, #48]
592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2877 .loc 1 592 3 is_stmt 1 view .LVU858
592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2878 .loc 1 592 23 is_stmt 0 view .LVU859
2879 0024 84F83E00 strb r0, [r4, #62]
595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2880 .loc 1 595 3 is_stmt 1 view .LVU860
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 190
595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2881 .loc 1 595 3 view .LVU861
2882 0028 84F83C00 strb r0, [r4, #60]
597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2883 .loc 1 597 3 view .LVU862
598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2884 .loc 1 598 1 is_stmt 0 view .LVU863
2885 002c 10BD pop {r4, pc}
2886 .LVL130:
2887 .L224:
2888 .LCFI31:
2889 .cfi_def_cfa_offset 0
2890 .cfi_restore 4
2891 .cfi_restore 14
565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2892 .loc 1 565 12 view .LVU864
2893 002e 0120 movs r0, #1
2894 .LVL131:
598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2895 .loc 1 598 1 view .LVU865
2896 0030 7047 bx lr
2897 .cfi_endproc
2898 .LFE66:
2900 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits
2901 .align 1
2902 .global HAL_I2C_Master_Transmit
2903 .syntax unified
2904 .thumb
2905 .thumb_func
2906 .fpu softvfp
2908 HAL_I2C_Master_Transmit:
2909 .LVL132:
2910 .LFB69:
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2911 .loc 1 1043 1 is_stmt 1 view -0
2912 .cfi_startproc
2913 @ args = 4, pretend = 0, frame = 8
2914 @ frame_needed = 0, uses_anonymous_args = 0
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2915 .loc 1 1043 1 is_stmt 0 view .LVU867
2916 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
2917 .LCFI32:
2918 .cfi_def_cfa_offset 24
2919 .cfi_offset 4, -24
2920 .cfi_offset 5, -20
2921 .cfi_offset 6, -16
2922 .cfi_offset 7, -12
2923 .cfi_offset 8, -8
2924 .cfi_offset 14, -4
2925 0004 84B0 sub sp, sp, #16
2926 .LCFI33:
2927 .cfi_def_cfa_offset 40
2928 0006 0446 mov r4, r0
2929 0008 0E46 mov r6, r1
2930 000a 9046 mov r8, r2
2931 000c 1F46 mov r7, r3
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 191
2932 .loc 1 1045 3 is_stmt 1 view .LVU868
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2933 .loc 1 1045 24 is_stmt 0 view .LVU869
2934 000e FFF7FEFF bl HAL_GetTick
2935 .LVL133:
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2936 .loc 1 1047 3 is_stmt 1 view .LVU870
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2937 .loc 1 1047 11 is_stmt 0 view .LVU871
2938 0012 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
2939 0016 DBB2 uxtb r3, r3
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2940 .loc 1 1047 6 view .LVU872
2941 0018 202B cmp r3, #32
2942 001a 04D0 beq .L243
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2943 .loc 1 1148 12 view .LVU873
2944 001c 0226 movs r6, #2
2945 .LVL134:
2946 .L230:
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2947 .loc 1 1150 1 view .LVU874
2948 001e 3046 mov r0, r6
2949 0020 04B0 add sp, sp, #16
2950 .LCFI34:
2951 .cfi_remember_state
2952 .cfi_def_cfa_offset 24
2953 @ sp needed
2954 0022 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
2955 .LVL135:
2956 .L243:
2957 .LCFI35:
2958 .cfi_restore_state
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2959 .loc 1 1150 1 view .LVU875
2960 0026 0546 mov r5, r0
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2961 .loc 1 1050 5 is_stmt 1 view .LVU876
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2962 .loc 1 1050 9 is_stmt 0 view .LVU877
2963 0028 0090 str r0, [sp]
2964 002a 1923 movs r3, #25
2965 002c 0122 movs r2, #1
2966 002e 4E49 ldr r1, .L249
2967 0030 2046 mov r0, r4
2968 .LVL136:
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2969 .loc 1 1050 9 view .LVU878
2970 0032 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2971 .LVL137:
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2972 .loc 1 1050 8 view .LVU879
2973 0036 0028 cmp r0, #0
2974 0038 40F08F80 bne .L239
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2975 .loc 1 1056 5 is_stmt 1 view .LVU880
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 192
2976 .loc 1 1056 5 view .LVU881
2977 003c 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
2978 0040 012B cmp r3, #1
2979 0042 00F08C80 beq .L240
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2980 .loc 1 1056 5 discriminator 2 view .LVU882
2981 0046 0123 movs r3, #1
2982 0048 84F83C30 strb r3, [r4, #60]
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2983 .loc 1 1059 5 discriminator 2 view .LVU883
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2984 .loc 1 1059 14 is_stmt 0 discriminator 2 view .LVU884
2985 004c 2368 ldr r3, [r4]
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2986 .loc 1 1059 24 discriminator 2 view .LVU885
2987 004e 1A68 ldr r2, [r3]
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2988 .loc 1 1059 8 discriminator 2 view .LVU886
2989 0050 12F0010F tst r2, #1
2990 0054 03D1 bne .L231
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2991 .loc 1 1062 7 is_stmt 1 view .LVU887
2992 0056 1A68 ldr r2, [r3]
2993 0058 42F00102 orr r2, r2, #1
2994 005c 1A60 str r2, [r3]
2995 .L231:
1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
2996 .loc 1 1066 5 view .LVU888
2997 005e 2268 ldr r2, [r4]
2998 0060 1368 ldr r3, [r2]
2999 0062 23F40063 bic r3, r3, #2048
3000 0066 1360 str r3, [r2]
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3001 .loc 1 1068 5 view .LVU889
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3002 .loc 1 1068 23 is_stmt 0 view .LVU890
3003 0068 2123 movs r3, #33
3004 006a 84F83D30 strb r3, [r4, #61]
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3005 .loc 1 1069 5 is_stmt 1 view .LVU891
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3006 .loc 1 1069 23 is_stmt 0 view .LVU892
3007 006e 1023 movs r3, #16
3008 0070 84F83E30 strb r3, [r4, #62]
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3009 .loc 1 1070 5 is_stmt 1 view .LVU893
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3010 .loc 1 1070 23 is_stmt 0 view .LVU894
3011 0074 0023 movs r3, #0
3012 0076 2364 str r3, [r4, #64]
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
3013 .loc 1 1073 5 is_stmt 1 view .LVU895
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
3014 .loc 1 1073 23 is_stmt 0 view .LVU896
3015 0078 C4F82480 str r8, [r4, #36]
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3016 .loc 1 1074 5 is_stmt 1 view .LVU897
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 193
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3017 .loc 1 1074 23 is_stmt 0 view .LVU898
3018 007c 6785 strh r7, [r4, #42] @ movhi
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3019 .loc 1 1075 5 is_stmt 1 view .LVU899
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3020 .loc 1 1075 29 is_stmt 0 view .LVU900
3021 007e 638D ldrh r3, [r4, #42]
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3022 .loc 1 1075 23 view .LVU901
3023 0080 2385 strh r3, [r4, #40] @ movhi
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3024 .loc 1 1076 5 is_stmt 1 view .LVU902
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3025 .loc 1 1076 23 is_stmt 0 view .LVU903
3026 0082 3A4B ldr r3, .L249+4
3027 0084 E362 str r3, [r4, #44]
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3028 .loc 1 1079 5 is_stmt 1 view .LVU904
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3029 .loc 1 1079 9 is_stmt 0 view .LVU905
3030 0086 2B46 mov r3, r5
3031 0088 0A9A ldr r2, [sp, #40]
3032 008a 3146 mov r1, r6
3033 008c 2046 mov r0, r4
3034 008e FFF7FEFF bl I2C_MasterRequestWrite
3035 .LVL138:
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3036 .loc 1 1079 8 view .LVU906
3037 0092 0646 mov r6, r0
3038 0094 0028 cmp r0, #0
3039 0096 64D1 bne .L241
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3040 .loc 1 1085 5 is_stmt 1 view .LVU907
3041 .LBB56:
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3042 .loc 1 1085 5 view .LVU908
3043 0098 0023 movs r3, #0
3044 009a 0393 str r3, [sp, #12]
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3045 .loc 1 1085 5 view .LVU909
3046 009c 2368 ldr r3, [r4]
3047 009e 5A69 ldr r2, [r3, #20]
3048 00a0 0392 str r2, [sp, #12]
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3049 .loc 1 1085 5 view .LVU910
3050 00a2 9B69 ldr r3, [r3, #24]
3051 00a4 0393 str r3, [sp, #12]
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3052 .loc 1 1085 5 view .LVU911
3053 00a6 039B ldr r3, [sp, #12]
3054 .LBE56:
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3055 .loc 1 1087 5 view .LVU912
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3056 .loc 1 1087 11 is_stmt 0 view .LVU913
3057 00a8 11E0 b .L232
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 194
3058 .L247:
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3059 .loc 1 1092 9 is_stmt 1 view .LVU914
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3060 .loc 1 1092 17 is_stmt 0 view .LVU915
3061 00aa 236C ldr r3, [r4, #64]
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3062 .loc 1 1092 12 view .LVU916
3063 00ac 042B cmp r3, #4
3064 00ae 01D0 beq .L244
3065 .L234:
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3066 .loc 1 1097 9 is_stmt 1 view .LVU917
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3067 .loc 1 1097 16 is_stmt 0 view .LVU918
3068 00b0 0126 movs r6, #1
3069 00b2 B4E7 b .L230
3070 .L244:
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3071 .loc 1 1095 11 is_stmt 1 view .LVU919
3072 00b4 2268 ldr r2, [r4]
3073 00b6 1368 ldr r3, [r2]
3074 00b8 43F40073 orr r3, r3, #512
3075 00bc 1360 str r3, [r2]
3076 00be F7E7 b .L234
3077 .L235:
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3078 .loc 1 1124 7 view .LVU920
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3079 .loc 1 1124 11 is_stmt 0 view .LVU921
3080 00c0 2A46 mov r2, r5
3081 00c2 0A99 ldr r1, [sp, #40]
3082 00c4 2046 mov r0, r4
3083 00c6 FFF7FEFF bl I2C_WaitOnBTFFlagUntilTimeout
3084 .LVL139:
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3085 .loc 1 1124 10 view .LVU922
3086 00ca 0028 cmp r0, #0
3087 00cc 2CD1 bne .L245
3088 .L232:
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3089 .loc 1 1087 16 view .LVU923
3090 00ce 238D ldrh r3, [r4, #40]
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3091 .loc 1 1087 11 view .LVU924
3092 00d0 002B cmp r3, #0
3093 00d2 34D0 beq .L246
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3094 .loc 1 1090 7 is_stmt 1 view .LVU925
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3095 .loc 1 1090 11 is_stmt 0 view .LVU926
3096 00d4 2A46 mov r2, r5
3097 00d6 0A99 ldr r1, [sp, #40]
3098 00d8 2046 mov r0, r4
3099 00da FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout
3100 .LVL140:
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 195
3101 .loc 1 1090 10 view .LVU927
3102 00de 0028 cmp r0, #0
3103 00e0 E3D1 bne .L247
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3104 .loc 1 1101 7 is_stmt 1 view .LVU928
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3105 .loc 1 1101 33 is_stmt 0 view .LVU929
3106 00e2 626A ldr r2, [r4, #36]
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3107 .loc 1 1101 11 view .LVU930
3108 00e4 2368 ldr r3, [r4]
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3109 .loc 1 1101 28 view .LVU931
3110 00e6 1278 ldrb r2, [r2] @ zero_extendqisi2
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3111 .loc 1 1101 26 view .LVU932
3112 00e8 1A61 str r2, [r3, #16]
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3113 .loc 1 1104 7 is_stmt 1 view .LVU933
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3114 .loc 1 1104 11 is_stmt 0 view .LVU934
3115 00ea 616A ldr r1, [r4, #36]
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3116 .loc 1 1104 21 view .LVU935
3117 00ec 4B1C adds r3, r1, #1
3118 00ee 6362 str r3, [r4, #36]
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
3119 .loc 1 1107 7 is_stmt 1 view .LVU936
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
3120 .loc 1 1107 11 is_stmt 0 view .LVU937
3121 00f0 638D ldrh r3, [r4, #42]
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
3122 .loc 1 1107 22 view .LVU938
3123 00f2 013B subs r3, r3, #1
3124 00f4 9BB2 uxth r3, r3
3125 00f6 6385 strh r3, [r4, #42] @ movhi
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3126 .loc 1 1108 7 is_stmt 1 view .LVU939
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3127 .loc 1 1108 11 is_stmt 0 view .LVU940
3128 00f8 238D ldrh r3, [r4, #40]
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3129 .loc 1 1108 21 view .LVU941
3130 00fa 013B subs r3, r3, #1
3131 00fc 9BB2 uxth r3, r3
3132 00fe 2385 strh r3, [r4, #40] @ movhi
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3133 .loc 1 1110 7 is_stmt 1 view .LVU942
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3134 .loc 1 1110 12 is_stmt 0 view .LVU943
3135 0100 2268 ldr r2, [r4]
3136 0102 5069 ldr r0, [r2, #20]
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3137 .loc 1 1110 10 view .LVU944
3138 0104 10F0040F tst r0, #4
3139 0108 DAD0 beq .L235
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 196
3140 .loc 1 1110 59 discriminator 1 view .LVU945
3141 010a 002B cmp r3, #0
3142 010c D8D0 beq .L235
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3143 .loc 1 1113 9 is_stmt 1 view .LVU946
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3144 .loc 1 1113 30 is_stmt 0 view .LVU947
3145 010e 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3146 .loc 1 1113 28 view .LVU948
3147 0110 1361 str r3, [r2, #16]
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3148 .loc 1 1116 9 is_stmt 1 view .LVU949
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3149 .loc 1 1116 13 is_stmt 0 view .LVU950
3150 0112 636A ldr r3, [r4, #36]
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3151 .loc 1 1116 23 view .LVU951
3152 0114 0133 adds r3, r3, #1
3153 0116 6362 str r3, [r4, #36]
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
3154 .loc 1 1119 9 is_stmt 1 view .LVU952
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
3155 .loc 1 1119 13 is_stmt 0 view .LVU953
3156 0118 638D ldrh r3, [r4, #42]
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
3157 .loc 1 1119 24 view .LVU954
3158 011a 013B subs r3, r3, #1
3159 011c 9BB2 uxth r3, r3
3160 011e 6385 strh r3, [r4, #42] @ movhi
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3161 .loc 1 1120 9 is_stmt 1 view .LVU955
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3162 .loc 1 1120 13 is_stmt 0 view .LVU956
3163 0120 238D ldrh r3, [r4, #40]
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3164 .loc 1 1120 23 view .LVU957
3165 0122 013B subs r3, r3, #1
3166 0124 2385 strh r3, [r4, #40] @ movhi
3167 0126 CBE7 b .L235
3168 .L245:
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3169 .loc 1 1126 9 is_stmt 1 view .LVU958
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3170 .loc 1 1126 17 is_stmt 0 view .LVU959
3171 0128 236C ldr r3, [r4, #64]
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3172 .loc 1 1126 12 view .LVU960
3173 012a 042B cmp r3, #4
3174 012c 01D0 beq .L248
3175 .L236:
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3176 .loc 1 1131 9 is_stmt 1 view .LVU961
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3177 .loc 1 1131 16 is_stmt 0 view .LVU962
3178 012e 0126 movs r6, #1
3179 0130 75E7 b .L230
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 197
3180 .L248:
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3181 .loc 1 1129 11 is_stmt 1 view .LVU963
3182 0132 2268 ldr r2, [r4]
3183 0134 1368 ldr r3, [r2]
3184 0136 43F40073 orr r3, r3, #512
3185 013a 1360 str r3, [r2]
3186 013c F7E7 b .L236
3187 .L246:
1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3188 .loc 1 1136 5 view .LVU964
3189 013e 2268 ldr r2, [r4]
3190 0140 1368 ldr r3, [r2]
3191 0142 43F40073 orr r3, r3, #512
3192 0146 1360 str r3, [r2]
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3193 .loc 1 1138 5 view .LVU965
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3194 .loc 1 1138 17 is_stmt 0 view .LVU966
3195 0148 2023 movs r3, #32
3196 014a 84F83D30 strb r3, [r4, #61]
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3197 .loc 1 1139 5 is_stmt 1 view .LVU967
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3198 .loc 1 1139 16 is_stmt 0 view .LVU968
3199 014e 0023 movs r3, #0
3200 0150 84F83E30 strb r3, [r4, #62]
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3201 .loc 1 1142 5 is_stmt 1 view .LVU969
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3202 .loc 1 1142 5 view .LVU970
3203 0154 84F83C30 strb r3, [r4, #60]
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3204 .loc 1 1144 5 view .LVU971
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3205 .loc 1 1144 12 is_stmt 0 view .LVU972
3206 0158 61E7 b .L230
3207 .L239:
1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3208 .loc 1 1052 14 view .LVU973
3209 015a 0226 movs r6, #2
3210 015c 5FE7 b .L230
3211 .L240:
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3212 .loc 1 1056 5 view .LVU974
3213 015e 0226 movs r6, #2
3214 0160 5DE7 b .L230
3215 .L241:
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3216 .loc 1 1081 14 view .LVU975
3217 0162 0126 movs r6, #1
3218 0164 5BE7 b .L230
3219 .L250:
3220 0166 00BF .align 2
3221 .L249:
3222 0168 02001000 .word 1048578
3223 016c 0000FFFF .word -65536
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 198
3224 .cfi_endproc
3225 .LFE69:
3227 .section .text.HAL_I2C_Master_Receive,"ax",%progbits
3228 .align 1
3229 .global HAL_I2C_Master_Receive
3230 .syntax unified
3231 .thumb
3232 .thumb_func
3233 .fpu softvfp
3235 HAL_I2C_Master_Receive:
3236 .LVL141:
3237 .LFB70:
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
3238 .loc 1 1164 1 is_stmt 1 view -0
3239 .cfi_startproc
3240 @ args = 4, pretend = 0, frame = 16
3241 @ frame_needed = 0, uses_anonymous_args = 0
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
3242 .loc 1 1164 1 is_stmt 0 view .LVU977
3243 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
3244 .LCFI36:
3245 .cfi_def_cfa_offset 24
3246 .cfi_offset 4, -24
3247 .cfi_offset 5, -20
3248 .cfi_offset 6, -16
3249 .cfi_offset 7, -12
3250 .cfi_offset 8, -8
3251 .cfi_offset 14, -4
3252 0004 86B0 sub sp, sp, #24
3253 .LCFI37:
3254 .cfi_def_cfa_offset 48
3255 0006 0446 mov r4, r0
3256 0008 0E46 mov r6, r1
3257 000a 9046 mov r8, r2
3258 000c 1F46 mov r7, r3
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3259 .loc 1 1166 3 is_stmt 1 view .LVU978
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3260 .loc 1 1166 24 is_stmt 0 view .LVU979
3261 000e FFF7FEFF bl HAL_GetTick
3262 .LVL142:
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3263 .loc 1 1168 3 is_stmt 1 view .LVU980
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3264 .loc 1 1168 11 is_stmt 0 view .LVU981
3265 0012 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
3266 0016 DBB2 uxtb r3, r3
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3267 .loc 1 1168 6 view .LVU982
3268 0018 202B cmp r3, #32
3269 001a 04D0 beq .L274
1422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3270 .loc 1 1422 12 view .LVU983
3271 001c 0226 movs r6, #2
3272 .LVL143:
3273 .L252:
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 199
3274 .loc 1 1424 1 view .LVU984
3275 001e 3046 mov r0, r6
3276 0020 06B0 add sp, sp, #24
3277 .LCFI38:
3278 .cfi_remember_state
3279 .cfi_def_cfa_offset 24
3280 @ sp needed
3281 0022 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
3282 .LVL144:
3283 .L274:
3284 .LCFI39:
3285 .cfi_restore_state
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3286 .loc 1 1424 1 view .LVU985
3287 0026 0546 mov r5, r0
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3288 .loc 1 1171 5 is_stmt 1 view .LVU986
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3289 .loc 1 1171 9 is_stmt 0 view .LVU987
3290 0028 0090 str r0, [sp]
3291 002a 1923 movs r3, #25
3292 002c 0122 movs r2, #1
3293 002e 8A49 ldr r1, .L280
3294 0030 2046 mov r0, r4
3295 .LVL145:
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3296 .loc 1 1171 9 view .LVU988
3297 0032 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3298 .LVL146:
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3299 .loc 1 1171 8 view .LVU989
3300 0036 0028 cmp r0, #0
3301 0038 40F04481 bne .L265
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3302 .loc 1 1177 5 is_stmt 1 view .LVU990
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3303 .loc 1 1177 5 view .LVU991
3304 003c 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
3305 0040 012B cmp r3, #1
3306 0042 00F04181 beq .L266
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3307 .loc 1 1177 5 discriminator 2 view .LVU992
3308 0046 0123 movs r3, #1
3309 0048 84F83C30 strb r3, [r4, #60]
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3310 .loc 1 1180 5 discriminator 2 view .LVU993
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3311 .loc 1 1180 14 is_stmt 0 discriminator 2 view .LVU994
3312 004c 2368 ldr r3, [r4]
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3313 .loc 1 1180 24 discriminator 2 view .LVU995
3314 004e 1A68 ldr r2, [r3]
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3315 .loc 1 1180 8 discriminator 2 view .LVU996
3316 0050 12F0010F tst r2, #1
3317 0054 03D1 bne .L253
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 200
3318 .loc 1 1183 7 is_stmt 1 view .LVU997
3319 0056 1A68 ldr r2, [r3]
3320 0058 42F00102 orr r2, r2, #1
3321 005c 1A60 str r2, [r3]
3322 .L253:
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3323 .loc 1 1187 5 view .LVU998
3324 005e 2268 ldr r2, [r4]
3325 0060 1368 ldr r3, [r2]
3326 0062 23F40063 bic r3, r3, #2048
3327 0066 1360 str r3, [r2]
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3328 .loc 1 1189 5 view .LVU999
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3329 .loc 1 1189 23 is_stmt 0 view .LVU1000
3330 0068 2223 movs r3, #34
3331 006a 84F83D30 strb r3, [r4, #61]
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3332 .loc 1 1190 5 is_stmt 1 view .LVU1001
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3333 .loc 1 1190 23 is_stmt 0 view .LVU1002
3334 006e 1023 movs r3, #16
3335 0070 84F83E30 strb r3, [r4, #62]
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3336 .loc 1 1191 5 is_stmt 1 view .LVU1003
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3337 .loc 1 1191 23 is_stmt 0 view .LVU1004
3338 0074 0023 movs r3, #0
3339 0076 2364 str r3, [r4, #64]
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
3340 .loc 1 1194 5 is_stmt 1 view .LVU1005
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
3341 .loc 1 1194 23 is_stmt 0 view .LVU1006
3342 0078 C4F82480 str r8, [r4, #36]
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3343 .loc 1 1195 5 is_stmt 1 view .LVU1007
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3344 .loc 1 1195 23 is_stmt 0 view .LVU1008
3345 007c 6785 strh r7, [r4, #42] @ movhi
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3346 .loc 1 1196 5 is_stmt 1 view .LVU1009
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3347 .loc 1 1196 29 is_stmt 0 view .LVU1010
3348 007e 638D ldrh r3, [r4, #42]
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3349 .loc 1 1196 23 view .LVU1011
3350 0080 2385 strh r3, [r4, #40] @ movhi
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3351 .loc 1 1197 5 is_stmt 1 view .LVU1012
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3352 .loc 1 1197 23 is_stmt 0 view .LVU1013
3353 0082 764B ldr r3, .L280+4
3354 0084 E362 str r3, [r4, #44]
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3355 .loc 1 1200 5 is_stmt 1 view .LVU1014
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3356 .loc 1 1200 9 is_stmt 0 view .LVU1015
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 201
3357 0086 2B46 mov r3, r5
3358 0088 0C9A ldr r2, [sp, #48]
3359 008a 3146 mov r1, r6
3360 008c 2046 mov r0, r4
3361 008e FFF7FEFF bl I2C_MasterRequestRead
3362 .LVL147:
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3363 .loc 1 1200 8 view .LVU1016
3364 0092 0646 mov r6, r0
3365 0094 0028 cmp r0, #0
3366 0096 40F01981 bne .L267
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3367 .loc 1 1205 5 is_stmt 1 view .LVU1017
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3368 .loc 1 1205 13 is_stmt 0 view .LVU1018
3369 009a 238D ldrh r3, [r4, #40]
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3370 .loc 1 1205 8 view .LVU1019
3371 009c 5BB9 cbnz r3, .L254
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3372 .loc 1 1208 7 is_stmt 1 view .LVU1020
3373 .LBB57:
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3374 .loc 1 1208 7 view .LVU1021
3375 009e 0293 str r3, [sp, #8]
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3376 .loc 1 1208 7 view .LVU1022
3377 00a0 2368 ldr r3, [r4]
3378 00a2 5A69 ldr r2, [r3, #20]
3379 00a4 0292 str r2, [sp, #8]
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3380 .loc 1 1208 7 view .LVU1023
3381 00a6 9A69 ldr r2, [r3, #24]
3382 00a8 0292 str r2, [sp, #8]
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3383 .loc 1 1208 7 view .LVU1024
3384 00aa 029A ldr r2, [sp, #8]
3385 .LBE57:
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3386 .loc 1 1211 7 view .LVU1025
3387 00ac 1A68 ldr r2, [r3]
3388 00ae 42F40072 orr r2, r2, #512
3389 00b2 1A60 str r2, [r3]
3390 00b4 7DE0 b .L257
3391 .L254:
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3392 .loc 1 1213 10 view .LVU1026
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3393 .loc 1 1213 13 is_stmt 0 view .LVU1027
3394 00b6 012B cmp r3, #1
3395 00b8 0FD0 beq .L275
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3396 .loc 1 1231 10 is_stmt 1 view .LVU1028
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3397 .loc 1 1231 13 is_stmt 0 view .LVU1029
3398 00ba 022B cmp r3, #2
3399 00bc 21D0 beq .L276
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 202
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3400 .loc 1 1252 7 is_stmt 1 view .LVU1030
3401 00be 2268 ldr r2, [r4]
3402 00c0 1368 ldr r3, [r2]
3403 00c2 43F48063 orr r3, r3, #1024
3404 00c6 1360 str r3, [r2]
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3405 .loc 1 1255 7 view .LVU1031
3406 .LBB58:
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3407 .loc 1 1255 7 view .LVU1032
3408 00c8 0023 movs r3, #0
3409 00ca 0593 str r3, [sp, #20]
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3410 .loc 1 1255 7 view .LVU1033
3411 00cc 2368 ldr r3, [r4]
3412 00ce 5A69 ldr r2, [r3, #20]
3413 00d0 0592 str r2, [sp, #20]
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3414 .loc 1 1255 7 view .LVU1034
3415 00d2 9B69 ldr r3, [r3, #24]
3416 00d4 0593 str r3, [sp, #20]
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3417 .loc 1 1255 7 view .LVU1035
3418 00d6 059B ldr r3, [sp, #20]
3419 00d8 6BE0 b .L257
3420 .L275:
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3421 .loc 1 1255 7 is_stmt 0 view .LVU1036
3422 .LBE58:
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3423 .loc 1 1216 7 is_stmt 1 view .LVU1037
3424 00da 2268 ldr r2, [r4]
3425 00dc 1368 ldr r3, [r2]
3426 00de 23F48063 bic r3, r3, #1024
3427 00e2 1360 str r3, [r2]
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3428 .loc 1 1220 7 view .LVU1038
3429 .LBB59:
3430 .LBI59:
3431 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 203
17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
24:Drivers/CMSIS/Include/cmsis_gcc.h ****
25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
27:Drivers/CMSIS/Include/cmsis_gcc.h ****
28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
33:Drivers/CMSIS/Include/cmsis_gcc.h ****
34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
38:Drivers/CMSIS/Include/cmsis_gcc.h ****
39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 204
74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
116:Drivers/CMSIS/Include/cmsis_gcc.h ****
117:Drivers/CMSIS/Include/cmsis_gcc.h ****
118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
123:Drivers/CMSIS/Include/cmsis_gcc.h ****
124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 205
131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
133:Drivers/CMSIS/Include/cmsis_gcc.h ****
134:Drivers/CMSIS/Include/cmsis_gcc.h ****
135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
3432 .loc 2 140 27 view .LVU1039
3433 .LBB60:
141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
3434 .loc 2 142 3 view .LVU1040
3435 .syntax unified
3436 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3437 00e4 72B6 cpsid i
3438 @ 0 "" 2
3439 .thumb
3440 .syntax unified
3441 .LBE60:
3442 .LBE59:
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3443 .loc 1 1223 7 view .LVU1041
3444 .LBB61:
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3445 .loc 1 1223 7 view .LVU1042
3446 00e6 0023 movs r3, #0
3447 00e8 0393 str r3, [sp, #12]
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3448 .loc 1 1223 7 view .LVU1043
3449 00ea 2368 ldr r3, [r4]
3450 00ec 5A69 ldr r2, [r3, #20]
3451 00ee 0392 str r2, [sp, #12]
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3452 .loc 1 1223 7 view .LVU1044
3453 00f0 9A69 ldr r2, [r3, #24]
3454 00f2 0392 str r2, [sp, #12]
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3455 .loc 1 1223 7 view .LVU1045
3456 00f4 039A ldr r2, [sp, #12]
3457 .LBE61:
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3458 .loc 1 1226 7 view .LVU1046
3459 00f6 1A68 ldr r2, [r3]
3460 00f8 42F40072 orr r2, r2, #512
3461 00fc 1A60 str r2, [r3]
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3462 .loc 1 1229 7 view .LVU1047
3463 .LBB62:
3464 .LBI62:
129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3465 .loc 2 129 27 view .LVU1048
3466 .LBB63:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3467 .loc 2 131 3 view .LVU1049
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 206
3468 .syntax unified
3469 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3470 00fe 62B6 cpsie i
3471 @ 0 "" 2
3472 .thumb
3473 .syntax unified
3474 0100 57E0 b .L257
3475 .L276:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3476 .loc 2 131 3 is_stmt 0 view .LVU1050
3477 .LBE63:
3478 .LBE62:
1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3479 .loc 1 1234 7 is_stmt 1 view .LVU1051
3480 0102 2268 ldr r2, [r4]
3481 0104 1368 ldr r3, [r2]
3482 0106 43F40063 orr r3, r3, #2048
3483 010a 1360 str r3, [r2]
1238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3484 .loc 1 1238 7 view .LVU1052
3485 .LBB64:
3486 .LBI64:
140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3487 .loc 2 140 27 view .LVU1053
3488 .LBB65:
3489 .loc 2 142 3 view .LVU1054
3490 .syntax unified
3491 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3492 010c 72B6 cpsid i
3493 @ 0 "" 2
3494 .thumb
3495 .syntax unified
3496 .LBE65:
3497 .LBE64:
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3498 .loc 1 1241 7 view .LVU1055
3499 .LBB66:
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3500 .loc 1 1241 7 view .LVU1056
3501 010e 0023 movs r3, #0
3502 0110 0493 str r3, [sp, #16]
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3503 .loc 1 1241 7 view .LVU1057
3504 0112 2368 ldr r3, [r4]
3505 0114 5A69 ldr r2, [r3, #20]
3506 0116 0492 str r2, [sp, #16]
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3507 .loc 1 1241 7 view .LVU1058
3508 0118 9A69 ldr r2, [r3, #24]
3509 011a 0492 str r2, [sp, #16]
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3510 .loc 1 1241 7 view .LVU1059
3511 011c 049A ldr r2, [sp, #16]
3512 .LBE66:
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3513 .loc 1 1244 7 view .LVU1060
3514 011e 1A68 ldr r2, [r3]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 207
3515 0120 22F48062 bic r2, r2, #1024
3516 0124 1A60 str r2, [r3]
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3517 .loc 1 1247 7 view .LVU1061
3518 .LBB67:
3519 .LBI67:
129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3520 .loc 2 129 27 view .LVU1062
3521 .LBB68:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3522 .loc 2 131 3 view .LVU1063
3523 .syntax unified
3524 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3525 0126 62B6 cpsie i
3526 @ 0 "" 2
3527 .thumb
3528 .syntax unified
3529 0128 43E0 b .L257
3530 .L278:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3531 .loc 2 131 3 is_stmt 0 view .LVU1064
3532 .LBE68:
3533 .LBE67:
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3534 .loc 1 1266 11 is_stmt 1 view .LVU1065
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3535 .loc 1 1266 15 is_stmt 0 view .LVU1066
3536 012a 2A46 mov r2, r5
3537 012c 0C99 ldr r1, [sp, #48]
3538 012e 2046 mov r0, r4
3539 0130 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
3540 .LVL148:
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3541 .loc 1 1266 14 view .LVU1067
3542 0134 0028 cmp r0, #0
3543 0136 40F0CB80 bne .L268
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3544 .loc 1 1272 11 is_stmt 1 view .LVU1068
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3545 .loc 1 1272 42 is_stmt 0 view .LVU1069
3546 013a 2368 ldr r3, [r4]
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3547 .loc 1 1272 52 view .LVU1070
3548 013c 1A69 ldr r2, [r3, #16]
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3549 .loc 1 1272 16 view .LVU1071
3550 013e 636A ldr r3, [r4, #36]
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3551 .loc 1 1272 27 view .LVU1072
3552 0140 1A70 strb r2, [r3]
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3553 .loc 1 1275 11 is_stmt 1 view .LVU1073
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3554 .loc 1 1275 15 is_stmt 0 view .LVU1074
3555 0142 636A ldr r3, [r4, #36]
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3556 .loc 1 1275 25 view .LVU1075
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 208
3557 0144 0133 adds r3, r3, #1
3558 0146 6362 str r3, [r4, #36]
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3559 .loc 1 1278 11 is_stmt 1 view .LVU1076
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3560 .loc 1 1278 15 is_stmt 0 view .LVU1077
3561 0148 238D ldrh r3, [r4, #40]
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3562 .loc 1 1278 25 view .LVU1078
3563 014a 013B subs r3, r3, #1
3564 014c 2385 strh r3, [r4, #40] @ movhi
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3565 .loc 1 1279 11 is_stmt 1 view .LVU1079
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3566 .loc 1 1279 15 is_stmt 0 view .LVU1080
3567 014e 638D ldrh r3, [r4, #42]
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3568 .loc 1 1279 26 view .LVU1081
3569 0150 013B subs r3, r3, #1
3570 0152 9BB2 uxth r3, r3
3571 0154 6385 strh r3, [r4, #42] @ movhi
3572 0156 2CE0 b .L257
3573 .L279:
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3574 .loc 1 1285 11 is_stmt 1 view .LVU1082
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3575 .loc 1 1285 15 is_stmt 0 view .LVU1083
3576 0158 0095 str r5, [sp]
3577 015a 0C9B ldr r3, [sp, #48]
3578 015c 0022 movs r2, #0
3579 015e 4049 ldr r1, .L280+8
3580 0160 2046 mov r0, r4
3581 0162 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3582 .LVL149:
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3583 .loc 1 1285 14 view .LVU1084
3584 0166 0028 cmp r0, #0
3585 0168 40F0B480 bne .L269
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3586 .loc 1 1292 11 is_stmt 1 view .LVU1085
3587 .LBB69:
3588 .LBI69:
140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3589 .loc 2 140 27 view .LVU1086
3590 .LBB70:
3591 .loc 2 142 3 view .LVU1087
3592 .syntax unified
3593 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3594 016c 72B6 cpsid i
3595 @ 0 "" 2
3596 .thumb
3597 .syntax unified
3598 .LBE70:
3599 .LBE69:
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3600 .loc 1 1295 11 view .LVU1088
3601 016e 2268 ldr r2, [r4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 209
3602 0170 1368 ldr r3, [r2]
3603 0172 43F40073 orr r3, r3, #512
3604 0176 1360 str r3, [r2]
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3605 .loc 1 1298 11 view .LVU1089
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3606 .loc 1 1298 42 is_stmt 0 view .LVU1090
3607 0178 2368 ldr r3, [r4]
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3608 .loc 1 1298 52 view .LVU1091
3609 017a 1A69 ldr r2, [r3, #16]
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3610 .loc 1 1298 16 view .LVU1092
3611 017c 636A ldr r3, [r4, #36]
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3612 .loc 1 1298 27 view .LVU1093
3613 017e 1A70 strb r2, [r3]
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3614 .loc 1 1301 11 is_stmt 1 view .LVU1094
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3615 .loc 1 1301 15 is_stmt 0 view .LVU1095
3616 0180 636A ldr r3, [r4, #36]
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3617 .loc 1 1301 25 view .LVU1096
3618 0182 0133 adds r3, r3, #1
3619 0184 6362 str r3, [r4, #36]
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3620 .loc 1 1304 11 is_stmt 1 view .LVU1097
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3621 .loc 1 1304 15 is_stmt 0 view .LVU1098
3622 0186 238D ldrh r3, [r4, #40]
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3623 .loc 1 1304 25 view .LVU1099
3624 0188 013B subs r3, r3, #1
3625 018a 2385 strh r3, [r4, #40] @ movhi
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3626 .loc 1 1305 11 is_stmt 1 view .LVU1100
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3627 .loc 1 1305 15 is_stmt 0 view .LVU1101
3628 018c 638D ldrh r3, [r4, #42]
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3629 .loc 1 1305 26 view .LVU1102
3630 018e 013B subs r3, r3, #1
3631 0190 9BB2 uxth r3, r3
3632 0192 6385 strh r3, [r4, #42] @ movhi
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3633 .loc 1 1308 11 is_stmt 1 view .LVU1103
3634 .LBB71:
3635 .LBI71:
129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3636 .loc 2 129 27 view .LVU1104
3637 .LBB72:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3638 .loc 2 131 3 view .LVU1105
3639 .syntax unified
3640 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3641 0194 62B6 cpsie i
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 210
3642 @ 0 "" 2
3643 .thumb
3644 .syntax unified
3645 .LBE72:
3646 .LBE71:
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3647 .loc 1 1311 11 view .LVU1106
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3648 .loc 1 1311 42 is_stmt 0 view .LVU1107
3649 0196 2368 ldr r3, [r4]
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3650 .loc 1 1311 52 view .LVU1108
3651 0198 1A69 ldr r2, [r3, #16]
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3652 .loc 1 1311 16 view .LVU1109
3653 019a 636A ldr r3, [r4, #36]
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3654 .loc 1 1311 27 view .LVU1110
3655 019c 1A70 strb r2, [r3]
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3656 .loc 1 1314 11 is_stmt 1 view .LVU1111
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3657 .loc 1 1314 15 is_stmt 0 view .LVU1112
3658 019e 636A ldr r3, [r4, #36]
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3659 .loc 1 1314 25 view .LVU1113
3660 01a0 0133 adds r3, r3, #1
3661 01a2 6362 str r3, [r4, #36]
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3662 .loc 1 1317 11 is_stmt 1 view .LVU1114
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3663 .loc 1 1317 15 is_stmt 0 view .LVU1115
3664 01a4 238D ldrh r3, [r4, #40]
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3665 .loc 1 1317 25 view .LVU1116
3666 01a6 013B subs r3, r3, #1
3667 01a8 2385 strh r3, [r4, #40] @ movhi
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3668 .loc 1 1318 11 is_stmt 1 view .LVU1117
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3669 .loc 1 1318 15 is_stmt 0 view .LVU1118
3670 01aa 638D ldrh r3, [r4, #42]
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3671 .loc 1 1318 26 view .LVU1119
3672 01ac 013B subs r3, r3, #1
3673 01ae 9BB2 uxth r3, r3
3674 01b0 6385 strh r3, [r4, #42] @ movhi
3675 .L257:
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3676 .loc 1 1258 16 view .LVU1120
3677 01b2 238D ldrh r3, [r4, #40]
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3678 .loc 1 1258 11 view .LVU1121
3679 01b4 002B cmp r3, #0
3680 01b6 7CD0 beq .L277
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3681 .loc 1 1260 7 is_stmt 1 view .LVU1122
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 211
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3682 .loc 1 1260 10 is_stmt 0 view .LVU1123
3683 01b8 032B cmp r3, #3
3684 01ba 53D8 bhi .L259
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3685 .loc 1 1263 9 is_stmt 1 view .LVU1124
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3686 .loc 1 1263 12 is_stmt 0 view .LVU1125
3687 01bc 012B cmp r3, #1
3688 01be B4D0 beq .L278
1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3689 .loc 1 1282 14 is_stmt 1 view .LVU1126
1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3690 .loc 1 1282 17 is_stmt 0 view .LVU1127
3691 01c0 022B cmp r3, #2
3692 01c2 C9D0 beq .L279
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3693 .loc 1 1324 11 is_stmt 1 view .LVU1128
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3694 .loc 1 1324 15 is_stmt 0 view .LVU1129
3695 01c4 0095 str r5, [sp]
3696 01c6 0C9B ldr r3, [sp, #48]
3697 01c8 0022 movs r2, #0
3698 01ca 2549 ldr r1, .L280+8
3699 01cc 2046 mov r0, r4
3700 01ce FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3701 .LVL150:
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3702 .loc 1 1324 14 view .LVU1130
3703 01d2 0028 cmp r0, #0
3704 01d4 40F08080 bne .L270
1330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3705 .loc 1 1330 11 is_stmt 1 view .LVU1131
3706 01d8 2268 ldr r2, [r4]
3707 01da 1368 ldr r3, [r2]
3708 01dc 23F48063 bic r3, r3, #1024
3709 01e0 1360 str r3, [r2]
1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3710 .loc 1 1334 11 view .LVU1132
3711 .LBB73:
3712 .LBI73:
140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3713 .loc 2 140 27 view .LVU1133
3714 .LBB74:
3715 .loc 2 142 3 view .LVU1134
3716 .syntax unified
3717 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3718 01e2 72B6 cpsid i
3719 @ 0 "" 2
3720 .thumb
3721 .syntax unified
3722 .LBE74:
3723 .LBE73:
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3724 .loc 1 1337 11 view .LVU1135
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3725 .loc 1 1337 42 is_stmt 0 view .LVU1136
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 212
3726 01e4 2368 ldr r3, [r4]
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3727 .loc 1 1337 52 view .LVU1137
3728 01e6 1A69 ldr r2, [r3, #16]
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3729 .loc 1 1337 16 view .LVU1138
3730 01e8 636A ldr r3, [r4, #36]
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3731 .loc 1 1337 27 view .LVU1139
3732 01ea 1A70 strb r2, [r3]
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3733 .loc 1 1340 11 is_stmt 1 view .LVU1140
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3734 .loc 1 1340 15 is_stmt 0 view .LVU1141
3735 01ec 636A ldr r3, [r4, #36]
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3736 .loc 1 1340 25 view .LVU1142
3737 01ee 0133 adds r3, r3, #1
3738 01f0 6362 str r3, [r4, #36]
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3739 .loc 1 1343 11 is_stmt 1 view .LVU1143
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3740 .loc 1 1343 15 is_stmt 0 view .LVU1144
3741 01f2 238D ldrh r3, [r4, #40]
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3742 .loc 1 1343 25 view .LVU1145
3743 01f4 013B subs r3, r3, #1
3744 01f6 2385 strh r3, [r4, #40] @ movhi
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3745 .loc 1 1344 11 is_stmt 1 view .LVU1146
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3746 .loc 1 1344 15 is_stmt 0 view .LVU1147
3747 01f8 638D ldrh r3, [r4, #42]
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3748 .loc 1 1344 26 view .LVU1148
3749 01fa 013B subs r3, r3, #1
3750 01fc 9BB2 uxth r3, r3
3751 01fe 6385 strh r3, [r4, #42] @ movhi
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3752 .loc 1 1347 11 is_stmt 1 view .LVU1149
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3753 .loc 1 1347 15 is_stmt 0 view .LVU1150
3754 0200 0095 str r5, [sp]
3755 0202 0C9B ldr r3, [sp, #48]
3756 0204 0022 movs r2, #0
3757 0206 1649 ldr r1, .L280+8
3758 0208 2046 mov r0, r4
3759 020a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3760 .LVL151:
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3761 .loc 1 1347 14 view .LVU1151
3762 020e 0028 cmp r0, #0
3763 0210 64D1 bne .L271
1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3764 .loc 1 1353 11 is_stmt 1 view .LVU1152
3765 0212 2268 ldr r2, [r4]
3766 0214 1368 ldr r3, [r2]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 213
3767 0216 43F40073 orr r3, r3, #512
3768 021a 1360 str r3, [r2]
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3769 .loc 1 1356 11 view .LVU1153
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3770 .loc 1 1356 42 is_stmt 0 view .LVU1154
3771 021c 2368 ldr r3, [r4]
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3772 .loc 1 1356 52 view .LVU1155
3773 021e 1A69 ldr r2, [r3, #16]
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3774 .loc 1 1356 16 view .LVU1156
3775 0220 636A ldr r3, [r4, #36]
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3776 .loc 1 1356 27 view .LVU1157
3777 0222 1A70 strb r2, [r3]
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3778 .loc 1 1359 11 is_stmt 1 view .LVU1158
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3779 .loc 1 1359 15 is_stmt 0 view .LVU1159
3780 0224 636A ldr r3, [r4, #36]
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3781 .loc 1 1359 25 view .LVU1160
3782 0226 0133 adds r3, r3, #1
3783 0228 6362 str r3, [r4, #36]
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3784 .loc 1 1362 11 is_stmt 1 view .LVU1161
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3785 .loc 1 1362 15 is_stmt 0 view .LVU1162
3786 022a 238D ldrh r3, [r4, #40]
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3787 .loc 1 1362 25 view .LVU1163
3788 022c 013B subs r3, r3, #1
3789 022e 2385 strh r3, [r4, #40] @ movhi
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3790 .loc 1 1363 11 is_stmt 1 view .LVU1164
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3791 .loc 1 1363 15 is_stmt 0 view .LVU1165
3792 0230 638D ldrh r3, [r4, #42]
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3793 .loc 1 1363 26 view .LVU1166
3794 0232 013B subs r3, r3, #1
3795 0234 9BB2 uxth r3, r3
3796 0236 6385 strh r3, [r4, #42] @ movhi
1366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3797 .loc 1 1366 11 is_stmt 1 view .LVU1167
3798 .LBB75:
3799 .LBI75:
129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3800 .loc 2 129 27 view .LVU1168
3801 .LBB76:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3802 .loc 2 131 3 view .LVU1169
3803 .syntax unified
3804 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3805 0238 62B6 cpsie i
3806 @ 0 "" 2
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 214
3807 .thumb
3808 .syntax unified
3809 .LBE76:
3810 .LBE75:
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3811 .loc 1 1369 11 view .LVU1170
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3812 .loc 1 1369 42 is_stmt 0 view .LVU1171
3813 023a 2368 ldr r3, [r4]
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3814 .loc 1 1369 52 view .LVU1172
3815 023c 1A69 ldr r2, [r3, #16]
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3816 .loc 1 1369 16 view .LVU1173
3817 023e 636A ldr r3, [r4, #36]
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3818 .loc 1 1369 27 view .LVU1174
3819 0240 1A70 strb r2, [r3]
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3820 .loc 1 1372 11 is_stmt 1 view .LVU1175
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3821 .loc 1 1372 15 is_stmt 0 view .LVU1176
3822 0242 636A ldr r3, [r4, #36]
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3823 .loc 1 1372 25 view .LVU1177
3824 0244 0133 adds r3, r3, #1
3825 0246 6362 str r3, [r4, #36]
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3826 .loc 1 1375 11 is_stmt 1 view .LVU1178
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3827 .loc 1 1375 15 is_stmt 0 view .LVU1179
3828 0248 238D ldrh r3, [r4, #40]
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3829 .loc 1 1375 25 view .LVU1180
3830 024a 013B subs r3, r3, #1
3831 024c 2385 strh r3, [r4, #40] @ movhi
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3832 .loc 1 1376 11 is_stmt 1 view .LVU1181
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3833 .loc 1 1376 15 is_stmt 0 view .LVU1182
3834 024e 638D ldrh r3, [r4, #42]
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3835 .loc 1 1376 26 view .LVU1183
3836 0250 013B subs r3, r3, #1
3837 0252 9BB2 uxth r3, r3
3838 0254 6385 strh r3, [r4, #42] @ movhi
3839 0256 ACE7 b .L257
3840 .L281:
3841 .align 2
3842 .L280:
3843 0258 02001000 .word 1048578
3844 025c 0000FFFF .word -65536
3845 0260 04000100 .word 65540
3846 .L259:
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3847 .loc 1 1382 9 is_stmt 1 view .LVU1184
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 215
3848 .loc 1 1382 13 is_stmt 0 view .LVU1185
3849 0264 2A46 mov r2, r5
3850 0266 0C99 ldr r1, [sp, #48]
3851 0268 2046 mov r0, r4
3852 026a FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
3853 .LVL152:
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3854 .loc 1 1382 12 view .LVU1186
3855 026e 0028 cmp r0, #0
3856 0270 36D1 bne .L272
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3857 .loc 1 1388 9 is_stmt 1 view .LVU1187
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3858 .loc 1 1388 40 is_stmt 0 view .LVU1188
3859 0272 2368 ldr r3, [r4]
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3860 .loc 1 1388 50 view .LVU1189
3861 0274 1A69 ldr r2, [r3, #16]
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3862 .loc 1 1388 14 view .LVU1190
3863 0276 636A ldr r3, [r4, #36]
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3864 .loc 1 1388 25 view .LVU1191
3865 0278 1A70 strb r2, [r3]
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3866 .loc 1 1391 9 is_stmt 1 view .LVU1192
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3867 .loc 1 1391 13 is_stmt 0 view .LVU1193
3868 027a 626A ldr r2, [r4, #36]
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3869 .loc 1 1391 23 view .LVU1194
3870 027c 531C adds r3, r2, #1
3871 027e 6362 str r3, [r4, #36]
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3872 .loc 1 1394 9 is_stmt 1 view .LVU1195
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3873 .loc 1 1394 13 is_stmt 0 view .LVU1196
3874 0280 238D ldrh r3, [r4, #40]
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3875 .loc 1 1394 23 view .LVU1197
3876 0282 013B subs r3, r3, #1
3877 0284 2385 strh r3, [r4, #40] @ movhi
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3878 .loc 1 1395 9 is_stmt 1 view .LVU1198
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3879 .loc 1 1395 13 is_stmt 0 view .LVU1199
3880 0286 638D ldrh r3, [r4, #42]
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3881 .loc 1 1395 24 view .LVU1200
3882 0288 013B subs r3, r3, #1
3883 028a 9BB2 uxth r3, r3
3884 028c 6385 strh r3, [r4, #42] @ movhi
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3885 .loc 1 1397 9 is_stmt 1 view .LVU1201
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3886 .loc 1 1397 13 is_stmt 0 view .LVU1202
3887 028e 2368 ldr r3, [r4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 216
3888 0290 5969 ldr r1, [r3, #20]
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3889 .loc 1 1397 12 view .LVU1203
3890 0292 11F0040F tst r1, #4
3891 0296 8CD0 beq .L257
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3892 .loc 1 1400 11 is_stmt 1 view .LVU1204
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3893 .loc 1 1400 52 is_stmt 0 view .LVU1205
3894 0298 1B69 ldr r3, [r3, #16]
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3895 .loc 1 1400 27 view .LVU1206
3896 029a 5370 strb r3, [r2, #1]
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3897 .loc 1 1403 11 is_stmt 1 view .LVU1207
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3898 .loc 1 1403 15 is_stmt 0 view .LVU1208
3899 029c 636A ldr r3, [r4, #36]
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3900 .loc 1 1403 25 view .LVU1209
3901 029e 0133 adds r3, r3, #1
3902 02a0 6362 str r3, [r4, #36]
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3903 .loc 1 1406 11 is_stmt 1 view .LVU1210
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3904 .loc 1 1406 15 is_stmt 0 view .LVU1211
3905 02a2 238D ldrh r3, [r4, #40]
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
3906 .loc 1 1406 25 view .LVU1212
3907 02a4 013B subs r3, r3, #1
3908 02a6 2385 strh r3, [r4, #40] @ movhi
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3909 .loc 1 1407 11 is_stmt 1 view .LVU1213
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3910 .loc 1 1407 15 is_stmt 0 view .LVU1214
3911 02a8 638D ldrh r3, [r4, #42]
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3912 .loc 1 1407 26 view .LVU1215
3913 02aa 013B subs r3, r3, #1
3914 02ac 9BB2 uxth r3, r3
3915 02ae 6385 strh r3, [r4, #42] @ movhi
3916 02b0 7FE7 b .L257
3917 .L277:
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3918 .loc 1 1412 5 is_stmt 1 view .LVU1216
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3919 .loc 1 1412 17 is_stmt 0 view .LVU1217
3920 02b2 2023 movs r3, #32
3921 02b4 84F83D30 strb r3, [r4, #61]
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3922 .loc 1 1413 5 is_stmt 1 view .LVU1218
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3923 .loc 1 1413 16 is_stmt 0 view .LVU1219
3924 02b8 0023 movs r3, #0
3925 02ba 84F83E30 strb r3, [r4, #62]
1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3926 .loc 1 1416 5 is_stmt 1 view .LVU1220
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 217
1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3927 .loc 1 1416 5 view .LVU1221
3928 02be 84F83C30 strb r3, [r4, #60]
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3929 .loc 1 1418 5 view .LVU1222
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3930 .loc 1 1418 12 is_stmt 0 view .LVU1223
3931 02c2 ACE6 b .L252
3932 .L265:
1173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3933 .loc 1 1173 14 view .LVU1224
3934 02c4 0226 movs r6, #2
3935 02c6 AAE6 b .L252
3936 .L266:
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3937 .loc 1 1177 5 view .LVU1225
3938 02c8 0226 movs r6, #2
3939 02ca A8E6 b .L252
3940 .L267:
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3941 .loc 1 1202 14 view .LVU1226
3942 02cc 0126 movs r6, #1
3943 02ce A6E6 b .L252
3944 .L268:
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3945 .loc 1 1268 20 view .LVU1227
3946 02d0 0126 movs r6, #1
3947 02d2 A4E6 b .L252
3948 .L269:
1287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3949 .loc 1 1287 20 view .LVU1228
3950 02d4 0126 movs r6, #1
3951 02d6 A2E6 b .L252
3952 .L270:
1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3953 .loc 1 1326 20 view .LVU1229
3954 02d8 0126 movs r6, #1
3955 02da A0E6 b .L252
3956 .L271:
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3957 .loc 1 1349 20 view .LVU1230
3958 02dc 0126 movs r6, #1
3959 02de 9EE6 b .L252
3960 .L272:
1384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3961 .loc 1 1384 18 view .LVU1231
3962 02e0 0126 movs r6, #1
3963 02e2 9CE6 b .L252
3964 .cfi_endproc
3965 .LFE70:
3967 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits
3968 .align 1
3969 .global HAL_I2C_Slave_Transmit
3970 .syntax unified
3971 .thumb
3972 .thumb_func
3973 .fpu softvfp
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 218
3975 HAL_I2C_Slave_Transmit:
3976 .LVL153:
3977 .LFB71:
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
3978 .loc 1 1436 1 is_stmt 1 view -0
3979 .cfi_startproc
3980 @ args = 0, pretend = 0, frame = 8
3981 @ frame_needed = 0, uses_anonymous_args = 0
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
3982 .loc 1 1436 1 is_stmt 0 view .LVU1233
3983 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
3984 .LCFI40:
3985 .cfi_def_cfa_offset 24
3986 .cfi_offset 4, -24
3987 .cfi_offset 5, -20
3988 .cfi_offset 6, -16
3989 .cfi_offset 7, -12
3990 .cfi_offset 8, -8
3991 .cfi_offset 14, -4
3992 0004 84B0 sub sp, sp, #16
3993 .LCFI41:
3994 .cfi_def_cfa_offset 40
3995 0006 0446 mov r4, r0
3996 0008 0F46 mov r7, r1
3997 000a 9046 mov r8, r2
3998 000c 1D46 mov r5, r3
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
3999 .loc 1 1438 3 is_stmt 1 view .LVU1234
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4000 .loc 1 1438 24 is_stmt 0 view .LVU1235
4001 000e FFF7FEFF bl HAL_GetTick
4002 .LVL154:
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4003 .loc 1 1440 3 is_stmt 1 view .LVU1236
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4004 .loc 1 1440 11 is_stmt 0 view .LVU1237
4005 0012 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
4006 0016 DBB2 uxtb r3, r3
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4007 .loc 1 1440 6 view .LVU1238
4008 0018 202B cmp r3, #32
4009 001a 40F0A880 bne .L290
4010 001e 0646 mov r6, r0
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4011 .loc 1 1442 5 is_stmt 1 view .LVU1239
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4012 .loc 1 1442 8 is_stmt 0 view .LVU1240
4013 0020 002F cmp r7, #0
4014 0022 00F0A980 beq .L291
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4015 .loc 1 1442 25 discriminator 1 view .LVU1241
4016 0026 B8F1000F cmp r8, #0
4017 002a 00F0A780 beq .L292
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4018 .loc 1 1448 5 is_stmt 1 view .LVU1242
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4019 .loc 1 1448 5 view .LVU1243
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 219
4020 002e 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
4021 0032 012B cmp r3, #1
4022 0034 00F0A480 beq .L293
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4023 .loc 1 1448 5 discriminator 2 view .LVU1244
4024 0038 0123 movs r3, #1
4025 003a 84F83C30 strb r3, [r4, #60]
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4026 .loc 1 1451 5 discriminator 2 view .LVU1245
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4027 .loc 1 1451 14 is_stmt 0 discriminator 2 view .LVU1246
4028 003e 2368 ldr r3, [r4]
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4029 .loc 1 1451 24 discriminator 2 view .LVU1247
4030 0040 1A68 ldr r2, [r3]
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4031 .loc 1 1451 8 discriminator 2 view .LVU1248
4032 0042 12F0010F tst r2, #1
4033 0046 03D1 bne .L284
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4034 .loc 1 1454 7 is_stmt 1 view .LVU1249
4035 0048 1A68 ldr r2, [r3]
4036 004a 42F00102 orr r2, r2, #1
4037 004e 1A60 str r2, [r3]
4038 .L284:
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4039 .loc 1 1458 5 view .LVU1250
4040 0050 2268 ldr r2, [r4]
4041 0052 1368 ldr r3, [r2]
4042 0054 23F40063 bic r3, r3, #2048
4043 0058 1360 str r3, [r2]
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4044 .loc 1 1460 5 view .LVU1251
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4045 .loc 1 1460 23 is_stmt 0 view .LVU1252
4046 005a 2123 movs r3, #33
4047 005c 84F83D30 strb r3, [r4, #61]
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4048 .loc 1 1461 5 is_stmt 1 view .LVU1253
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4049 .loc 1 1461 23 is_stmt 0 view .LVU1254
4050 0060 2023 movs r3, #32
4051 0062 84F83E30 strb r3, [r4, #62]
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4052 .loc 1 1462 5 is_stmt 1 view .LVU1255
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4053 .loc 1 1462 23 is_stmt 0 view .LVU1256
4054 0066 0022 movs r2, #0
4055 0068 2264 str r2, [r4, #64]
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4056 .loc 1 1465 5 is_stmt 1 view .LVU1257
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4057 .loc 1 1465 23 is_stmt 0 view .LVU1258
4058 006a 6762 str r7, [r4, #36]
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4059 .loc 1 1466 5 is_stmt 1 view .LVU1259
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 220
4060 .loc 1 1466 23 is_stmt 0 view .LVU1260
4061 006c A4F82A80 strh r8, [r4, #42] @ movhi
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4062 .loc 1 1467 5 is_stmt 1 view .LVU1261
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4063 .loc 1 1467 29 is_stmt 0 view .LVU1262
4064 0070 638D ldrh r3, [r4, #42]
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4065 .loc 1 1467 23 view .LVU1263
4066 0072 2385 strh r3, [r4, #40] @ movhi
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4067 .loc 1 1468 5 is_stmt 1 view .LVU1264
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4068 .loc 1 1468 23 is_stmt 0 view .LVU1265
4069 0074 464B ldr r3, .L301
4070 0076 E362 str r3, [r4, #44]
1471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4071 .loc 1 1471 5 is_stmt 1 view .LVU1266
4072 0078 2168 ldr r1, [r4]
4073 007a 0B68 ldr r3, [r1]
4074 007c 43F48063 orr r3, r3, #1024
4075 0080 0B60 str r3, [r1]
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4076 .loc 1 1474 5 view .LVU1267
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4077 .loc 1 1474 9 is_stmt 0 view .LVU1268
4078 0082 0096 str r6, [sp]
4079 0084 2B46 mov r3, r5
4080 0086 4349 ldr r1, .L301+4
4081 0088 2046 mov r0, r4
4082 .LVL155:
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4083 .loc 1 1474 9 view .LVU1269
4084 008a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
4085 .LVL156:
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4086 .loc 1 1474 8 view .LVU1270
4087 008e 0028 cmp r0, #0
4088 0090 78D1 bne .L294
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4089 .loc 1 1480 5 is_stmt 1 view .LVU1271
4090 .LBB77:
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4091 .loc 1 1480 5 view .LVU1272
4092 0092 0023 movs r3, #0
4093 0094 0293 str r3, [sp, #8]
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4094 .loc 1 1480 5 view .LVU1273
4095 0096 2368 ldr r3, [r4]
4096 0098 5A69 ldr r2, [r3, #20]
4097 009a 0292 str r2, [sp, #8]
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4098 .loc 1 1480 5 view .LVU1274
4099 009c 9B69 ldr r3, [r3, #24]
4100 009e 0293 str r3, [sp, #8]
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4101 .loc 1 1480 5 view .LVU1275
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 221
4102 00a0 029B ldr r3, [sp, #8]
4103 .LBE77:
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4104 .loc 1 1483 5 view .LVU1276
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4105 .loc 1 1483 19 is_stmt 0 view .LVU1277
4106 00a2 2369 ldr r3, [r4, #16]
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4107 .loc 1 1483 8 view .LVU1278
4108 00a4 B3F5404F cmp r3, #49152
4109 00a8 2CD0 beq .L298
4110 .L286:
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4111 .loc 1 1495 16 view .LVU1279
4112 00aa 238D ldrh r3, [r4, #40]
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4113 .loc 1 1495 11 view .LVU1280
4114 00ac 002B cmp r3, #0
4115 00ae 42D0 beq .L299
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4116 .loc 1 1498 7 is_stmt 1 view .LVU1281
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4117 .loc 1 1498 11 is_stmt 0 view .LVU1282
4118 00b0 3246 mov r2, r6
4119 00b2 2946 mov r1, r5
4120 00b4 2046 mov r0, r4
4121 00b6 FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout
4122 .LVL157:
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4123 .loc 1 1498 10 view .LVU1283
4124 00ba 0028 cmp r0, #0
4125 00bc 34D1 bne .L300
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4126 .loc 1 1507 7 is_stmt 1 view .LVU1284
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4127 .loc 1 1507 33 is_stmt 0 view .LVU1285
4128 00be 626A ldr r2, [r4, #36]
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4129 .loc 1 1507 11 view .LVU1286
4130 00c0 2368 ldr r3, [r4]
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4131 .loc 1 1507 28 view .LVU1287
4132 00c2 1278 ldrb r2, [r2] @ zero_extendqisi2
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4133 .loc 1 1507 26 view .LVU1288
4134 00c4 1A61 str r2, [r3, #16]
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4135 .loc 1 1510 7 is_stmt 1 view .LVU1289
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4136 .loc 1 1510 11 is_stmt 0 view .LVU1290
4137 00c6 616A ldr r1, [r4, #36]
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4138 .loc 1 1510 21 view .LVU1291
4139 00c8 4B1C adds r3, r1, #1
4140 00ca 6362 str r3, [r4, #36]
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
4141 .loc 1 1513 7 is_stmt 1 view .LVU1292
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 222
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
4142 .loc 1 1513 11 is_stmt 0 view .LVU1293
4143 00cc 638D ldrh r3, [r4, #42]
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
4144 .loc 1 1513 22 view .LVU1294
4145 00ce 013B subs r3, r3, #1
4146 00d0 9BB2 uxth r3, r3
4147 00d2 6385 strh r3, [r4, #42] @ movhi
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4148 .loc 1 1514 7 is_stmt 1 view .LVU1295
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4149 .loc 1 1514 11 is_stmt 0 view .LVU1296
4150 00d4 238D ldrh r3, [r4, #40]
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4151 .loc 1 1514 21 view .LVU1297
4152 00d6 013B subs r3, r3, #1
4153 00d8 9BB2 uxth r3, r3
4154 00da 2385 strh r3, [r4, #40] @ movhi
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4155 .loc 1 1516 7 is_stmt 1 view .LVU1298
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4156 .loc 1 1516 12 is_stmt 0 view .LVU1299
4157 00dc 2268 ldr r2, [r4]
4158 00de 5069 ldr r0, [r2, #20]
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4159 .loc 1 1516 10 view .LVU1300
4160 00e0 10F0040F tst r0, #4
4161 00e4 E1D0 beq .L286
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4162 .loc 1 1516 59 discriminator 1 view .LVU1301
4163 00e6 002B cmp r3, #0
4164 00e8 DFD0 beq .L286
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4165 .loc 1 1519 9 is_stmt 1 view .LVU1302
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4166 .loc 1 1519 30 is_stmt 0 view .LVU1303
4167 00ea 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4168 .loc 1 1519 28 view .LVU1304
4169 00ec 1361 str r3, [r2, #16]
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4170 .loc 1 1522 9 is_stmt 1 view .LVU1305
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4171 .loc 1 1522 13 is_stmt 0 view .LVU1306
4172 00ee 636A ldr r3, [r4, #36]
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4173 .loc 1 1522 23 view .LVU1307
4174 00f0 0133 adds r3, r3, #1
4175 00f2 6362 str r3, [r4, #36]
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
4176 .loc 1 1525 9 is_stmt 1 view .LVU1308
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
4177 .loc 1 1525 13 is_stmt 0 view .LVU1309
4178 00f4 638D ldrh r3, [r4, #42]
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize--;
4179 .loc 1 1525 24 view .LVU1310
4180 00f6 013B subs r3, r3, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 223
4181 00f8 9BB2 uxth r3, r3
4182 00fa 6385 strh r3, [r4, #42] @ movhi
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4183 .loc 1 1526 9 is_stmt 1 view .LVU1311
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4184 .loc 1 1526 13 is_stmt 0 view .LVU1312
4185 00fc 238D ldrh r3, [r4, #40]
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4186 .loc 1 1526 23 view .LVU1313
4187 00fe 013B subs r3, r3, #1
4188 0100 2385 strh r3, [r4, #40] @ movhi
4189 0102 D2E7 b .L286
4190 .L298:
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4191 .loc 1 1486 7 is_stmt 1 view .LVU1314
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4192 .loc 1 1486 11 is_stmt 0 view .LVU1315
4193 0104 0096 str r6, [sp]
4194 0106 2B46 mov r3, r5
4195 0108 0022 movs r2, #0
4196 010a 2249 ldr r1, .L301+4
4197 010c 2046 mov r0, r4
4198 010e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
4199 .LVL158:
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4200 .loc 1 1486 10 view .LVU1316
4201 0112 0028 cmp r0, #0
4202 0114 38D1 bne .L295
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4203 .loc 1 1492 7 is_stmt 1 view .LVU1317
4204 .LBB78:
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4205 .loc 1 1492 7 view .LVU1318
4206 0116 0023 movs r3, #0
4207 0118 0393 str r3, [sp, #12]
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4208 .loc 1 1492 7 view .LVU1319
4209 011a 2368 ldr r3, [r4]
4210 011c 5A69 ldr r2, [r3, #20]
4211 011e 0392 str r2, [sp, #12]
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4212 .loc 1 1492 7 view .LVU1320
4213 0120 9B69 ldr r3, [r3, #24]
4214 0122 0393 str r3, [sp, #12]
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4215 .loc 1 1492 7 view .LVU1321
4216 0124 039B ldr r3, [sp, #12]
4217 0126 C0E7 b .L286
4218 .L300:
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4219 .loc 1 1492 7 is_stmt 0 view .LVU1322
4220 .LBE78:
1501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4221 .loc 1 1501 9 is_stmt 1 view .LVU1323
4222 0128 2268 ldr r2, [r4]
4223 012a 1368 ldr r3, [r2]
4224 012c 23F48063 bic r3, r3, #1024
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 224
4225 0130 1360 str r3, [r2]
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4226 .loc 1 1503 9 view .LVU1324
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4227 .loc 1 1503 16 is_stmt 0 view .LVU1325
4228 0132 0123 movs r3, #1
4229 0134 1CE0 b .L283
4230 .L299:
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4231 .loc 1 1531 5 is_stmt 1 view .LVU1326
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4232 .loc 1 1531 9 is_stmt 0 view .LVU1327
4233 0136 0096 str r6, [sp]
4234 0138 2B46 mov r3, r5
4235 013a 0022 movs r2, #0
4236 013c 4FF48231 mov r1, #66560
4237 0140 2046 mov r0, r4
4238 0142 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
4239 .LVL159:
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4240 .loc 1 1531 8 view .LVU1328
4241 0146 0346 mov r3, r0
4242 0148 00BB cbnz r0, .L296
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4243 .loc 1 1537 5 is_stmt 1 view .LVU1329
4244 014a 2268 ldr r2, [r4]
4245 014c 6FF48061 mvn r1, #1024
4246 0150 5161 str r1, [r2, #20]
1540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4247 .loc 1 1540 5 view .LVU1330
4248 0152 2168 ldr r1, [r4]
4249 0154 0A68 ldr r2, [r1]
4250 0156 22F48062 bic r2, r2, #1024
4251 015a 0A60 str r2, [r1]
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4252 .loc 1 1542 5 view .LVU1331
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4253 .loc 1 1542 17 is_stmt 0 view .LVU1332
4254 015c 2022 movs r2, #32
4255 015e 84F83D20 strb r2, [r4, #61]
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4256 .loc 1 1543 5 is_stmt 1 view .LVU1333
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4257 .loc 1 1543 16 is_stmt 0 view .LVU1334
4258 0162 0022 movs r2, #0
4259 0164 84F83E20 strb r2, [r4, #62]
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4260 .loc 1 1546 5 is_stmt 1 view .LVU1335
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4261 .loc 1 1546 5 view .LVU1336
4262 0168 84F83C20 strb r2, [r4, #60]
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4263 .loc 1 1548 5 view .LVU1337
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4264 .loc 1 1548 12 is_stmt 0 view .LVU1338
4265 016c 00E0 b .L283
4266 .LVL160:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 225
4267 .L290:
1552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4268 .loc 1 1552 12 view .LVU1339
4269 016e 0223 movs r3, #2
4270 .LVL161:
4271 .L283:
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4272 .loc 1 1554 1 view .LVU1340
4273 0170 1846 mov r0, r3
4274 0172 04B0 add sp, sp, #16
4275 .LCFI42:
4276 .cfi_remember_state
4277 .cfi_def_cfa_offset 24
4278 @ sp needed
4279 0174 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
4280 .LVL162:
4281 .L291:
4282 .LCFI43:
4283 .cfi_restore_state
1444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4284 .loc 1 1444 15 view .LVU1341
4285 0178 0123 movs r3, #1
4286 017a F9E7 b .L283
4287 .L292:
4288 017c 0123 movs r3, #1
4289 017e F7E7 b .L283
4290 .L293:
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4291 .loc 1 1448 5 view .LVU1342
4292 0180 0223 movs r3, #2
4293 0182 F5E7 b .L283
4294 .LVL163:
4295 .L294:
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4296 .loc 1 1476 14 view .LVU1343
4297 0184 0123 movs r3, #1
4298 0186 F3E7 b .L283
4299 .L295:
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4300 .loc 1 1488 16 view .LVU1344
4301 0188 0123 movs r3, #1
4302 018a F1E7 b .L283
4303 .L296:
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4304 .loc 1 1533 14 view .LVU1345
4305 018c 0123 movs r3, #1
4306 018e EFE7 b .L283
4307 .L302:
4308 .align 2
4309 .L301:
4310 0190 0000FFFF .word -65536
4311 0194 02000100 .word 65538
4312 .cfi_endproc
4313 .LFE71:
4315 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits
4316 .align 1
4317 .global HAL_I2C_Slave_Receive
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 226
4318 .syntax unified
4319 .thumb
4320 .thumb_func
4321 .fpu softvfp
4323 HAL_I2C_Slave_Receive:
4324 .LVL164:
4325 .LFB72:
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
4326 .loc 1 1566 1 is_stmt 1 view -0
4327 .cfi_startproc
4328 @ args = 0, pretend = 0, frame = 8
4329 @ frame_needed = 0, uses_anonymous_args = 0
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
4330 .loc 1 1566 1 is_stmt 0 view .LVU1347
4331 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
4332 .LCFI44:
4333 .cfi_def_cfa_offset 24
4334 .cfi_offset 4, -24
4335 .cfi_offset 5, -20
4336 .cfi_offset 6, -16
4337 .cfi_offset 7, -12
4338 .cfi_offset 8, -8
4339 .cfi_offset 14, -4
4340 0004 84B0 sub sp, sp, #16
4341 .LCFI45:
4342 .cfi_def_cfa_offset 40
4343 0006 0446 mov r4, r0
4344 0008 0F46 mov r7, r1
4345 000a 9046 mov r8, r2
4346 000c 1D46 mov r5, r3
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4347 .loc 1 1568 3 is_stmt 1 view .LVU1348
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4348 .loc 1 1568 24 is_stmt 0 view .LVU1349
4349 000e FFF7FEFF bl HAL_GetTick
4350 .LVL165:
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4351 .loc 1 1570 3 is_stmt 1 view .LVU1350
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4352 .loc 1 1570 11 is_stmt 0 view .LVU1351
4353 0012 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
4354 0016 DBB2 uxtb r3, r3
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4355 .loc 1 1570 6 view .LVU1352
4356 0018 202B cmp r3, #32
4357 001a 40F09A80 bne .L311
4358 001e 0646 mov r6, r0
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4359 .loc 1 1572 5 is_stmt 1 view .LVU1353
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4360 .loc 1 1572 8 is_stmt 0 view .LVU1354
4361 0020 002F cmp r7, #0
4362 0022 00F09B80 beq .L312
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4363 .loc 1 1572 25 discriminator 1 view .LVU1355
4364 0026 B8F1000F cmp r8, #0
4365 002a 00F09980 beq .L313
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 227
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4366 .loc 1 1578 5 is_stmt 1 view .LVU1356
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4367 .loc 1 1578 5 view .LVU1357
4368 002e 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
4369 0032 012B cmp r3, #1
4370 0034 00F09680 beq .L314
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4371 .loc 1 1578 5 discriminator 2 view .LVU1358
4372 0038 0123 movs r3, #1
4373 003a 84F83C30 strb r3, [r4, #60]
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4374 .loc 1 1581 5 discriminator 2 view .LVU1359
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4375 .loc 1 1581 14 is_stmt 0 discriminator 2 view .LVU1360
4376 003e 2368 ldr r3, [r4]
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4377 .loc 1 1581 24 discriminator 2 view .LVU1361
4378 0040 1A68 ldr r2, [r3]
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4379 .loc 1 1581 8 discriminator 2 view .LVU1362
4380 0042 12F0010F tst r2, #1
4381 0046 03D1 bne .L305
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4382 .loc 1 1584 7 is_stmt 1 view .LVU1363
4383 0048 1A68 ldr r2, [r3]
4384 004a 42F00102 orr r2, r2, #1
4385 004e 1A60 str r2, [r3]
4386 .L305:
1588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4387 .loc 1 1588 5 view .LVU1364
4388 0050 2268 ldr r2, [r4]
4389 0052 1368 ldr r3, [r2]
4390 0054 23F40063 bic r3, r3, #2048
4391 0058 1360 str r3, [r2]
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4392 .loc 1 1590 5 view .LVU1365
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4393 .loc 1 1590 23 is_stmt 0 view .LVU1366
4394 005a 2223 movs r3, #34
4395 005c 84F83D30 strb r3, [r4, #61]
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4396 .loc 1 1591 5 is_stmt 1 view .LVU1367
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4397 .loc 1 1591 23 is_stmt 0 view .LVU1368
4398 0060 2023 movs r3, #32
4399 0062 84F83E30 strb r3, [r4, #62]
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4400 .loc 1 1592 5 is_stmt 1 view .LVU1369
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4401 .loc 1 1592 23 is_stmt 0 view .LVU1370
4402 0066 0022 movs r2, #0
4403 0068 2264 str r2, [r4, #64]
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4404 .loc 1 1595 5 is_stmt 1 view .LVU1371
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4405 .loc 1 1595 23 is_stmt 0 view .LVU1372
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 228
4406 006a 6762 str r7, [r4, #36]
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4407 .loc 1 1596 5 is_stmt 1 view .LVU1373
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4408 .loc 1 1596 23 is_stmt 0 view .LVU1374
4409 006c A4F82A80 strh r8, [r4, #42] @ movhi
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4410 .loc 1 1597 5 is_stmt 1 view .LVU1375
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4411 .loc 1 1597 29 is_stmt 0 view .LVU1376
4412 0070 638D ldrh r3, [r4, #42]
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4413 .loc 1 1597 23 view .LVU1377
4414 0072 2385 strh r3, [r4, #40] @ movhi
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4415 .loc 1 1598 5 is_stmt 1 view .LVU1378
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4416 .loc 1 1598 23 is_stmt 0 view .LVU1379
4417 0074 3D4B ldr r3, .L319
4418 0076 E362 str r3, [r4, #44]
1601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4419 .loc 1 1601 5 is_stmt 1 view .LVU1380
4420 0078 2168 ldr r1, [r4]
4421 007a 0B68 ldr r3, [r1]
4422 007c 43F48063 orr r3, r3, #1024
4423 0080 0B60 str r3, [r1]
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4424 .loc 1 1604 5 view .LVU1381
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4425 .loc 1 1604 9 is_stmt 0 view .LVU1382
4426 0082 0096 str r6, [sp]
4427 0084 2B46 mov r3, r5
4428 0086 3A49 ldr r1, .L319+4
4429 0088 2046 mov r0, r4
4430 .LVL166:
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4431 .loc 1 1604 9 view .LVU1383
4432 008a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
4433 .LVL167:
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4434 .loc 1 1604 8 view .LVU1384
4435 008e 0028 cmp r0, #0
4436 0090 6AD1 bne .L315
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4437 .loc 1 1610 5 is_stmt 1 view .LVU1385
4438 .LBB79:
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4439 .loc 1 1610 5 view .LVU1386
4440 0092 0023 movs r3, #0
4441 0094 0293 str r3, [sp, #8]
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4442 .loc 1 1610 5 view .LVU1387
4443 0096 2368 ldr r3, [r4]
4444 0098 5A69 ldr r2, [r3, #20]
4445 009a 0292 str r2, [sp, #8]
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4446 .loc 1 1610 5 view .LVU1388
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 229
4447 009c 9B69 ldr r3, [r3, #24]
4448 009e 0293 str r3, [sp, #8]
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4449 .loc 1 1610 5 view .LVU1389
4450 00a0 029B ldr r3, [sp, #8]
4451 .LBE79:
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4452 .loc 1 1612 5 view .LVU1390
4453 .L306:
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4454 .loc 1 1612 16 is_stmt 0 view .LVU1391
4455 00a2 238D ldrh r3, [r4, #40]
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4456 .loc 1 1612 11 view .LVU1392
4457 00a4 002B cmp r3, #0
4458 00a6 2FD0 beq .L317
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4459 .loc 1 1615 7 is_stmt 1 view .LVU1393
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4460 .loc 1 1615 11 is_stmt 0 view .LVU1394
4461 00a8 3246 mov r2, r6
4462 00aa 2946 mov r1, r5
4463 00ac 2046 mov r0, r4
4464 00ae FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
4465 .LVL168:
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4466 .loc 1 1615 10 view .LVU1395
4467 00b2 10BB cbnz r0, .L318
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4468 .loc 1 1624 7 is_stmt 1 view .LVU1396
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4469 .loc 1 1624 38 is_stmt 0 view .LVU1397
4470 00b4 2368 ldr r3, [r4]
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4471 .loc 1 1624 48 view .LVU1398
4472 00b6 1A69 ldr r2, [r3, #16]
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4473 .loc 1 1624 12 view .LVU1399
4474 00b8 636A ldr r3, [r4, #36]
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4475 .loc 1 1624 23 view .LVU1400
4476 00ba 1A70 strb r2, [r3]
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4477 .loc 1 1627 7 is_stmt 1 view .LVU1401
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4478 .loc 1 1627 11 is_stmt 0 view .LVU1402
4479 00bc 616A ldr r1, [r4, #36]
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4480 .loc 1 1627 21 view .LVU1403
4481 00be 4B1C adds r3, r1, #1
4482 00c0 6362 str r3, [r4, #36]
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
4483 .loc 1 1630 7 is_stmt 1 view .LVU1404
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
4484 .loc 1 1630 11 is_stmt 0 view .LVU1405
4485 00c2 238D ldrh r3, [r4, #40]
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 230
4486 .loc 1 1630 21 view .LVU1406
4487 00c4 013B subs r3, r3, #1
4488 00c6 9BB2 uxth r3, r3
4489 00c8 2385 strh r3, [r4, #40] @ movhi
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4490 .loc 1 1631 7 is_stmt 1 view .LVU1407
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4491 .loc 1 1631 11 is_stmt 0 view .LVU1408
4492 00ca 628D ldrh r2, [r4, #42]
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4493 .loc 1 1631 22 view .LVU1409
4494 00cc 013A subs r2, r2, #1
4495 00ce 92B2 uxth r2, r2
4496 00d0 6285 strh r2, [r4, #42] @ movhi
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4497 .loc 1 1633 7 is_stmt 1 view .LVU1410
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4498 .loc 1 1633 12 is_stmt 0 view .LVU1411
4499 00d2 2268 ldr r2, [r4]
4500 00d4 5069 ldr r0, [r2, #20]
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4501 .loc 1 1633 10 view .LVU1412
4502 00d6 10F0040F tst r0, #4
4503 00da E2D0 beq .L306
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4504 .loc 1 1633 59 discriminator 1 view .LVU1413
4505 00dc 002B cmp r3, #0
4506 00de E0D0 beq .L306
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4507 .loc 1 1636 9 is_stmt 1 view .LVU1414
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4508 .loc 1 1636 50 is_stmt 0 view .LVU1415
4509 00e0 1369 ldr r3, [r2, #16]
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4510 .loc 1 1636 25 view .LVU1416
4511 00e2 4B70 strb r3, [r1, #1]
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4512 .loc 1 1639 9 is_stmt 1 view .LVU1417
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4513 .loc 1 1639 13 is_stmt 0 view .LVU1418
4514 00e4 636A ldr r3, [r4, #36]
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4515 .loc 1 1639 23 view .LVU1419
4516 00e6 0133 adds r3, r3, #1
4517 00e8 6362 str r3, [r4, #36]
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
4518 .loc 1 1642 9 is_stmt 1 view .LVU1420
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
4519 .loc 1 1642 13 is_stmt 0 view .LVU1421
4520 00ea 238D ldrh r3, [r4, #40]
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
4521 .loc 1 1642 23 view .LVU1422
4522 00ec 013B subs r3, r3, #1
4523 00ee 2385 strh r3, [r4, #40] @ movhi
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4524 .loc 1 1643 9 is_stmt 1 view .LVU1423
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 231
4525 .loc 1 1643 13 is_stmt 0 view .LVU1424
4526 00f0 638D ldrh r3, [r4, #42]
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4527 .loc 1 1643 24 view .LVU1425
4528 00f2 013B subs r3, r3, #1
4529 00f4 9BB2 uxth r3, r3
4530 00f6 6385 strh r3, [r4, #42] @ movhi
4531 00f8 D3E7 b .L306
4532 .L318:
1618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4533 .loc 1 1618 9 is_stmt 1 view .LVU1426
4534 00fa 2268 ldr r2, [r4]
4535 00fc 1368 ldr r3, [r2]
4536 00fe 23F48063 bic r3, r3, #1024
4537 0102 1360 str r3, [r2]
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4538 .loc 1 1620 9 view .LVU1427
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4539 .loc 1 1620 16 is_stmt 0 view .LVU1428
4540 0104 0123 movs r3, #1
4541 0106 25E0 b .L304
4542 .L317:
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4543 .loc 1 1648 5 is_stmt 1 view .LVU1429
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4544 .loc 1 1648 9 is_stmt 0 view .LVU1430
4545 0108 3246 mov r2, r6
4546 010a 2946 mov r1, r5
4547 010c 2046 mov r0, r4
4548 010e FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
4549 .LVL169:
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4550 .loc 1 1648 8 view .LVU1431
4551 0112 0346 mov r3, r0
4552 0114 30B1 cbz r0, .L310
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4553 .loc 1 1651 7 is_stmt 1 view .LVU1432
4554 0116 2268 ldr r2, [r4]
4555 0118 1368 ldr r3, [r2]
4556 011a 23F48063 bic r3, r3, #1024
4557 011e 1360 str r3, [r2]
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4558 .loc 1 1653 7 view .LVU1433
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4559 .loc 1 1653 14 is_stmt 0 view .LVU1434
4560 0120 0123 movs r3, #1
4561 0122 17E0 b .L304
4562 .L310:
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4563 .loc 1 1657 5 is_stmt 1 view .LVU1435
4564 .LBB80:
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4565 .loc 1 1657 5 view .LVU1436
4566 0124 0022 movs r2, #0
4567 0126 0392 str r2, [sp, #12]
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4568 .loc 1 1657 5 view .LVU1437
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 232
4569 0128 2168 ldr r1, [r4]
4570 012a 4869 ldr r0, [r1, #20]
4571 012c 0390 str r0, [sp, #12]
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4572 .loc 1 1657 5 view .LVU1438
4573 012e 0868 ldr r0, [r1]
4574 0130 40F00100 orr r0, r0, #1
4575 0134 0860 str r0, [r1]
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4576 .loc 1 1657 5 view .LVU1439
4577 0136 0399 ldr r1, [sp, #12]
4578 .LBE80:
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4579 .loc 1 1660 5 view .LVU1440
4580 0138 2068 ldr r0, [r4]
4581 013a 0168 ldr r1, [r0]
4582 013c 21F48061 bic r1, r1, #1024
4583 0140 0160 str r1, [r0]
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4584 .loc 1 1662 5 view .LVU1441
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4585 .loc 1 1662 17 is_stmt 0 view .LVU1442
4586 0142 2021 movs r1, #32
4587 0144 84F83D10 strb r1, [r4, #61]
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4588 .loc 1 1663 5 is_stmt 1 view .LVU1443
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4589 .loc 1 1663 16 is_stmt 0 view .LVU1444
4590 0148 84F83E20 strb r2, [r4, #62]
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4591 .loc 1 1666 5 is_stmt 1 view .LVU1445
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4592 .loc 1 1666 5 view .LVU1446
4593 014c 84F83C20 strb r2, [r4, #60]
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4594 .loc 1 1668 5 view .LVU1447
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4595 .loc 1 1668 12 is_stmt 0 view .LVU1448
4596 0150 00E0 b .L304
4597 .LVL170:
4598 .L311:
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4599 .loc 1 1672 12 view .LVU1449
4600 0152 0223 movs r3, #2
4601 .LVL171:
4602 .L304:
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4603 .loc 1 1674 1 view .LVU1450
4604 0154 1846 mov r0, r3
4605 0156 04B0 add sp, sp, #16
4606 .LCFI46:
4607 .cfi_remember_state
4608 .cfi_def_cfa_offset 24
4609 @ sp needed
4610 0158 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
4611 .LVL172:
4612 .L312:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 233
4613 .LCFI47:
4614 .cfi_restore_state
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4615 .loc 1 1574 14 view .LVU1451
4616 015c 0123 movs r3, #1
4617 015e F9E7 b .L304
4618 .L313:
4619 0160 0123 movs r3, #1
4620 0162 F7E7 b .L304
4621 .L314:
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4622 .loc 1 1578 5 view .LVU1452
4623 0164 0223 movs r3, #2
4624 0166 F5E7 b .L304
4625 .LVL173:
4626 .L315:
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4627 .loc 1 1606 14 view .LVU1453
4628 0168 0123 movs r3, #1
4629 016a F3E7 b .L304
4630 .L320:
4631 .align 2
4632 .L319:
4633 016c 0000FFFF .word -65536
4634 0170 02000100 .word 65538
4635 .cfi_endproc
4636 .LFE72:
4638 .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
4639 .align 1
4640 .global HAL_I2C_Master_Transmit_IT
4641 .syntax unified
4642 .thumb
4643 .thumb_func
4644 .fpu softvfp
4646 HAL_I2C_Master_Transmit_IT:
4647 .LVL174:
4648 .LFB73:
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
4649 .loc 1 1687 1 is_stmt 1 view -0
4650 .cfi_startproc
4651 @ args = 0, pretend = 0, frame = 8
4652 @ frame_needed = 0, uses_anonymous_args = 0
4653 @ link register save eliminated.
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
4654 .loc 1 1687 1 is_stmt 0 view .LVU1455
4655 0000 30B4 push {r4, r5}
4656 .LCFI48:
4657 .cfi_def_cfa_offset 8
4658 .cfi_offset 4, -8
4659 .cfi_offset 5, -4
4660 0002 82B0 sub sp, sp, #8
4661 .LCFI49:
4662 .cfi_def_cfa_offset 16
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4663 .loc 1 1688 3 is_stmt 1 view .LVU1456
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4664 .loc 1 1688 17 is_stmt 0 view .LVU1457
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 234
4665 0004 0024 movs r4, #0
4666 0006 0194 str r4, [sp, #4]
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4667 .loc 1 1690 3 is_stmt 1 view .LVU1458
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4668 .loc 1 1690 11 is_stmt 0 view .LVU1459
4669 0008 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
4670 000c E4B2 uxtb r4, r4
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4671 .loc 1 1690 6 view .LVU1460
4672 000e 202C cmp r4, #32
4673 0010 56D1 bne .L326
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
4674 .loc 1 1693 5 is_stmt 1 view .LVU1461
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
4675 .loc 1 1693 60 is_stmt 0 view .LVU1462
4676 0012 2E4C ldr r4, .L330
4677 0014 2468 ldr r4, [r4]
4678 0016 E408 lsrs r4, r4, #3
4679 0018 2D4D ldr r5, .L330+4
4680 001a A5FB0454 umull r5, r4, r5, r4
4681 001e 240A lsrs r4, r4, #8
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
4682 .loc 1 1693 35 view .LVU1463
4683 0020 04EB8404 add r4, r4, r4, lsl #2
4684 0024 04EB8404 add r4, r4, r4, lsl #2
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
4685 .loc 1 1693 11 view .LVU1464
4686 0028 0194 str r4, [sp, #4]
4687 .L324:
1694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4688 .loc 1 1694 5 is_stmt 1 view .LVU1465
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
4689 .loc 1 1696 7 view .LVU1466
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
4690 .loc 1 1696 12 is_stmt 0 view .LVU1467
4691 002a 019C ldr r4, [sp, #4]
4692 002c 013C subs r4, r4, #1
4693 002e 0194 str r4, [sp, #4]
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4694 .loc 1 1697 7 is_stmt 1 view .LVU1468
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4695 .loc 1 1697 17 is_stmt 0 view .LVU1469
4696 0030 019C ldr r4, [sp, #4]
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4697 .loc 1 1697 10 view .LVU1470
4698 0032 002C cmp r4, #0
4699 0034 35D0 beq .L329
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4700 .loc 1 1710 12 view .LVU1471
4701 0036 0468 ldr r4, [r0]
4702 0038 A569 ldr r5, [r4, #24]
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4703 .loc 1 1710 5 view .LVU1472
4704 003a 15F0020F tst r5, #2
4705 003e F4D1 bne .L324
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 235
4706 .loc 1 1713 5 is_stmt 1 view .LVU1473
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4707 .loc 1 1713 5 view .LVU1474
4708 0040 90F83C50 ldrb r5, [r0, #60] @ zero_extendqisi2
4709 0044 012D cmp r5, #1
4710 0046 3FD0 beq .L327
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4711 .loc 1 1713 5 discriminator 2 view .LVU1475
4712 0048 0125 movs r5, #1
4713 004a 80F83C50 strb r5, [r0, #60]
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4714 .loc 1 1716 5 discriminator 2 view .LVU1476
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4715 .loc 1 1716 24 is_stmt 0 discriminator 2 view .LVU1477
4716 004e 2568 ldr r5, [r4]
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4717 .loc 1 1716 8 discriminator 2 view .LVU1478
4718 0050 15F0010F tst r5, #1
4719 0054 03D1 bne .L325
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4720 .loc 1 1719 7 is_stmt 1 view .LVU1479
4721 0056 2568 ldr r5, [r4]
4722 0058 45F00105 orr r5, r5, #1
4723 005c 2560 str r5, [r4]
4724 .L325:
1723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4725 .loc 1 1723 5 view .LVU1480
4726 005e 0568 ldr r5, [r0]
4727 0060 2C68 ldr r4, [r5]
4728 0062 24F40064 bic r4, r4, #2048
4729 0066 2C60 str r4, [r5]
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4730 .loc 1 1725 5 view .LVU1481
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4731 .loc 1 1725 21 is_stmt 0 view .LVU1482
4732 0068 2124 movs r4, #33
4733 006a 80F83D40 strb r4, [r0, #61]
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4734 .loc 1 1726 5 is_stmt 1 view .LVU1483
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4735 .loc 1 1726 21 is_stmt 0 view .LVU1484
4736 006e 1024 movs r4, #16
4737 0070 80F83E40 strb r4, [r0, #62]
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4738 .loc 1 1727 5 is_stmt 1 view .LVU1485
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4739 .loc 1 1727 21 is_stmt 0 view .LVU1486
4740 0074 0024 movs r4, #0
4741 0076 0464 str r4, [r0, #64]
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4742 .loc 1 1730 5 is_stmt 1 view .LVU1487
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4743 .loc 1 1730 23 is_stmt 0 view .LVU1488
4744 0078 4262 str r2, [r0, #36]
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4745 .loc 1 1731 5 is_stmt 1 view .LVU1489
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 236
4746 .loc 1 1731 23 is_stmt 0 view .LVU1490
4747 007a 4385 strh r3, [r0, #42] @ movhi
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4748 .loc 1 1732 5 is_stmt 1 view .LVU1491
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4749 .loc 1 1732 29 is_stmt 0 view .LVU1492
4750 007c 438D ldrh r3, [r0, #42]
4751 .LVL175:
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4752 .loc 1 1732 23 view .LVU1493
4753 007e 0385 strh r3, [r0, #40] @ movhi
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
4754 .loc 1 1733 5 is_stmt 1 view .LVU1494
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
4755 .loc 1 1733 23 is_stmt 0 view .LVU1495
4756 0080 144B ldr r3, .L330+8
4757 0082 C362 str r3, [r0, #44]
4758 .LVL176:
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4759 .loc 1 1734 5 is_stmt 1 view .LVU1496
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4760 .loc 1 1734 23 is_stmt 0 view .LVU1497
4761 0084 4164 str r1, [r0, #68]
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4762 .loc 1 1737 5 is_stmt 1 view .LVU1498
4763 0086 0268 ldr r2, [r0]
4764 .LVL177:
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4765 .loc 1 1737 5 is_stmt 0 view .LVU1499
4766 0088 1368 ldr r3, [r2]
4767 008a 43F48073 orr r3, r3, #256
4768 008e 1360 str r3, [r2]
4769 .LVL178:
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4770 .loc 1 1740 5 is_stmt 1 view .LVU1500
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4771 .loc 1 1740 5 view .LVU1501
4772 0090 80F83C40 strb r4, [r0, #60]
1746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4773 .loc 1 1746 5 view .LVU1502
4774 0094 0268 ldr r2, [r0]
4775 0096 5368 ldr r3, [r2, #4]
4776 0098 43F4E063 orr r3, r3, #1792
4777 009c 5360 str r3, [r2, #4]
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4778 .loc 1 1748 5 view .LVU1503
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4779 .loc 1 1748 12 is_stmt 0 view .LVU1504
4780 009e 2046 mov r0, r4
4781 .LVL179:
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4782 .loc 1 1748 12 view .LVU1505
4783 00a0 0FE0 b .L322
4784 .LVL180:
4785 .L329:
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
4786 .loc 1 1699 9 is_stmt 1 view .LVU1506
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 237
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
4787 .loc 1 1699 35 is_stmt 0 view .LVU1507
4788 00a2 0023 movs r3, #0
4789 .LVL181:
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
4790 .loc 1 1699 35 view .LVU1508
4791 00a4 0363 str r3, [r0, #48]
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4792 .loc 1 1700 9 is_stmt 1 view .LVU1509
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4793 .loc 1 1700 35 is_stmt 0 view .LVU1510
4794 00a6 2022 movs r2, #32
4795 .LVL182:
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4796 .loc 1 1700 35 view .LVU1511
4797 00a8 80F83D20 strb r2, [r0, #61]
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
4798 .loc 1 1701 9 is_stmt 1 view .LVU1512
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
4799 .loc 1 1701 35 is_stmt 0 view .LVU1513
4800 00ac 80F83E30 strb r3, [r0, #62]
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4801 .loc 1 1702 9 is_stmt 1 view .LVU1514
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4802 .loc 1 1702 35 is_stmt 0 view .LVU1515
4803 00b0 026C ldr r2, [r0, #64]
4804 00b2 42F02002 orr r2, r2, #32
4805 00b6 0264 str r2, [r0, #64]
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4806 .loc 1 1705 9 is_stmt 1 view .LVU1516
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4807 .loc 1 1705 9 view .LVU1517
4808 00b8 80F83C30 strb r3, [r0, #60]
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4809 .loc 1 1707 9 view .LVU1518
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4810 .loc 1 1707 16 is_stmt 0 view .LVU1519
4811 00bc 0120 movs r0, #1
4812 .LVL183:
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4813 .loc 1 1707 16 view .LVU1520
4814 00be 00E0 b .L322
4815 .LVL184:
4816 .L326:
1752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4817 .loc 1 1752 12 view .LVU1521
4818 00c0 0220 movs r0, #2
4819 .LVL185:
4820 .L322:
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4821 .loc 1 1754 1 view .LVU1522
4822 00c2 02B0 add sp, sp, #8
4823 .LCFI50:
4824 .cfi_remember_state
4825 .cfi_def_cfa_offset 8
4826 @ sp needed
4827 00c4 30BC pop {r4, r5}
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 238
4828 .LCFI51:
4829 .cfi_restore 5
4830 .cfi_restore 4
4831 .cfi_def_cfa_offset 0
4832 00c6 7047 bx lr
4833 .LVL186:
4834 .L327:
4835 .LCFI52:
4836 .cfi_restore_state
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4837 .loc 1 1713 5 view .LVU1523
4838 00c8 0220 movs r0, #2
4839 .LVL187:
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4840 .loc 1 1713 5 view .LVU1524
4841 00ca FAE7 b .L322
4842 .L331:
4843 .align 2
4844 .L330:
4845 00cc 00000000 .word SystemCoreClock
4846 00d0 89B5F814 .word 351843721
4847 00d4 0000FFFF .word -65536
4848 .cfi_endproc
4849 .LFE73:
4851 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits
4852 .align 1
4853 .global HAL_I2C_Master_Receive_IT
4854 .syntax unified
4855 .thumb
4856 .thumb_func
4857 .fpu softvfp
4859 HAL_I2C_Master_Receive_IT:
4860 .LVL188:
4861 .LFB74:
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
4862 .loc 1 1767 1 is_stmt 1 view -0
4863 .cfi_startproc
4864 @ args = 0, pretend = 0, frame = 8
4865 @ frame_needed = 0, uses_anonymous_args = 0
4866 @ link register save eliminated.
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
4867 .loc 1 1767 1 is_stmt 0 view .LVU1526
4868 0000 30B4 push {r4, r5}
4869 .LCFI53:
4870 .cfi_def_cfa_offset 8
4871 .cfi_offset 4, -8
4872 .cfi_offset 5, -4
4873 0002 82B0 sub sp, sp, #8
4874 .LCFI54:
4875 .cfi_def_cfa_offset 16
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4876 .loc 1 1768 3 is_stmt 1 view .LVU1527
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4877 .loc 1 1768 17 is_stmt 0 view .LVU1528
4878 0004 0024 movs r4, #0
4879 0006 0194 str r4, [sp, #4]
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 239
4880 .loc 1 1770 3 is_stmt 1 view .LVU1529
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4881 .loc 1 1770 11 is_stmt 0 view .LVU1530
4882 0008 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
4883 000c E4B2 uxtb r4, r4
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4884 .loc 1 1770 6 view .LVU1531
4885 000e 202C cmp r4, #32
4886 0010 5BD1 bne .L337
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
4887 .loc 1 1773 5 is_stmt 1 view .LVU1532
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
4888 .loc 1 1773 60 is_stmt 0 view .LVU1533
4889 0012 314C ldr r4, .L341
4890 0014 2468 ldr r4, [r4]
4891 0016 E408 lsrs r4, r4, #3
4892 0018 304D ldr r5, .L341+4
4893 001a A5FB0454 umull r5, r4, r5, r4
4894 001e 240A lsrs r4, r4, #8
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
4895 .loc 1 1773 35 view .LVU1534
4896 0020 04EB8404 add r4, r4, r4, lsl #2
4897 0024 04EB8404 add r4, r4, r4, lsl #2
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
4898 .loc 1 1773 11 view .LVU1535
4899 0028 0194 str r4, [sp, #4]
4900 .L335:
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4901 .loc 1 1774 5 is_stmt 1 view .LVU1536
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
4902 .loc 1 1776 7 view .LVU1537
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
4903 .loc 1 1776 12 is_stmt 0 view .LVU1538
4904 002a 019C ldr r4, [sp, #4]
4905 002c 013C subs r4, r4, #1
4906 002e 0194 str r4, [sp, #4]
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4907 .loc 1 1777 7 is_stmt 1 view .LVU1539
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4908 .loc 1 1777 17 is_stmt 0 view .LVU1540
4909 0030 019C ldr r4, [sp, #4]
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4910 .loc 1 1777 10 view .LVU1541
4911 0032 002C cmp r4, #0
4912 0034 3AD0 beq .L340
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4913 .loc 1 1790 12 view .LVU1542
4914 0036 0468 ldr r4, [r0]
4915 0038 A569 ldr r5, [r4, #24]
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4916 .loc 1 1790 5 view .LVU1543
4917 003a 15F0020F tst r5, #2
4918 003e F4D1 bne .L335
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4919 .loc 1 1793 5 is_stmt 1 view .LVU1544
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4920 .loc 1 1793 5 view .LVU1545
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 240
4921 0040 90F83C50 ldrb r5, [r0, #60] @ zero_extendqisi2
4922 0044 012D cmp r5, #1
4923 0046 44D0 beq .L338
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4924 .loc 1 1793 5 discriminator 2 view .LVU1546
4925 0048 0125 movs r5, #1
4926 004a 80F83C50 strb r5, [r0, #60]
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4927 .loc 1 1796 5 discriminator 2 view .LVU1547
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4928 .loc 1 1796 24 is_stmt 0 discriminator 2 view .LVU1548
4929 004e 2568 ldr r5, [r4]
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4930 .loc 1 1796 8 discriminator 2 view .LVU1549
4931 0050 15F0010F tst r5, #1
4932 0054 03D1 bne .L336
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4933 .loc 1 1799 7 is_stmt 1 view .LVU1550
4934 0056 2568 ldr r5, [r4]
4935 0058 45F00105 orr r5, r5, #1
4936 005c 2560 str r5, [r4]
4937 .L336:
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4938 .loc 1 1803 5 view .LVU1551
4939 005e 0568 ldr r5, [r0]
4940 0060 2C68 ldr r4, [r5]
4941 0062 24F40064 bic r4, r4, #2048
4942 0066 2C60 str r4, [r5]
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4943 .loc 1 1805 5 view .LVU1552
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4944 .loc 1 1805 21 is_stmt 0 view .LVU1553
4945 0068 2224 movs r4, #34
4946 006a 80F83D40 strb r4, [r0, #61]
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4947 .loc 1 1806 5 is_stmt 1 view .LVU1554
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4948 .loc 1 1806 21 is_stmt 0 view .LVU1555
4949 006e 1024 movs r4, #16
4950 0070 80F83E40 strb r4, [r0, #62]
1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4951 .loc 1 1807 5 is_stmt 1 view .LVU1556
1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4952 .loc 1 1807 21 is_stmt 0 view .LVU1557
4953 0074 0024 movs r4, #0
4954 0076 0464 str r4, [r0, #64]
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4955 .loc 1 1810 5 is_stmt 1 view .LVU1558
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
4956 .loc 1 1810 23 is_stmt 0 view .LVU1559
4957 0078 4262 str r2, [r0, #36]
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4958 .loc 1 1811 5 is_stmt 1 view .LVU1560
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4959 .loc 1 1811 23 is_stmt 0 view .LVU1561
4960 007a 4385 strh r3, [r0, #42] @ movhi
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 241
4961 .loc 1 1812 5 is_stmt 1 view .LVU1562
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4962 .loc 1 1812 29 is_stmt 0 view .LVU1563
4963 007c 438D ldrh r3, [r0, #42]
4964 .LVL189:
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4965 .loc 1 1812 23 view .LVU1564
4966 007e 0385 strh r3, [r0, #40] @ movhi
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
4967 .loc 1 1813 5 is_stmt 1 view .LVU1565
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
4968 .loc 1 1813 23 is_stmt 0 view .LVU1566
4969 0080 174B ldr r3, .L341+8
4970 0082 C362 str r3, [r0, #44]
4971 .LVL190:
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4972 .loc 1 1814 5 is_stmt 1 view .LVU1567
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4973 .loc 1 1814 23 is_stmt 0 view .LVU1568
4974 0084 4164 str r1, [r0, #68]
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4975 .loc 1 1817 5 is_stmt 1 view .LVU1569
4976 0086 0268 ldr r2, [r0]
4977 .LVL191:
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4978 .loc 1 1817 5 is_stmt 0 view .LVU1570
4979 0088 1368 ldr r3, [r2]
4980 008a 43F48063 orr r3, r3, #1024
4981 008e 1360 str r3, [r2]
4982 .LVL192:
1820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4983 .loc 1 1820 5 is_stmt 1 view .LVU1571
4984 0090 0268 ldr r2, [r0]
4985 0092 1368 ldr r3, [r2]
4986 0094 43F48073 orr r3, r3, #256
4987 0098 1360 str r3, [r2]
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4988 .loc 1 1823 5 view .LVU1572
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4989 .loc 1 1823 5 view .LVU1573
4990 009a 80F83C40 strb r4, [r0, #60]
1830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
4991 .loc 1 1830 5 view .LVU1574
4992 009e 0268 ldr r2, [r0]
4993 00a0 5368 ldr r3, [r2, #4]
4994 00a2 43F4E063 orr r3, r3, #1792
4995 00a6 5360 str r3, [r2, #4]
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4996 .loc 1 1832 5 view .LVU1575
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4997 .loc 1 1832 12 is_stmt 0 view .LVU1576
4998 00a8 2046 mov r0, r4
4999 .LVL193:
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5000 .loc 1 1832 12 view .LVU1577
5001 00aa 0FE0 b .L333
5002 .LVL194:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 242
5003 .L340:
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5004 .loc 1 1779 9 is_stmt 1 view .LVU1578
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5005 .loc 1 1779 35 is_stmt 0 view .LVU1579
5006 00ac 0023 movs r3, #0
5007 .LVL195:
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5008 .loc 1 1779 35 view .LVU1580
5009 00ae 0363 str r3, [r0, #48]
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5010 .loc 1 1780 9 is_stmt 1 view .LVU1581
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5011 .loc 1 1780 35 is_stmt 0 view .LVU1582
5012 00b0 2022 movs r2, #32
5013 .LVL196:
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5014 .loc 1 1780 35 view .LVU1583
5015 00b2 80F83D20 strb r2, [r0, #61]
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
5016 .loc 1 1781 9 is_stmt 1 view .LVU1584
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
5017 .loc 1 1781 35 is_stmt 0 view .LVU1585
5018 00b6 80F83E30 strb r3, [r0, #62]
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5019 .loc 1 1782 9 is_stmt 1 view .LVU1586
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5020 .loc 1 1782 35 is_stmt 0 view .LVU1587
5021 00ba 026C ldr r2, [r0, #64]
5022 00bc 42F02002 orr r2, r2, #32
5023 00c0 0264 str r2, [r0, #64]
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5024 .loc 1 1785 9 is_stmt 1 view .LVU1588
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5025 .loc 1 1785 9 view .LVU1589
5026 00c2 80F83C30 strb r3, [r0, #60]
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5027 .loc 1 1787 9 view .LVU1590
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5028 .loc 1 1787 16 is_stmt 0 view .LVU1591
5029 00c6 0120 movs r0, #1
5030 .LVL197:
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5031 .loc 1 1787 16 view .LVU1592
5032 00c8 00E0 b .L333
5033 .LVL198:
5034 .L337:
1836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5035 .loc 1 1836 12 view .LVU1593
5036 00ca 0220 movs r0, #2
5037 .LVL199:
5038 .L333:
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5039 .loc 1 1838 1 view .LVU1594
5040 00cc 02B0 add sp, sp, #8
5041 .LCFI55:
5042 .cfi_remember_state
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 243
5043 .cfi_def_cfa_offset 8
5044 @ sp needed
5045 00ce 30BC pop {r4, r5}
5046 .LCFI56:
5047 .cfi_restore 5
5048 .cfi_restore 4
5049 .cfi_def_cfa_offset 0
5050 00d0 7047 bx lr
5051 .LVL200:
5052 .L338:
5053 .LCFI57:
5054 .cfi_restore_state
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5055 .loc 1 1793 5 view .LVU1595
5056 00d2 0220 movs r0, #2
5057 .LVL201:
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5058 .loc 1 1793 5 view .LVU1596
5059 00d4 FAE7 b .L333
5060 .L342:
5061 00d6 00BF .align 2
5062 .L341:
5063 00d8 00000000 .word SystemCoreClock
5064 00dc 89B5F814 .word 351843721
5065 00e0 0000FFFF .word -65536
5066 .cfi_endproc
5067 .LFE74:
5069 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
5070 .align 1
5071 .global HAL_I2C_Slave_Transmit_IT
5072 .syntax unified
5073 .thumb
5074 .thumb_func
5075 .fpu softvfp
5077 HAL_I2C_Slave_Transmit_IT:
5078 .LVL202:
5079 .LFB75:
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5080 .loc 1 1849 1 is_stmt 1 view -0
5081 .cfi_startproc
5082 @ args = 0, pretend = 0, frame = 0
5083 @ frame_needed = 0, uses_anonymous_args = 0
5084 @ link register save eliminated.
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5085 .loc 1 1851 3 view .LVU1598
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5086 .loc 1 1851 11 is_stmt 0 view .LVU1599
5087 0000 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
5088 0004 DBB2 uxtb r3, r3
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5089 .loc 1 1851 6 view .LVU1600
5090 0006 202B cmp r3, #32
5091 0008 36D1 bne .L346
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5092 .loc 1 1853 5 is_stmt 1 view .LVU1601
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5093 .loc 1 1853 8 is_stmt 0 view .LVU1602
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 244
5094 000a 0029 cmp r1, #0
5095 000c 36D0 beq .L347
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5096 .loc 1 1853 25 discriminator 1 view .LVU1603
5097 000e 002A cmp r2, #0
5098 0010 36D0 beq .L348
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5099 .loc 1 1859 5 is_stmt 1 view .LVU1604
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5100 .loc 1 1859 5 view .LVU1605
5101 0012 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
5102 0016 012B cmp r3, #1
5103 0018 34D0 beq .L349
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5104 .loc 1 1849 1 is_stmt 0 discriminator 2 view .LVU1606
5105 001a 10B4 push {r4}
5106 .LCFI58:
5107 .cfi_def_cfa_offset 4
5108 .cfi_offset 4, -4
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5109 .loc 1 1859 5 is_stmt 1 discriminator 2 view .LVU1607
5110 001c 0123 movs r3, #1
5111 001e 80F83C30 strb r3, [r0, #60]
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5112 .loc 1 1862 5 discriminator 2 view .LVU1608
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5113 .loc 1 1862 14 is_stmt 0 discriminator 2 view .LVU1609
5114 0022 0368 ldr r3, [r0]
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5115 .loc 1 1862 24 discriminator 2 view .LVU1610
5116 0024 1C68 ldr r4, [r3]
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5117 .loc 1 1862 8 discriminator 2 view .LVU1611
5118 0026 14F0010F tst r4, #1
5119 002a 03D1 bne .L345
1865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5120 .loc 1 1865 7 is_stmt 1 view .LVU1612
5121 002c 1C68 ldr r4, [r3]
5122 002e 44F00104 orr r4, r4, #1
5123 0032 1C60 str r4, [r3]
5124 .L345:
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5125 .loc 1 1869 5 view .LVU1613
5126 0034 0468 ldr r4, [r0]
5127 0036 2368 ldr r3, [r4]
5128 0038 23F40063 bic r3, r3, #2048
5129 003c 2360 str r3, [r4]
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
5130 .loc 1 1871 5 view .LVU1614
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
5131 .loc 1 1871 21 is_stmt 0 view .LVU1615
5132 003e 2123 movs r3, #33
5133 0040 80F83D30 strb r3, [r0, #61]
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5134 .loc 1 1872 5 is_stmt 1 view .LVU1616
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5135 .loc 1 1872 21 is_stmt 0 view .LVU1617
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 245
5136 0044 2023 movs r3, #32
5137 0046 80F83E30 strb r3, [r0, #62]
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5138 .loc 1 1873 5 is_stmt 1 view .LVU1618
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5139 .loc 1 1873 21 is_stmt 0 view .LVU1619
5140 004a 0023 movs r3, #0
5141 004c 0364 str r3, [r0, #64]
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
5142 .loc 1 1876 5 is_stmt 1 view .LVU1620
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
5143 .loc 1 1876 23 is_stmt 0 view .LVU1621
5144 004e 4162 str r1, [r0, #36]
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5145 .loc 1 1877 5 is_stmt 1 view .LVU1622
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5146 .loc 1 1877 23 is_stmt 0 view .LVU1623
5147 0050 4285 strh r2, [r0, #42] @ movhi
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5148 .loc 1 1878 5 is_stmt 1 view .LVU1624
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5149 .loc 1 1878 29 is_stmt 0 view .LVU1625
5150 0052 428D ldrh r2, [r0, #42]
5151 .LVL203:
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5152 .loc 1 1878 23 view .LVU1626
5153 0054 0285 strh r2, [r0, #40] @ movhi
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5154 .loc 1 1879 5 is_stmt 1 view .LVU1627
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5155 .loc 1 1879 23 is_stmt 0 view .LVU1628
5156 0056 0C4A ldr r2, .L354
5157 0058 C262 str r2, [r0, #44]
5158 .LVL204:
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5159 .loc 1 1882 5 is_stmt 1 view .LVU1629
5160 005a 0168 ldr r1, [r0]
5161 .LVL205:
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5162 .loc 1 1882 5 is_stmt 0 view .LVU1630
5163 005c 0A68 ldr r2, [r1]
5164 005e 42F48062 orr r2, r2, #1024
5165 0062 0A60 str r2, [r1]
5166 .LVL206:
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5167 .loc 1 1885 5 is_stmt 1 view .LVU1631
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5168 .loc 1 1885 5 view .LVU1632
5169 0064 80F83C30 strb r3, [r0, #60]
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5170 .loc 1 1892 5 view .LVU1633
5171 0068 0168 ldr r1, [r0]
5172 006a 4A68 ldr r2, [r1, #4]
5173 006c 42F4E062 orr r2, r2, #1792
5174 0070 4A60 str r2, [r1, #4]
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5175 .loc 1 1894 5 view .LVU1634
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 246
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5176 .loc 1 1894 12 is_stmt 0 view .LVU1635
5177 0072 1846 mov r0, r3
5178 .LVL207:
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5179 .loc 1 1900 1 view .LVU1636
5180 0074 10BC pop {r4}
5181 .LCFI59:
5182 .cfi_restore 4
5183 .cfi_def_cfa_offset 0
5184 0076 7047 bx lr
5185 .LVL208:
5186 .L346:
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5187 .loc 1 1898 12 view .LVU1637
5188 0078 0220 movs r0, #2
5189 .LVL209:
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5190 .loc 1 1898 12 view .LVU1638
5191 007a 7047 bx lr
5192 .LVL210:
5193 .L347:
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5194 .loc 1 1855 15 view .LVU1639
5195 007c 0120 movs r0, #1
5196 .LVL211:
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5197 .loc 1 1855 15 view .LVU1640
5198 007e 7047 bx lr
5199 .LVL212:
5200 .L348:
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5201 .loc 1 1855 15 view .LVU1641
5202 0080 0120 movs r0, #1
5203 .LVL213:
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5204 .loc 1 1855 15 view .LVU1642
5205 0082 7047 bx lr
5206 .LVL214:
5207 .L349:
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5208 .loc 1 1859 5 view .LVU1643
5209 0084 0220 movs r0, #2
5210 .LVL215:
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5211 .loc 1 1900 1 view .LVU1644
5212 0086 7047 bx lr
5213 .L355:
5214 .align 2
5215 .L354:
5216 0088 0000FFFF .word -65536
5217 .cfi_endproc
5218 .LFE75:
5220 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
5221 .align 1
5222 .global HAL_I2C_Slave_Receive_IT
5223 .syntax unified
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 247
5224 .thumb
5225 .thumb_func
5226 .fpu softvfp
5228 HAL_I2C_Slave_Receive_IT:
5229 .LVL216:
5230 .LFB76:
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5231 .loc 1 1911 1 is_stmt 1 view -0
5232 .cfi_startproc
5233 @ args = 0, pretend = 0, frame = 0
5234 @ frame_needed = 0, uses_anonymous_args = 0
5235 @ link register save eliminated.
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5236 .loc 1 1913 3 view .LVU1646
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5237 .loc 1 1913 11 is_stmt 0 view .LVU1647
5238 0000 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
5239 0004 DBB2 uxtb r3, r3
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5240 .loc 1 1913 6 view .LVU1648
5241 0006 202B cmp r3, #32
5242 0008 36D1 bne .L359
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5243 .loc 1 1915 5 is_stmt 1 view .LVU1649
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5244 .loc 1 1915 8 is_stmt 0 view .LVU1650
5245 000a 0029 cmp r1, #0
5246 000c 36D0 beq .L360
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5247 .loc 1 1915 25 discriminator 1 view .LVU1651
5248 000e 002A cmp r2, #0
5249 0010 36D0 beq .L361
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5250 .loc 1 1921 5 is_stmt 1 view .LVU1652
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5251 .loc 1 1921 5 view .LVU1653
5252 0012 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
5253 0016 012B cmp r3, #1
5254 0018 34D0 beq .L362
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5255 .loc 1 1911 1 is_stmt 0 discriminator 2 view .LVU1654
5256 001a 10B4 push {r4}
5257 .LCFI60:
5258 .cfi_def_cfa_offset 4
5259 .cfi_offset 4, -4
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5260 .loc 1 1921 5 is_stmt 1 discriminator 2 view .LVU1655
5261 001c 0123 movs r3, #1
5262 001e 80F83C30 strb r3, [r0, #60]
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5263 .loc 1 1924 5 discriminator 2 view .LVU1656
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5264 .loc 1 1924 14 is_stmt 0 discriminator 2 view .LVU1657
5265 0022 0368 ldr r3, [r0]
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5266 .loc 1 1924 24 discriminator 2 view .LVU1658
5267 0024 1C68 ldr r4, [r3]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 248
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5268 .loc 1 1924 8 discriminator 2 view .LVU1659
5269 0026 14F0010F tst r4, #1
5270 002a 03D1 bne .L358
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5271 .loc 1 1927 7 is_stmt 1 view .LVU1660
5272 002c 1C68 ldr r4, [r3]
5273 002e 44F00104 orr r4, r4, #1
5274 0032 1C60 str r4, [r3]
5275 .L358:
1931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5276 .loc 1 1931 5 view .LVU1661
5277 0034 0468 ldr r4, [r0]
5278 0036 2368 ldr r3, [r4]
5279 0038 23F40063 bic r3, r3, #2048
5280 003c 2360 str r3, [r4]
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
5281 .loc 1 1933 5 view .LVU1662
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
5282 .loc 1 1933 21 is_stmt 0 view .LVU1663
5283 003e 2223 movs r3, #34
5284 0040 80F83D30 strb r3, [r0, #61]
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5285 .loc 1 1934 5 is_stmt 1 view .LVU1664
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5286 .loc 1 1934 21 is_stmt 0 view .LVU1665
5287 0044 2023 movs r3, #32
5288 0046 80F83E30 strb r3, [r0, #62]
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5289 .loc 1 1935 5 is_stmt 1 view .LVU1666
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5290 .loc 1 1935 21 is_stmt 0 view .LVU1667
5291 004a 0023 movs r3, #0
5292 004c 0364 str r3, [r0, #64]
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
5293 .loc 1 1938 5 is_stmt 1 view .LVU1668
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
5294 .loc 1 1938 23 is_stmt 0 view .LVU1669
5295 004e 4162 str r1, [r0, #36]
1939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5296 .loc 1 1939 5 is_stmt 1 view .LVU1670
1939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5297 .loc 1 1939 23 is_stmt 0 view .LVU1671
5298 0050 4285 strh r2, [r0, #42] @ movhi
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5299 .loc 1 1940 5 is_stmt 1 view .LVU1672
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5300 .loc 1 1940 29 is_stmt 0 view .LVU1673
5301 0052 428D ldrh r2, [r0, #42]
5302 .LVL217:
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5303 .loc 1 1940 23 view .LVU1674
5304 0054 0285 strh r2, [r0, #40] @ movhi
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5305 .loc 1 1941 5 is_stmt 1 view .LVU1675
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5306 .loc 1 1941 23 is_stmt 0 view .LVU1676
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 249
5307 0056 0C4A ldr r2, .L367
5308 0058 C262 str r2, [r0, #44]
5309 .LVL218:
1944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5310 .loc 1 1944 5 is_stmt 1 view .LVU1677
5311 005a 0168 ldr r1, [r0]
5312 .LVL219:
1944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5313 .loc 1 1944 5 is_stmt 0 view .LVU1678
5314 005c 0A68 ldr r2, [r1]
5315 005e 42F48062 orr r2, r2, #1024
5316 0062 0A60 str r2, [r1]
5317 .LVL220:
1947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5318 .loc 1 1947 5 is_stmt 1 view .LVU1679
1947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5319 .loc 1 1947 5 view .LVU1680
5320 0064 80F83C30 strb r3, [r0, #60]
1954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5321 .loc 1 1954 5 view .LVU1681
5322 0068 0168 ldr r1, [r0]
5323 006a 4A68 ldr r2, [r1, #4]
5324 006c 42F4E062 orr r2, r2, #1792
5325 0070 4A60 str r2, [r1, #4]
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5326 .loc 1 1956 5 view .LVU1682
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5327 .loc 1 1956 12 is_stmt 0 view .LVU1683
5328 0072 1846 mov r0, r3
5329 .LVL221:
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5330 .loc 1 1962 1 view .LVU1684
5331 0074 10BC pop {r4}
5332 .LCFI61:
5333 .cfi_restore 4
5334 .cfi_def_cfa_offset 0
5335 0076 7047 bx lr
5336 .LVL222:
5337 .L359:
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5338 .loc 1 1960 12 view .LVU1685
5339 0078 0220 movs r0, #2
5340 .LVL223:
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5341 .loc 1 1960 12 view .LVU1686
5342 007a 7047 bx lr
5343 .LVL224:
5344 .L360:
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5345 .loc 1 1917 15 view .LVU1687
5346 007c 0120 movs r0, #1
5347 .LVL225:
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5348 .loc 1 1917 15 view .LVU1688
5349 007e 7047 bx lr
5350 .LVL226:
5351 .L361:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 250
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5352 .loc 1 1917 15 view .LVU1689
5353 0080 0120 movs r0, #1
5354 .LVL227:
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5355 .loc 1 1917 15 view .LVU1690
5356 0082 7047 bx lr
5357 .LVL228:
5358 .L362:
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5359 .loc 1 1921 5 view .LVU1691
5360 0084 0220 movs r0, #2
5361 .LVL229:
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5362 .loc 1 1962 1 view .LVU1692
5363 0086 7047 bx lr
5364 .L368:
5365 .align 2
5366 .L367:
5367 0088 0000FFFF .word -65536
5368 .cfi_endproc
5369 .LFE76:
5371 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
5372 .align 1
5373 .global HAL_I2C_Master_Transmit_DMA
5374 .syntax unified
5375 .thumb
5376 .thumb_func
5377 .fpu softvfp
5379 HAL_I2C_Master_Transmit_DMA:
5380 .LVL230:
5381 .LFB77:
1975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
5382 .loc 1 1975 1 is_stmt 1 view -0
5383 .cfi_startproc
5384 @ args = 0, pretend = 0, frame = 8
5385 @ frame_needed = 0, uses_anonymous_args = 0
1975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
5386 .loc 1 1975 1 is_stmt 0 view .LVU1694
5387 0000 30B5 push {r4, r5, lr}
5388 .LCFI62:
5389 .cfi_def_cfa_offset 12
5390 .cfi_offset 4, -12
5391 .cfi_offset 5, -8
5392 .cfi_offset 14, -4
5393 0002 83B0 sub sp, sp, #12
5394 .LCFI63:
5395 .cfi_def_cfa_offset 24
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
5396 .loc 1 1976 3 is_stmt 1 view .LVU1695
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
5397 .loc 1 1976 17 is_stmt 0 view .LVU1696
5398 0004 0024 movs r4, #0
5399 0006 0194 str r4, [sp, #4]
1977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5400 .loc 1 1977 3 is_stmt 1 view .LVU1697
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 251
5401 .loc 1 1979 3 view .LVU1698
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5402 .loc 1 1979 11 is_stmt 0 view .LVU1699
5403 0008 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
5404 000c E4B2 uxtb r4, r4
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5405 .loc 1 1979 6 view .LVU1700
5406 000e 202C cmp r4, #32
5407 0010 40F09A80 bne .L377
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
5408 .loc 1 1982 5 is_stmt 1 view .LVU1701
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
5409 .loc 1 1982 60 is_stmt 0 view .LVU1702
5410 0014 4F4C ldr r4, .L382
5411 0016 2468 ldr r4, [r4]
5412 0018 E408 lsrs r4, r4, #3
5413 001a 4F4D ldr r5, .L382+4
5414 001c A5FB0454 umull r5, r4, r5, r4
5415 0020 240A lsrs r4, r4, #8
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
5416 .loc 1 1982 35 view .LVU1703
5417 0022 04EB8404 add r4, r4, r4, lsl #2
5418 0026 04EB8404 add r4, r4, r4, lsl #2
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
5419 .loc 1 1982 11 view .LVU1704
5420 002a 0194 str r4, [sp, #4]
5421 .L372:
1983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5422 .loc 1 1983 5 is_stmt 1 view .LVU1705
1985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
5423 .loc 1 1985 7 view .LVU1706
1985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
5424 .loc 1 1985 12 is_stmt 0 view .LVU1707
5425 002c 019C ldr r4, [sp, #4]
5426 002e 013C subs r4, r4, #1
5427 0030 0194 str r4, [sp, #4]
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5428 .loc 1 1986 7 is_stmt 1 view .LVU1708
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5429 .loc 1 1986 17 is_stmt 0 view .LVU1709
5430 0032 019C ldr r4, [sp, #4]
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5431 .loc 1 1986 10 view .LVU1710
5432 0034 002C cmp r4, #0
5433 0036 3ED0 beq .L380
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5434 .loc 1 1999 12 view .LVU1711
5435 0038 0468 ldr r4, [r0]
5436 003a A569 ldr r5, [r4, #24]
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5437 .loc 1 1999 5 view .LVU1712
5438 003c 15F0020F tst r5, #2
5439 0040 F4D1 bne .L372
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5440 .loc 1 2002 5 is_stmt 1 view .LVU1713
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5441 .loc 1 2002 5 view .LVU1714
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 252
5442 0042 90F83C50 ldrb r5, [r0, #60] @ zero_extendqisi2
5443 0046 012D cmp r5, #1
5444 0048 00F08180 beq .L378
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5445 .loc 1 2002 5 discriminator 2 view .LVU1715
5446 004c 0125 movs r5, #1
5447 004e 80F83C50 strb r5, [r0, #60]
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5448 .loc 1 2005 5 discriminator 2 view .LVU1716
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5449 .loc 1 2005 24 is_stmt 0 discriminator 2 view .LVU1717
5450 0052 2568 ldr r5, [r4]
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5451 .loc 1 2005 8 discriminator 2 view .LVU1718
5452 0054 15F0010F tst r5, #1
5453 0058 03D1 bne .L373
2008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5454 .loc 1 2008 7 is_stmt 1 view .LVU1719
5455 005a 2568 ldr r5, [r4]
5456 005c 45F00105 orr r5, r5, #1
5457 0060 2560 str r5, [r4]
5458 .L373:
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5459 .loc 1 2012 5 view .LVU1720
5460 0062 0568 ldr r5, [r0]
5461 0064 2C68 ldr r4, [r5]
5462 0066 24F40064 bic r4, r4, #2048
5463 006a 2C60 str r4, [r5]
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
5464 .loc 1 2014 5 view .LVU1721
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
5465 .loc 1 2014 21 is_stmt 0 view .LVU1722
5466 006c 2124 movs r4, #33
5467 006e 80F83D40 strb r4, [r0, #61]
2015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5468 .loc 1 2015 5 is_stmt 1 view .LVU1723
2015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5469 .loc 1 2015 21 is_stmt 0 view .LVU1724
5470 0072 1024 movs r4, #16
5471 0074 80F83E40 strb r4, [r0, #62]
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5472 .loc 1 2016 5 is_stmt 1 view .LVU1725
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5473 .loc 1 2016 21 is_stmt 0 view .LVU1726
5474 0078 0024 movs r4, #0
5475 007a 0464 str r4, [r0, #64]
2019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
5476 .loc 1 2019 5 is_stmt 1 view .LVU1727
2019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
5477 .loc 1 2019 23 is_stmt 0 view .LVU1728
5478 007c 4262 str r2, [r0, #36]
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5479 .loc 1 2020 5 is_stmt 1 view .LVU1729
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5480 .loc 1 2020 23 is_stmt 0 view .LVU1730
5481 007e 4385 strh r3, [r0, #42] @ movhi
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 253
5482 .loc 1 2021 5 is_stmt 1 view .LVU1731
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5483 .loc 1 2021 29 is_stmt 0 view .LVU1732
5484 0080 438D ldrh r3, [r0, #42]
5485 .LVL231:
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5486 .loc 1 2021 29 view .LVU1733
5487 0082 9BB2 uxth r3, r3
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5488 .loc 1 2021 23 view .LVU1734
5489 0084 0385 strh r3, [r0, #40] @ movhi
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
5490 .loc 1 2022 5 is_stmt 1 view .LVU1735
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
5491 .loc 1 2022 23 is_stmt 0 view .LVU1736
5492 0086 354A ldr r2, .L382+8
5493 .LVL232:
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
5494 .loc 1 2022 23 view .LVU1737
5495 0088 C262 str r2, [r0, #44]
5496 .LVL233:
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5497 .loc 1 2023 5 is_stmt 1 view .LVU1738
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5498 .loc 1 2023 23 is_stmt 0 view .LVU1739
5499 008a 4164 str r1, [r0, #68]
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5500 .loc 1 2025 5 is_stmt 1 view .LVU1740
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5501 .loc 1 2025 8 is_stmt 0 view .LVU1741
5502 008c 13BB cbnz r3, .L381
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5503 .loc 1 2079 7 is_stmt 1 view .LVU1742
5504 008e 0268 ldr r2, [r0]
5505 0090 1368 ldr r3, [r2]
5506 0092 43F48063 orr r3, r3, #1024
5507 0096 1360 str r3, [r2]
5508 .LVL234:
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5509 .loc 1 2082 7 view .LVU1743
5510 0098 0268 ldr r2, [r0]
5511 009a 1368 ldr r3, [r2]
5512 009c 43F48073 orr r3, r3, #256
5513 00a0 1360 str r3, [r2]
2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5514 .loc 1 2085 7 view .LVU1744
2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5515 .loc 1 2085 7 view .LVU1745
5516 00a2 0023 movs r3, #0
5517 00a4 80F83C30 strb r3, [r0, #60]
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5518 .loc 1 2092 7 view .LVU1746
5519 00a8 0268 ldr r2, [r0]
5520 00aa 5368 ldr r3, [r2, #4]
5521 00ac 43F4E063 orr r3, r3, #1792
5522 00b0 5360 str r3, [r2, #4]
5523 .LVL235:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 254
5524 .L376:
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5525 .loc 1 2095 5 view .LVU1747
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5526 .loc 1 2095 12 is_stmt 0 view .LVU1748
5527 00b2 0020 movs r0, #0
5528 00b4 49E0 b .L370
5529 .LVL236:
5530 .L380:
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5531 .loc 1 1988 9 is_stmt 1 view .LVU1749
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5532 .loc 1 1988 35 is_stmt 0 view .LVU1750
5533 00b6 0023 movs r3, #0
5534 .LVL237:
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5535 .loc 1 1988 35 view .LVU1751
5536 00b8 0363 str r3, [r0, #48]
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5537 .loc 1 1989 9 is_stmt 1 view .LVU1752
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5538 .loc 1 1989 35 is_stmt 0 view .LVU1753
5539 00ba 2022 movs r2, #32
5540 .LVL238:
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5541 .loc 1 1989 35 view .LVU1754
5542 00bc 80F83D20 strb r2, [r0, #61]
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
5543 .loc 1 1990 9 is_stmt 1 view .LVU1755
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
5544 .loc 1 1990 35 is_stmt 0 view .LVU1756
5545 00c0 80F83E30 strb r3, [r0, #62]
1991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5546 .loc 1 1991 9 is_stmt 1 view .LVU1757
1991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5547 .loc 1 1991 35 is_stmt 0 view .LVU1758
5548 00c4 026C ldr r2, [r0, #64]
5549 00c6 42F02002 orr r2, r2, #32
5550 00ca 0264 str r2, [r0, #64]
1994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5551 .loc 1 1994 9 is_stmt 1 view .LVU1759
1994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5552 .loc 1 1994 9 view .LVU1760
5553 00cc 80F83C30 strb r3, [r0, #60]
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5554 .loc 1 1996 9 view .LVU1761
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5555 .loc 1 1996 16 is_stmt 0 view .LVU1762
5556 00d0 0120 movs r0, #1
5557 .LVL239:
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5558 .loc 1 1996 16 view .LVU1763
5559 00d2 3AE0 b .L370
5560 .LVL240:
5561 .L381:
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5562 .loc 1 1996 16 view .LVU1764
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 255
5563 00d4 0446 mov r4, r0
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5564 .loc 1 2028 7 is_stmt 1 view .LVU1765
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5565 .loc 1 2028 11 is_stmt 0 view .LVU1766
5566 00d6 436B ldr r3, [r0, #52]
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5567 .loc 1 2028 38 view .LVU1767
5568 00d8 214A ldr r2, .L382+12
5569 00da 9A62 str r2, [r3, #40]
5570 .LVL241:
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5571 .loc 1 2031 7 is_stmt 1 view .LVU1768
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5572 .loc 1 2031 11 is_stmt 0 view .LVU1769
5573 00dc 436B ldr r3, [r0, #52]
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5574 .loc 1 2031 39 view .LVU1770
5575 00de 214A ldr r2, .L382+16
5576 00e0 1A63 str r2, [r3, #48]
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
5577 .loc 1 2034 7 is_stmt 1 view .LVU1771
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
5578 .loc 1 2034 11 is_stmt 0 view .LVU1772
5579 00e2 426B ldr r2, [r0, #52]
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
5580 .loc 1 2034 42 view .LVU1773
5581 00e4 0023 movs r3, #0
5582 00e6 D362 str r3, [r2, #44]
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5583 .loc 1 2035 7 is_stmt 1 view .LVU1774
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5584 .loc 1 2035 11 is_stmt 0 view .LVU1775
5585 00e8 426B ldr r2, [r0, #52]
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5586 .loc 1 2035 39 view .LVU1776
5587 00ea 5363 str r3, [r2, #52]
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5588 .loc 1 2038 7 is_stmt 1 view .LVU1777
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5589 .loc 1 2038 95 is_stmt 0 view .LVU1778
5590 00ec 0268 ldr r2, [r0]
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5591 .loc 1 2038 23 view .LVU1779
5592 00ee 038D ldrh r3, [r0, #40]
5593 00f0 1032 adds r2, r2, #16
5594 00f2 416A ldr r1, [r0, #36]
5595 .LVL242:
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5596 .loc 1 2038 23 view .LVU1780
5597 00f4 406B ldr r0, [r0, #52]
5598 .LVL243:
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5599 .loc 1 2038 23 view .LVU1781
5600 00f6 FFF7FEFF bl HAL_DMA_Start_IT
5601 .LVL244:
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 256
5602 .loc 1 2040 7 is_stmt 1 view .LVU1782
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5603 .loc 1 2040 10 is_stmt 0 view .LVU1783
5604 00fa B8B9 cbnz r0, .L375
2043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5605 .loc 1 2043 9 is_stmt 1 view .LVU1784
5606 00fc 2268 ldr r2, [r4]
5607 00fe 1368 ldr r3, [r2]
5608 0100 43F48063 orr r3, r3, #1024
5609 0104 1360 str r3, [r2]
2046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5610 .loc 1 2046 9 view .LVU1785
5611 0106 2268 ldr r2, [r4]
5612 0108 1368 ldr r3, [r2]
5613 010a 43F48073 orr r3, r3, #256
5614 010e 1360 str r3, [r2]
2049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5615 .loc 1 2049 9 view .LVU1786
2049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5616 .loc 1 2049 9 view .LVU1787
5617 0110 0023 movs r3, #0
5618 0112 84F83C30 strb r3, [r4, #60]
2056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5619 .loc 1 2056 9 view .LVU1788
5620 0116 2268 ldr r2, [r4]
5621 0118 5368 ldr r3, [r2, #4]
5622 011a 43F44073 orr r3, r3, #768
5623 011e 5360 str r3, [r2, #4]
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5624 .loc 1 2059 9 view .LVU1789
5625 0120 2268 ldr r2, [r4]
5626 0122 5368 ldr r3, [r2, #4]
5627 0124 43F40063 orr r3, r3, #2048
5628 0128 5360 str r3, [r2, #4]
5629 012a C2E7 b .L376
5630 .L375:
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5631 .loc 1 2064 9 view .LVU1790
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5632 .loc 1 2064 25 is_stmt 0 view .LVU1791
5633 012c 2023 movs r3, #32
5634 012e 84F83D30 strb r3, [r4, #61]
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5635 .loc 1 2065 9 is_stmt 1 view .LVU1792
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5636 .loc 1 2065 25 is_stmt 0 view .LVU1793
5637 0132 0022 movs r2, #0
5638 0134 84F83E20 strb r2, [r4, #62]
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5639 .loc 1 2068 9 is_stmt 1 view .LVU1794
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5640 .loc 1 2068 25 is_stmt 0 view .LVU1795
5641 0138 236C ldr r3, [r4, #64]
5642 013a 43F01003 orr r3, r3, #16
5643 013e 2364 str r3, [r4, #64]
2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5644 .loc 1 2071 9 is_stmt 1 view .LVU1796
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 257
2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5645 .loc 1 2071 9 view .LVU1797
5646 0140 84F83C20 strb r2, [r4, #60]
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5647 .loc 1 2073 9 view .LVU1798
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5648 .loc 1 2073 16 is_stmt 0 view .LVU1799
5649 0144 0120 movs r0, #1
5650 .LVL245:
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5651 .loc 1 2073 16 view .LVU1800
5652 0146 00E0 b .L370
5653 .LVL246:
5654 .L377:
2099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5655 .loc 1 2099 12 view .LVU1801
5656 0148 0220 movs r0, #2
5657 .LVL247:
5658 .L370:
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5659 .loc 1 2101 1 view .LVU1802
5660 014a 03B0 add sp, sp, #12
5661 .LCFI64:
5662 .cfi_remember_state
5663 .cfi_def_cfa_offset 12
5664 @ sp needed
5665 014c 30BD pop {r4, r5, pc}
5666 .LVL248:
5667 .L378:
5668 .LCFI65:
5669 .cfi_restore_state
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5670 .loc 1 2002 5 view .LVU1803
5671 014e 0220 movs r0, #2
5672 .LVL249:
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5673 .loc 1 2002 5 view .LVU1804
5674 0150 FBE7 b .L370
5675 .L383:
5676 0152 00BF .align 2
5677 .L382:
5678 0154 00000000 .word SystemCoreClock
5679 0158 89B5F814 .word 351843721
5680 015c 0000FFFF .word -65536
5681 0160 00000000 .word I2C_DMAXferCplt
5682 0164 00000000 .word I2C_DMAError
5683 .cfi_endproc
5684 .LFE77:
5686 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
5687 .align 1
5688 .global HAL_I2C_Master_Receive_DMA
5689 .syntax unified
5690 .thumb
5691 .thumb_func
5692 .fpu softvfp
5694 HAL_I2C_Master_Receive_DMA:
5695 .LVL250:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 258
5696 .LFB78:
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
5697 .loc 1 2114 1 is_stmt 1 view -0
5698 .cfi_startproc
5699 @ args = 0, pretend = 0, frame = 8
5700 @ frame_needed = 0, uses_anonymous_args = 0
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
5701 .loc 1 2114 1 is_stmt 0 view .LVU1806
5702 0000 30B5 push {r4, r5, lr}
5703 .LCFI66:
5704 .cfi_def_cfa_offset 12
5705 .cfi_offset 4, -12
5706 .cfi_offset 5, -8
5707 .cfi_offset 14, -4
5708 0002 83B0 sub sp, sp, #12
5709 .LCFI67:
5710 .cfi_def_cfa_offset 24
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
5711 .loc 1 2115 3 is_stmt 1 view .LVU1807
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
5712 .loc 1 2115 17 is_stmt 0 view .LVU1808
5713 0004 0024 movs r4, #0
5714 0006 0194 str r4, [sp, #4]
2116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5715 .loc 1 2116 3 is_stmt 1 view .LVU1809
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5716 .loc 1 2118 3 view .LVU1810
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5717 .loc 1 2118 11 is_stmt 0 view .LVU1811
5718 0008 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
5719 000c E4B2 uxtb r4, r4
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5720 .loc 1 2118 6 view .LVU1812
5721 000e 202C cmp r4, #32
5722 0010 40F09A80 bne .L392
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
5723 .loc 1 2121 5 is_stmt 1 view .LVU1813
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
5724 .loc 1 2121 60 is_stmt 0 view .LVU1814
5725 0014 4F4C ldr r4, .L397
5726 0016 2468 ldr r4, [r4]
5727 0018 E408 lsrs r4, r4, #3
5728 001a 4F4D ldr r5, .L397+4
5729 001c A5FB0454 umull r5, r4, r5, r4
5730 0020 240A lsrs r4, r4, #8
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
5731 .loc 1 2121 35 view .LVU1815
5732 0022 04EB8404 add r4, r4, r4, lsl #2
5733 0026 04EB8404 add r4, r4, r4, lsl #2
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
5734 .loc 1 2121 11 view .LVU1816
5735 002a 0194 str r4, [sp, #4]
5736 .L387:
2122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5737 .loc 1 2122 5 is_stmt 1 view .LVU1817
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
5738 .loc 1 2124 7 view .LVU1818
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 259
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
5739 .loc 1 2124 12 is_stmt 0 view .LVU1819
5740 002c 019C ldr r4, [sp, #4]
5741 002e 013C subs r4, r4, #1
5742 0030 0194 str r4, [sp, #4]
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5743 .loc 1 2125 7 is_stmt 1 view .LVU1820
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5744 .loc 1 2125 17 is_stmt 0 view .LVU1821
5745 0032 019C ldr r4, [sp, #4]
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5746 .loc 1 2125 10 view .LVU1822
5747 0034 002C cmp r4, #0
5748 0036 3ED0 beq .L395
2138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5749 .loc 1 2138 12 view .LVU1823
5750 0038 0468 ldr r4, [r0]
5751 003a A569 ldr r5, [r4, #24]
2138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5752 .loc 1 2138 5 view .LVU1824
5753 003c 15F0020F tst r5, #2
5754 0040 F4D1 bne .L387
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5755 .loc 1 2141 5 is_stmt 1 view .LVU1825
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5756 .loc 1 2141 5 view .LVU1826
5757 0042 90F83C50 ldrb r5, [r0, #60] @ zero_extendqisi2
5758 0046 012D cmp r5, #1
5759 0048 00F08180 beq .L393
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5760 .loc 1 2141 5 discriminator 2 view .LVU1827
5761 004c 0125 movs r5, #1
5762 004e 80F83C50 strb r5, [r0, #60]
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5763 .loc 1 2144 5 discriminator 2 view .LVU1828
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5764 .loc 1 2144 24 is_stmt 0 discriminator 2 view .LVU1829
5765 0052 2568 ldr r5, [r4]
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5766 .loc 1 2144 8 discriminator 2 view .LVU1830
5767 0054 15F0010F tst r5, #1
5768 0058 03D1 bne .L388
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5769 .loc 1 2147 7 is_stmt 1 view .LVU1831
5770 005a 2568 ldr r5, [r4]
5771 005c 45F00105 orr r5, r5, #1
5772 0060 2560 str r5, [r4]
5773 .L388:
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5774 .loc 1 2151 5 view .LVU1832
5775 0062 0568 ldr r5, [r0]
5776 0064 2C68 ldr r4, [r5]
5777 0066 24F40064 bic r4, r4, #2048
5778 006a 2C60 str r4, [r5]
2153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
5779 .loc 1 2153 5 view .LVU1833
2153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 260
5780 .loc 1 2153 21 is_stmt 0 view .LVU1834
5781 006c 2224 movs r4, #34
5782 006e 80F83D40 strb r4, [r0, #61]
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5783 .loc 1 2154 5 is_stmt 1 view .LVU1835
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5784 .loc 1 2154 21 is_stmt 0 view .LVU1836
5785 0072 1024 movs r4, #16
5786 0074 80F83E40 strb r4, [r0, #62]
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5787 .loc 1 2155 5 is_stmt 1 view .LVU1837
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5788 .loc 1 2155 21 is_stmt 0 view .LVU1838
5789 0078 0024 movs r4, #0
5790 007a 0464 str r4, [r0, #64]
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
5791 .loc 1 2158 5 is_stmt 1 view .LVU1839
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
5792 .loc 1 2158 23 is_stmt 0 view .LVU1840
5793 007c 4262 str r2, [r0, #36]
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5794 .loc 1 2159 5 is_stmt 1 view .LVU1841
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5795 .loc 1 2159 23 is_stmt 0 view .LVU1842
5796 007e 4385 strh r3, [r0, #42] @ movhi
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5797 .loc 1 2160 5 is_stmt 1 view .LVU1843
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5798 .loc 1 2160 29 is_stmt 0 view .LVU1844
5799 0080 438D ldrh r3, [r0, #42]
5800 .LVL251:
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5801 .loc 1 2160 29 view .LVU1845
5802 0082 9BB2 uxth r3, r3
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5803 .loc 1 2160 23 view .LVU1846
5804 0084 0385 strh r3, [r0, #40] @ movhi
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
5805 .loc 1 2161 5 is_stmt 1 view .LVU1847
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
5806 .loc 1 2161 23 is_stmt 0 view .LVU1848
5807 0086 354A ldr r2, .L397+8
5808 .LVL252:
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
5809 .loc 1 2161 23 view .LVU1849
5810 0088 C262 str r2, [r0, #44]
5811 .LVL253:
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5812 .loc 1 2162 5 is_stmt 1 view .LVU1850
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5813 .loc 1 2162 23 is_stmt 0 view .LVU1851
5814 008a 4164 str r1, [r0, #68]
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5815 .loc 1 2164 5 is_stmt 1 view .LVU1852
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5816 .loc 1 2164 8 is_stmt 0 view .LVU1853
5817 008c 13BB cbnz r3, .L396
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 261
2218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5818 .loc 1 2218 7 is_stmt 1 view .LVU1854
5819 008e 0268 ldr r2, [r0]
5820 0090 1368 ldr r3, [r2]
5821 0092 43F48063 orr r3, r3, #1024
5822 0096 1360 str r3, [r2]
5823 .LVL254:
2221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5824 .loc 1 2221 7 view .LVU1855
5825 0098 0268 ldr r2, [r0]
5826 009a 1368 ldr r3, [r2]
5827 009c 43F48073 orr r3, r3, #256
5828 00a0 1360 str r3, [r2]
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5829 .loc 1 2224 7 view .LVU1856
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5830 .loc 1 2224 7 view .LVU1857
5831 00a2 0023 movs r3, #0
5832 00a4 80F83C30 strb r3, [r0, #60]
2231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5833 .loc 1 2231 7 view .LVU1858
5834 00a8 0268 ldr r2, [r0]
5835 00aa 5368 ldr r3, [r2, #4]
5836 00ac 43F4E063 orr r3, r3, #1792
5837 00b0 5360 str r3, [r2, #4]
5838 .LVL255:
5839 .L391:
2234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5840 .loc 1 2234 5 view .LVU1859
2234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5841 .loc 1 2234 12 is_stmt 0 view .LVU1860
5842 00b2 0020 movs r0, #0
5843 00b4 49E0 b .L385
5844 .LVL256:
5845 .L395:
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5846 .loc 1 2127 9 is_stmt 1 view .LVU1861
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5847 .loc 1 2127 35 is_stmt 0 view .LVU1862
5848 00b6 0023 movs r3, #0
5849 .LVL257:
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5850 .loc 1 2127 35 view .LVU1863
5851 00b8 0363 str r3, [r0, #48]
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5852 .loc 1 2128 9 is_stmt 1 view .LVU1864
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5853 .loc 1 2128 35 is_stmt 0 view .LVU1865
5854 00ba 2022 movs r2, #32
5855 .LVL258:
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5856 .loc 1 2128 35 view .LVU1866
5857 00bc 80F83D20 strb r2, [r0, #61]
2129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
5858 .loc 1 2129 9 is_stmt 1 view .LVU1867
2129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
5859 .loc 1 2129 35 is_stmt 0 view .LVU1868
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 262
5860 00c0 80F83E30 strb r3, [r0, #62]
2130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5861 .loc 1 2130 9 is_stmt 1 view .LVU1869
2130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5862 .loc 1 2130 35 is_stmt 0 view .LVU1870
5863 00c4 026C ldr r2, [r0, #64]
5864 00c6 42F02002 orr r2, r2, #32
5865 00ca 0264 str r2, [r0, #64]
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5866 .loc 1 2133 9 is_stmt 1 view .LVU1871
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5867 .loc 1 2133 9 view .LVU1872
5868 00cc 80F83C30 strb r3, [r0, #60]
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5869 .loc 1 2135 9 view .LVU1873
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5870 .loc 1 2135 16 is_stmt 0 view .LVU1874
5871 00d0 0120 movs r0, #1
5872 .LVL259:
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5873 .loc 1 2135 16 view .LVU1875
5874 00d2 3AE0 b .L385
5875 .LVL260:
5876 .L396:
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5877 .loc 1 2135 16 view .LVU1876
5878 00d4 0446 mov r4, r0
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5879 .loc 1 2167 7 is_stmt 1 view .LVU1877
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5880 .loc 1 2167 11 is_stmt 0 view .LVU1878
5881 00d6 836B ldr r3, [r0, #56]
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5882 .loc 1 2167 38 view .LVU1879
5883 00d8 214A ldr r2, .L397+12
5884 00da 9A62 str r2, [r3, #40]
5885 .LVL261:
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5886 .loc 1 2170 7 is_stmt 1 view .LVU1880
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5887 .loc 1 2170 11 is_stmt 0 view .LVU1881
5888 00dc 836B ldr r3, [r0, #56]
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5889 .loc 1 2170 39 view .LVU1882
5890 00de 214A ldr r2, .L397+16
5891 00e0 1A63 str r2, [r3, #48]
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
5892 .loc 1 2173 7 is_stmt 1 view .LVU1883
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
5893 .loc 1 2173 11 is_stmt 0 view .LVU1884
5894 00e2 826B ldr r2, [r0, #56]
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
5895 .loc 1 2173 42 view .LVU1885
5896 00e4 0023 movs r3, #0
5897 00e6 D362 str r3, [r2, #44]
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5898 .loc 1 2174 7 is_stmt 1 view .LVU1886
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 263
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5899 .loc 1 2174 11 is_stmt 0 view .LVU1887
5900 00e8 826B ldr r2, [r0, #56]
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5901 .loc 1 2174 39 view .LVU1888
5902 00ea 5363 str r3, [r2, #52]
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5903 .loc 1 2177 7 is_stmt 1 view .LVU1889
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5904 .loc 1 2177 69 is_stmt 0 view .LVU1890
5905 00ec 0168 ldr r1, [r0]
5906 .LVL262:
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5907 .loc 1 2177 23 view .LVU1891
5908 00ee 038D ldrh r3, [r0, #40]
5909 00f0 426A ldr r2, [r0, #36]
5910 00f2 1031 adds r1, r1, #16
5911 00f4 806B ldr r0, [r0, #56]
5912 .LVL263:
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5913 .loc 1 2177 23 view .LVU1892
5914 00f6 FFF7FEFF bl HAL_DMA_Start_IT
5915 .LVL264:
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5916 .loc 1 2179 7 is_stmt 1 view .LVU1893
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5917 .loc 1 2179 10 is_stmt 0 view .LVU1894
5918 00fa B8B9 cbnz r0, .L390
2182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5919 .loc 1 2182 9 is_stmt 1 view .LVU1895
5920 00fc 2268 ldr r2, [r4]
5921 00fe 1368 ldr r3, [r2]
5922 0100 43F48063 orr r3, r3, #1024
5923 0104 1360 str r3, [r2]
2185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5924 .loc 1 2185 9 view .LVU1896
5925 0106 2268 ldr r2, [r4]
5926 0108 1368 ldr r3, [r2]
5927 010a 43F48073 orr r3, r3, #256
5928 010e 1360 str r3, [r2]
2188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5929 .loc 1 2188 9 view .LVU1897
2188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5930 .loc 1 2188 9 view .LVU1898
5931 0110 0023 movs r3, #0
5932 0112 84F83C30 strb r3, [r4, #60]
2195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5933 .loc 1 2195 9 view .LVU1899
5934 0116 2268 ldr r2, [r4]
5935 0118 5368 ldr r3, [r2, #4]
5936 011a 43F44073 orr r3, r3, #768
5937 011e 5360 str r3, [r2, #4]
2198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5938 .loc 1 2198 9 view .LVU1900
5939 0120 2268 ldr r2, [r4]
5940 0122 5368 ldr r3, [r2, #4]
5941 0124 43F40063 orr r3, r3, #2048
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 264
5942 0128 5360 str r3, [r2, #4]
5943 012a C2E7 b .L391
5944 .L390:
2203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5945 .loc 1 2203 9 view .LVU1901
2203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5946 .loc 1 2203 25 is_stmt 0 view .LVU1902
5947 012c 2023 movs r3, #32
5948 012e 84F83D30 strb r3, [r4, #61]
2204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5949 .loc 1 2204 9 is_stmt 1 view .LVU1903
2204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5950 .loc 1 2204 25 is_stmt 0 view .LVU1904
5951 0132 0022 movs r2, #0
5952 0134 84F83E20 strb r2, [r4, #62]
2207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5953 .loc 1 2207 9 is_stmt 1 view .LVU1905
2207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5954 .loc 1 2207 25 is_stmt 0 view .LVU1906
5955 0138 236C ldr r3, [r4, #64]
5956 013a 43F01003 orr r3, r3, #16
5957 013e 2364 str r3, [r4, #64]
2210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5958 .loc 1 2210 9 is_stmt 1 view .LVU1907
2210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5959 .loc 1 2210 9 view .LVU1908
5960 0140 84F83C20 strb r2, [r4, #60]
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5961 .loc 1 2212 9 view .LVU1909
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5962 .loc 1 2212 16 is_stmt 0 view .LVU1910
5963 0144 0120 movs r0, #1
5964 .LVL265:
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5965 .loc 1 2212 16 view .LVU1911
5966 0146 00E0 b .L385
5967 .LVL266:
5968 .L392:
2238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5969 .loc 1 2238 12 view .LVU1912
5970 0148 0220 movs r0, #2
5971 .LVL267:
5972 .L385:
2240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5973 .loc 1 2240 1 view .LVU1913
5974 014a 03B0 add sp, sp, #12
5975 .LCFI68:
5976 .cfi_remember_state
5977 .cfi_def_cfa_offset 12
5978 @ sp needed
5979 014c 30BD pop {r4, r5, pc}
5980 .LVL268:
5981 .L393:
5982 .LCFI69:
5983 .cfi_restore_state
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5984 .loc 1 2141 5 view .LVU1914
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 265
5985 014e 0220 movs r0, #2
5986 .LVL269:
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
5987 .loc 1 2141 5 view .LVU1915
5988 0150 FBE7 b .L385
5989 .L398:
5990 0152 00BF .align 2
5991 .L397:
5992 0154 00000000 .word SystemCoreClock
5993 0158 89B5F814 .word 351843721
5994 015c 0000FFFF .word -65536
5995 0160 00000000 .word I2C_DMAXferCplt
5996 0164 00000000 .word I2C_DMAError
5997 .cfi_endproc
5998 .LFE78:
6000 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
6001 .align 1
6002 .global HAL_I2C_Slave_Transmit_DMA
6003 .syntax unified
6004 .thumb
6005 .thumb_func
6006 .fpu softvfp
6008 HAL_I2C_Slave_Transmit_DMA:
6009 .LVL270:
6010 .LFB79:
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6011 .loc 1 2251 1 is_stmt 1 view -0
6012 .cfi_startproc
6013 @ args = 0, pretend = 0, frame = 0
6014 @ frame_needed = 0, uses_anonymous_args = 0
2252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6015 .loc 1 2252 3 view .LVU1917
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6016 .loc 1 2254 3 view .LVU1918
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6017 .loc 1 2254 11 is_stmt 0 view .LVU1919
6018 0000 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
6019 0004 DBB2 uxtb r3, r3
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6020 .loc 1 2254 6 view .LVU1920
6021 0006 202B cmp r3, #32
6022 0008 5DD1 bne .L403
2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6023 .loc 1 2256 5 is_stmt 1 view .LVU1921
2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6024 .loc 1 2256 8 is_stmt 0 view .LVU1922
6025 000a 0029 cmp r1, #0
6026 000c 5ED0 beq .L404
2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6027 .loc 1 2256 25 discriminator 1 view .LVU1923
6028 000e 002A cmp r2, #0
6029 0010 5ED0 beq .L405
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6030 .loc 1 2262 5 is_stmt 1 view .LVU1924
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6031 .loc 1 2262 5 view .LVU1925
6032 0012 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 266
6033 0016 012B cmp r3, #1
6034 0018 5CD0 beq .L406
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6035 .loc 1 2251 1 is_stmt 0 discriminator 2 view .LVU1926
6036 001a 10B5 push {r4, lr}
6037 .LCFI70:
6038 .cfi_def_cfa_offset 8
6039 .cfi_offset 4, -8
6040 .cfi_offset 14, -4
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6041 .loc 1 2262 5 is_stmt 1 discriminator 2 view .LVU1927
6042 001c 0123 movs r3, #1
6043 001e 80F83C30 strb r3, [r0, #60]
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6044 .loc 1 2265 5 discriminator 2 view .LVU1928
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6045 .loc 1 2265 14 is_stmt 0 discriminator 2 view .LVU1929
6046 0022 0368 ldr r3, [r0]
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6047 .loc 1 2265 24 discriminator 2 view .LVU1930
6048 0024 1C68 ldr r4, [r3]
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6049 .loc 1 2265 8 discriminator 2 view .LVU1931
6050 0026 14F0010F tst r4, #1
6051 002a 03D1 bne .L401
2268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6052 .loc 1 2268 7 is_stmt 1 view .LVU1932
6053 002c 1C68 ldr r4, [r3]
6054 002e 44F00104 orr r4, r4, #1
6055 0032 1C60 str r4, [r3]
6056 .L401:
6057 0034 0446 mov r4, r0
2272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6058 .loc 1 2272 5 view .LVU1933
6059 0036 0068 ldr r0, [r0]
6060 .LVL271:
2272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6061 .loc 1 2272 5 is_stmt 0 view .LVU1934
6062 0038 0368 ldr r3, [r0]
6063 003a 23F40063 bic r3, r3, #2048
6064 003e 0360 str r3, [r0]
2274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
6065 .loc 1 2274 5 is_stmt 1 view .LVU1935
2274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
6066 .loc 1 2274 21 is_stmt 0 view .LVU1936
6067 0040 2123 movs r3, #33
6068 0042 84F83D30 strb r3, [r4, #61]
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6069 .loc 1 2275 5 is_stmt 1 view .LVU1937
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6070 .loc 1 2275 21 is_stmt 0 view .LVU1938
6071 0046 2023 movs r3, #32
6072 0048 84F83E30 strb r3, [r4, #62]
2276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6073 .loc 1 2276 5 is_stmt 1 view .LVU1939
2276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6074 .loc 1 2276 21 is_stmt 0 view .LVU1940
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 267
6075 004c 0023 movs r3, #0
6076 004e 2364 str r3, [r4, #64]
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
6077 .loc 1 2279 5 is_stmt 1 view .LVU1941
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
6078 .loc 1 2279 23 is_stmt 0 view .LVU1942
6079 0050 6162 str r1, [r4, #36]
2280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6080 .loc 1 2280 5 is_stmt 1 view .LVU1943
2280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6081 .loc 1 2280 23 is_stmt 0 view .LVU1944
6082 0052 6285 strh r2, [r4, #42] @ movhi
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6083 .loc 1 2281 5 is_stmt 1 view .LVU1945
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6084 .loc 1 2281 29 is_stmt 0 view .LVU1946
6085 0054 628D ldrh r2, [r4, #42]
6086 .LVL272:
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6087 .loc 1 2281 23 view .LVU1947
6088 0056 2285 strh r2, [r4, #40] @ movhi
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6089 .loc 1 2282 5 is_stmt 1 view .LVU1948
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6090 .loc 1 2282 23 is_stmt 0 view .LVU1949
6091 0058 1F4A ldr r2, .L411
6092 005a E262 str r2, [r4, #44]
6093 .LVL273:
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6094 .loc 1 2285 5 is_stmt 1 view .LVU1950
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6095 .loc 1 2285 9 is_stmt 0 view .LVU1951
6096 005c 626B ldr r2, [r4, #52]
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6097 .loc 1 2285 36 view .LVU1952
6098 005e 1F49 ldr r1, .L411+4
6099 .LVL274:
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6100 .loc 1 2285 36 view .LVU1953
6101 0060 9162 str r1, [r2, #40]
6102 .LVL275:
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6103 .loc 1 2288 5 is_stmt 1 view .LVU1954
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6104 .loc 1 2288 9 is_stmt 0 view .LVU1955
6105 0062 626B ldr r2, [r4, #52]
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6106 .loc 1 2288 37 view .LVU1956
6107 0064 1E49 ldr r1, .L411+8
6108 0066 1163 str r1, [r2, #48]
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6109 .loc 1 2291 5 is_stmt 1 view .LVU1957
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6110 .loc 1 2291 9 is_stmt 0 view .LVU1958
6111 0068 626B ldr r2, [r4, #52]
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6112 .loc 1 2291 40 view .LVU1959
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 268
6113 006a D362 str r3, [r2, #44]
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6114 .loc 1 2292 5 is_stmt 1 view .LVU1960
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6115 .loc 1 2292 9 is_stmt 0 view .LVU1961
6116 006c 626B ldr r2, [r4, #52]
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6117 .loc 1 2292 37 view .LVU1962
6118 006e 5363 str r3, [r2, #52]
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6119 .loc 1 2295 5 is_stmt 1 view .LVU1963
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6120 .loc 1 2295 93 is_stmt 0 view .LVU1964
6121 0070 2268 ldr r2, [r4]
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6122 .loc 1 2295 21 view .LVU1965
6123 0072 238D ldrh r3, [r4, #40]
6124 0074 1032 adds r2, r2, #16
6125 0076 616A ldr r1, [r4, #36]
6126 0078 606B ldr r0, [r4, #52]
6127 007a FFF7FEFF bl HAL_DMA_Start_IT
6128 .LVL276:
2297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6129 .loc 1 2297 5 is_stmt 1 view .LVU1966
2297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6130 .loc 1 2297 8 is_stmt 0 view .LVU1967
6131 007e 0346 mov r3, r0
6132 0080 98B9 cbnz r0, .L402
2300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6133 .loc 1 2300 7 is_stmt 1 view .LVU1968
6134 0082 2168 ldr r1, [r4]
6135 0084 0A68 ldr r2, [r1]
6136 0086 42F48062 orr r2, r2, #1024
6137 008a 0A60 str r2, [r1]
2303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6138 .loc 1 2303 7 view .LVU1969
2303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6139 .loc 1 2303 7 view .LVU1970
6140 008c 0022 movs r2, #0
6141 008e 84F83C20 strb r2, [r4, #60]
2309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6142 .loc 1 2309 7 view .LVU1971
6143 0092 2168 ldr r1, [r4]
6144 0094 4A68 ldr r2, [r1, #4]
6145 0096 42F44072 orr r2, r2, #768
6146 009a 4A60 str r2, [r1, #4]
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6147 .loc 1 2312 7 view .LVU1972
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6148 .loc 1 2312 11 is_stmt 0 view .LVU1973
6149 009c 2168 ldr r1, [r4]
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6150 .loc 1 2312 27 view .LVU1974
6151 009e 4A68 ldr r2, [r1, #4]
6152 00a0 42F40062 orr r2, r2, #2048
6153 00a4 4A60 str r2, [r1, #4]
2314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 269
6154 .loc 1 2314 7 is_stmt 1 view .LVU1975
6155 .L400:
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6156 .loc 1 2335 1 is_stmt 0 view .LVU1976
6157 00a6 1846 mov r0, r3
6158 .LVL277:
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6159 .loc 1 2335 1 view .LVU1977
6160 00a8 10BD pop {r4, pc}
6161 .LVL278:
6162 .L402:
2319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6163 .loc 1 2319 7 is_stmt 1 view .LVU1978
2319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6164 .loc 1 2319 23 is_stmt 0 view .LVU1979
6165 00aa 2023 movs r3, #32
6166 00ac 84F83D30 strb r3, [r4, #61]
2320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6167 .loc 1 2320 7 is_stmt 1 view .LVU1980
2320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6168 .loc 1 2320 23 is_stmt 0 view .LVU1981
6169 00b0 0022 movs r2, #0
6170 00b2 84F83E20 strb r2, [r4, #62]
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6171 .loc 1 2323 7 is_stmt 1 view .LVU1982
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6172 .loc 1 2323 23 is_stmt 0 view .LVU1983
6173 00b6 236C ldr r3, [r4, #64]
6174 00b8 43F01003 orr r3, r3, #16
6175 00bc 2364 str r3, [r4, #64]
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6176 .loc 1 2326 7 is_stmt 1 view .LVU1984
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6177 .loc 1 2326 7 view .LVU1985
6178 00be 84F83C20 strb r2, [r4, #60]
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6179 .loc 1 2328 7 view .LVU1986
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6180 .loc 1 2328 14 is_stmt 0 view .LVU1987
6181 00c2 0123 movs r3, #1
6182 00c4 EFE7 b .L400
6183 .LVL279:
6184 .L403:
6185 .LCFI71:
6186 .cfi_def_cfa_offset 0
6187 .cfi_restore 4
6188 .cfi_restore 14
2333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6189 .loc 1 2333 12 view .LVU1988
6190 00c6 0223 movs r3, #2
6191 .L408:
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6192 .loc 1 2335 1 view .LVU1989
6193 00c8 1846 mov r0, r3
6194 .LVL280:
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6195 .loc 1 2335 1 view .LVU1990
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 270
6196 00ca 7047 bx lr
6197 .LVL281:
6198 .L404:
2258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6199 .loc 1 2258 15 view .LVU1991
6200 00cc 0123 movs r3, #1
6201 00ce FBE7 b .L408
6202 .L405:
6203 00d0 0123 movs r3, #1
6204 00d2 F9E7 b .L408
6205 .L406:
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6206 .loc 1 2262 5 view .LVU1992
6207 00d4 0223 movs r3, #2
6208 00d6 F7E7 b .L408
6209 .L412:
6210 .align 2
6211 .L411:
6212 00d8 0000FFFF .word -65536
6213 00dc 00000000 .word I2C_DMAXferCplt
6214 00e0 00000000 .word I2C_DMAError
6215 .cfi_endproc
6216 .LFE79:
6218 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
6219 .align 1
6220 .global HAL_I2C_Slave_Receive_DMA
6221 .syntax unified
6222 .thumb
6223 .thumb_func
6224 .fpu softvfp
6226 HAL_I2C_Slave_Receive_DMA:
6227 .LVL282:
6228 .LFB80:
2346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6229 .loc 1 2346 1 is_stmt 1 view -0
6230 .cfi_startproc
6231 @ args = 0, pretend = 0, frame = 0
6232 @ frame_needed = 0, uses_anonymous_args = 0
2347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6233 .loc 1 2347 3 view .LVU1994
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6234 .loc 1 2349 3 view .LVU1995
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6235 .loc 1 2349 11 is_stmt 0 view .LVU1996
6236 0000 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
6237 0004 DBB2 uxtb r3, r3
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6238 .loc 1 2349 6 view .LVU1997
6239 0006 202B cmp r3, #32
6240 0008 5DD1 bne .L417
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6241 .loc 1 2351 5 is_stmt 1 view .LVU1998
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6242 .loc 1 2351 8 is_stmt 0 view .LVU1999
6243 000a 0029 cmp r1, #0
6244 000c 5ED0 beq .L418
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 271
6245 .loc 1 2351 25 discriminator 1 view .LVU2000
6246 000e 002A cmp r2, #0
6247 0010 5ED0 beq .L419
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6248 .loc 1 2357 5 is_stmt 1 view .LVU2001
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6249 .loc 1 2357 5 view .LVU2002
6250 0012 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
6251 0016 012B cmp r3, #1
6252 0018 5CD0 beq .L420
2346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6253 .loc 1 2346 1 is_stmt 0 discriminator 2 view .LVU2003
6254 001a 10B5 push {r4, lr}
6255 .LCFI72:
6256 .cfi_def_cfa_offset 8
6257 .cfi_offset 4, -8
6258 .cfi_offset 14, -4
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6259 .loc 1 2357 5 is_stmt 1 discriminator 2 view .LVU2004
6260 001c 0123 movs r3, #1
6261 001e 80F83C30 strb r3, [r0, #60]
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6262 .loc 1 2360 5 discriminator 2 view .LVU2005
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6263 .loc 1 2360 14 is_stmt 0 discriminator 2 view .LVU2006
6264 0022 0368 ldr r3, [r0]
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6265 .loc 1 2360 24 discriminator 2 view .LVU2007
6266 0024 1C68 ldr r4, [r3]
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6267 .loc 1 2360 8 discriminator 2 view .LVU2008
6268 0026 14F0010F tst r4, #1
6269 002a 03D1 bne .L415
2363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6270 .loc 1 2363 7 is_stmt 1 view .LVU2009
6271 002c 1C68 ldr r4, [r3]
6272 002e 44F00104 orr r4, r4, #1
6273 0032 1C60 str r4, [r3]
6274 .L415:
6275 0034 0446 mov r4, r0
2367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6276 .loc 1 2367 5 view .LVU2010
6277 0036 0068 ldr r0, [r0]
6278 .LVL283:
2367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6279 .loc 1 2367 5 is_stmt 0 view .LVU2011
6280 0038 0368 ldr r3, [r0]
6281 003a 23F40063 bic r3, r3, #2048
6282 003e 0360 str r3, [r0]
2369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
6283 .loc 1 2369 5 is_stmt 1 view .LVU2012
2369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
6284 .loc 1 2369 21 is_stmt 0 view .LVU2013
6285 0040 2223 movs r3, #34
6286 0042 84F83D30 strb r3, [r4, #61]
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6287 .loc 1 2370 5 is_stmt 1 view .LVU2014
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 272
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6288 .loc 1 2370 21 is_stmt 0 view .LVU2015
6289 0046 2023 movs r3, #32
6290 0048 84F83E30 strb r3, [r4, #62]
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6291 .loc 1 2371 5 is_stmt 1 view .LVU2016
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6292 .loc 1 2371 21 is_stmt 0 view .LVU2017
6293 004c 0023 movs r3, #0
6294 004e 2364 str r3, [r4, #64]
2374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
6295 .loc 1 2374 5 is_stmt 1 view .LVU2018
2374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
6296 .loc 1 2374 23 is_stmt 0 view .LVU2019
6297 0050 6162 str r1, [r4, #36]
2375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6298 .loc 1 2375 5 is_stmt 1 view .LVU2020
2375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6299 .loc 1 2375 23 is_stmt 0 view .LVU2021
6300 0052 6285 strh r2, [r4, #42] @ movhi
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6301 .loc 1 2376 5 is_stmt 1 view .LVU2022
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6302 .loc 1 2376 29 is_stmt 0 view .LVU2023
6303 0054 628D ldrh r2, [r4, #42]
6304 .LVL284:
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6305 .loc 1 2376 23 view .LVU2024
6306 0056 2285 strh r2, [r4, #40] @ movhi
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6307 .loc 1 2377 5 is_stmt 1 view .LVU2025
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6308 .loc 1 2377 23 is_stmt 0 view .LVU2026
6309 0058 1F4A ldr r2, .L425
6310 005a E262 str r2, [r4, #44]
6311 .LVL285:
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6312 .loc 1 2380 5 is_stmt 1 view .LVU2027
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6313 .loc 1 2380 9 is_stmt 0 view .LVU2028
6314 005c A26B ldr r2, [r4, #56]
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6315 .loc 1 2380 36 view .LVU2029
6316 005e 1F49 ldr r1, .L425+4
6317 .LVL286:
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6318 .loc 1 2380 36 view .LVU2030
6319 0060 9162 str r1, [r2, #40]
6320 .LVL287:
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6321 .loc 1 2383 5 is_stmt 1 view .LVU2031
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6322 .loc 1 2383 9 is_stmt 0 view .LVU2032
6323 0062 A26B ldr r2, [r4, #56]
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6324 .loc 1 2383 37 view .LVU2033
6325 0064 1E49 ldr r1, .L425+8
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 273
6326 0066 1163 str r1, [r2, #48]
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6327 .loc 1 2386 5 is_stmt 1 view .LVU2034
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6328 .loc 1 2386 9 is_stmt 0 view .LVU2035
6329 0068 A26B ldr r2, [r4, #56]
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6330 .loc 1 2386 40 view .LVU2036
6331 006a D362 str r3, [r2, #44]
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6332 .loc 1 2387 5 is_stmt 1 view .LVU2037
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6333 .loc 1 2387 9 is_stmt 0 view .LVU2038
6334 006c A26B ldr r2, [r4, #56]
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6335 .loc 1 2387 37 view .LVU2039
6336 006e 5363 str r3, [r2, #52]
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6337 .loc 1 2390 5 is_stmt 1 view .LVU2040
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6338 .loc 1 2390 67 is_stmt 0 view .LVU2041
6339 0070 2168 ldr r1, [r4]
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6340 .loc 1 2390 21 view .LVU2042
6341 0072 238D ldrh r3, [r4, #40]
6342 0074 626A ldr r2, [r4, #36]
6343 0076 1031 adds r1, r1, #16
6344 0078 A06B ldr r0, [r4, #56]
6345 007a FFF7FEFF bl HAL_DMA_Start_IT
6346 .LVL288:
2392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6347 .loc 1 2392 5 is_stmt 1 view .LVU2043
2392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6348 .loc 1 2392 8 is_stmt 0 view .LVU2044
6349 007e 0346 mov r3, r0
6350 0080 98B9 cbnz r0, .L416
2395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6351 .loc 1 2395 7 is_stmt 1 view .LVU2045
6352 0082 2168 ldr r1, [r4]
6353 0084 0A68 ldr r2, [r1]
6354 0086 42F48062 orr r2, r2, #1024
6355 008a 0A60 str r2, [r1]
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6356 .loc 1 2398 7 view .LVU2046
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6357 .loc 1 2398 7 view .LVU2047
6358 008c 0022 movs r2, #0
6359 008e 84F83C20 strb r2, [r4, #60]
2404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6360 .loc 1 2404 7 view .LVU2048
6361 0092 2168 ldr r1, [r4]
6362 0094 4A68 ldr r2, [r1, #4]
6363 0096 42F44072 orr r2, r2, #768
6364 009a 4A60 str r2, [r1, #4]
2407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6365 .loc 1 2407 7 view .LVU2049
6366 009c 2168 ldr r1, [r4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 274
6367 009e 4A68 ldr r2, [r1, #4]
6368 00a0 42F40062 orr r2, r2, #2048
6369 00a4 4A60 str r2, [r1, #4]
2409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6370 .loc 1 2409 7 view .LVU2050
6371 .L414:
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6372 .loc 1 2430 1 is_stmt 0 view .LVU2051
6373 00a6 1846 mov r0, r3
6374 .LVL289:
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6375 .loc 1 2430 1 view .LVU2052
6376 00a8 10BD pop {r4, pc}
6377 .LVL290:
6378 .L416:
2414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6379 .loc 1 2414 7 is_stmt 1 view .LVU2053
2414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6380 .loc 1 2414 23 is_stmt 0 view .LVU2054
6381 00aa 2023 movs r3, #32
6382 00ac 84F83D30 strb r3, [r4, #61]
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6383 .loc 1 2415 7 is_stmt 1 view .LVU2055
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6384 .loc 1 2415 23 is_stmt 0 view .LVU2056
6385 00b0 0022 movs r2, #0
6386 00b2 84F83E20 strb r2, [r4, #62]
2418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6387 .loc 1 2418 7 is_stmt 1 view .LVU2057
2418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6388 .loc 1 2418 23 is_stmt 0 view .LVU2058
6389 00b6 236C ldr r3, [r4, #64]
6390 00b8 43F01003 orr r3, r3, #16
6391 00bc 2364 str r3, [r4, #64]
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6392 .loc 1 2421 7 is_stmt 1 view .LVU2059
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6393 .loc 1 2421 7 view .LVU2060
6394 00be 84F83C20 strb r2, [r4, #60]
2423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6395 .loc 1 2423 7 view .LVU2061
2423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6396 .loc 1 2423 14 is_stmt 0 view .LVU2062
6397 00c2 0123 movs r3, #1
6398 00c4 EFE7 b .L414
6399 .LVL291:
6400 .L417:
6401 .LCFI73:
6402 .cfi_def_cfa_offset 0
6403 .cfi_restore 4
6404 .cfi_restore 14
2428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6405 .loc 1 2428 12 view .LVU2063
6406 00c6 0223 movs r3, #2
6407 .L422:
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6408 .loc 1 2430 1 view .LVU2064
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 275
6409 00c8 1846 mov r0, r3
6410 .LVL292:
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6411 .loc 1 2430 1 view .LVU2065
6412 00ca 7047 bx lr
6413 .LVL293:
6414 .L418:
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6415 .loc 1 2353 15 view .LVU2066
6416 00cc 0123 movs r3, #1
6417 00ce FBE7 b .L422
6418 .L419:
6419 00d0 0123 movs r3, #1
6420 00d2 F9E7 b .L422
6421 .L420:
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6422 .loc 1 2357 5 view .LVU2067
6423 00d4 0223 movs r3, #2
6424 00d6 F7E7 b .L422
6425 .L426:
6426 .align 2
6427 .L425:
6428 00d8 0000FFFF .word -65536
6429 00dc 00000000 .word I2C_DMAXferCplt
6430 00e0 00000000 .word I2C_DMAError
6431 .cfi_endproc
6432 .LFE80:
6434 .section .text.HAL_I2C_Mem_Write,"ax",%progbits
6435 .align 1
6436 .global HAL_I2C_Mem_Write
6437 .syntax unified
6438 .thumb
6439 .thumb_func
6440 .fpu softvfp
6442 HAL_I2C_Mem_Write:
6443 .LVL294:
6444 .LFB81:
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
6445 .loc 1 2446 1 is_stmt 1 view -0
6446 .cfi_startproc
6447 @ args = 12, pretend = 0, frame = 0
6448 @ frame_needed = 0, uses_anonymous_args = 0
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
6449 .loc 1 2446 1 is_stmt 0 view .LVU2069
6450 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
6451 .LCFI74:
6452 .cfi_def_cfa_offset 24
6453 .cfi_offset 4, -24
6454 .cfi_offset 5, -20
6455 .cfi_offset 6, -16
6456 .cfi_offset 7, -12
6457 .cfi_offset 8, -8
6458 .cfi_offset 14, -4
6459 0004 82B0 sub sp, sp, #8
6460 .LCFI75:
6461 .cfi_def_cfa_offset 32
6462 0006 0446 mov r4, r0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 276
6463 0008 0E46 mov r6, r1
6464 000a 1746 mov r7, r2
6465 000c 9846 mov r8, r3
2448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6466 .loc 1 2448 3 is_stmt 1 view .LVU2070
2448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6467 .loc 1 2448 24 is_stmt 0 view .LVU2071
6468 000e FFF7FEFF bl HAL_GetTick
6469 .LVL295:
2451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6470 .loc 1 2451 3 is_stmt 1 view .LVU2072
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6471 .loc 1 2453 3 view .LVU2073
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6472 .loc 1 2453 11 is_stmt 0 view .LVU2074
6473 0012 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
6474 0016 DBB2 uxtb r3, r3
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6475 .loc 1 2453 6 view .LVU2075
6476 0018 202B cmp r3, #32
6477 001a 04D0 beq .L442
2551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6478 .loc 1 2551 12 view .LVU2076
6479 001c 0223 movs r3, #2
6480 .LVL296:
6481 .L428:
2553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6482 .loc 1 2553 1 view .LVU2077
6483 001e 1846 mov r0, r3
6484 0020 02B0 add sp, sp, #8
6485 .LCFI76:
6486 .cfi_remember_state
6487 .cfi_def_cfa_offset 24
6488 @ sp needed
6489 0022 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
6490 .LVL297:
6491 .L442:
6492 .LCFI77:
6493 .cfi_restore_state
2553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6494 .loc 1 2553 1 view .LVU2078
6495 0026 0546 mov r5, r0
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6496 .loc 1 2456 5 is_stmt 1 view .LVU2079
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6497 .loc 1 2456 9 is_stmt 0 view .LVU2080
6498 0028 0090 str r0, [sp]
6499 002a 1923 movs r3, #25
6500 002c 0122 movs r2, #1
6501 002e 4B49 ldr r1, .L448
6502 0030 2046 mov r0, r4
6503 .LVL298:
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6504 .loc 1 2456 9 view .LVU2081
6505 0032 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
6506 .LVL299:
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 277
6507 .loc 1 2456 8 view .LVU2082
6508 0036 0028 cmp r0, #0
6509 0038 40F08980 bne .L438
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6510 .loc 1 2462 5 is_stmt 1 view .LVU2083
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6511 .loc 1 2462 5 view .LVU2084
6512 003c 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
6513 0040 012B cmp r3, #1
6514 0042 00F08680 beq .L439
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6515 .loc 1 2462 5 discriminator 2 view .LVU2085
6516 0046 0123 movs r3, #1
6517 0048 84F83C30 strb r3, [r4, #60]
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6518 .loc 1 2465 5 discriminator 2 view .LVU2086
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6519 .loc 1 2465 14 is_stmt 0 discriminator 2 view .LVU2087
6520 004c 2368 ldr r3, [r4]
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6521 .loc 1 2465 24 discriminator 2 view .LVU2088
6522 004e 1A68 ldr r2, [r3]
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6523 .loc 1 2465 8 discriminator 2 view .LVU2089
6524 0050 12F0010F tst r2, #1
6525 0054 03D1 bne .L429
2468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6526 .loc 1 2468 7 is_stmt 1 view .LVU2090
6527 0056 1A68 ldr r2, [r3]
6528 0058 42F00102 orr r2, r2, #1
6529 005c 1A60 str r2, [r3]
6530 .L429:
2472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6531 .loc 1 2472 5 view .LVU2091
6532 005e 2268 ldr r2, [r4]
6533 0060 1368 ldr r3, [r2]
6534 0062 23F40063 bic r3, r3, #2048
6535 0066 1360 str r3, [r2]
2474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6536 .loc 1 2474 5 view .LVU2092
2474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6537 .loc 1 2474 21 is_stmt 0 view .LVU2093
6538 0068 2123 movs r3, #33
6539 006a 84F83D30 strb r3, [r4, #61]
2475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6540 .loc 1 2475 5 is_stmt 1 view .LVU2094
2475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6541 .loc 1 2475 21 is_stmt 0 view .LVU2095
6542 006e 4023 movs r3, #64
6543 0070 84F83E30 strb r3, [r4, #62]
2476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6544 .loc 1 2476 5 is_stmt 1 view .LVU2096
2476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6545 .loc 1 2476 21 is_stmt 0 view .LVU2097
6546 0074 0023 movs r3, #0
6547 0076 2364 str r3, [r4, #64]
2479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 278
6548 .loc 1 2479 5 is_stmt 1 view .LVU2098
2479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
6549 .loc 1 2479 23 is_stmt 0 view .LVU2099
6550 0078 089B ldr r3, [sp, #32]
6551 007a 6362 str r3, [r4, #36]
2480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6552 .loc 1 2480 5 is_stmt 1 view .LVU2100
2480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6553 .loc 1 2480 23 is_stmt 0 view .LVU2101
6554 007c BDF82430 ldrh r3, [sp, #36]
6555 0080 6385 strh r3, [r4, #42] @ movhi
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6556 .loc 1 2481 5 is_stmt 1 view .LVU2102
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6557 .loc 1 2481 29 is_stmt 0 view .LVU2103
6558 0082 638D ldrh r3, [r4, #42]
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6559 .loc 1 2481 23 view .LVU2104
6560 0084 2385 strh r3, [r4, #40] @ movhi
2482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6561 .loc 1 2482 5 is_stmt 1 view .LVU2105
2482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6562 .loc 1 2482 23 is_stmt 0 view .LVU2106
6563 0086 364B ldr r3, .L448+4
6564 0088 E362 str r3, [r4, #44]
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6565 .loc 1 2485 5 is_stmt 1 view .LVU2107
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6566 .loc 1 2485 9 is_stmt 0 view .LVU2108
6567 008a 0195 str r5, [sp, #4]
6568 008c 0A9B ldr r3, [sp, #40]
6569 008e 0093 str r3, [sp]
6570 0090 4346 mov r3, r8
6571 0092 3A46 mov r2, r7
6572 0094 3146 mov r1, r6
6573 0096 2046 mov r0, r4
6574 0098 FFF7FEFF bl I2C_RequestMemoryWrite
6575 .LVL300:
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6576 .loc 1 2485 8 view .LVU2109
6577 009c 0028 cmp r0, #0
6578 009e 5AD1 bne .L443
6579 .L430:
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6580 .loc 1 2490 16 view .LVU2110
6581 00a0 238D ldrh r3, [r4, #40]
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6582 .loc 1 2490 11 view .LVU2111
6583 00a2 002B cmp r3, #0
6584 00a4 33D0 beq .L444
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6585 .loc 1 2493 7 is_stmt 1 view .LVU2112
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6586 .loc 1 2493 11 is_stmt 0 view .LVU2113
6587 00a6 2A46 mov r2, r5
6588 00a8 0A99 ldr r1, [sp, #40]
6589 00aa 2046 mov r0, r4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 279
6590 00ac FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout
6591 .LVL301:
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6592 .loc 1 2493 10 view .LVU2114
6593 00b0 10BB cbnz r0, .L445
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6594 .loc 1 2504 7 is_stmt 1 view .LVU2115
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6595 .loc 1 2504 33 is_stmt 0 view .LVU2116
6596 00b2 626A ldr r2, [r4, #36]
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6597 .loc 1 2504 11 view .LVU2117
6598 00b4 2368 ldr r3, [r4]
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6599 .loc 1 2504 28 view .LVU2118
6600 00b6 1278 ldrb r2, [r2] @ zero_extendqisi2
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6601 .loc 1 2504 26 view .LVU2119
6602 00b8 1A61 str r2, [r3, #16]
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6603 .loc 1 2507 7 is_stmt 1 view .LVU2120
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6604 .loc 1 2507 11 is_stmt 0 view .LVU2121
6605 00ba 616A ldr r1, [r4, #36]
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6606 .loc 1 2507 21 view .LVU2122
6607 00bc 4B1C adds r3, r1, #1
6608 00be 6362 str r3, [r4, #36]
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
6609 .loc 1 2510 7 is_stmt 1 view .LVU2123
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
6610 .loc 1 2510 11 is_stmt 0 view .LVU2124
6611 00c0 238D ldrh r3, [r4, #40]
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
6612 .loc 1 2510 21 view .LVU2125
6613 00c2 013B subs r3, r3, #1
6614 00c4 9BB2 uxth r3, r3
6615 00c6 2385 strh r3, [r4, #40] @ movhi
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6616 .loc 1 2511 7 is_stmt 1 view .LVU2126
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6617 .loc 1 2511 11 is_stmt 0 view .LVU2127
6618 00c8 628D ldrh r2, [r4, #42]
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6619 .loc 1 2511 22 view .LVU2128
6620 00ca 013A subs r2, r2, #1
6621 00cc 92B2 uxth r2, r2
6622 00ce 6285 strh r2, [r4, #42] @ movhi
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6623 .loc 1 2513 7 is_stmt 1 view .LVU2129
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6624 .loc 1 2513 12 is_stmt 0 view .LVU2130
6625 00d0 2268 ldr r2, [r4]
6626 00d2 5069 ldr r0, [r2, #20]
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6627 .loc 1 2513 10 view .LVU2131
6628 00d4 10F0040F tst r0, #4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 280
6629 00d8 E2D0 beq .L430
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6630 .loc 1 2513 59 discriminator 1 view .LVU2132
6631 00da 002B cmp r3, #0
6632 00dc E0D0 beq .L430
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6633 .loc 1 2516 9 is_stmt 1 view .LVU2133
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6634 .loc 1 2516 30 is_stmt 0 view .LVU2134
6635 00de 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6636 .loc 1 2516 28 view .LVU2135
6637 00e0 1361 str r3, [r2, #16]
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6638 .loc 1 2519 9 is_stmt 1 view .LVU2136
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6639 .loc 1 2519 13 is_stmt 0 view .LVU2137
6640 00e2 636A ldr r3, [r4, #36]
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6641 .loc 1 2519 23 view .LVU2138
6642 00e4 0133 adds r3, r3, #1
6643 00e6 6362 str r3, [r4, #36]
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
6644 .loc 1 2522 9 is_stmt 1 view .LVU2139
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
6645 .loc 1 2522 13 is_stmt 0 view .LVU2140
6646 00e8 238D ldrh r3, [r4, #40]
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
6647 .loc 1 2522 23 view .LVU2141
6648 00ea 013B subs r3, r3, #1
6649 00ec 2385 strh r3, [r4, #40] @ movhi
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6650 .loc 1 2523 9 is_stmt 1 view .LVU2142
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6651 .loc 1 2523 13 is_stmt 0 view .LVU2143
6652 00ee 638D ldrh r3, [r4, #42]
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6653 .loc 1 2523 24 view .LVU2144
6654 00f0 013B subs r3, r3, #1
6655 00f2 9BB2 uxth r3, r3
6656 00f4 6385 strh r3, [r4, #42] @ movhi
6657 00f6 D3E7 b .L430
6658 .L445:
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6659 .loc 1 2495 9 is_stmt 1 view .LVU2145
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6660 .loc 1 2495 17 is_stmt 0 view .LVU2146
6661 00f8 236C ldr r3, [r4, #64]
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6662 .loc 1 2495 12 view .LVU2147
6663 00fa 042B cmp r3, #4
6664 00fc 01D0 beq .L446
6665 .L432:
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6666 .loc 1 2500 9 is_stmt 1 view .LVU2148
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6667 .loc 1 2500 16 is_stmt 0 view .LVU2149
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 281
6668 00fe 0123 movs r3, #1
6669 0100 8DE7 b .L428
6670 .L446:
2498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6671 .loc 1 2498 11 is_stmt 1 view .LVU2150
6672 0102 2268 ldr r2, [r4]
6673 0104 1368 ldr r3, [r2]
6674 0106 43F40073 orr r3, r3, #512
6675 010a 1360 str r3, [r2]
6676 010c F7E7 b .L432
6677 .L444:
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6678 .loc 1 2528 5 view .LVU2151
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6679 .loc 1 2528 9 is_stmt 0 view .LVU2152
6680 010e 2A46 mov r2, r5
6681 0110 0A99 ldr r1, [sp, #40]
6682 0112 2046 mov r0, r4
6683 0114 FFF7FEFF bl I2C_WaitOnBTFFlagUntilTimeout
6684 .LVL302:
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6685 .loc 1 2528 8 view .LVU2153
6686 0118 0346 mov r3, r0
6687 011a 50B1 cbz r0, .L435
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6688 .loc 1 2530 7 is_stmt 1 view .LVU2154
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6689 .loc 1 2530 15 is_stmt 0 view .LVU2155
6690 011c 236C ldr r3, [r4, #64]
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6691 .loc 1 2530 10 view .LVU2156
6692 011e 042B cmp r3, #4
6693 0120 01D0 beq .L447
6694 .L436:
2535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6695 .loc 1 2535 7 is_stmt 1 view .LVU2157
2535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6696 .loc 1 2535 14 is_stmt 0 view .LVU2158
6697 0122 0123 movs r3, #1
6698 0124 7BE7 b .L428
6699 .L447:
2533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6700 .loc 1 2533 9 is_stmt 1 view .LVU2159
6701 0126 2268 ldr r2, [r4]
6702 0128 1368 ldr r3, [r2]
6703 012a 43F40073 orr r3, r3, #512
6704 012e 1360 str r3, [r2]
6705 0130 F7E7 b .L436
6706 .L435:
2539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6707 .loc 1 2539 5 view .LVU2160
6708 0132 2168 ldr r1, [r4]
6709 0134 0A68 ldr r2, [r1]
6710 0136 42F40072 orr r2, r2, #512
6711 013a 0A60 str r2, [r1]
2541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6712 .loc 1 2541 5 view .LVU2161
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 282
2541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6713 .loc 1 2541 17 is_stmt 0 view .LVU2162
6714 013c 2022 movs r2, #32
6715 013e 84F83D20 strb r2, [r4, #61]
2542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6716 .loc 1 2542 5 is_stmt 1 view .LVU2163
2542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6717 .loc 1 2542 16 is_stmt 0 view .LVU2164
6718 0142 0022 movs r2, #0
6719 0144 84F83E20 strb r2, [r4, #62]
2545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6720 .loc 1 2545 5 is_stmt 1 view .LVU2165
2545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6721 .loc 1 2545 5 view .LVU2166
6722 0148 84F83C20 strb r2, [r4, #60]
2547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6723 .loc 1 2547 5 view .LVU2167
2547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6724 .loc 1 2547 12 is_stmt 0 view .LVU2168
6725 014c 67E7 b .L428
6726 .L438:
2458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6727 .loc 1 2458 14 view .LVU2169
6728 014e 0223 movs r3, #2
6729 0150 65E7 b .L428
6730 .L439:
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6731 .loc 1 2462 5 view .LVU2170
6732 0152 0223 movs r3, #2
6733 0154 63E7 b .L428
6734 .L443:
2487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6735 .loc 1 2487 14 view .LVU2171
6736 0156 0123 movs r3, #1
6737 0158 61E7 b .L428
6738 .L449:
6739 015a 00BF .align 2
6740 .L448:
6741 015c 02001000 .word 1048578
6742 0160 0000FFFF .word -65536
6743 .cfi_endproc
6744 .LFE81:
6746 .section .text.HAL_I2C_Mem_Read,"ax",%progbits
6747 .align 1
6748 .global HAL_I2C_Mem_Read
6749 .syntax unified
6750 .thumb
6751 .thumb_func
6752 .fpu softvfp
6754 HAL_I2C_Mem_Read:
6755 .LVL303:
6756 .LFB82:
2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
6757 .loc 1 2569 1 is_stmt 1 view -0
6758 .cfi_startproc
6759 @ args = 12, pretend = 0, frame = 16
6760 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 283
2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
6761 .loc 1 2569 1 is_stmt 0 view .LVU2173
6762 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
6763 .LCFI78:
6764 .cfi_def_cfa_offset 24
6765 .cfi_offset 4, -24
6766 .cfi_offset 5, -20
6767 .cfi_offset 6, -16
6768 .cfi_offset 7, -12
6769 .cfi_offset 8, -8
6770 .cfi_offset 14, -4
6771 0004 86B0 sub sp, sp, #24
6772 .LCFI79:
6773 .cfi_def_cfa_offset 48
6774 0006 0446 mov r4, r0
6775 0008 0E46 mov r6, r1
6776 000a 1746 mov r7, r2
6777 000c 9846 mov r8, r3
2571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6778 .loc 1 2571 3 is_stmt 1 view .LVU2174
2571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6779 .loc 1 2571 24 is_stmt 0 view .LVU2175
6780 000e FFF7FEFF bl HAL_GetTick
6781 .LVL304:
2574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6782 .loc 1 2574 3 is_stmt 1 view .LVU2176
2576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6783 .loc 1 2576 3 view .LVU2177
2576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6784 .loc 1 2576 11 is_stmt 0 view .LVU2178
6785 0012 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
6786 0016 DBB2 uxtb r3, r3
2576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6787 .loc 1 2576 6 view .LVU2179
6788 0018 202B cmp r3, #32
6789 001a 04D0 beq .L473
2829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6790 .loc 1 2829 12 view .LVU2180
6791 001c 0226 movs r6, #2
6792 .LVL305:
6793 .L451:
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6794 .loc 1 2831 1 view .LVU2181
6795 001e 3046 mov r0, r6
6796 0020 06B0 add sp, sp, #24
6797 .LCFI80:
6798 .cfi_remember_state
6799 .cfi_def_cfa_offset 24
6800 @ sp needed
6801 0022 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
6802 .LVL306:
6803 .L473:
6804 .LCFI81:
6805 .cfi_restore_state
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6806 .loc 1 2831 1 view .LVU2182
6807 0026 0546 mov r5, r0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 284
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6808 .loc 1 2579 5 is_stmt 1 view .LVU2183
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6809 .loc 1 2579 9 is_stmt 0 view .LVU2184
6810 0028 0090 str r0, [sp]
6811 002a 1923 movs r3, #25
6812 002c 0122 movs r2, #1
6813 002e 8C49 ldr r1, .L479
6814 0030 2046 mov r0, r4
6815 .LVL307:
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6816 .loc 1 2579 9 view .LVU2185
6817 0032 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
6818 .LVL308:
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6819 .loc 1 2579 8 view .LVU2186
6820 0036 0028 cmp r0, #0
6821 0038 40F04881 bne .L464
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6822 .loc 1 2585 5 is_stmt 1 view .LVU2187
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6823 .loc 1 2585 5 view .LVU2188
6824 003c 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
6825 0040 012B cmp r3, #1
6826 0042 00F04581 beq .L465
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6827 .loc 1 2585 5 discriminator 2 view .LVU2189
6828 0046 0123 movs r3, #1
6829 0048 84F83C30 strb r3, [r4, #60]
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6830 .loc 1 2588 5 discriminator 2 view .LVU2190
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6831 .loc 1 2588 14 is_stmt 0 discriminator 2 view .LVU2191
6832 004c 2368 ldr r3, [r4]
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6833 .loc 1 2588 24 discriminator 2 view .LVU2192
6834 004e 1A68 ldr r2, [r3]
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6835 .loc 1 2588 8 discriminator 2 view .LVU2193
6836 0050 12F0010F tst r2, #1
6837 0054 03D1 bne .L452
2591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6838 .loc 1 2591 7 is_stmt 1 view .LVU2194
6839 0056 1A68 ldr r2, [r3]
6840 0058 42F00102 orr r2, r2, #1
6841 005c 1A60 str r2, [r3]
6842 .L452:
2595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6843 .loc 1 2595 5 view .LVU2195
6844 005e 2268 ldr r2, [r4]
6845 0060 1368 ldr r3, [r2]
6846 0062 23F40063 bic r3, r3, #2048
6847 0066 1360 str r3, [r2]
2597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6848 .loc 1 2597 5 view .LVU2196
2597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6849 .loc 1 2597 21 is_stmt 0 view .LVU2197
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 285
6850 0068 2223 movs r3, #34
6851 006a 84F83D30 strb r3, [r4, #61]
2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6852 .loc 1 2598 5 is_stmt 1 view .LVU2198
2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6853 .loc 1 2598 21 is_stmt 0 view .LVU2199
6854 006e 4023 movs r3, #64
6855 0070 84F83E30 strb r3, [r4, #62]
2599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6856 .loc 1 2599 5 is_stmt 1 view .LVU2200
2599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6857 .loc 1 2599 21 is_stmt 0 view .LVU2201
6858 0074 0023 movs r3, #0
6859 0076 2364 str r3, [r4, #64]
2602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
6860 .loc 1 2602 5 is_stmt 1 view .LVU2202
2602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
6861 .loc 1 2602 23 is_stmt 0 view .LVU2203
6862 0078 0C9B ldr r3, [sp, #48]
6863 007a 6362 str r3, [r4, #36]
2603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6864 .loc 1 2603 5 is_stmt 1 view .LVU2204
2603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6865 .loc 1 2603 23 is_stmt 0 view .LVU2205
6866 007c BDF83430 ldrh r3, [sp, #52]
6867 0080 6385 strh r3, [r4, #42] @ movhi
2604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6868 .loc 1 2604 5 is_stmt 1 view .LVU2206
2604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6869 .loc 1 2604 29 is_stmt 0 view .LVU2207
6870 0082 638D ldrh r3, [r4, #42]
2604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6871 .loc 1 2604 23 view .LVU2208
6872 0084 2385 strh r3, [r4, #40] @ movhi
2605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6873 .loc 1 2605 5 is_stmt 1 view .LVU2209
2605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6874 .loc 1 2605 23 is_stmt 0 view .LVU2210
6875 0086 774B ldr r3, .L479+4
6876 0088 E362 str r3, [r4, #44]
2608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6877 .loc 1 2608 5 is_stmt 1 view .LVU2211
2608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6878 .loc 1 2608 9 is_stmt 0 view .LVU2212
6879 008a 0195 str r5, [sp, #4]
6880 008c 0E9B ldr r3, [sp, #56]
6881 008e 0093 str r3, [sp]
6882 0090 4346 mov r3, r8
6883 0092 3A46 mov r2, r7
6884 0094 3146 mov r1, r6
6885 0096 2046 mov r0, r4
6886 0098 FFF7FEFF bl I2C_RequestMemoryRead
6887 .LVL309:
2608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6888 .loc 1 2608 8 view .LVU2213
6889 009c 0646 mov r6, r0
6890 009e 0028 cmp r0, #0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 286
6891 00a0 40F01881 bne .L466
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6892 .loc 1 2613 5 is_stmt 1 view .LVU2214
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6893 .loc 1 2613 13 is_stmt 0 view .LVU2215
6894 00a4 238D ldrh r3, [r4, #40]
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6895 .loc 1 2613 8 view .LVU2216
6896 00a6 5BB9 cbnz r3, .L453
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6897 .loc 1 2616 7 is_stmt 1 view .LVU2217
6898 .LBB81:
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6899 .loc 1 2616 7 view .LVU2218
6900 00a8 0293 str r3, [sp, #8]
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6901 .loc 1 2616 7 view .LVU2219
6902 00aa 2368 ldr r3, [r4]
6903 00ac 5A69 ldr r2, [r3, #20]
6904 00ae 0292 str r2, [sp, #8]
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6905 .loc 1 2616 7 view .LVU2220
6906 00b0 9A69 ldr r2, [r3, #24]
6907 00b2 0292 str r2, [sp, #8]
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6908 .loc 1 2616 7 view .LVU2221
6909 00b4 029A ldr r2, [sp, #8]
6910 .LBE81:
2619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6911 .loc 1 2619 7 view .LVU2222
6912 00b6 1A68 ldr r2, [r3]
6913 00b8 42F40072 orr r2, r2, #512
6914 00bc 1A60 str r2, [r3]
6915 00be 7DE0 b .L456
6916 .L453:
2621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6917 .loc 1 2621 10 view .LVU2223
2621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6918 .loc 1 2621 13 is_stmt 0 view .LVU2224
6919 00c0 012B cmp r3, #1
6920 00c2 0FD0 beq .L474
2639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6921 .loc 1 2639 10 is_stmt 1 view .LVU2225
2639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6922 .loc 1 2639 13 is_stmt 0 view .LVU2226
6923 00c4 022B cmp r3, #2
6924 00c6 21D0 beq .L475
2660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear ADDR flag */
6925 .loc 1 2660 7 is_stmt 1 view .LVU2227
6926 00c8 2268 ldr r2, [r4]
6927 00ca 1368 ldr r3, [r2]
6928 00cc 43F48063 orr r3, r3, #1024
6929 00d0 1360 str r3, [r2]
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6930 .loc 1 2662 7 view .LVU2228
6931 .LBB82:
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 287
6932 .loc 1 2662 7 view .LVU2229
6933 00d2 0023 movs r3, #0
6934 00d4 0593 str r3, [sp, #20]
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6935 .loc 1 2662 7 view .LVU2230
6936 00d6 2368 ldr r3, [r4]
6937 00d8 5A69 ldr r2, [r3, #20]
6938 00da 0592 str r2, [sp, #20]
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6939 .loc 1 2662 7 view .LVU2231
6940 00dc 9B69 ldr r3, [r3, #24]
6941 00de 0593 str r3, [sp, #20]
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6942 .loc 1 2662 7 view .LVU2232
6943 00e0 059B ldr r3, [sp, #20]
6944 00e2 6BE0 b .L456
6945 .L474:
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6946 .loc 1 2662 7 is_stmt 0 view .LVU2233
6947 .LBE82:
2624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6948 .loc 1 2624 7 is_stmt 1 view .LVU2234
6949 00e4 2268 ldr r2, [r4]
6950 00e6 1368 ldr r3, [r2]
6951 00e8 23F48063 bic r3, r3, #1024
6952 00ec 1360 str r3, [r2]
2628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6953 .loc 1 2628 7 view .LVU2235
6954 .LBB83:
6955 .LBI83:
140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6956 .loc 2 140 27 view .LVU2236
6957 .LBB84:
6958 .loc 2 142 3 view .LVU2237
6959 .syntax unified
6960 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6961 00ee 72B6 cpsid i
6962 @ 0 "" 2
6963 .thumb
6964 .syntax unified
6965 .LBE84:
6966 .LBE83:
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6967 .loc 1 2631 7 view .LVU2238
6968 .LBB85:
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6969 .loc 1 2631 7 view .LVU2239
6970 00f0 0023 movs r3, #0
6971 00f2 0393 str r3, [sp, #12]
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6972 .loc 1 2631 7 view .LVU2240
6973 00f4 2368 ldr r3, [r4]
6974 00f6 5A69 ldr r2, [r3, #20]
6975 00f8 0392 str r2, [sp, #12]
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6976 .loc 1 2631 7 view .LVU2241
6977 00fa 9A69 ldr r2, [r3, #24]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 288
6978 00fc 0392 str r2, [sp, #12]
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6979 .loc 1 2631 7 view .LVU2242
6980 00fe 039A ldr r2, [sp, #12]
6981 .LBE85:
2634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
6982 .loc 1 2634 7 view .LVU2243
6983 0100 1A68 ldr r2, [r3]
6984 0102 42F40072 orr r2, r2, #512
6985 0106 1A60 str r2, [r3]
2637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6986 .loc 1 2637 7 view .LVU2244
6987 .LBB86:
6988 .LBI86:
129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6989 .loc 2 129 27 view .LVU2245
6990 .LBB87:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6991 .loc 2 131 3 view .LVU2246
6992 .syntax unified
6993 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6994 0108 62B6 cpsie i
6995 @ 0 "" 2
6996 .thumb
6997 .syntax unified
6998 010a 57E0 b .L456
6999 .L475:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7000 .loc 2 131 3 is_stmt 0 view .LVU2247
7001 .LBE87:
7002 .LBE86:
2642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7003 .loc 1 2642 7 is_stmt 1 view .LVU2248
7004 010c 2268 ldr r2, [r4]
7005 010e 1368 ldr r3, [r2]
7006 0110 43F40063 orr r3, r3, #2048
7007 0114 1360 str r3, [r2]
2646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7008 .loc 1 2646 7 view .LVU2249
7009 .LBB88:
7010 .LBI88:
140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7011 .loc 2 140 27 view .LVU2250
7012 .LBB89:
7013 .loc 2 142 3 view .LVU2251
7014 .syntax unified
7015 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7016 0116 72B6 cpsid i
7017 @ 0 "" 2
7018 .thumb
7019 .syntax unified
7020 .LBE89:
7021 .LBE88:
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7022 .loc 1 2649 7 view .LVU2252
7023 .LBB90:
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 289
7024 .loc 1 2649 7 view .LVU2253
7025 0118 0023 movs r3, #0
7026 011a 0493 str r3, [sp, #16]
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7027 .loc 1 2649 7 view .LVU2254
7028 011c 2368 ldr r3, [r4]
7029 011e 5A69 ldr r2, [r3, #20]
7030 0120 0492 str r2, [sp, #16]
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7031 .loc 1 2649 7 view .LVU2255
7032 0122 9A69 ldr r2, [r3, #24]
7033 0124 0492 str r2, [sp, #16]
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7034 .loc 1 2649 7 view .LVU2256
7035 0126 049A ldr r2, [sp, #16]
7036 .LBE90:
2652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7037 .loc 1 2652 7 view .LVU2257
7038 0128 1A68 ldr r2, [r3]
7039 012a 22F48062 bic r2, r2, #1024
7040 012e 1A60 str r2, [r3]
2655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7041 .loc 1 2655 7 view .LVU2258
7042 .LBB91:
7043 .LBI91:
129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7044 .loc 2 129 27 view .LVU2259
7045 .LBB92:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7046 .loc 2 131 3 view .LVU2260
7047 .syntax unified
7048 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7049 0130 62B6 cpsie i
7050 @ 0 "" 2
7051 .thumb
7052 .syntax unified
7053 0132 43E0 b .L456
7054 .L477:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7055 .loc 2 131 3 is_stmt 0 view .LVU2261
7056 .LBE92:
7057 .LBE91:
2673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7058 .loc 1 2673 11 is_stmt 1 view .LVU2262
2673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7059 .loc 1 2673 15 is_stmt 0 view .LVU2263
7060 0134 2A46 mov r2, r5
7061 0136 0E99 ldr r1, [sp, #56]
7062 0138 2046 mov r0, r4
7063 013a FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
7064 .LVL310:
2673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7065 .loc 1 2673 14 view .LVU2264
7066 013e 0028 cmp r0, #0
7067 0140 40F0CA80 bne .L467
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7068 .loc 1 2679 11 is_stmt 1 view .LVU2265
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 290
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7069 .loc 1 2679 42 is_stmt 0 view .LVU2266
7070 0144 2368 ldr r3, [r4]
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7071 .loc 1 2679 52 view .LVU2267
7072 0146 1A69 ldr r2, [r3, #16]
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7073 .loc 1 2679 16 view .LVU2268
7074 0148 636A ldr r3, [r4, #36]
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7075 .loc 1 2679 27 view .LVU2269
7076 014a 1A70 strb r2, [r3]
2682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7077 .loc 1 2682 11 is_stmt 1 view .LVU2270
2682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7078 .loc 1 2682 15 is_stmt 0 view .LVU2271
7079 014c 636A ldr r3, [r4, #36]
2682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7080 .loc 1 2682 25 view .LVU2272
7081 014e 0133 adds r3, r3, #1
7082 0150 6362 str r3, [r4, #36]
2685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7083 .loc 1 2685 11 is_stmt 1 view .LVU2273
2685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7084 .loc 1 2685 15 is_stmt 0 view .LVU2274
7085 0152 238D ldrh r3, [r4, #40]
2685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7086 .loc 1 2685 25 view .LVU2275
7087 0154 013B subs r3, r3, #1
7088 0156 2385 strh r3, [r4, #40] @ movhi
2686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7089 .loc 1 2686 11 is_stmt 1 view .LVU2276
2686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7090 .loc 1 2686 15 is_stmt 0 view .LVU2277
7091 0158 638D ldrh r3, [r4, #42]
2686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7092 .loc 1 2686 26 view .LVU2278
7093 015a 013B subs r3, r3, #1
7094 015c 9BB2 uxth r3, r3
7095 015e 6385 strh r3, [r4, #42] @ movhi
7096 0160 2CE0 b .L456
7097 .L478:
2692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7098 .loc 1 2692 11 is_stmt 1 view .LVU2279
2692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7099 .loc 1 2692 15 is_stmt 0 view .LVU2280
7100 0162 0095 str r5, [sp]
7101 0164 0E9B ldr r3, [sp, #56]
7102 0166 0022 movs r2, #0
7103 0168 3F49 ldr r1, .L479+8
7104 016a 2046 mov r0, r4
7105 016c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
7106 .LVL311:
2692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7107 .loc 1 2692 14 view .LVU2281
7108 0170 0028 cmp r0, #0
7109 0172 40F0B380 bne .L468
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 291
2699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7110 .loc 1 2699 11 is_stmt 1 view .LVU2282
7111 .LBB93:
7112 .LBI93:
140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7113 .loc 2 140 27 view .LVU2283
7114 .LBB94:
7115 .loc 2 142 3 view .LVU2284
7116 .syntax unified
7117 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7118 0176 72B6 cpsid i
7119 @ 0 "" 2
7120 .thumb
7121 .syntax unified
7122 .LBE94:
7123 .LBE93:
2702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7124 .loc 1 2702 11 view .LVU2285
7125 0178 2268 ldr r2, [r4]
7126 017a 1368 ldr r3, [r2]
7127 017c 43F40073 orr r3, r3, #512
7128 0180 1360 str r3, [r2]
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7129 .loc 1 2705 11 view .LVU2286
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7130 .loc 1 2705 42 is_stmt 0 view .LVU2287
7131 0182 2368 ldr r3, [r4]
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7132 .loc 1 2705 52 view .LVU2288
7133 0184 1A69 ldr r2, [r3, #16]
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7134 .loc 1 2705 16 view .LVU2289
7135 0186 636A ldr r3, [r4, #36]
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7136 .loc 1 2705 27 view .LVU2290
7137 0188 1A70 strb r2, [r3]
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7138 .loc 1 2708 11 is_stmt 1 view .LVU2291
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7139 .loc 1 2708 15 is_stmt 0 view .LVU2292
7140 018a 636A ldr r3, [r4, #36]
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7141 .loc 1 2708 25 view .LVU2293
7142 018c 0133 adds r3, r3, #1
7143 018e 6362 str r3, [r4, #36]
2711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7144 .loc 1 2711 11 is_stmt 1 view .LVU2294
2711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7145 .loc 1 2711 15 is_stmt 0 view .LVU2295
7146 0190 238D ldrh r3, [r4, #40]
2711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7147 .loc 1 2711 25 view .LVU2296
7148 0192 013B subs r3, r3, #1
7149 0194 2385 strh r3, [r4, #40] @ movhi
2712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7150 .loc 1 2712 11 is_stmt 1 view .LVU2297
2712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 292
7151 .loc 1 2712 15 is_stmt 0 view .LVU2298
7152 0196 638D ldrh r3, [r4, #42]
2712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7153 .loc 1 2712 26 view .LVU2299
7154 0198 013B subs r3, r3, #1
7155 019a 9BB2 uxth r3, r3
7156 019c 6385 strh r3, [r4, #42] @ movhi
2715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7157 .loc 1 2715 11 is_stmt 1 view .LVU2300
7158 .LBB95:
7159 .LBI95:
129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7160 .loc 2 129 27 view .LVU2301
7161 .LBB96:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7162 .loc 2 131 3 view .LVU2302
7163 .syntax unified
7164 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7165 019e 62B6 cpsie i
7166 @ 0 "" 2
7167 .thumb
7168 .syntax unified
7169 .LBE96:
7170 .LBE95:
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7171 .loc 1 2718 11 view .LVU2303
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7172 .loc 1 2718 42 is_stmt 0 view .LVU2304
7173 01a0 2368 ldr r3, [r4]
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7174 .loc 1 2718 52 view .LVU2305
7175 01a2 1A69 ldr r2, [r3, #16]
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7176 .loc 1 2718 16 view .LVU2306
7177 01a4 636A ldr r3, [r4, #36]
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7178 .loc 1 2718 27 view .LVU2307
7179 01a6 1A70 strb r2, [r3]
2721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7180 .loc 1 2721 11 is_stmt 1 view .LVU2308
2721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7181 .loc 1 2721 15 is_stmt 0 view .LVU2309
7182 01a8 636A ldr r3, [r4, #36]
2721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7183 .loc 1 2721 25 view .LVU2310
7184 01aa 0133 adds r3, r3, #1
7185 01ac 6362 str r3, [r4, #36]
2724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7186 .loc 1 2724 11 is_stmt 1 view .LVU2311
2724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7187 .loc 1 2724 15 is_stmt 0 view .LVU2312
7188 01ae 238D ldrh r3, [r4, #40]
2724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7189 .loc 1 2724 25 view .LVU2313
7190 01b0 013B subs r3, r3, #1
7191 01b2 2385 strh r3, [r4, #40] @ movhi
2725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 293
7192 .loc 1 2725 11 is_stmt 1 view .LVU2314
2725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7193 .loc 1 2725 15 is_stmt 0 view .LVU2315
7194 01b4 638D ldrh r3, [r4, #42]
2725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7195 .loc 1 2725 26 view .LVU2316
7196 01b6 013B subs r3, r3, #1
7197 01b8 9BB2 uxth r3, r3
7198 01ba 6385 strh r3, [r4, #42] @ movhi
7199 .L456:
2665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7200 .loc 1 2665 16 view .LVU2317
7201 01bc 238D ldrh r3, [r4, #40]
2665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7202 .loc 1 2665 11 view .LVU2318
7203 01be 002B cmp r3, #0
7204 01c0 7BD0 beq .L476
2667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7205 .loc 1 2667 7 is_stmt 1 view .LVU2319
2667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7206 .loc 1 2667 10 is_stmt 0 view .LVU2320
7207 01c2 032B cmp r3, #3
7208 01c4 52D8 bhi .L458
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7209 .loc 1 2670 9 is_stmt 1 view .LVU2321
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7210 .loc 1 2670 12 is_stmt 0 view .LVU2322
7211 01c6 012B cmp r3, #1
7212 01c8 B4D0 beq .L477
2689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7213 .loc 1 2689 14 is_stmt 1 view .LVU2323
2689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7214 .loc 1 2689 17 is_stmt 0 view .LVU2324
7215 01ca 022B cmp r3, #2
7216 01cc C9D0 beq .L478
2731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7217 .loc 1 2731 11 is_stmt 1 view .LVU2325
2731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7218 .loc 1 2731 15 is_stmt 0 view .LVU2326
7219 01ce 0095 str r5, [sp]
7220 01d0 0E9B ldr r3, [sp, #56]
7221 01d2 0022 movs r2, #0
7222 01d4 2449 ldr r1, .L479+8
7223 01d6 2046 mov r0, r4
7224 01d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
7225 .LVL312:
2731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7226 .loc 1 2731 14 view .LVU2327
7227 01dc 0028 cmp r0, #0
7228 01de 7FD1 bne .L469
2737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7229 .loc 1 2737 11 is_stmt 1 view .LVU2328
7230 01e0 2268 ldr r2, [r4]
7231 01e2 1368 ldr r3, [r2]
7232 01e4 23F48063 bic r3, r3, #1024
7233 01e8 1360 str r3, [r2]
2741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 294
7234 .loc 1 2741 11 view .LVU2329
7235 .LBB97:
7236 .LBI97:
140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7237 .loc 2 140 27 view .LVU2330
7238 .LBB98:
7239 .loc 2 142 3 view .LVU2331
7240 .syntax unified
7241 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7242 01ea 72B6 cpsid i
7243 @ 0 "" 2
7244 .thumb
7245 .syntax unified
7246 .LBE98:
7247 .LBE97:
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7248 .loc 1 2744 11 view .LVU2332
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7249 .loc 1 2744 42 is_stmt 0 view .LVU2333
7250 01ec 2368 ldr r3, [r4]
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7251 .loc 1 2744 52 view .LVU2334
7252 01ee 1A69 ldr r2, [r3, #16]
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7253 .loc 1 2744 16 view .LVU2335
7254 01f0 636A ldr r3, [r4, #36]
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7255 .loc 1 2744 27 view .LVU2336
7256 01f2 1A70 strb r2, [r3]
2747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7257 .loc 1 2747 11 is_stmt 1 view .LVU2337
2747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7258 .loc 1 2747 15 is_stmt 0 view .LVU2338
7259 01f4 636A ldr r3, [r4, #36]
2747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7260 .loc 1 2747 25 view .LVU2339
7261 01f6 0133 adds r3, r3, #1
7262 01f8 6362 str r3, [r4, #36]
2750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7263 .loc 1 2750 11 is_stmt 1 view .LVU2340
2750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7264 .loc 1 2750 15 is_stmt 0 view .LVU2341
7265 01fa 238D ldrh r3, [r4, #40]
2750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7266 .loc 1 2750 25 view .LVU2342
7267 01fc 013B subs r3, r3, #1
7268 01fe 2385 strh r3, [r4, #40] @ movhi
2751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7269 .loc 1 2751 11 is_stmt 1 view .LVU2343
2751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7270 .loc 1 2751 15 is_stmt 0 view .LVU2344
7271 0200 638D ldrh r3, [r4, #42]
2751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7272 .loc 1 2751 26 view .LVU2345
7273 0202 013B subs r3, r3, #1
7274 0204 9BB2 uxth r3, r3
7275 0206 6385 strh r3, [r4, #42] @ movhi
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 295
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7276 .loc 1 2754 11 is_stmt 1 view .LVU2346
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7277 .loc 1 2754 15 is_stmt 0 view .LVU2347
7278 0208 0095 str r5, [sp]
7279 020a 0E9B ldr r3, [sp, #56]
7280 020c 0022 movs r2, #0
7281 020e 1649 ldr r1, .L479+8
7282 0210 2046 mov r0, r4
7283 0212 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
7284 .LVL313:
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7285 .loc 1 2754 14 view .LVU2348
7286 0216 0028 cmp r0, #0
7287 0218 64D1 bne .L470
2760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7288 .loc 1 2760 11 is_stmt 1 view .LVU2349
7289 021a 2268 ldr r2, [r4]
7290 021c 1368 ldr r3, [r2]
7291 021e 43F40073 orr r3, r3, #512
7292 0222 1360 str r3, [r2]
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7293 .loc 1 2763 11 view .LVU2350
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7294 .loc 1 2763 42 is_stmt 0 view .LVU2351
7295 0224 2368 ldr r3, [r4]
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7296 .loc 1 2763 52 view .LVU2352
7297 0226 1A69 ldr r2, [r3, #16]
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7298 .loc 1 2763 16 view .LVU2353
7299 0228 636A ldr r3, [r4, #36]
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7300 .loc 1 2763 27 view .LVU2354
7301 022a 1A70 strb r2, [r3]
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7302 .loc 1 2766 11 is_stmt 1 view .LVU2355
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7303 .loc 1 2766 15 is_stmt 0 view .LVU2356
7304 022c 636A ldr r3, [r4, #36]
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7305 .loc 1 2766 25 view .LVU2357
7306 022e 0133 adds r3, r3, #1
7307 0230 6362 str r3, [r4, #36]
2769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7308 .loc 1 2769 11 is_stmt 1 view .LVU2358
2769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7309 .loc 1 2769 15 is_stmt 0 view .LVU2359
7310 0232 238D ldrh r3, [r4, #40]
2769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7311 .loc 1 2769 25 view .LVU2360
7312 0234 013B subs r3, r3, #1
7313 0236 2385 strh r3, [r4, #40] @ movhi
2770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7314 .loc 1 2770 11 is_stmt 1 view .LVU2361
2770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7315 .loc 1 2770 15 is_stmt 0 view .LVU2362
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 296
7316 0238 638D ldrh r3, [r4, #42]
2770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7317 .loc 1 2770 26 view .LVU2363
7318 023a 013B subs r3, r3, #1
7319 023c 9BB2 uxth r3, r3
7320 023e 6385 strh r3, [r4, #42] @ movhi
2773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7321 .loc 1 2773 11 is_stmt 1 view .LVU2364
7322 .LBB99:
7323 .LBI99:
129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7324 .loc 2 129 27 view .LVU2365
7325 .LBB100:
131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7326 .loc 2 131 3 view .LVU2366
7327 .syntax unified
7328 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7329 0240 62B6 cpsie i
7330 @ 0 "" 2
7331 .thumb
7332 .syntax unified
7333 .LBE100:
7334 .LBE99:
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7335 .loc 1 2776 11 view .LVU2367
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7336 .loc 1 2776 42 is_stmt 0 view .LVU2368
7337 0242 2368 ldr r3, [r4]
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7338 .loc 1 2776 52 view .LVU2369
7339 0244 1A69 ldr r2, [r3, #16]
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7340 .loc 1 2776 16 view .LVU2370
7341 0246 636A ldr r3, [r4, #36]
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7342 .loc 1 2776 27 view .LVU2371
7343 0248 1A70 strb r2, [r3]
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7344 .loc 1 2779 11 is_stmt 1 view .LVU2372
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7345 .loc 1 2779 15 is_stmt 0 view .LVU2373
7346 024a 636A ldr r3, [r4, #36]
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7347 .loc 1 2779 25 view .LVU2374
7348 024c 0133 adds r3, r3, #1
7349 024e 6362 str r3, [r4, #36]
2782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7350 .loc 1 2782 11 is_stmt 1 view .LVU2375
2782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7351 .loc 1 2782 15 is_stmt 0 view .LVU2376
7352 0250 238D ldrh r3, [r4, #40]
2782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7353 .loc 1 2782 25 view .LVU2377
7354 0252 013B subs r3, r3, #1
7355 0254 2385 strh r3, [r4, #40] @ movhi
2783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7356 .loc 1 2783 11 is_stmt 1 view .LVU2378
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 297
2783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7357 .loc 1 2783 15 is_stmt 0 view .LVU2379
7358 0256 638D ldrh r3, [r4, #42]
2783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7359 .loc 1 2783 26 view .LVU2380
7360 0258 013B subs r3, r3, #1
7361 025a 9BB2 uxth r3, r3
7362 025c 6385 strh r3, [r4, #42] @ movhi
7363 025e ADE7 b .L456
7364 .L480:
7365 .align 2
7366 .L479:
7367 0260 02001000 .word 1048578
7368 0264 0000FFFF .word -65536
7369 0268 04000100 .word 65540
7370 .L458:
2789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7371 .loc 1 2789 9 is_stmt 1 view .LVU2381
2789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7372 .loc 1 2789 13 is_stmt 0 view .LVU2382
7373 026c 2A46 mov r2, r5
7374 026e 0E99 ldr r1, [sp, #56]
7375 0270 2046 mov r0, r4
7376 0272 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
7377 .LVL314:
2789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7378 .loc 1 2789 12 view .LVU2383
7379 0276 0028 cmp r0, #0
7380 0278 36D1 bne .L471
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7381 .loc 1 2795 9 is_stmt 1 view .LVU2384
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7382 .loc 1 2795 40 is_stmt 0 view .LVU2385
7383 027a 2368 ldr r3, [r4]
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7384 .loc 1 2795 50 view .LVU2386
7385 027c 1A69 ldr r2, [r3, #16]
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7386 .loc 1 2795 14 view .LVU2387
7387 027e 636A ldr r3, [r4, #36]
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7388 .loc 1 2795 25 view .LVU2388
7389 0280 1A70 strb r2, [r3]
2798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7390 .loc 1 2798 9 is_stmt 1 view .LVU2389
2798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7391 .loc 1 2798 13 is_stmt 0 view .LVU2390
7392 0282 626A ldr r2, [r4, #36]
2798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7393 .loc 1 2798 23 view .LVU2391
7394 0284 531C adds r3, r2, #1
7395 0286 6362 str r3, [r4, #36]
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7396 .loc 1 2801 9 is_stmt 1 view .LVU2392
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7397 .loc 1 2801 13 is_stmt 0 view .LVU2393
7398 0288 238D ldrh r3, [r4, #40]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 298
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7399 .loc 1 2801 23 view .LVU2394
7400 028a 013B subs r3, r3, #1
7401 028c 2385 strh r3, [r4, #40] @ movhi
2802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7402 .loc 1 2802 9 is_stmt 1 view .LVU2395
2802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7403 .loc 1 2802 13 is_stmt 0 view .LVU2396
7404 028e 638D ldrh r3, [r4, #42]
2802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7405 .loc 1 2802 24 view .LVU2397
7406 0290 013B subs r3, r3, #1
7407 0292 9BB2 uxth r3, r3
7408 0294 6385 strh r3, [r4, #42] @ movhi
2804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7409 .loc 1 2804 9 is_stmt 1 view .LVU2398
2804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7410 .loc 1 2804 13 is_stmt 0 view .LVU2399
7411 0296 2368 ldr r3, [r4]
7412 0298 5969 ldr r1, [r3, #20]
2804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7413 .loc 1 2804 12 view .LVU2400
7414 029a 11F0040F tst r1, #4
7415 029e 8DD0 beq .L456
2807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7416 .loc 1 2807 11 is_stmt 1 view .LVU2401
2807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7417 .loc 1 2807 52 is_stmt 0 view .LVU2402
7418 02a0 1B69 ldr r3, [r3, #16]
2807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7419 .loc 1 2807 27 view .LVU2403
7420 02a2 5370 strb r3, [r2, #1]
2810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7421 .loc 1 2810 11 is_stmt 1 view .LVU2404
2810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7422 .loc 1 2810 15 is_stmt 0 view .LVU2405
7423 02a4 636A ldr r3, [r4, #36]
2810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7424 .loc 1 2810 25 view .LVU2406
7425 02a6 0133 adds r3, r3, #1
7426 02a8 6362 str r3, [r4, #36]
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7427 .loc 1 2813 11 is_stmt 1 view .LVU2407
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7428 .loc 1 2813 15 is_stmt 0 view .LVU2408
7429 02aa 238D ldrh r3, [r4, #40]
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount--;
7430 .loc 1 2813 25 view .LVU2409
7431 02ac 013B subs r3, r3, #1
7432 02ae 2385 strh r3, [r4, #40] @ movhi
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7433 .loc 1 2814 11 is_stmt 1 view .LVU2410
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7434 .loc 1 2814 15 is_stmt 0 view .LVU2411
7435 02b0 638D ldrh r3, [r4, #42]
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7436 .loc 1 2814 26 view .LVU2412
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 299
7437 02b2 013B subs r3, r3, #1
7438 02b4 9BB2 uxth r3, r3
7439 02b6 6385 strh r3, [r4, #42] @ movhi
7440 02b8 80E7 b .L456
7441 .L476:
2819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7442 .loc 1 2819 5 is_stmt 1 view .LVU2413
2819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7443 .loc 1 2819 17 is_stmt 0 view .LVU2414
7444 02ba 2023 movs r3, #32
7445 02bc 84F83D30 strb r3, [r4, #61]
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7446 .loc 1 2820 5 is_stmt 1 view .LVU2415
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7447 .loc 1 2820 16 is_stmt 0 view .LVU2416
7448 02c0 0023 movs r3, #0
7449 02c2 84F83E30 strb r3, [r4, #62]
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7450 .loc 1 2823 5 is_stmt 1 view .LVU2417
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7451 .loc 1 2823 5 view .LVU2418
7452 02c6 84F83C30 strb r3, [r4, #60]
2825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7453 .loc 1 2825 5 view .LVU2419
2825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7454 .loc 1 2825 12 is_stmt 0 view .LVU2420
7455 02ca A8E6 b .L451
7456 .L464:
2581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7457 .loc 1 2581 14 view .LVU2421
7458 02cc 0226 movs r6, #2
7459 02ce A6E6 b .L451
7460 .L465:
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7461 .loc 1 2585 5 view .LVU2422
7462 02d0 0226 movs r6, #2
7463 02d2 A4E6 b .L451
7464 .L466:
2610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7465 .loc 1 2610 14 view .LVU2423
7466 02d4 0126 movs r6, #1
7467 02d6 A2E6 b .L451
7468 .L467:
2675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7469 .loc 1 2675 20 view .LVU2424
7470 02d8 0126 movs r6, #1
7471 02da A0E6 b .L451
7472 .L468:
2694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7473 .loc 1 2694 20 view .LVU2425
7474 02dc 0126 movs r6, #1
7475 02de 9EE6 b .L451
7476 .L469:
2733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7477 .loc 1 2733 20 view .LVU2426
7478 02e0 0126 movs r6, #1
7479 02e2 9CE6 b .L451
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 300
7480 .L470:
2756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7481 .loc 1 2756 20 view .LVU2427
7482 02e4 0126 movs r6, #1
7483 02e6 9AE6 b .L451
7484 .L471:
2791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7485 .loc 1 2791 18 view .LVU2428
7486 02e8 0126 movs r6, #1
7487 02ea 98E6 b .L451
7488 .cfi_endproc
7489 .LFE82:
7491 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits
7492 .align 1
7493 .global HAL_I2C_Mem_Write_IT
7494 .syntax unified
7495 .thumb
7496 .thumb_func
7497 .fpu softvfp
7499 HAL_I2C_Mem_Write_IT:
7500 .LVL315:
7501 .LFB83:
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
7502 .loc 1 2846 1 is_stmt 1 view -0
7503 .cfi_startproc
7504 @ args = 8, pretend = 0, frame = 8
7505 @ frame_needed = 0, uses_anonymous_args = 0
7506 @ link register save eliminated.
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
7507 .loc 1 2846 1 is_stmt 0 view .LVU2430
7508 0000 30B4 push {r4, r5}
7509 .LCFI82:
7510 .cfi_def_cfa_offset 8
7511 .cfi_offset 4, -8
7512 .cfi_offset 5, -4
7513 0002 82B0 sub sp, sp, #8
7514 .LCFI83:
7515 .cfi_def_cfa_offset 16
2847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7516 .loc 1 2847 3 is_stmt 1 view .LVU2431
2847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7517 .loc 1 2847 17 is_stmt 0 view .LVU2432
7518 0004 0024 movs r4, #0
7519 0006 0194 str r4, [sp, #4]
2850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7520 .loc 1 2850 3 is_stmt 1 view .LVU2433
2852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7521 .loc 1 2852 3 view .LVU2434
2852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7522 .loc 1 2852 11 is_stmt 0 view .LVU2435
7523 0008 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
7524 000c E4B2 uxtb r4, r4
2852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7525 .loc 1 2852 6 view .LVU2436
7526 000e 202C cmp r4, #32
7527 0010 5CD1 bne .L486
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 301
7528 .loc 1 2855 5 is_stmt 1 view .LVU2437
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
7529 .loc 1 2855 60 is_stmt 0 view .LVU2438
7530 0012 314C ldr r4, .L490
7531 0014 2468 ldr r4, [r4]
7532 0016 E408 lsrs r4, r4, #3
7533 0018 304D ldr r5, .L490+4
7534 001a A5FB0454 umull r5, r4, r5, r4
7535 001e 240A lsrs r4, r4, #8
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
7536 .loc 1 2855 35 view .LVU2439
7537 0020 04EB8404 add r4, r4, r4, lsl #2
7538 0024 04EB8404 add r4, r4, r4, lsl #2
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
7539 .loc 1 2855 11 view .LVU2440
7540 0028 0194 str r4, [sp, #4]
7541 .L484:
2856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7542 .loc 1 2856 5 is_stmt 1 view .LVU2441
2858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
7543 .loc 1 2858 7 view .LVU2442
2858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
7544 .loc 1 2858 12 is_stmt 0 view .LVU2443
7545 002a 019C ldr r4, [sp, #4]
7546 002c 013C subs r4, r4, #1
7547 002e 0194 str r4, [sp, #4]
2859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7548 .loc 1 2859 7 is_stmt 1 view .LVU2444
2859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7549 .loc 1 2859 17 is_stmt 0 view .LVU2445
7550 0030 019C ldr r4, [sp, #4]
2859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7551 .loc 1 2859 10 view .LVU2446
7552 0032 002C cmp r4, #0
7553 0034 3BD0 beq .L489
2872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7554 .loc 1 2872 12 view .LVU2447
7555 0036 0468 ldr r4, [r0]
7556 0038 A569 ldr r5, [r4, #24]
2872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7557 .loc 1 2872 5 view .LVU2448
7558 003a 15F0020F tst r5, #2
7559 003e F4D1 bne .L484
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7560 .loc 1 2875 5 is_stmt 1 view .LVU2449
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7561 .loc 1 2875 5 view .LVU2450
7562 0040 90F83C50 ldrb r5, [r0, #60] @ zero_extendqisi2
7563 0044 012D cmp r5, #1
7564 0046 45D0 beq .L487
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7565 .loc 1 2875 5 discriminator 2 view .LVU2451
7566 0048 0125 movs r5, #1
7567 004a 80F83C50 strb r5, [r0, #60]
2878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7568 .loc 1 2878 5 discriminator 2 view .LVU2452
2878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 302
7569 .loc 1 2878 24 is_stmt 0 discriminator 2 view .LVU2453
7570 004e 2568 ldr r5, [r4]
2878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7571 .loc 1 2878 8 discriminator 2 view .LVU2454
7572 0050 15F0010F tst r5, #1
7573 0054 03D1 bne .L485
2881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7574 .loc 1 2881 7 is_stmt 1 view .LVU2455
7575 0056 2568 ldr r5, [r4]
7576 0058 45F00105 orr r5, r5, #1
7577 005c 2560 str r5, [r4]
7578 .L485:
2885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7579 .loc 1 2885 5 view .LVU2456
7580 005e 0568 ldr r5, [r0]
7581 0060 2C68 ldr r4, [r5]
7582 0062 24F40064 bic r4, r4, #2048
7583 0066 2C60 str r4, [r5]
2887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
7584 .loc 1 2887 5 view .LVU2457
2887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
7585 .loc 1 2887 21 is_stmt 0 view .LVU2458
7586 0068 2124 movs r4, #33
7587 006a 80F83D40 strb r4, [r0, #61]
2888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7588 .loc 1 2888 5 is_stmt 1 view .LVU2459
2888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7589 .loc 1 2888 21 is_stmt 0 view .LVU2460
7590 006e 4024 movs r4, #64
7591 0070 80F83E40 strb r4, [r0, #62]
2889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7592 .loc 1 2889 5 is_stmt 1 view .LVU2461
2889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7593 .loc 1 2889 21 is_stmt 0 view .LVU2462
7594 0074 0024 movs r4, #0
7595 0076 0464 str r4, [r0, #64]
2892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
7596 .loc 1 2892 5 is_stmt 1 view .LVU2463
2892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
7597 .loc 1 2892 23 is_stmt 0 view .LVU2464
7598 0078 049D ldr r5, [sp, #16]
7599 007a 4562 str r5, [r0, #36]
2893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
7600 .loc 1 2893 5 is_stmt 1 view .LVU2465
2893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
7601 .loc 1 2893 23 is_stmt 0 view .LVU2466
7602 007c BDF81450 ldrh r5, [sp, #20]
7603 0080 4585 strh r5, [r0, #42] @ movhi
2894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
7604 .loc 1 2894 5 is_stmt 1 view .LVU2467
2894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
7605 .loc 1 2894 29 is_stmt 0 view .LVU2468
7606 0082 458D ldrh r5, [r0, #42]
2894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
7607 .loc 1 2894 23 view .LVU2469
7608 0084 0585 strh r5, [r0, #40] @ movhi
2895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 303
7609 .loc 1 2895 5 is_stmt 1 view .LVU2470
2895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
7610 .loc 1 2895 23 is_stmt 0 view .LVU2471
7611 0086 164D ldr r5, .L490+8
7612 0088 C562 str r5, [r0, #44]
2896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Memaddress = MemAddress;
7613 .loc 1 2896 5 is_stmt 1 view .LVU2472
2896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Memaddress = MemAddress;
7614 .loc 1 2896 23 is_stmt 0 view .LVU2473
7615 008a 4164 str r1, [r0, #68]
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemaddSize = MemAddSize;
7616 .loc 1 2897 5 is_stmt 1 view .LVU2474
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemaddSize = MemAddSize;
7617 .loc 1 2897 23 is_stmt 0 view .LVU2475
7618 008c 8264 str r2, [r0, #72]
2898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount = 0U;
7619 .loc 1 2898 5 is_stmt 1 view .LVU2476
2898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount = 0U;
7620 .loc 1 2898 23 is_stmt 0 view .LVU2477
7621 008e C364 str r3, [r0, #76]
2899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7622 .loc 1 2899 5 is_stmt 1 view .LVU2478
2899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7623 .loc 1 2899 23 is_stmt 0 view .LVU2479
7624 0090 0465 str r4, [r0, #80]
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7625 .loc 1 2902 5 is_stmt 1 view .LVU2480
7626 0092 0268 ldr r2, [r0]
7627 .LVL316:
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7628 .loc 1 2902 5 is_stmt 0 view .LVU2481
7629 0094 1368 ldr r3, [r2]
7630 .LVL317:
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7631 .loc 1 2902 5 view .LVU2482
7632 0096 43F48073 orr r3, r3, #256
7633 009a 1360 str r3, [r2]
2905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7634 .loc 1 2905 5 is_stmt 1 view .LVU2483
2905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7635 .loc 1 2905 5 view .LVU2484
7636 009c 80F83C40 strb r4, [r0, #60]
2912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7637 .loc 1 2912 5 view .LVU2485
7638 00a0 0268 ldr r2, [r0]
7639 00a2 5368 ldr r3, [r2, #4]
7640 00a4 43F4E063 orr r3, r3, #1792
7641 00a8 5360 str r3, [r2, #4]
2914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7642 .loc 1 2914 5 view .LVU2486
2914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7643 .loc 1 2914 12 is_stmt 0 view .LVU2487
7644 00aa 2046 mov r0, r4
7645 .LVL318:
2914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7646 .loc 1 2914 12 view .LVU2488
7647 00ac 0FE0 b .L482
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 304
7648 .LVL319:
7649 .L489:
2861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7650 .loc 1 2861 9 is_stmt 1 view .LVU2489
2861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7651 .loc 1 2861 35 is_stmt 0 view .LVU2490
7652 00ae 0023 movs r3, #0
7653 .LVL320:
2861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7654 .loc 1 2861 35 view .LVU2491
7655 00b0 0363 str r3, [r0, #48]
2862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7656 .loc 1 2862 9 is_stmt 1 view .LVU2492
2862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7657 .loc 1 2862 35 is_stmt 0 view .LVU2493
7658 00b2 2022 movs r2, #32
7659 .LVL321:
2862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7660 .loc 1 2862 35 view .LVU2494
7661 00b4 80F83D20 strb r2, [r0, #61]
2863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
7662 .loc 1 2863 9 is_stmt 1 view .LVU2495
2863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
7663 .loc 1 2863 35 is_stmt 0 view .LVU2496
7664 00b8 80F83E30 strb r3, [r0, #62]
2864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7665 .loc 1 2864 9 is_stmt 1 view .LVU2497
2864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7666 .loc 1 2864 35 is_stmt 0 view .LVU2498
7667 00bc 026C ldr r2, [r0, #64]
7668 00be 42F02002 orr r2, r2, #32
7669 00c2 0264 str r2, [r0, #64]
2867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7670 .loc 1 2867 9 is_stmt 1 view .LVU2499
2867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7671 .loc 1 2867 9 view .LVU2500
7672 00c4 80F83C30 strb r3, [r0, #60]
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7673 .loc 1 2869 9 view .LVU2501
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7674 .loc 1 2869 16 is_stmt 0 view .LVU2502
7675 00c8 0120 movs r0, #1
7676 .LVL322:
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7677 .loc 1 2869 16 view .LVU2503
7678 00ca 00E0 b .L482
7679 .LVL323:
7680 .L486:
2918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7681 .loc 1 2918 12 view .LVU2504
7682 00cc 0220 movs r0, #2
7683 .LVL324:
7684 .L482:
2920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7685 .loc 1 2920 1 view .LVU2505
7686 00ce 02B0 add sp, sp, #8
7687 .LCFI84:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 305
7688 .cfi_remember_state
7689 .cfi_def_cfa_offset 8
7690 @ sp needed
7691 00d0 30BC pop {r4, r5}
7692 .LCFI85:
7693 .cfi_restore 5
7694 .cfi_restore 4
7695 .cfi_def_cfa_offset 0
7696 .LVL325:
2920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7697 .loc 1 2920 1 view .LVU2506
7698 00d2 7047 bx lr
7699 .LVL326:
7700 .L487:
7701 .LCFI86:
7702 .cfi_restore_state
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7703 .loc 1 2875 5 view .LVU2507
7704 00d4 0220 movs r0, #2
7705 .LVL327:
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7706 .loc 1 2875 5 view .LVU2508
7707 00d6 FAE7 b .L482
7708 .L491:
7709 .align 2
7710 .L490:
7711 00d8 00000000 .word SystemCoreClock
7712 00dc 89B5F814 .word 351843721
7713 00e0 0000FFFF .word -65536
7714 .cfi_endproc
7715 .LFE83:
7717 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits
7718 .align 1
7719 .global HAL_I2C_Mem_Read_IT
7720 .syntax unified
7721 .thumb
7722 .thumb_func
7723 .fpu softvfp
7725 HAL_I2C_Mem_Read_IT:
7726 .LVL328:
7727 .LFB84:
2934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
7728 .loc 1 2934 1 is_stmt 1 view -0
7729 .cfi_startproc
7730 @ args = 8, pretend = 0, frame = 8
7731 @ frame_needed = 0, uses_anonymous_args = 0
7732 @ link register save eliminated.
2934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
7733 .loc 1 2934 1 is_stmt 0 view .LVU2510
7734 0000 30B4 push {r4, r5}
7735 .LCFI87:
7736 .cfi_def_cfa_offset 8
7737 .cfi_offset 4, -8
7738 .cfi_offset 5, -4
7739 0002 82B0 sub sp, sp, #8
7740 .LCFI88:
7741 .cfi_def_cfa_offset 16
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 306
2935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7742 .loc 1 2935 3 is_stmt 1 view .LVU2511
2935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7743 .loc 1 2935 17 is_stmt 0 view .LVU2512
7744 0004 0024 movs r4, #0
7745 0006 0194 str r4, [sp, #4]
2938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7746 .loc 1 2938 3 is_stmt 1 view .LVU2513
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7747 .loc 1 2940 3 view .LVU2514
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7748 .loc 1 2940 11 is_stmt 0 view .LVU2515
7749 0008 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
7750 000c E4B2 uxtb r4, r4
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7751 .loc 1 2940 6 view .LVU2516
7752 000e 202C cmp r4, #32
7753 0010 63D1 bne .L498
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
7754 .loc 1 2943 5 is_stmt 1 view .LVU2517
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
7755 .loc 1 2943 60 is_stmt 0 view .LVU2518
7756 0012 354C ldr r4, .L502
7757 0014 2468 ldr r4, [r4]
7758 0016 E408 lsrs r4, r4, #3
7759 0018 344D ldr r5, .L502+4
7760 001a A5FB0454 umull r5, r4, r5, r4
7761 001e 240A lsrs r4, r4, #8
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
7762 .loc 1 2943 35 view .LVU2519
7763 0020 04EB8404 add r4, r4, r4, lsl #2
7764 0024 04EB8404 add r4, r4, r4, lsl #2
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
7765 .loc 1 2943 11 view .LVU2520
7766 0028 0194 str r4, [sp, #4]
7767 .L495:
2944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7768 .loc 1 2944 5 is_stmt 1 view .LVU2521
2946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
7769 .loc 1 2946 7 view .LVU2522
2946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
7770 .loc 1 2946 12 is_stmt 0 view .LVU2523
7771 002a 019C ldr r4, [sp, #4]
7772 002c 013C subs r4, r4, #1
7773 002e 0194 str r4, [sp, #4]
2947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7774 .loc 1 2947 7 is_stmt 1 view .LVU2524
2947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7775 .loc 1 2947 17 is_stmt 0 view .LVU2525
7776 0030 019C ldr r4, [sp, #4]
2947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7777 .loc 1 2947 10 view .LVU2526
7778 0032 002C cmp r4, #0
7779 0034 42D0 beq .L501
2960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7780 .loc 1 2960 12 view .LVU2527
7781 0036 0468 ldr r4, [r0]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 307
7782 0038 A569 ldr r5, [r4, #24]
2960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7783 .loc 1 2960 5 view .LVU2528
7784 003a 15F0020F tst r5, #2
7785 003e F4D1 bne .L495
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7786 .loc 1 2963 5 is_stmt 1 view .LVU2529
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7787 .loc 1 2963 5 view .LVU2530
7788 0040 90F83C50 ldrb r5, [r0, #60] @ zero_extendqisi2
7789 0044 012D cmp r5, #1
7790 0046 4CD0 beq .L499
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7791 .loc 1 2963 5 discriminator 2 view .LVU2531
7792 0048 0125 movs r5, #1
7793 004a 80F83C50 strb r5, [r0, #60]
2966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7794 .loc 1 2966 5 discriminator 2 view .LVU2532
2966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7795 .loc 1 2966 24 is_stmt 0 discriminator 2 view .LVU2533
7796 004e 2568 ldr r5, [r4]
2966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7797 .loc 1 2966 8 discriminator 2 view .LVU2534
7798 0050 15F0010F tst r5, #1
7799 0054 03D1 bne .L496
2969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7800 .loc 1 2969 7 is_stmt 1 view .LVU2535
7801 0056 2568 ldr r5, [r4]
7802 0058 45F00105 orr r5, r5, #1
7803 005c 2560 str r5, [r4]
7804 .L496:
2973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7805 .loc 1 2973 5 view .LVU2536
7806 005e 0568 ldr r5, [r0]
7807 0060 2C68 ldr r4, [r5]
7808 0062 24F40064 bic r4, r4, #2048
7809 0066 2C60 str r4, [r5]
2975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
7810 .loc 1 2975 5 view .LVU2537
2975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
7811 .loc 1 2975 21 is_stmt 0 view .LVU2538
7812 0068 2224 movs r4, #34
7813 006a 80F83D40 strb r4, [r0, #61]
2976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7814 .loc 1 2976 5 is_stmt 1 view .LVU2539
2976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7815 .loc 1 2976 21 is_stmt 0 view .LVU2540
7816 006e 4024 movs r4, #64
7817 0070 80F83E40 strb r4, [r0, #62]
2977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7818 .loc 1 2977 5 is_stmt 1 view .LVU2541
2977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7819 .loc 1 2977 21 is_stmt 0 view .LVU2542
7820 0074 0024 movs r4, #0
7821 0076 0464 str r4, [r0, #64]
2980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
7822 .loc 1 2980 5 is_stmt 1 view .LVU2543
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 308
2980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
7823 .loc 1 2980 23 is_stmt 0 view .LVU2544
7824 0078 049D ldr r5, [sp, #16]
7825 007a 4562 str r5, [r0, #36]
2981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
7826 .loc 1 2981 5 is_stmt 1 view .LVU2545
2981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
7827 .loc 1 2981 23 is_stmt 0 view .LVU2546
7828 007c BDF81450 ldrh r5, [sp, #20]
7829 0080 4585 strh r5, [r0, #42] @ movhi
2982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
7830 .loc 1 2982 5 is_stmt 1 view .LVU2547
2982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
7831 .loc 1 2982 29 is_stmt 0 view .LVU2548
7832 0082 458D ldrh r5, [r0, #42]
2982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
7833 .loc 1 2982 23 view .LVU2549
7834 0084 0585 strh r5, [r0, #40] @ movhi
2983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
7835 .loc 1 2983 5 is_stmt 1 view .LVU2550
2983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
7836 .loc 1 2983 23 is_stmt 0 view .LVU2551
7837 0086 1A4D ldr r5, .L502+8
7838 0088 C562 str r5, [r0, #44]
2984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Memaddress = MemAddress;
7839 .loc 1 2984 5 is_stmt 1 view .LVU2552
2984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Memaddress = MemAddress;
7840 .loc 1 2984 23 is_stmt 0 view .LVU2553
7841 008a 4164 str r1, [r0, #68]
2985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemaddSize = MemAddSize;
7842 .loc 1 2985 5 is_stmt 1 view .LVU2554
2985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->MemaddSize = MemAddSize;
7843 .loc 1 2985 23 is_stmt 0 view .LVU2555
7844 008c 8264 str r2, [r0, #72]
2986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount = 0U;
7845 .loc 1 2986 5 is_stmt 1 view .LVU2556
2986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->EventCount = 0U;
7846 .loc 1 2986 23 is_stmt 0 view .LVU2557
7847 008e C364 str r3, [r0, #76]
2987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7848 .loc 1 2987 5 is_stmt 1 view .LVU2558
2987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7849 .loc 1 2987 23 is_stmt 0 view .LVU2559
7850 0090 0465 str r4, [r0, #80]
2990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7851 .loc 1 2990 5 is_stmt 1 view .LVU2560
7852 0092 0268 ldr r2, [r0]
7853 .LVL329:
2990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7854 .loc 1 2990 5 is_stmt 0 view .LVU2561
7855 0094 1368 ldr r3, [r2]
7856 .LVL330:
2990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7857 .loc 1 2990 5 view .LVU2562
7858 0096 43F48063 orr r3, r3, #1024
7859 009a 1360 str r3, [r2]
2993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 309
7860 .loc 1 2993 5 is_stmt 1 view .LVU2563
7861 009c 0268 ldr r2, [r0]
7862 009e 1368 ldr r3, [r2]
7863 00a0 43F48073 orr r3, r3, #256
7864 00a4 1360 str r3, [r2]
2996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7865 .loc 1 2996 5 view .LVU2564
2996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7866 .loc 1 2996 5 view .LVU2565
7867 00a6 80F83C40 strb r4, [r0, #60]
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7868 .loc 1 2998 5 view .LVU2566
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7869 .loc 1 2998 13 is_stmt 0 view .LVU2567
7870 00aa 038D ldrh r3, [r0, #40]
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7871 .loc 1 2998 8 view .LVU2568
7872 00ac 23B1 cbz r3, .L497
3005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7873 .loc 1 3005 7 is_stmt 1 view .LVU2569
7874 00ae 0268 ldr r2, [r0]
7875 00b0 5368 ldr r3, [r2, #4]
7876 00b2 43F4E063 orr r3, r3, #1792
7877 00b6 5360 str r3, [r2, #4]
7878 .L497:
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7879 .loc 1 3007 5 view .LVU2570
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7880 .loc 1 3007 12 is_stmt 0 view .LVU2571
7881 00b8 0020 movs r0, #0
7882 .LVL331:
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7883 .loc 1 3007 12 view .LVU2572
7884 00ba 0FE0 b .L493
7885 .LVL332:
7886 .L501:
2949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7887 .loc 1 2949 9 is_stmt 1 view .LVU2573
2949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7888 .loc 1 2949 35 is_stmt 0 view .LVU2574
7889 00bc 0023 movs r3, #0
7890 .LVL333:
2949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7891 .loc 1 2949 35 view .LVU2575
7892 00be 0363 str r3, [r0, #48]
2950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7893 .loc 1 2950 9 is_stmt 1 view .LVU2576
2950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7894 .loc 1 2950 35 is_stmt 0 view .LVU2577
7895 00c0 2022 movs r2, #32
7896 .LVL334:
2950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7897 .loc 1 2950 35 view .LVU2578
7898 00c2 80F83D20 strb r2, [r0, #61]
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
7899 .loc 1 2951 9 is_stmt 1 view .LVU2579
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 310
7900 .loc 1 2951 35 is_stmt 0 view .LVU2580
7901 00c6 80F83E30 strb r3, [r0, #62]
2952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7902 .loc 1 2952 9 is_stmt 1 view .LVU2581
2952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7903 .loc 1 2952 35 is_stmt 0 view .LVU2582
7904 00ca 026C ldr r2, [r0, #64]
7905 00cc 42F02002 orr r2, r2, #32
7906 00d0 0264 str r2, [r0, #64]
2955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7907 .loc 1 2955 9 is_stmt 1 view .LVU2583
2955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7908 .loc 1 2955 9 view .LVU2584
7909 00d2 80F83C30 strb r3, [r0, #60]
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7910 .loc 1 2957 9 view .LVU2585
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7911 .loc 1 2957 16 is_stmt 0 view .LVU2586
7912 00d6 0120 movs r0, #1
7913 .LVL335:
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7914 .loc 1 2957 16 view .LVU2587
7915 00d8 00E0 b .L493
7916 .LVL336:
7917 .L498:
3011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7918 .loc 1 3011 12 view .LVU2588
7919 00da 0220 movs r0, #2
7920 .LVL337:
7921 .L493:
3013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7922 .loc 1 3013 1 view .LVU2589
7923 00dc 02B0 add sp, sp, #8
7924 .LCFI89:
7925 .cfi_remember_state
7926 .cfi_def_cfa_offset 8
7927 @ sp needed
7928 00de 30BC pop {r4, r5}
7929 .LCFI90:
7930 .cfi_restore 5
7931 .cfi_restore 4
7932 .cfi_def_cfa_offset 0
7933 .LVL338:
3013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7934 .loc 1 3013 1 view .LVU2590
7935 00e0 7047 bx lr
7936 .LVL339:
7937 .L499:
7938 .LCFI91:
7939 .cfi_restore_state
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7940 .loc 1 2963 5 view .LVU2591
7941 00e2 0220 movs r0, #2
7942 .LVL340:
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7943 .loc 1 2963 5 view .LVU2592
7944 00e4 FAE7 b .L493
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 311
7945 .L503:
7946 00e6 00BF .align 2
7947 .L502:
7948 00e8 00000000 .word SystemCoreClock
7949 00ec 89B5F814 .word 351843721
7950 00f0 0000FFFF .word -65536
7951 .cfi_endproc
7952 .LFE84:
7954 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
7955 .align 1
7956 .global HAL_I2C_Mem_Write_DMA
7957 .syntax unified
7958 .thumb
7959 .thumb_func
7960 .fpu softvfp
7962 HAL_I2C_Mem_Write_DMA:
7963 .LVL341:
7964 .LFB85:
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
7965 .loc 1 3028 1 is_stmt 1 view -0
7966 .cfi_startproc
7967 @ args = 8, pretend = 0, frame = 8
7968 @ frame_needed = 0, uses_anonymous_args = 0
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
7969 .loc 1 3028 1 is_stmt 0 view .LVU2594
7970 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
7971 .LCFI92:
7972 .cfi_def_cfa_offset 24
7973 .cfi_offset 4, -24
7974 .cfi_offset 5, -20
7975 .cfi_offset 6, -16
7976 .cfi_offset 7, -12
7977 .cfi_offset 8, -8
7978 .cfi_offset 14, -4
7979 0004 84B0 sub sp, sp, #16
7980 .LCFI93:
7981 .cfi_def_cfa_offset 40
7982 0006 0446 mov r4, r0
7983 0008 0D46 mov r5, r1
7984 000a 1646 mov r6, r2
7985 000c 1F46 mov r7, r3
3029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7986 .loc 1 3029 3 is_stmt 1 view .LVU2595
3029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7987 .loc 1 3029 17 is_stmt 0 view .LVU2596
7988 000e 0023 movs r3, #0
7989 .LVL342:
3029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7990 .loc 1 3029 17 view .LVU2597
7991 0010 0393 str r3, [sp, #12]
3030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7992 .loc 1 3030 3 is_stmt 1 view .LVU2598
3033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7993 .loc 1 3033 3 view .LVU2599
3033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7994 .loc 1 3033 24 is_stmt 0 view .LVU2600
7995 0012 FFF7FEFF bl HAL_GetTick
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 312
7996 .LVL343:
3036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
7997 .loc 1 3036 3 is_stmt 1 view .LVU2601
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7998 .loc 1 3038 3 view .LVU2602
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7999 .loc 1 3038 11 is_stmt 0 view .LVU2603
8000 0016 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
8001 001a DBB2 uxtb r3, r3
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8002 .loc 1 3038 6 view .LVU2604
8003 001c 202B cmp r3, #32
8004 001e 40F09D80 bne .L511
8005 0022 8046 mov r8, r0
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
8006 .loc 1 3041 5 is_stmt 1 view .LVU2605
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
8007 .loc 1 3041 60 is_stmt 0 view .LVU2606
8008 0024 524B ldr r3, .L518
8009 0026 1B68 ldr r3, [r3]
8010 0028 DB08 lsrs r3, r3, #3
8011 002a 524A ldr r2, .L518+4
8012 002c A2FB0323 umull r2, r3, r2, r3
8013 0030 1B0A lsrs r3, r3, #8
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
8014 .loc 1 3041 35 view .LVU2607
8015 0032 03EB8303 add r3, r3, r3, lsl #2
8016 0036 03EB8303 add r3, r3, r3, lsl #2
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
8017 .loc 1 3041 11 view .LVU2608
8018 003a 0393 str r3, [sp, #12]
8019 .L507:
3042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8020 .loc 1 3042 5 is_stmt 1 view .LVU2609
3044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
8021 .loc 1 3044 7 view .LVU2610
3044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
8022 .loc 1 3044 12 is_stmt 0 view .LVU2611
8023 003c 039B ldr r3, [sp, #12]
8024 003e 013B subs r3, r3, #1
8025 0040 0393 str r3, [sp, #12]
3045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8026 .loc 1 3045 7 is_stmt 1 view .LVU2612
3045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8027 .loc 1 3045 17 is_stmt 0 view .LVU2613
8028 0042 039B ldr r3, [sp, #12]
3045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8029 .loc 1 3045 10 view .LVU2614
8030 0044 002B cmp r3, #0
8031 0046 3AD0 beq .L515
3058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8032 .loc 1 3058 12 view .LVU2615
8033 0048 2368 ldr r3, [r4]
8034 004a 9A69 ldr r2, [r3, #24]
3058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8035 .loc 1 3058 5 view .LVU2616
8036 004c 12F0020F tst r2, #2
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 313
8037 0050 F4D1 bne .L507
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8038 .loc 1 3061 5 is_stmt 1 view .LVU2617
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8039 .loc 1 3061 5 view .LVU2618
8040 0052 94F83C20 ldrb r2, [r4, #60] @ zero_extendqisi2
8041 0056 012A cmp r2, #1
8042 0058 00F08580 beq .L512
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8043 .loc 1 3061 5 discriminator 2 view .LVU2619
8044 005c 0122 movs r2, #1
8045 005e 84F83C20 strb r2, [r4, #60]
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8046 .loc 1 3064 5 discriminator 2 view .LVU2620
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8047 .loc 1 3064 24 is_stmt 0 discriminator 2 view .LVU2621
8048 0062 1A68 ldr r2, [r3]
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8049 .loc 1 3064 8 discriminator 2 view .LVU2622
8050 0064 12F0010F tst r2, #1
8051 0068 03D1 bne .L508
3067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8052 .loc 1 3067 7 is_stmt 1 view .LVU2623
8053 006a 1A68 ldr r2, [r3]
8054 006c 42F00102 orr r2, r2, #1
8055 0070 1A60 str r2, [r3]
8056 .L508:
3071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8057 .loc 1 3071 5 view .LVU2624
8058 0072 2268 ldr r2, [r4]
8059 0074 1368 ldr r3, [r2]
8060 0076 23F40063 bic r3, r3, #2048
8061 007a 1360 str r3, [r2]
3073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
8062 .loc 1 3073 5 view .LVU2625
3073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
8063 .loc 1 3073 21 is_stmt 0 view .LVU2626
8064 007c 2123 movs r3, #33
8065 007e 84F83D30 strb r3, [r4, #61]
3074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8066 .loc 1 3074 5 is_stmt 1 view .LVU2627
3074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8067 .loc 1 3074 21 is_stmt 0 view .LVU2628
8068 0082 4023 movs r3, #64
8069 0084 84F83E30 strb r3, [r4, #62]
3075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8070 .loc 1 3075 5 is_stmt 1 view .LVU2629
3075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8071 .loc 1 3075 21 is_stmt 0 view .LVU2630
8072 0088 0023 movs r3, #0
8073 008a 2364 str r3, [r4, #64]
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
8074 .loc 1 3078 5 is_stmt 1 view .LVU2631
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
8075 .loc 1 3078 23 is_stmt 0 view .LVU2632
8076 008c 0A9B ldr r3, [sp, #40]
8077 008e 6362 str r3, [r4, #36]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 314
3079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8078 .loc 1 3079 5 is_stmt 1 view .LVU2633
3079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8079 .loc 1 3079 23 is_stmt 0 view .LVU2634
8080 0090 BDF82C30 ldrh r3, [sp, #44]
8081 0094 6385 strh r3, [r4, #42] @ movhi
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
8082 .loc 1 3080 5 is_stmt 1 view .LVU2635
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
8083 .loc 1 3080 29 is_stmt 0 view .LVU2636
8084 0096 638D ldrh r3, [r4, #42]
8085 0098 9BB2 uxth r3, r3
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
8086 .loc 1 3080 23 view .LVU2637
8087 009a 2385 strh r3, [r4, #40] @ movhi
3081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8088 .loc 1 3081 5 is_stmt 1 view .LVU2638
3081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8089 .loc 1 3081 23 is_stmt 0 view .LVU2639
8090 009c 364A ldr r2, .L518+8
8091 009e E262 str r2, [r4, #44]
3083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8092 .loc 1 3083 5 is_stmt 1 view .LVU2640
3083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8093 .loc 1 3083 8 is_stmt 0 view .LVU2641
8094 00a0 DBB9 cbnz r3, .L516
3141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8095 .loc 1 3141 7 is_stmt 1 view .LVU2642
3141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8096 .loc 1 3141 23 is_stmt 0 view .LVU2643
8097 00a2 2023 movs r3, #32
8098 00a4 84F83D30 strb r3, [r4, #61]
3142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8099 .loc 1 3142 7 is_stmt 1 view .LVU2644
3142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8100 .loc 1 3142 23 is_stmt 0 view .LVU2645
8101 00a8 0022 movs r2, #0
8102 00aa 84F83E20 strb r2, [r4, #62]
3145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8103 .loc 1 3145 7 is_stmt 1 view .LVU2646
3145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8104 .loc 1 3145 23 is_stmt 0 view .LVU2647
8105 00ae 236C ldr r3, [r4, #64]
8106 00b0 43F04003 orr r3, r3, #64
8107 00b4 2364 str r3, [r4, #64]
3148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8108 .loc 1 3148 7 is_stmt 1 view .LVU2648
3148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8109 .loc 1 3148 7 view .LVU2649
8110 00b6 84F83C20 strb r2, [r4, #60]
3150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8111 .loc 1 3150 7 view .LVU2650
3150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8112 .loc 1 3150 14 is_stmt 0 view .LVU2651
8113 00ba 0123 movs r3, #1
8114 00bc 4FE0 b .L505
8115 .L515:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 315
3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
8116 .loc 1 3047 9 is_stmt 1 view .LVU2652
3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
8117 .loc 1 3047 35 is_stmt 0 view .LVU2653
8118 00be 2363 str r3, [r4, #48]
3048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8119 .loc 1 3048 9 is_stmt 1 view .LVU2654
3048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8120 .loc 1 3048 35 is_stmt 0 view .LVU2655
8121 00c0 2022 movs r2, #32
8122 00c2 84F83D20 strb r2, [r4, #61]
3049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
8123 .loc 1 3049 9 is_stmt 1 view .LVU2656
3049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
8124 .loc 1 3049 35 is_stmt 0 view .LVU2657
8125 00c6 84F83E30 strb r3, [r4, #62]
3050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8126 .loc 1 3050 9 is_stmt 1 view .LVU2658
3050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8127 .loc 1 3050 35 is_stmt 0 view .LVU2659
8128 00ca 226C ldr r2, [r4, #64]
8129 00cc 42F02002 orr r2, r2, #32
8130 00d0 2264 str r2, [r4, #64]
3053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8131 .loc 1 3053 9 is_stmt 1 view .LVU2660
3053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8132 .loc 1 3053 9 view .LVU2661
8133 00d2 84F83C30 strb r3, [r4, #60]
3055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8134 .loc 1 3055 9 view .LVU2662
3055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8135 .loc 1 3055 16 is_stmt 0 view .LVU2663
8136 00d6 0123 movs r3, #1
8137 00d8 41E0 b .L505
8138 .L516:
3086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8139 .loc 1 3086 7 is_stmt 1 view .LVU2664
3086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8140 .loc 1 3086 11 is_stmt 0 view .LVU2665
8141 00da 636B ldr r3, [r4, #52]
3086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8142 .loc 1 3086 38 view .LVU2666
8143 00dc 274A ldr r2, .L518+12
8144 00de 9A62 str r2, [r3, #40]
3089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8145 .loc 1 3089 7 is_stmt 1 view .LVU2667
3089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8146 .loc 1 3089 11 is_stmt 0 view .LVU2668
8147 00e0 636B ldr r3, [r4, #52]
3089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8148 .loc 1 3089 39 view .LVU2669
8149 00e2 274A ldr r2, .L518+16
8150 00e4 1A63 str r2, [r3, #48]
3092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8151 .loc 1 3092 7 is_stmt 1 view .LVU2670
3092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8152 .loc 1 3092 11 is_stmt 0 view .LVU2671
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 316
8153 00e6 626B ldr r2, [r4, #52]
3092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8154 .loc 1 3092 42 view .LVU2672
8155 00e8 0023 movs r3, #0
8156 00ea D362 str r3, [r2, #44]
3093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8157 .loc 1 3093 7 is_stmt 1 view .LVU2673
3093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8158 .loc 1 3093 11 is_stmt 0 view .LVU2674
8159 00ec 626B ldr r2, [r4, #52]
3093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8160 .loc 1 3093 39 view .LVU2675
8161 00ee 5363 str r3, [r2, #52]
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8162 .loc 1 3096 7 is_stmt 1 view .LVU2676
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8163 .loc 1 3096 95 is_stmt 0 view .LVU2677
8164 00f0 2268 ldr r2, [r4]
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8165 .loc 1 3096 23 view .LVU2678
8166 00f2 238D ldrh r3, [r4, #40]
8167 00f4 1032 adds r2, r2, #16
8168 00f6 616A ldr r1, [r4, #36]
8169 00f8 606B ldr r0, [r4, #52]
8170 .LVL344:
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8171 .loc 1 3096 23 view .LVU2679
8172 00fa FFF7FEFF bl HAL_DMA_Start_IT
8173 .LVL345:
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8174 .loc 1 3098 7 is_stmt 1 view .LVU2680
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8175 .loc 1 3098 10 is_stmt 0 view .LVU2681
8176 00fe 68B1 cbz r0, .L517
3126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8177 .loc 1 3126 9 is_stmt 1 view .LVU2682
3126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8178 .loc 1 3126 25 is_stmt 0 view .LVU2683
8179 0100 2023 movs r3, #32
8180 0102 84F83D30 strb r3, [r4, #61]
3127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8181 .loc 1 3127 9 is_stmt 1 view .LVU2684
3127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8182 .loc 1 3127 25 is_stmt 0 view .LVU2685
8183 0106 0022 movs r2, #0
8184 0108 84F83E20 strb r2, [r4, #62]
3130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8185 .loc 1 3130 9 is_stmt 1 view .LVU2686
3130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8186 .loc 1 3130 25 is_stmt 0 view .LVU2687
8187 010c 236C ldr r3, [r4, #64]
8188 010e 43F01003 orr r3, r3, #16
8189 0112 2364 str r3, [r4, #64]
3133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8190 .loc 1 3133 9 is_stmt 1 view .LVU2688
3133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8191 .loc 1 3133 9 view .LVU2689
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 317
8192 0114 84F83C20 strb r2, [r4, #60]
3135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8193 .loc 1 3135 9 view .LVU2690
3135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8194 .loc 1 3135 16 is_stmt 0 view .LVU2691
8195 0118 0123 movs r3, #1
8196 011a 20E0 b .L505
8197 .L517:
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8198 .loc 1 3101 9 is_stmt 1 view .LVU2692
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8199 .loc 1 3101 13 is_stmt 0 view .LVU2693
8200 011c CDF80480 str r8, [sp, #4]
8201 0120 2323 movs r3, #35
8202 0122 0093 str r3, [sp]
8203 0124 3B46 mov r3, r7
8204 0126 3246 mov r2, r6
8205 0128 2946 mov r1, r5
8206 012a 2046 mov r0, r4
8207 .LVL346:
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8208 .loc 1 3101 13 view .LVU2694
8209 012c FFF7FEFF bl I2C_RequestMemoryWrite
8210 .LVL347:
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8211 .loc 1 3101 12 view .LVU2695
8212 0130 0346 mov r3, r0
8213 0132 D0B9 cbnz r0, .L513
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8214 .loc 1 3107 9 is_stmt 1 view .LVU2696
8215 .LBB101:
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8216 .loc 1 3107 9 view .LVU2697
8217 0134 0021 movs r1, #0
8218 0136 0291 str r1, [sp, #8]
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8219 .loc 1 3107 9 view .LVU2698
8220 0138 2268 ldr r2, [r4]
8221 013a 5069 ldr r0, [r2, #20]
8222 013c 0290 str r0, [sp, #8]
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8223 .loc 1 3107 9 view .LVU2699
8224 013e 9069 ldr r0, [r2, #24]
8225 0140 0290 str r0, [sp, #8]
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8226 .loc 1 3107 9 view .LVU2700
8227 0142 0298 ldr r0, [sp, #8]
8228 .LBE101:
3110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8229 .loc 1 3110 9 view .LVU2701
3110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8230 .loc 1 3110 9 view .LVU2702
8231 0144 84F83C10 strb r1, [r4, #60]
3116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8232 .loc 1 3116 9 view .LVU2703
8233 0148 5168 ldr r1, [r2, #4]
8234 014a 41F48071 orr r1, r1, #256
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 318
8235 014e 5160 str r1, [r2, #4]
3119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8236 .loc 1 3119 9 view .LVU2704
8237 0150 2168 ldr r1, [r4]
8238 0152 4A68 ldr r2, [r1, #4]
8239 0154 42F40062 orr r2, r2, #2048
8240 0158 4A60 str r2, [r1, #4]
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8241 .loc 1 3121 9 view .LVU2705
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8242 .loc 1 3121 16 is_stmt 0 view .LVU2706
8243 015a 00E0 b .L505
8244 .LVL348:
8245 .L511:
3155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8246 .loc 1 3155 12 view .LVU2707
8247 015c 0223 movs r3, #2
8248 .LVL349:
8249 .L505:
3157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8250 .loc 1 3157 1 view .LVU2708
8251 015e 1846 mov r0, r3
8252 0160 04B0 add sp, sp, #16
8253 .LCFI94:
8254 .cfi_remember_state
8255 .cfi_def_cfa_offset 24
8256 @ sp needed
8257 0162 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
8258 .LVL350:
8259 .L512:
8260 .LCFI95:
8261 .cfi_restore_state
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8262 .loc 1 3061 5 view .LVU2709
8263 0166 0223 movs r3, #2
8264 0168 F9E7 b .L505
8265 .LVL351:
8266 .L513:
3103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8267 .loc 1 3103 18 view .LVU2710
8268 016a 0123 movs r3, #1
8269 016c F7E7 b .L505
8270 .L519:
8271 016e 00BF .align 2
8272 .L518:
8273 0170 00000000 .word SystemCoreClock
8274 0174 89B5F814 .word 351843721
8275 0178 0000FFFF .word -65536
8276 017c 00000000 .word I2C_DMAXferCplt
8277 0180 00000000 .word I2C_DMAError
8278 .cfi_endproc
8279 .LFE85:
8281 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
8282 .align 1
8283 .global HAL_I2C_Mem_Read_DMA
8284 .syntax unified
8285 .thumb
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 319
8286 .thumb_func
8287 .fpu softvfp
8289 HAL_I2C_Mem_Read_DMA:
8290 .LVL352:
8291 .LFB86:
3172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
8292 .loc 1 3172 1 is_stmt 1 view -0
8293 .cfi_startproc
8294 @ args = 8, pretend = 0, frame = 16
8295 @ frame_needed = 0, uses_anonymous_args = 0
3172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Init tickstart for timeout management*/
8296 .loc 1 3172 1 is_stmt 0 view .LVU2712
8297 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
8298 .LCFI96:
8299 .cfi_def_cfa_offset 24
8300 .cfi_offset 4, -24
8301 .cfi_offset 5, -20
8302 .cfi_offset 6, -16
8303 .cfi_offset 7, -12
8304 .cfi_offset 8, -8
8305 .cfi_offset 14, -4
8306 0004 86B0 sub sp, sp, #24
8307 .LCFI97:
8308 .cfi_def_cfa_offset 48
8309 0006 0446 mov r4, r0
8310 0008 0D46 mov r5, r1
8311 000a 1646 mov r6, r2
8312 000c 1F46 mov r7, r3
3174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
8313 .loc 1 3174 3 is_stmt 1 view .LVU2713
3174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
8314 .loc 1 3174 24 is_stmt 0 view .LVU2714
8315 000e FFF7FEFF bl HAL_GetTick
8316 .LVL353:
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8317 .loc 1 3175 3 is_stmt 1 view .LVU2715
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8318 .loc 1 3175 17 is_stmt 0 view .LVU2716
8319 0012 0023 movs r3, #0
8320 0014 0593 str r3, [sp, #20]
3176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8321 .loc 1 3176 3 is_stmt 1 view .LVU2717
3179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8322 .loc 1 3179 3 view .LVU2718
3181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8323 .loc 1 3181 3 view .LVU2719
3181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8324 .loc 1 3181 11 is_stmt 0 view .LVU2720
8325 0016 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
8326 001a DBB2 uxtb r3, r3
3181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8327 .loc 1 3181 6 view .LVU2721
8328 001c 202B cmp r3, #32
8329 001e 40F0BC80 bne .L530
8330 0022 8046 mov r8, r0
3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
8331 .loc 1 3184 5 is_stmt 1 view .LVU2722
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 320
3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
8332 .loc 1 3184 60 is_stmt 0 view .LVU2723
8333 0024 624B ldr r3, .L538
8334 0026 1B68 ldr r3, [r3]
8335 0028 DB08 lsrs r3, r3, #3
8336 002a 624A ldr r2, .L538+4
8337 002c A2FB0323 umull r2, r3, r2, r3
8338 0030 1B0A lsrs r3, r3, #8
3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
8339 .loc 1 3184 35 view .LVU2724
8340 0032 03EB8303 add r3, r3, r3, lsl #2
8341 0036 03EB8303 add r3, r3, r3, lsl #2
3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
8342 .loc 1 3184 11 view .LVU2725
8343 003a 0593 str r3, [sp, #20]
8344 .L523:
3185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8345 .loc 1 3185 5 is_stmt 1 view .LVU2726
3187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
8346 .loc 1 3187 7 view .LVU2727
3187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
8347 .loc 1 3187 12 is_stmt 0 view .LVU2728
8348 003c 059B ldr r3, [sp, #20]
8349 003e 013B subs r3, r3, #1
8350 0040 0593 str r3, [sp, #20]
3188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8351 .loc 1 3188 7 is_stmt 1 view .LVU2729
3188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8352 .loc 1 3188 17 is_stmt 0 view .LVU2730
8353 0042 059B ldr r3, [sp, #20]
3188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8354 .loc 1 3188 10 view .LVU2731
8355 0044 002B cmp r3, #0
8356 0046 4ED0 beq .L535
3201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8357 .loc 1 3201 12 view .LVU2732
8358 0048 2368 ldr r3, [r4]
8359 004a 9A69 ldr r2, [r3, #24]
3201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8360 .loc 1 3201 5 view .LVU2733
8361 004c 12F0020F tst r2, #2
8362 0050 F4D1 bne .L523
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8363 .loc 1 3204 5 is_stmt 1 view .LVU2734
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8364 .loc 1 3204 5 view .LVU2735
8365 0052 94F83C20 ldrb r2, [r4, #60] @ zero_extendqisi2
8366 0056 012A cmp r2, #1
8367 0058 00F0A380 beq .L531
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8368 .loc 1 3204 5 discriminator 2 view .LVU2736
8369 005c 0122 movs r2, #1
8370 005e 84F83C20 strb r2, [r4, #60]
3207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8371 .loc 1 3207 5 discriminator 2 view .LVU2737
3207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8372 .loc 1 3207 24 is_stmt 0 discriminator 2 view .LVU2738
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 321
8373 0062 1A68 ldr r2, [r3]
3207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8374 .loc 1 3207 8 discriminator 2 view .LVU2739
8375 0064 12F0010F tst r2, #1
8376 0068 03D1 bne .L524
3210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8377 .loc 1 3210 7 is_stmt 1 view .LVU2740
8378 006a 1A68 ldr r2, [r3]
8379 006c 42F00102 orr r2, r2, #1
8380 0070 1A60 str r2, [r3]
8381 .L524:
3214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8382 .loc 1 3214 5 view .LVU2741
8383 0072 2268 ldr r2, [r4]
8384 0074 1368 ldr r3, [r2]
8385 0076 23F40063 bic r3, r3, #2048
8386 007a 1360 str r3, [r2]
3216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
8387 .loc 1 3216 5 view .LVU2742
3216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
8388 .loc 1 3216 21 is_stmt 0 view .LVU2743
8389 007c 2223 movs r3, #34
8390 007e 84F83D30 strb r3, [r4, #61]
3217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8391 .loc 1 3217 5 is_stmt 1 view .LVU2744
3217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8392 .loc 1 3217 21 is_stmt 0 view .LVU2745
8393 0082 4023 movs r3, #64
8394 0084 84F83E30 strb r3, [r4, #62]
3218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8395 .loc 1 3218 5 is_stmt 1 view .LVU2746
3218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8396 .loc 1 3218 21 is_stmt 0 view .LVU2747
8397 0088 0023 movs r3, #0
8398 008a 2364 str r3, [r4, #64]
3221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
8399 .loc 1 3221 5 is_stmt 1 view .LVU2748
3221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
8400 .loc 1 3221 23 is_stmt 0 view .LVU2749
8401 008c 0C9B ldr r3, [sp, #48]
8402 008e 6362 str r3, [r4, #36]
3222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8403 .loc 1 3222 5 is_stmt 1 view .LVU2750
3222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8404 .loc 1 3222 23 is_stmt 0 view .LVU2751
8405 0090 BDF83430 ldrh r3, [sp, #52]
8406 0094 6385 strh r3, [r4, #42] @ movhi
3223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
8407 .loc 1 3223 5 is_stmt 1 view .LVU2752
3223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
8408 .loc 1 3223 29 is_stmt 0 view .LVU2753
8409 0096 638D ldrh r3, [r4, #42]
8410 0098 9BB2 uxth r3, r3
3223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
8411 .loc 1 3223 23 view .LVU2754
8412 009a 2385 strh r3, [r4, #40] @ movhi
3224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 322
8413 .loc 1 3224 5 is_stmt 1 view .LVU2755
3224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8414 .loc 1 3224 23 is_stmt 0 view .LVU2756
8415 009c 464A ldr r2, .L538+8
8416 009e E262 str r2, [r4, #44]
3226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8417 .loc 1 3226 5 is_stmt 1 view .LVU2757
3226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8418 .loc 1 3226 8 is_stmt 0 view .LVU2758
8419 00a0 002B cmp r3, #0
8420 00a2 5CD0 beq .L525
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8421 .loc 1 3229 7 is_stmt 1 view .LVU2759
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8422 .loc 1 3229 11 is_stmt 0 view .LVU2760
8423 00a4 A36B ldr r3, [r4, #56]
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8424 .loc 1 3229 38 view .LVU2761
8425 00a6 454A ldr r2, .L538+12
8426 00a8 9A62 str r2, [r3, #40]
3232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8427 .loc 1 3232 7 is_stmt 1 view .LVU2762
3232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8428 .loc 1 3232 11 is_stmt 0 view .LVU2763
8429 00aa A36B ldr r3, [r4, #56]
3232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8430 .loc 1 3232 39 view .LVU2764
8431 00ac 444A ldr r2, .L538+16
8432 00ae 1A63 str r2, [r3, #48]
3235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
8433 .loc 1 3235 7 is_stmt 1 view .LVU2765
3235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
8434 .loc 1 3235 11 is_stmt 0 view .LVU2766
8435 00b0 A26B ldr r2, [r4, #56]
3235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
8436 .loc 1 3235 42 view .LVU2767
8437 00b2 0023 movs r3, #0
8438 00b4 D362 str r3, [r2, #44]
3236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8439 .loc 1 3236 7 is_stmt 1 view .LVU2768
3236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8440 .loc 1 3236 11 is_stmt 0 view .LVU2769
8441 00b6 A26B ldr r2, [r4, #56]
3236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8442 .loc 1 3236 39 view .LVU2770
8443 00b8 5363 str r3, [r2, #52]
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8444 .loc 1 3239 7 is_stmt 1 view .LVU2771
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8445 .loc 1 3239 69 is_stmt 0 view .LVU2772
8446 00ba 2168 ldr r1, [r4]
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8447 .loc 1 3239 23 view .LVU2773
8448 00bc 238D ldrh r3, [r4, #40]
8449 00be 626A ldr r2, [r4, #36]
8450 00c0 1031 adds r1, r1, #16
8451 00c2 A06B ldr r0, [r4, #56]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 323
8452 .LVL354:
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8453 .loc 1 3239 23 view .LVU2774
8454 00c4 FFF7FEFF bl HAL_DMA_Start_IT
8455 .LVL355:
3241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8456 .loc 1 3241 7 is_stmt 1 view .LVU2775
3241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8457 .loc 1 3241 10 is_stmt 0 view .LVU2776
8458 00c8 D8B1 cbz r0, .L536
3278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8459 .loc 1 3278 9 is_stmt 1 view .LVU2777
3278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8460 .loc 1 3278 25 is_stmt 0 view .LVU2778
8461 00ca 2023 movs r3, #32
8462 00cc 84F83D30 strb r3, [r4, #61]
3279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8463 .loc 1 3279 9 is_stmt 1 view .LVU2779
3279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8464 .loc 1 3279 25 is_stmt 0 view .LVU2780
8465 00d0 0022 movs r2, #0
8466 00d2 84F83E20 strb r2, [r4, #62]
3282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8467 .loc 1 3282 9 is_stmt 1 view .LVU2781
3282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8468 .loc 1 3282 25 is_stmt 0 view .LVU2782
8469 00d6 236C ldr r3, [r4, #64]
8470 00d8 43F01003 orr r3, r3, #16
8471 00dc 2364 str r3, [r4, #64]
3285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8472 .loc 1 3285 9 is_stmt 1 view .LVU2783
3285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8473 .loc 1 3285 9 view .LVU2784
8474 00de 84F83C20 strb r2, [r4, #60]
3287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8475 .loc 1 3287 9 view .LVU2785
3287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8476 .loc 1 3287 16 is_stmt 0 view .LVU2786
8477 00e2 0120 movs r0, #1
8478 .LVL356:
3287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8479 .loc 1 3287 16 view .LVU2787
8480 00e4 5AE0 b .L521
8481 .LVL357:
8482 .L535:
3190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
8483 .loc 1 3190 9 is_stmt 1 view .LVU2788
3190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
8484 .loc 1 3190 35 is_stmt 0 view .LVU2789
8485 00e6 2363 str r3, [r4, #48]
3191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8486 .loc 1 3191 9 is_stmt 1 view .LVU2790
3191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8487 .loc 1 3191 35 is_stmt 0 view .LVU2791
8488 00e8 2022 movs r2, #32
8489 00ea 84F83D20 strb r2, [r4, #61]
3192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 324
8490 .loc 1 3192 9 is_stmt 1 view .LVU2792
3192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
8491 .loc 1 3192 35 is_stmt 0 view .LVU2793
8492 00ee 84F83E30 strb r3, [r4, #62]
3193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8493 .loc 1 3193 9 is_stmt 1 view .LVU2794
3193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8494 .loc 1 3193 35 is_stmt 0 view .LVU2795
8495 00f2 226C ldr r2, [r4, #64]
8496 00f4 42F02002 orr r2, r2, #32
8497 00f8 2264 str r2, [r4, #64]
3196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8498 .loc 1 3196 9 is_stmt 1 view .LVU2796
3196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8499 .loc 1 3196 9 view .LVU2797
8500 00fa 84F83C30 strb r3, [r4, #60]
3198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8501 .loc 1 3198 9 view .LVU2798
3198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8502 .loc 1 3198 16 is_stmt 0 view .LVU2799
8503 00fe 0120 movs r0, #1
8504 .LVL358:
3198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8505 .loc 1 3198 16 view .LVU2800
8506 0100 4CE0 b .L521
8507 .LVL359:
8508 .L536:
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8509 .loc 1 3244 9 is_stmt 1 view .LVU2801
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8510 .loc 1 3244 13 is_stmt 0 view .LVU2802
8511 0102 CDF80480 str r8, [sp, #4]
8512 0106 2323 movs r3, #35
8513 0108 0093 str r3, [sp]
8514 010a 3B46 mov r3, r7
8515 010c 3246 mov r2, r6
8516 010e 2946 mov r1, r5
8517 0110 2046 mov r0, r4
8518 .LVL360:
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8519 .loc 1 3244 13 view .LVU2803
8520 0112 FFF7FEFF bl I2C_RequestMemoryRead
8521 .LVL361:
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8522 .loc 1 3244 12 view .LVU2804
8523 0116 0028 cmp r0, #0
8524 0118 45D1 bne .L532
3249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8525 .loc 1 3249 9 is_stmt 1 view .LVU2805
3249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8526 .loc 1 3249 17 is_stmt 0 view .LVU2806
8527 011a 238D ldrh r3, [r4, #40]
3249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8528 .loc 1 3249 12 view .LVU2807
8529 011c 012B cmp r3, #1
8530 011e 18D0 beq .L537
3257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 325
8531 .loc 1 3257 11 is_stmt 1 view .LVU2808
8532 0120 2268 ldr r2, [r4]
8533 0122 5368 ldr r3, [r2, #4]
8534 0124 43F48053 orr r3, r3, #4096
8535 0128 5360 str r3, [r2, #4]
8536 .L528:
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8537 .loc 1 3261 9 view .LVU2809
8538 .LBB102:
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8539 .loc 1 3261 9 view .LVU2810
8540 012a 0022 movs r2, #0
8541 012c 0392 str r2, [sp, #12]
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8542 .loc 1 3261 9 view .LVU2811
8543 012e 2368 ldr r3, [r4]
8544 0130 5969 ldr r1, [r3, #20]
8545 0132 0391 str r1, [sp, #12]
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8546 .loc 1 3261 9 view .LVU2812
8547 0134 9969 ldr r1, [r3, #24]
8548 0136 0391 str r1, [sp, #12]
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8549 .loc 1 3261 9 view .LVU2813
8550 0138 0399 ldr r1, [sp, #12]
8551 .LBE102:
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8552 .loc 1 3264 9 view .LVU2814
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8553 .loc 1 3264 9 view .LVU2815
8554 013a 84F83C20 strb r2, [r4, #60]
3270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8555 .loc 1 3270 9 view .LVU2816
8556 013e 5A68 ldr r2, [r3, #4]
8557 0140 42F48072 orr r2, r2, #256
8558 0144 5A60 str r2, [r3, #4]
3273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8559 .loc 1 3273 9 view .LVU2817
3273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8560 .loc 1 3273 13 is_stmt 0 view .LVU2818
8561 0146 2268 ldr r2, [r4]
3273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8562 .loc 1 3273 29 view .LVU2819
8563 0148 5368 ldr r3, [r2, #4]
8564 014a 43F40063 orr r3, r3, #2048
8565 014e 5360 str r3, [r2, #4]
8566 0150 21E0 b .L529
8567 .L537:
3252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8568 .loc 1 3252 11 is_stmt 1 view .LVU2820
8569 0152 2268 ldr r2, [r4]
8570 0154 1368 ldr r3, [r2]
8571 0156 23F48063 bic r3, r3, #1024
8572 015a 1360 str r3, [r2]
8573 015c E5E7 b .L528
8574 .LVL362:
8575 .L525:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 326
3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8576 .loc 1 3293 7 view .LVU2821
3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8577 .loc 1 3293 11 is_stmt 0 view .LVU2822
8578 015e CDF80480 str r8, [sp, #4]
8579 0162 2323 movs r3, #35
8580 0164 0093 str r3, [sp]
8581 0166 3B46 mov r3, r7
8582 0168 3246 mov r2, r6
8583 016a 2946 mov r1, r5
8584 016c 2046 mov r0, r4
8585 .LVL363:
3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8586 .loc 1 3293 11 view .LVU2823
8587 016e FFF7FEFF bl I2C_RequestMemoryRead
8588 .LVL364:
3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8589 .loc 1 3293 10 view .LVU2824
8590 0172 D0B9 cbnz r0, .L533
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8591 .loc 1 3299 7 is_stmt 1 view .LVU2825
8592 .LBB103:
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8593 .loc 1 3299 7 view .LVU2826
8594 0174 0021 movs r1, #0
8595 0176 0491 str r1, [sp, #16]
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8596 .loc 1 3299 7 view .LVU2827
8597 0178 2368 ldr r3, [r4]
8598 017a 5A69 ldr r2, [r3, #20]
8599 017c 0492 str r2, [sp, #16]
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8600 .loc 1 3299 7 view .LVU2828
8601 017e 9A69 ldr r2, [r3, #24]
8602 0180 0492 str r2, [sp, #16]
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8603 .loc 1 3299 7 view .LVU2829
8604 0182 049A ldr r2, [sp, #16]
8605 .LBE103:
3302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8606 .loc 1 3302 7 view .LVU2830
8607 0184 1A68 ldr r2, [r3]
8608 0186 42F40072 orr r2, r2, #512
8609 018a 1A60 str r2, [r3]
3304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8610 .loc 1 3304 7 view .LVU2831
3304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8611 .loc 1 3304 19 is_stmt 0 view .LVU2832
8612 018c 2023 movs r3, #32
8613 018e 84F83D30 strb r3, [r4, #61]
3307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8614 .loc 1 3307 7 is_stmt 1 view .LVU2833
3307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8615 .loc 1 3307 7 view .LVU2834
8616 0192 84F83C10 strb r1, [r4, #60]
8617 .L529:
3310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 327
8618 .loc 1 3310 5 view .LVU2835
3310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8619 .loc 1 3310 12 is_stmt 0 view .LVU2836
8620 0196 0020 movs r0, #0
8621 0198 00E0 b .L521
8622 .LVL365:
8623 .L530:
3314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8624 .loc 1 3314 12 view .LVU2837
8625 019a 0220 movs r0, #2
8626 .LVL366:
8627 .L521:
3316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8628 .loc 1 3316 1 view .LVU2838
8629 019c 06B0 add sp, sp, #24
8630 .LCFI98:
8631 .cfi_remember_state
8632 .cfi_def_cfa_offset 24
8633 @ sp needed
8634 019e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
8635 .LVL367:
8636 .L531:
8637 .LCFI99:
8638 .cfi_restore_state
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8639 .loc 1 3204 5 view .LVU2839
8640 01a2 0220 movs r0, #2
8641 .LVL368:
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8642 .loc 1 3204 5 view .LVU2840
8643 01a4 FAE7 b .L521
8644 .L532:
3246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8645 .loc 1 3246 18 view .LVU2841
8646 01a6 0120 movs r0, #1
8647 01a8 F8E7 b .L521
8648 .L533:
3295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8649 .loc 1 3295 16 view .LVU2842
8650 01aa 0120 movs r0, #1
8651 01ac F6E7 b .L521
8652 .L539:
8653 01ae 00BF .align 2
8654 .L538:
8655 01b0 00000000 .word SystemCoreClock
8656 01b4 89B5F814 .word 351843721
8657 01b8 0000FFFF .word -65536
8658 01bc 00000000 .word I2C_DMAXferCplt
8659 01c0 00000000 .word I2C_DMAError
8660 .cfi_endproc
8661 .LFE86:
8663 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits
8664 .align 1
8665 .global HAL_I2C_IsDeviceReady
8666 .syntax unified
8667 .thumb
8668 .thumb_func
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 328
8669 .fpu softvfp
8671 HAL_I2C_IsDeviceReady:
8672 .LVL369:
8673 .LFB87:
3330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Get tick */
8674 .loc 1 3330 1 is_stmt 1 view -0
8675 .cfi_startproc
8676 @ args = 0, pretend = 0, frame = 8
8677 @ frame_needed = 0, uses_anonymous_args = 0
3330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Get tick */
8678 .loc 1 3330 1 is_stmt 0 view .LVU2844
8679 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
8680 .LCFI100:
8681 .cfi_def_cfa_offset 28
8682 .cfi_offset 4, -28
8683 .cfi_offset 5, -24
8684 .cfi_offset 6, -20
8685 .cfi_offset 7, -16
8686 .cfi_offset 8, -12
8687 .cfi_offset 9, -8
8688 .cfi_offset 14, -4
8689 0004 85B0 sub sp, sp, #20
8690 .LCFI101:
8691 .cfi_def_cfa_offset 48
8692 0006 0446 mov r4, r0
8693 0008 8846 mov r8, r1
8694 000a 9146 mov r9, r2
8695 000c 1D46 mov r5, r3
3332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t I2C_Trials = 1U;
8696 .loc 1 3332 3 is_stmt 1 view .LVU2845
3332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t I2C_Trials = 1U;
8697 .loc 1 3332 24 is_stmt 0 view .LVU2846
8698 000e FFF7FEFF bl HAL_GetTick
8699 .LVL370:
3333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** FlagStatus tmp1;
8700 .loc 1 3333 3 is_stmt 1 view .LVU2847
3334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** FlagStatus tmp2;
8701 .loc 1 3334 3 view .LVU2848
3335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8702 .loc 1 3335 3 view .LVU2849
3337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8703 .loc 1 3337 3 view .LVU2850
3337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8704 .loc 1 3337 11 is_stmt 0 view .LVU2851
8705 0012 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
8706 0016 DBB2 uxtb r3, r3
3337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8707 .loc 1 3337 6 view .LVU2852
8708 0018 202B cmp r3, #32
8709 001a 04D0 beq .L557
3445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8710 .loc 1 3445 12 view .LVU2853
8711 001c 0223 movs r3, #2
8712 .LVL371:
8713 .L541:
3447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8714 .loc 1 3447 1 view .LVU2854
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 329
8715 001e 1846 mov r0, r3
8716 0020 05B0 add sp, sp, #20
8717 .LCFI102:
8718 .cfi_remember_state
8719 .cfi_def_cfa_offset 28
8720 @ sp needed
8721 0022 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
8722 .LVL372:
8723 .L557:
8724 .LCFI103:
8725 .cfi_restore_state
3447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8726 .loc 1 3447 1 view .LVU2855
8727 0026 0646 mov r6, r0
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8728 .loc 1 3340 5 is_stmt 1 view .LVU2856
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8729 .loc 1 3340 9 is_stmt 0 view .LVU2857
8730 0028 0090 str r0, [sp]
8731 002a 1923 movs r3, #25
8732 002c 0122 movs r2, #1
8733 002e 5449 ldr r1, .L560
8734 0030 2046 mov r0, r4
8735 .LVL373:
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8736 .loc 1 3340 9 view .LVU2858
8737 0032 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
8738 .LVL374:
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8739 .loc 1 3340 8 view .LVU2859
8740 0036 0028 cmp r0, #0
8741 0038 40F09780 bne .L551
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8742 .loc 1 3346 5 is_stmt 1 view .LVU2860
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8743 .loc 1 3346 5 view .LVU2861
8744 003c 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
8745 0040 012B cmp r3, #1
8746 0042 00F09480 beq .L552
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8747 .loc 1 3346 5 discriminator 2 view .LVU2862
8748 0046 0123 movs r3, #1
8749 0048 84F83C30 strb r3, [r4, #60]
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8750 .loc 1 3349 5 discriminator 2 view .LVU2863
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8751 .loc 1 3349 14 is_stmt 0 discriminator 2 view .LVU2864
8752 004c 2368 ldr r3, [r4]
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8753 .loc 1 3349 24 discriminator 2 view .LVU2865
8754 004e 1A68 ldr r2, [r3]
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8755 .loc 1 3349 8 discriminator 2 view .LVU2866
8756 0050 12F0010F tst r2, #1
8757 0054 03D1 bne .L542
3352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8758 .loc 1 3352 7 is_stmt 1 view .LVU2867
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 330
8759 0056 1A68 ldr r2, [r3]
8760 0058 42F00102 orr r2, r2, #1
8761 005c 1A60 str r2, [r3]
8762 .L542:
3356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8763 .loc 1 3356 5 view .LVU2868
8764 005e 2268 ldr r2, [r4]
8765 0060 1368 ldr r3, [r2]
8766 0062 23F40063 bic r3, r3, #2048
8767 0066 1360 str r3, [r2]
3358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8768 .loc 1 3358 5 view .LVU2869
3358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8769 .loc 1 3358 17 is_stmt 0 view .LVU2870
8770 0068 2423 movs r3, #36
8771 006a 84F83D30 strb r3, [r4, #61]
3359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
8772 .loc 1 3359 5 is_stmt 1 view .LVU2871
3359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
8773 .loc 1 3359 21 is_stmt 0 view .LVU2872
8774 006e 0023 movs r3, #0
8775 0070 2364 str r3, [r4, #64]
3360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8776 .loc 1 3360 5 is_stmt 1 view .LVU2873
3360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8777 .loc 1 3360 23 is_stmt 0 view .LVU2874
8778 0072 A3F58033 sub r3, r3, #65536
8779 0076 E362 str r3, [r4, #44]
3333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** FlagStatus tmp1;
8780 .loc 1 3333 12 view .LVU2875
8781 0078 0127 movs r7, #1
8782 007a 34E0 b .L549
8783 .LVL375:
8784 .L544:
3386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8785 .loc 1 3386 11 is_stmt 1 view .LVU2876
3386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8786 .loc 1 3386 23 is_stmt 0 view .LVU2877
8787 007c A023 movs r3, #160
8788 007e 84F83D30 strb r3, [r4, #61]
8789 .L545:
3388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
8790 .loc 1 3388 9 is_stmt 1 view .LVU2878
3388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
8791 .loc 1 3388 16 is_stmt 0 view .LVU2879
8792 0082 2368 ldr r3, [r4]
8793 0084 5A69 ldr r2, [r3, #20]
8794 0086 C2F34002 ubfx r2, r2, #1, #1
8795 .LVL376:
3389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8796 .loc 1 3389 9 is_stmt 1 view .LVU2880
3389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8797 .loc 1 3389 16 is_stmt 0 view .LVU2881
8798 008a 5969 ldr r1, [r3, #20]
8799 008c C1F38021 ubfx r1, r1, #10, #1
8800 .LVL377:
8801 .L543:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 331
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8802 .loc 1 3382 19 view .LVU2882
8803 0090 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
8804 0094 DBB2 uxtb r3, r3
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8805 .loc 1 3382 13 view .LVU2883
8806 0096 A02B cmp r3, #160
8807 0098 09D0 beq .L546
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8808 .loc 1 3382 53 discriminator 1 view .LVU2884
8809 009a 42B9 cbnz r2, .L546
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8810 .loc 1 3382 72 discriminator 2 view .LVU2885
8811 009c 39B9 cbnz r1, .L546
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8812 .loc 1 3384 9 is_stmt 1 view .LVU2886
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8813 .loc 1 3384 15 is_stmt 0 view .LVU2887
8814 009e FFF7FEFF bl HAL_GetTick
8815 .LVL378:
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8816 .loc 1 3384 29 view .LVU2888
8817 00a2 801B subs r0, r0, r6
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8818 .loc 1 3384 12 view .LVU2889
8819 00a4 A842 cmp r0, r5
8820 00a6 E9D8 bhi .L544
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8821 .loc 1 3384 53 discriminator 1 view .LVU2890
8822 00a8 002D cmp r5, #0
8823 00aa EAD1 bne .L545
8824 00ac E6E7 b .L544
8825 .LVL379:
8826 .L546:
3392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8827 .loc 1 3392 7 is_stmt 1 view .LVU2891
3392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8828 .loc 1 3392 19 is_stmt 0 view .LVU2892
8829 00ae 2023 movs r3, #32
8830 00b0 84F83D30 strb r3, [r4, #61]
3395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8831 .loc 1 3395 7 is_stmt 1 view .LVU2893
3395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8832 .loc 1 3395 11 is_stmt 0 view .LVU2894
8833 00b4 2368 ldr r3, [r4]
8834 00b6 5A69 ldr r2, [r3, #20]
8835 .LVL380:
3395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8836 .loc 1 3395 10 view .LVU2895
8837 00b8 12F0020F tst r2, #2
8838 00bc 31D1 bne .L558
3419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8839 .loc 1 3419 9 is_stmt 1 view .LVU2896
8840 00be 1A68 ldr r2, [r3]
8841 00c0 42F40072 orr r2, r2, #512
8842 00c4 1A60 str r2, [r3]
3422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 332
8843 .loc 1 3422 9 view .LVU2897
8844 00c6 2368 ldr r3, [r4]
8845 00c8 6FF48062 mvn r2, #1024
8846 00cc 5A61 str r2, [r3, #20]
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8847 .loc 1 3425 9 view .LVU2898
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8848 .loc 1 3425 13 is_stmt 0 view .LVU2899
8849 00ce 0096 str r6, [sp]
8850 00d0 1923 movs r3, #25
8851 00d2 0122 movs r2, #1
8852 00d4 2A49 ldr r1, .L560
8853 .LVL381:
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8854 .loc 1 3425 13 view .LVU2900
8855 00d6 2046 mov r0, r4
8856 00d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
8857 .LVL382:
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8858 .loc 1 3425 12 view .LVU2901
8859 00dc 0028 cmp r0, #0
8860 00de 4CD1 bne .L555
3432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8861 .loc 1 3432 7 is_stmt 1 view .LVU2902
3432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8862 .loc 1 3432 17 is_stmt 0 view .LVU2903
8863 00e0 0137 adds r7, r7, #1
8864 .LVL383:
3434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8865 .loc 1 3434 5 view .LVU2904
8866 00e2 4F45 cmp r7, r9
8867 00e4 39D2 bcs .L559
8868 .LVL384:
8869 .L549:
3362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8870 .loc 1 3362 5 is_stmt 1 view .LVU2905
3365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8871 .loc 1 3365 7 view .LVU2906
8872 00e6 2268 ldr r2, [r4]
8873 00e8 1368 ldr r3, [r2]
8874 00ea 43F48073 orr r3, r3, #256
8875 00ee 1360 str r3, [r2]
3368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8876 .loc 1 3368 7 view .LVU2907
3368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8877 .loc 1 3368 11 is_stmt 0 view .LVU2908
8878 00f0 0096 str r6, [sp]
8879 00f2 2B46 mov r3, r5
8880 00f4 0022 movs r2, #0
8881 00f6 4FF00111 mov r1, #65537
8882 00fa 2046 mov r0, r4
8883 00fc FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
8884 .LVL385:
3368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8885 .loc 1 3368 10 view .LVU2909
8886 0100 0028 cmp r0, #0
8887 0102 36D1 bne .L553
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 333
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8888 .loc 1 3374 7 is_stmt 1 view .LVU2910
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8889 .loc 1 3374 11 is_stmt 0 view .LVU2911
8890 0104 2368 ldr r3, [r4]
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8891 .loc 1 3374 28 view .LVU2912
8892 0106 08F0FE02 and r2, r8, #254
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8893 .loc 1 3374 26 view .LVU2913
8894 010a 1A61 str r2, [r3, #16]
3378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8895 .loc 1 3378 7 is_stmt 1 view .LVU2914
3378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8896 .loc 1 3378 19 is_stmt 0 view .LVU2915
8897 010c FFF7FEFF bl HAL_GetTick
8898 .LVL386:
8899 0110 0646 mov r6, r0
8900 .LVL387:
3380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
8901 .loc 1 3380 7 is_stmt 1 view .LVU2916
3380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
8902 .loc 1 3380 14 is_stmt 0 view .LVU2917
8903 0112 2368 ldr r3, [r4]
8904 0114 5A69 ldr r2, [r3, #20]
8905 0116 C2F34002 ubfx r2, r2, #1, #1
8906 .LVL388:
3381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while ((hi2c->State != HAL_I2C_STATE_TIMEOUT) && (tmp1 == RESET) && (tmp2 == RESET))
8907 .loc 1 3381 7 is_stmt 1 view .LVU2918
3381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** while ((hi2c->State != HAL_I2C_STATE_TIMEOUT) && (tmp1 == RESET) && (tmp2 == RESET))
8908 .loc 1 3381 14 is_stmt 0 view .LVU2919
8909 011a 5969 ldr r1, [r3, #20]
8910 011c C1F38021 ubfx r1, r1, #10, #1
8911 .LVL389:
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8912 .loc 1 3382 7 is_stmt 1 view .LVU2920
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8913 .loc 1 3382 13 is_stmt 0 view .LVU2921
8914 0120 B6E7 b .L543
8915 .LVL390:
8916 .L558:
3398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8917 .loc 1 3398 9 is_stmt 1 view .LVU2922
8918 0122 1A68 ldr r2, [r3]
8919 0124 42F40072 orr r2, r2, #512
8920 0128 1A60 str r2, [r3]
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8921 .loc 1 3401 9 view .LVU2923
8922 .LBB104:
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8923 .loc 1 3401 9 view .LVU2924
8924 012a 0023 movs r3, #0
8925 012c 0393 str r3, [sp, #12]
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8926 .loc 1 3401 9 view .LVU2925
8927 012e 2368 ldr r3, [r4]
8928 0130 5A69 ldr r2, [r3, #20]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 334
8929 0132 0392 str r2, [sp, #12]
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8930 .loc 1 3401 9 view .LVU2926
8931 0134 9B69 ldr r3, [r3, #24]
8932 0136 0393 str r3, [sp, #12]
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8933 .loc 1 3401 9 view .LVU2927
8934 0138 039B ldr r3, [sp, #12]
8935 .LBE104:
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8936 .loc 1 3404 9 view .LVU2928
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8937 .loc 1 3404 13 is_stmt 0 view .LVU2929
8938 013a 0096 str r6, [sp]
8939 013c 1923 movs r3, #25
8940 013e 0122 movs r2, #1
8941 0140 0F49 ldr r1, .L560
8942 .LVL391:
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8943 .loc 1 3404 13 view .LVU2930
8944 0142 2046 mov r0, r4
8945 0144 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
8946 .LVL392:
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
8947 .loc 1 3404 12 view .LVU2931
8948 0148 0346 mov r3, r0
8949 014a A0B9 cbnz r0, .L554
3409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8950 .loc 1 3409 9 is_stmt 1 view .LVU2932
3409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8951 .loc 1 3409 21 is_stmt 0 view .LVU2933
8952 014c 2022 movs r2, #32
8953 014e 84F83D20 strb r2, [r4, #61]
3412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8954 .loc 1 3412 9 is_stmt 1 view .LVU2934
3412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8955 .loc 1 3412 9 view .LVU2935
8956 0152 0022 movs r2, #0
8957 0154 84F83C20 strb r2, [r4, #60]
3414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8958 .loc 1 3414 9 view .LVU2936
3414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8959 .loc 1 3414 16 is_stmt 0 view .LVU2937
8960 0158 61E7 b .L541
8961 .L559:
3436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8962 .loc 1 3436 5 is_stmt 1 view .LVU2938
3436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8963 .loc 1 3436 17 is_stmt 0 view .LVU2939
8964 015a 2023 movs r3, #32
8965 015c 84F83D30 strb r3, [r4, #61]
3439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8966 .loc 1 3439 5 is_stmt 1 view .LVU2940
3439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8967 .loc 1 3439 5 view .LVU2941
8968 0160 0023 movs r3, #0
8969 0162 84F83C30 strb r3, [r4, #60]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 335
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8970 .loc 1 3441 5 view .LVU2942
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8971 .loc 1 3441 12 is_stmt 0 view .LVU2943
8972 0166 0123 movs r3, #1
8973 0168 59E7 b .L541
8974 .LVL393:
8975 .L551:
3342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8976 .loc 1 3342 14 view .LVU2944
8977 016a 0223 movs r3, #2
8978 016c 57E7 b .L541
8979 .L552:
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
8980 .loc 1 3346 5 view .LVU2945
8981 016e 0223 movs r3, #2
8982 0170 55E7 b .L541
8983 .LVL394:
8984 .L553:
3370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8985 .loc 1 3370 16 view .LVU2946
8986 0172 0123 movs r3, #1
8987 0174 53E7 b .L541
8988 .L554:
3406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8989 .loc 1 3406 18 view .LVU2947
8990 0176 0123 movs r3, #1
8991 0178 51E7 b .L541
8992 .L555:
3427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
8993 .loc 1 3427 18 view .LVU2948
8994 017a 0123 movs r3, #1
8995 017c 4FE7 b .L541
8996 .L561:
8997 017e 00BF .align 2
8998 .L560:
8999 0180 02001000 .word 1048578
9000 .cfi_endproc
9001 .LFE87:
9003 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits
9004 .align 1
9005 .global HAL_I2C_Master_Seq_Transmit_IT
9006 .syntax unified
9007 .thumb
9008 .thumb_func
9009 .fpu softvfp
9011 HAL_I2C_Master_Seq_Transmit_IT:
9012 .LVL395:
9013 .LFB88:
3462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
9014 .loc 1 3462 1 is_stmt 1 view -0
9015 .cfi_startproc
9016 @ args = 4, pretend = 0, frame = 8
9017 @ frame_needed = 0, uses_anonymous_args = 0
9018 @ link register save eliminated.
3462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
9019 .loc 1 3462 1 is_stmt 0 view .LVU2950
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 336
9020 0000 70B4 push {r4, r5, r6}
9021 .LCFI104:
9022 .cfi_def_cfa_offset 12
9023 .cfi_offset 4, -12
9024 .cfi_offset 5, -8
9025 .cfi_offset 6, -4
9026 0002 83B0 sub sp, sp, #12
9027 .LCFI105:
9028 .cfi_def_cfa_offset 24
9029 0004 069D ldr r5, [sp, #24]
3463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0x00U;
9030 .loc 1 3463 3 is_stmt 1 view .LVU2951
3463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0x00U;
9031 .loc 1 3463 17 is_stmt 0 view .LVU2952
9032 0006 0024 movs r4, #0
9033 0008 0194 str r4, [sp, #4]
3464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9034 .loc 1 3464 3 is_stmt 1 view .LVU2953
3464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9035 .loc 1 3464 17 is_stmt 0 view .LVU2954
9036 000a 0094 str r4, [sp]
3467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9037 .loc 1 3467 3 is_stmt 1 view .LVU2955
3469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9038 .loc 1 3469 3 view .LVU2956
3469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9039 .loc 1 3469 11 is_stmt 0 view .LVU2957
9040 000c 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
9041 0010 E4B2 uxtb r4, r4
3469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9042 .loc 1 3469 6 view .LVU2958
9043 0012 202C cmp r4, #32
9044 0014 69D1 bne .L571
3472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9045 .loc 1 3472 5 is_stmt 1 view .LVU2959
3472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9046 .loc 1 3472 8 is_stmt 0 view .LVU2960
9047 0016 082D cmp r5, #8
9048 0018 3AD0 beq .L564
3472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9049 .loc 1 3472 51 discriminator 1 view .LVU2961
9050 001a 012D cmp r5, #1
9051 001c 38D0 beq .L564
9052 .L565:
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9053 .loc 1 3496 5 is_stmt 1 view .LVU2962
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9054 .loc 1 3496 5 view .LVU2963
9055 001e 90F83C40 ldrb r4, [r0, #60] @ zero_extendqisi2
9056 0022 012C cmp r4, #1
9057 0024 63D0 beq .L572
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9058 .loc 1 3496 5 discriminator 2 view .LVU2964
9059 0026 0124 movs r4, #1
9060 0028 80F83C40 strb r4, [r0, #60]
3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9061 .loc 1 3499 5 discriminator 2 view .LVU2965
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 337
3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9062 .loc 1 3499 14 is_stmt 0 discriminator 2 view .LVU2966
9063 002c 0468 ldr r4, [r0]
3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9064 .loc 1 3499 24 discriminator 2 view .LVU2967
9065 002e 2668 ldr r6, [r4]
3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9066 .loc 1 3499 8 discriminator 2 view .LVU2968
9067 0030 16F0010F tst r6, #1
9068 0034 03D1 bne .L568
3502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9069 .loc 1 3502 7 is_stmt 1 view .LVU2969
9070 0036 2668 ldr r6, [r4]
9071 0038 46F00106 orr r6, r6, #1
9072 003c 2660 str r6, [r4]
9073 .L568:
3506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9074 .loc 1 3506 5 view .LVU2970
9075 003e 0668 ldr r6, [r0]
9076 0040 3468 ldr r4, [r6]
9077 0042 24F40064 bic r4, r4, #2048
9078 0046 3460 str r4, [r6]
3508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
9079 .loc 1 3508 5 view .LVU2971
3508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
9080 .loc 1 3508 21 is_stmt 0 view .LVU2972
9081 0048 2124 movs r4, #33
9082 004a 80F83D40 strb r4, [r0, #61]
3509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9083 .loc 1 3509 5 is_stmt 1 view .LVU2973
3509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9084 .loc 1 3509 21 is_stmt 0 view .LVU2974
9085 004e 1024 movs r4, #16
9086 0050 80F83E40 strb r4, [r0, #62]
3510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9087 .loc 1 3510 5 is_stmt 1 view .LVU2975
3510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9088 .loc 1 3510 21 is_stmt 0 view .LVU2976
9089 0054 0024 movs r4, #0
9090 0056 0464 str r4, [r0, #64]
3513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
9091 .loc 1 3513 5 is_stmt 1 view .LVU2977
3513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
9092 .loc 1 3513 23 is_stmt 0 view .LVU2978
9093 0058 4262 str r2, [r0, #36]
3514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9094 .loc 1 3514 5 is_stmt 1 view .LVU2979
3514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9095 .loc 1 3514 23 is_stmt 0 view .LVU2980
9096 005a 4385 strh r3, [r0, #42] @ movhi
3515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9097 .loc 1 3515 5 is_stmt 1 view .LVU2981
3515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9098 .loc 1 3515 29 is_stmt 0 view .LVU2982
9099 005c 438D ldrh r3, [r0, #42]
9100 .LVL396:
3515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 338
9101 .loc 1 3515 23 view .LVU2983
9102 005e 0385 strh r3, [r0, #40] @ movhi
3516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
9103 .loc 1 3516 5 is_stmt 1 view .LVU2984
3516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
9104 .loc 1 3516 23 is_stmt 0 view .LVU2985
9105 0060 C562 str r5, [r0, #44]
9106 .LVL397:
3517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9107 .loc 1 3517 5 is_stmt 1 view .LVU2986
3517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9108 .loc 1 3517 23 is_stmt 0 view .LVU2987
9109 0062 4164 str r1, [r0, #68]
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9110 .loc 1 3519 5 is_stmt 1 view .LVU2988
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9111 .loc 1 3519 22 is_stmt 0 view .LVU2989
9112 0064 036B ldr r3, [r0, #48]
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9113 .loc 1 3519 16 view .LVU2990
9114 0066 0193 str r3, [sp, #4]
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9115 .loc 1 3523 5 is_stmt 1 view .LVU2991
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9116 .loc 1 3523 21 is_stmt 0 view .LVU2992
9117 0068 019B ldr r3, [sp, #4]
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9118 .loc 1 3523 8 view .LVU2993
9119 006a 112B cmp r3, #17
9120 006c 36D0 beq .L574
9121 .L569:
3526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9122 .loc 1 3526 7 is_stmt 1 view .LVU2994
9123 006e 0268 ldr r2, [r0]
9124 .LVL398:
3526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9125 .loc 1 3526 7 is_stmt 0 view .LVU2995
9126 0070 1368 ldr r3, [r2]
9127 0072 43F48073 orr r3, r3, #256
9128 0076 1360 str r3, [r2]
9129 .LVL399:
9130 .L570:
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9131 .loc 1 3530 5 is_stmt 1 view .LVU2996
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9132 .loc 1 3530 5 view .LVU2997
9133 0078 0023 movs r3, #0
9134 007a 80F83C30 strb r3, [r0, #60]
3537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9135 .loc 1 3537 5 view .LVU2998
9136 007e 0168 ldr r1, [r0]
9137 .LVL400:
3537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9138 .loc 1 3537 5 is_stmt 0 view .LVU2999
9139 0080 4A68 ldr r2, [r1, #4]
9140 0082 42F4E062 orr r2, r2, #1792
9141 0086 4A60 str r2, [r1, #4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 339
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9142 .loc 1 3539 5 is_stmt 1 view .LVU3000
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9143 .loc 1 3539 12 is_stmt 0 view .LVU3001
9144 0088 1846 mov r0, r3
9145 .LVL401:
9146 .L563:
3545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9147 .loc 1 3545 1 view .LVU3002
9148 008a 03B0 add sp, sp, #12
9149 .LCFI106:
9150 .cfi_remember_state
9151 .cfi_def_cfa_offset 12
9152 @ sp needed
9153 008c 70BC pop {r4, r5, r6}
9154 .LCFI107:
9155 .cfi_restore 6
9156 .cfi_restore 5
9157 .cfi_restore 4
9158 .cfi_def_cfa_offset 0
9159 .LVL402:
3545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9160 .loc 1 3545 1 view .LVU3003
9161 008e 7047 bx lr
9162 .LVL403:
9163 .L564:
9164 .LCFI108:
9165 .cfi_restore_state
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9166 .loc 1 3475 7 is_stmt 1 view .LVU3004
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9167 .loc 1 3475 62 is_stmt 0 view .LVU3005
9168 0090 184C ldr r4, .L576
9169 0092 2468 ldr r4, [r4]
9170 0094 E408 lsrs r4, r4, #3
9171 0096 184E ldr r6, .L576+4
9172 0098 A6FB0464 umull r6, r4, r6, r4
9173 009c 240A lsrs r4, r4, #8
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9174 .loc 1 3475 37 view .LVU3006
9175 009e 04EB8404 add r4, r4, r4, lsl #2
9176 00a2 04EB8404 add r4, r4, r4, lsl #2
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9177 .loc 1 3475 13 view .LVU3007
9178 00a6 0094 str r4, [sp]
9179 .L567:
3476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9180 .loc 1 3476 7 is_stmt 1 view .LVU3008
3478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
9181 .loc 1 3478 9 view .LVU3009
3478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
9182 .loc 1 3478 14 is_stmt 0 view .LVU3010
9183 00a8 009C ldr r4, [sp]
9184 00aa 013C subs r4, r4, #1
9185 00ac 0094 str r4, [sp]
3479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9186 .loc 1 3479 9 is_stmt 1 view .LVU3011
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 340
3479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9187 .loc 1 3479 19 is_stmt 0 view .LVU3012
9188 00ae 009C ldr r4, [sp]
3479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9189 .loc 1 3479 12 view .LVU3013
9190 00b0 2CB1 cbz r4, .L575
3492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9191 .loc 1 3492 14 view .LVU3014
9192 00b2 0468 ldr r4, [r0]
9193 00b4 A469 ldr r4, [r4, #24]
3492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9194 .loc 1 3492 7 view .LVU3015
9195 00b6 14F0020F tst r4, #2
9196 00ba F5D1 bne .L567
9197 00bc AFE7 b .L565
9198 .L575:
3481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9199 .loc 1 3481 11 is_stmt 1 view .LVU3016
3481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9200 .loc 1 3481 37 is_stmt 0 view .LVU3017
9201 00be 0023 movs r3, #0
9202 .LVL404:
3481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9203 .loc 1 3481 37 view .LVU3018
9204 00c0 0363 str r3, [r0, #48]
3482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9205 .loc 1 3482 11 is_stmt 1 view .LVU3019
3482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9206 .loc 1 3482 37 is_stmt 0 view .LVU3020
9207 00c2 2022 movs r2, #32
9208 .LVL405:
3482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9209 .loc 1 3482 37 view .LVU3021
9210 00c4 80F83D20 strb r2, [r0, #61]
3483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
9211 .loc 1 3483 11 is_stmt 1 view .LVU3022
3483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
9212 .loc 1 3483 37 is_stmt 0 view .LVU3023
9213 00c8 80F83E30 strb r3, [r0, #62]
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9214 .loc 1 3484 11 is_stmt 1 view .LVU3024
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9215 .loc 1 3484 37 is_stmt 0 view .LVU3025
9216 00cc 026C ldr r2, [r0, #64]
9217 00ce 42F02002 orr r2, r2, #32
9218 00d2 0264 str r2, [r0, #64]
3487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9219 .loc 1 3487 11 is_stmt 1 view .LVU3026
3487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9220 .loc 1 3487 11 view .LVU3027
9221 00d4 80F83C30 strb r3, [r0, #60]
3489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9222 .loc 1 3489 11 view .LVU3028
3489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9223 .loc 1 3489 18 is_stmt 0 view .LVU3029
9224 00d8 0120 movs r0, #1
9225 .LVL406:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 341
3489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9226 .loc 1 3489 18 view .LVU3030
9227 00da D6E7 b .L563
9228 .LVL407:
9229 .L574:
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9230 .loc 1 3523 54 discriminator 1 view .LVU3031
9231 00dc B5F52A0F cmp r5, #11141120
9232 00e0 C5D0 beq .L569
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9233 .loc 1 3523 54 discriminator 3 view .LVU3032
9234 00e2 B5F12A4F cmp r5, #-1442840576
9235 00e6 C7D1 bne .L570
9236 00e8 C1E7 b .L569
9237 .LVL408:
9238 .L571:
3543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9239 .loc 1 3543 12 view .LVU3033
9240 00ea 0220 movs r0, #2
9241 .LVL409:
3543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9242 .loc 1 3543 12 view .LVU3034
9243 00ec CDE7 b .L563
9244 .LVL410:
9245 .L572:
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9246 .loc 1 3496 5 view .LVU3035
9247 00ee 0220 movs r0, #2
9248 .LVL411:
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9249 .loc 1 3496 5 view .LVU3036
9250 00f0 CBE7 b .L563
9251 .L577:
9252 00f2 00BF .align 2
9253 .L576:
9254 00f4 00000000 .word SystemCoreClock
9255 00f8 89B5F814 .word 351843721
9256 .cfi_endproc
9257 .LFE88:
9259 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits
9260 .align 1
9261 .global HAL_I2C_Master_Seq_Transmit_DMA
9262 .syntax unified
9263 .thumb
9264 .thumb_func
9265 .fpu softvfp
9267 HAL_I2C_Master_Seq_Transmit_DMA:
9268 .LVL412:
9269 .LFB89:
3560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
9270 .loc 1 3560 1 is_stmt 1 view -0
9271 .cfi_startproc
9272 @ args = 4, pretend = 0, frame = 8
9273 @ frame_needed = 0, uses_anonymous_args = 0
3560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
9274 .loc 1 3560 1 is_stmt 0 view .LVU3038
9275 0000 70B5 push {r4, r5, r6, lr}
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 342
9276 .LCFI109:
9277 .cfi_def_cfa_offset 16
9278 .cfi_offset 4, -16
9279 .cfi_offset 5, -12
9280 .cfi_offset 6, -8
9281 .cfi_offset 14, -4
9282 0002 82B0 sub sp, sp, #8
9283 .LCFI110:
9284 .cfi_def_cfa_offset 24
9285 0004 069D ldr r5, [sp, #24]
3561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0x00U;
9286 .loc 1 3561 3 is_stmt 1 view .LVU3039
3561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0x00U;
9287 .loc 1 3561 17 is_stmt 0 view .LVU3040
9288 0006 0024 movs r4, #0
9289 0008 0194 str r4, [sp, #4]
3562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
9290 .loc 1 3562 3 is_stmt 1 view .LVU3041
3562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
9291 .loc 1 3562 17 is_stmt 0 view .LVU3042
9292 000a 0094 str r4, [sp]
3563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9293 .loc 1 3563 3 is_stmt 1 view .LVU3043
3566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9294 .loc 1 3566 3 view .LVU3044
3568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9295 .loc 1 3568 3 view .LVU3045
3568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9296 .loc 1 3568 11 is_stmt 0 view .LVU3046
9297 000c 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
9298 0010 E4B2 uxtb r4, r4
3568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9299 .loc 1 3568 6 view .LVU3047
9300 0012 202C cmp r4, #32
9301 0014 40F0BD80 bne .L594
3571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9302 .loc 1 3571 5 is_stmt 1 view .LVU3048
3571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9303 .loc 1 3571 8 is_stmt 0 view .LVU3049
9304 0018 082D cmp r5, #8
9305 001a 41D0 beq .L580
3571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9306 .loc 1 3571 51 discriminator 1 view .LVU3050
9307 001c 012D cmp r5, #1
9308 001e 3FD0 beq .L580
9309 .L581:
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9310 .loc 1 3595 5 is_stmt 1 view .LVU3051
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9311 .loc 1 3595 5 view .LVU3052
9312 0020 90F83C40 ldrb r4, [r0, #60] @ zero_extendqisi2
9313 0024 012C cmp r4, #1
9314 0026 00F0B780 beq .L595
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9315 .loc 1 3595 5 discriminator 2 view .LVU3053
9316 002a 0124 movs r4, #1
9317 002c 80F83C40 strb r4, [r0, #60]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 343
3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9318 .loc 1 3598 5 discriminator 2 view .LVU3054
3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9319 .loc 1 3598 14 is_stmt 0 discriminator 2 view .LVU3055
9320 0030 0468 ldr r4, [r0]
3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9321 .loc 1 3598 24 discriminator 2 view .LVU3056
9322 0032 2668 ldr r6, [r4]
3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9323 .loc 1 3598 8 discriminator 2 view .LVU3057
9324 0034 16F0010F tst r6, #1
9325 0038 03D1 bne .L584
3601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9326 .loc 1 3601 7 is_stmt 1 view .LVU3058
9327 003a 2668 ldr r6, [r4]
9328 003c 46F00106 orr r6, r6, #1
9329 0040 2660 str r6, [r4]
9330 .L584:
3605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9331 .loc 1 3605 5 view .LVU3059
9332 0042 0668 ldr r6, [r0]
9333 0044 3468 ldr r4, [r6]
9334 0046 24F40064 bic r4, r4, #2048
9335 004a 3460 str r4, [r6]
3607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
9336 .loc 1 3607 5 view .LVU3060
3607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
9337 .loc 1 3607 21 is_stmt 0 view .LVU3061
9338 004c 2124 movs r4, #33
9339 004e 80F83D40 strb r4, [r0, #61]
3608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9340 .loc 1 3608 5 is_stmt 1 view .LVU3062
3608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9341 .loc 1 3608 21 is_stmt 0 view .LVU3063
9342 0052 1024 movs r4, #16
9343 0054 80F83E40 strb r4, [r0, #62]
3609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9344 .loc 1 3609 5 is_stmt 1 view .LVU3064
3609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9345 .loc 1 3609 21 is_stmt 0 view .LVU3065
9346 0058 0024 movs r4, #0
9347 005a 0464 str r4, [r0, #64]
3612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
9348 .loc 1 3612 5 is_stmt 1 view .LVU3066
3612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
9349 .loc 1 3612 23 is_stmt 0 view .LVU3067
9350 005c 4262 str r2, [r0, #36]
3613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9351 .loc 1 3613 5 is_stmt 1 view .LVU3068
3613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9352 .loc 1 3613 23 is_stmt 0 view .LVU3069
9353 005e 4385 strh r3, [r0, #42] @ movhi
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9354 .loc 1 3614 5 is_stmt 1 view .LVU3070
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9355 .loc 1 3614 29 is_stmt 0 view .LVU3071
9356 0060 438D ldrh r3, [r0, #42]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 344
9357 .LVL413:
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9358 .loc 1 3614 29 view .LVU3072
9359 0062 9BB2 uxth r3, r3
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9360 .loc 1 3614 23 view .LVU3073
9361 0064 0385 strh r3, [r0, #40] @ movhi
3615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
9362 .loc 1 3615 5 is_stmt 1 view .LVU3074
3615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
9363 .loc 1 3615 23 is_stmt 0 view .LVU3075
9364 0066 C562 str r5, [r0, #44]
9365 .LVL414:
3616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9366 .loc 1 3616 5 is_stmt 1 view .LVU3076
3616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9367 .loc 1 3616 23 is_stmt 0 view .LVU3077
9368 0068 4164 str r1, [r0, #68]
3618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9369 .loc 1 3618 5 is_stmt 1 view .LVU3078
3618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9370 .loc 1 3618 22 is_stmt 0 view .LVU3079
9371 006a 026B ldr r2, [r0, #48]
9372 .LVL415:
3618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9373 .loc 1 3618 16 view .LVU3080
9374 006c 0192 str r2, [sp, #4]
3620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9375 .loc 1 3620 5 is_stmt 1 view .LVU3081
3620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9376 .loc 1 3620 8 is_stmt 0 view .LVU3082
9377 006e 002B cmp r3, #0
9378 0070 3CD1 bne .L597
3684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9379 .loc 1 3684 7 is_stmt 1 view .LVU3083
9380 0072 0268 ldr r2, [r0]
9381 0074 1368 ldr r3, [r2]
9382 0076 43F48063 orr r3, r3, #1024
9383 007a 1360 str r3, [r2]
9384 .LVL416:
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9385 .loc 1 3688 7 view .LVU3084
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9386 .loc 1 3688 23 is_stmt 0 view .LVU3085
9387 007c 019B ldr r3, [sp, #4]
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9388 .loc 1 3688 10 view .LVU3086
9389 007e 112B cmp r3, #17
9390 0080 7ED0 beq .L598
9391 .L592:
3691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9392 .loc 1 3691 9 is_stmt 1 view .LVU3087
9393 0082 0268 ldr r2, [r0]
9394 0084 1368 ldr r3, [r2]
9395 0086 43F48073 orr r3, r3, #256
9396 008a 1360 str r3, [r2]
9397 .L593:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 345
3695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9398 .loc 1 3695 7 view .LVU3088
3695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9399 .loc 1 3695 7 view .LVU3089
9400 008c 0023 movs r3, #0
9401 008e 80F83C30 strb r3, [r0, #60]
3702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9402 .loc 1 3702 7 view .LVU3090
9403 0092 0268 ldr r2, [r0]
9404 0094 5368 ldr r3, [r2, #4]
9405 0096 43F4E063 orr r3, r3, #1792
9406 009a 5360 str r3, [r2, #4]
9407 .LVL417:
9408 .L591:
3705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9409 .loc 1 3705 5 view .LVU3091
3705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9410 .loc 1 3705 12 is_stmt 0 view .LVU3092
9411 009c 0020 movs r0, #0
9412 009e 79E0 b .L579
9413 .LVL418:
9414 .L580:
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9415 .loc 1 3574 7 is_stmt 1 view .LVU3093
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9416 .loc 1 3574 62 is_stmt 0 view .LVU3094
9417 00a0 3E4C ldr r4, .L601
9418 00a2 2468 ldr r4, [r4]
9419 00a4 E408 lsrs r4, r4, #3
9420 00a6 3E4E ldr r6, .L601+4
9421 00a8 A6FB0464 umull r6, r4, r6, r4
9422 00ac 240A lsrs r4, r4, #8
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9423 .loc 1 3574 37 view .LVU3095
9424 00ae 04EB8404 add r4, r4, r4, lsl #2
9425 00b2 04EB8404 add r4, r4, r4, lsl #2
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9426 .loc 1 3574 13 view .LVU3096
9427 00b6 0094 str r4, [sp]
9428 .L583:
3575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9429 .loc 1 3575 7 is_stmt 1 view .LVU3097
3577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
9430 .loc 1 3577 9 view .LVU3098
3577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
9431 .loc 1 3577 14 is_stmt 0 view .LVU3099
9432 00b8 009C ldr r4, [sp]
9433 00ba 013C subs r4, r4, #1
9434 00bc 0094 str r4, [sp]
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9435 .loc 1 3578 9 is_stmt 1 view .LVU3100
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9436 .loc 1 3578 19 is_stmt 0 view .LVU3101
9437 00be 009C ldr r4, [sp]
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9438 .loc 1 3578 12 view .LVU3102
9439 00c0 2CB1 cbz r4, .L599
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 346
3591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9440 .loc 1 3591 14 view .LVU3103
9441 00c2 0468 ldr r4, [r0]
9442 00c4 A469 ldr r4, [r4, #24]
3591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9443 .loc 1 3591 7 view .LVU3104
9444 00c6 14F0020F tst r4, #2
9445 00ca F5D1 bne .L583
9446 00cc A8E7 b .L581
9447 .L599:
3580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9448 .loc 1 3580 11 is_stmt 1 view .LVU3105
3580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9449 .loc 1 3580 37 is_stmt 0 view .LVU3106
9450 00ce 0023 movs r3, #0
9451 .LVL419:
3580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9452 .loc 1 3580 37 view .LVU3107
9453 00d0 0363 str r3, [r0, #48]
3581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9454 .loc 1 3581 11 is_stmt 1 view .LVU3108
3581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9455 .loc 1 3581 37 is_stmt 0 view .LVU3109
9456 00d2 2022 movs r2, #32
9457 .LVL420:
3581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9458 .loc 1 3581 37 view .LVU3110
9459 00d4 80F83D20 strb r2, [r0, #61]
3582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
9460 .loc 1 3582 11 is_stmt 1 view .LVU3111
3582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
9461 .loc 1 3582 37 is_stmt 0 view .LVU3112
9462 00d8 80F83E30 strb r3, [r0, #62]
3583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9463 .loc 1 3583 11 is_stmt 1 view .LVU3113
3583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9464 .loc 1 3583 37 is_stmt 0 view .LVU3114
9465 00dc 026C ldr r2, [r0, #64]
9466 00de 42F02002 orr r2, r2, #32
9467 00e2 0264 str r2, [r0, #64]
3586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9468 .loc 1 3586 11 is_stmt 1 view .LVU3115
3586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9469 .loc 1 3586 11 view .LVU3116
9470 00e4 80F83C30 strb r3, [r0, #60]
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9471 .loc 1 3588 11 view .LVU3117
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9472 .loc 1 3588 18 is_stmt 0 view .LVU3118
9473 00e8 0120 movs r0, #1
9474 .LVL421:
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9475 .loc 1 3588 18 view .LVU3119
9476 00ea 53E0 b .L579
9477 .LVL422:
9478 .L597:
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 347
9479 .loc 1 3588 18 view .LVU3120
9480 00ec 0446 mov r4, r0
3623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9481 .loc 1 3623 7 is_stmt 1 view .LVU3121
3623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9482 .loc 1 3623 11 is_stmt 0 view .LVU3122
9483 00ee 436B ldr r3, [r0, #52]
3623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9484 .loc 1 3623 38 view .LVU3123
9485 00f0 2C4A ldr r2, .L601+8
9486 00f2 9A62 str r2, [r3, #40]
9487 .LVL423:
3626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9488 .loc 1 3626 7 is_stmt 1 view .LVU3124
3626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9489 .loc 1 3626 11 is_stmt 0 view .LVU3125
9490 00f4 436B ldr r3, [r0, #52]
3626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9491 .loc 1 3626 39 view .LVU3126
9492 00f6 2C4A ldr r2, .L601+12
9493 00f8 1A63 str r2, [r3, #48]
3629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
9494 .loc 1 3629 7 is_stmt 1 view .LVU3127
3629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
9495 .loc 1 3629 11 is_stmt 0 view .LVU3128
9496 00fa 426B ldr r2, [r0, #52]
3629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
9497 .loc 1 3629 42 view .LVU3129
9498 00fc 0023 movs r3, #0
9499 00fe D362 str r3, [r2, #44]
3630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9500 .loc 1 3630 7 is_stmt 1 view .LVU3130
3630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9501 .loc 1 3630 11 is_stmt 0 view .LVU3131
9502 0100 426B ldr r2, [r0, #52]
3630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9503 .loc 1 3630 39 view .LVU3132
9504 0102 5363 str r3, [r2, #52]
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9505 .loc 1 3633 7 is_stmt 1 view .LVU3133
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9506 .loc 1 3633 95 is_stmt 0 view .LVU3134
9507 0104 0268 ldr r2, [r0]
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9508 .loc 1 3633 23 view .LVU3135
9509 0106 038D ldrh r3, [r0, #40]
9510 0108 1032 adds r2, r2, #16
9511 010a 416A ldr r1, [r0, #36]
9512 .LVL424:
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9513 .loc 1 3633 23 view .LVU3136
9514 010c 406B ldr r0, [r0, #52]
9515 .LVL425:
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9516 .loc 1 3633 23 view .LVU3137
9517 010e FFF7FEFF bl HAL_DMA_Start_IT
9518 .LVL426:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 348
3635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9519 .loc 1 3635 7 is_stmt 1 view .LVU3138
3635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9520 .loc 1 3635 10 is_stmt 0 view .LVU3139
9521 0112 38BB cbnz r0, .L586
3638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9522 .loc 1 3638 9 is_stmt 1 view .LVU3140
9523 0114 2268 ldr r2, [r4]
9524 0116 1368 ldr r3, [r2]
9525 0118 43F48063 orr r3, r3, #1024
9526 011c 1360 str r3, [r2]
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9527 .loc 1 3642 9 view .LVU3141
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9528 .loc 1 3642 25 is_stmt 0 view .LVU3142
9529 011e 019B ldr r3, [sp, #4]
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9530 .loc 1 3642 12 view .LVU3143
9531 0120 112B cmp r3, #17
9532 0122 18D0 beq .L600
9533 .L587:
3645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9534 .loc 1 3645 11 is_stmt 1 view .LVU3144
9535 0124 2268 ldr r2, [r4]
9536 0126 1368 ldr r3, [r2]
9537 0128 43F48073 orr r3, r3, #256
9538 012c 1360 str r3, [r2]
9539 .L588:
3649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9540 .loc 1 3649 9 view .LVU3145
3649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9541 .loc 1 3649 9 view .LVU3146
9542 012e 0023 movs r3, #0
9543 0130 84F83C30 strb r3, [r4, #60]
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9544 .loc 1 3657 9 view .LVU3147
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9545 .loc 1 3657 12 is_stmt 0 view .LVU3148
9546 0134 042D cmp r5, #4
9547 0136 03D0 beq .L589
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9548 .loc 1 3657 45 discriminator 1 view .LVU3149
9549 0138 202D cmp r5, #32
9550 013a 01D0 beq .L589
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9551 .loc 1 3657 80 discriminator 2 view .LVU3150
9552 013c 102D cmp r5, #16
9553 013e 04D1 bne .L590
9554 .L589:
3660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9555 .loc 1 3660 11 is_stmt 1 view .LVU3151
9556 0140 2268 ldr r2, [r4]
9557 0142 5368 ldr r3, [r2, #4]
9558 0144 43F40063 orr r3, r3, #2048
9559 0148 5360 str r3, [r2, #4]
9560 .L590:
3664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 349
9561 .loc 1 3664 9 view .LVU3152
9562 014a 2268 ldr r2, [r4]
9563 014c 5368 ldr r3, [r2, #4]
9564 014e 43F44073 orr r3, r3, #768
9565 0152 5360 str r3, [r2, #4]
9566 0154 A2E7 b .L591
9567 .L600:
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9568 .loc 1 3642 58 is_stmt 0 discriminator 1 view .LVU3153
9569 0156 B5F52A0F cmp r5, #11141120
9570 015a E3D0 beq .L587
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9571 .loc 1 3642 58 discriminator 3 view .LVU3154
9572 015c B5F12A4F cmp r5, #-1442840576
9573 0160 E5D1 bne .L588
9574 0162 DFE7 b .L587
9575 .L586:
3669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9576 .loc 1 3669 9 is_stmt 1 view .LVU3155
3669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9577 .loc 1 3669 25 is_stmt 0 view .LVU3156
9578 0164 2023 movs r3, #32
9579 0166 84F83D30 strb r3, [r4, #61]
3670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9580 .loc 1 3670 9 is_stmt 1 view .LVU3157
3670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9581 .loc 1 3670 25 is_stmt 0 view .LVU3158
9582 016a 0022 movs r2, #0
9583 016c 84F83E20 strb r2, [r4, #62]
3673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9584 .loc 1 3673 9 is_stmt 1 view .LVU3159
3673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9585 .loc 1 3673 25 is_stmt 0 view .LVU3160
9586 0170 236C ldr r3, [r4, #64]
9587 0172 43F01003 orr r3, r3, #16
9588 0176 2364 str r3, [r4, #64]
3676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9589 .loc 1 3676 9 is_stmt 1 view .LVU3161
3676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9590 .loc 1 3676 9 view .LVU3162
9591 0178 84F83C20 strb r2, [r4, #60]
3678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9592 .loc 1 3678 9 view .LVU3163
3678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9593 .loc 1 3678 16 is_stmt 0 view .LVU3164
9594 017c 0120 movs r0, #1
9595 .LVL427:
3678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9596 .loc 1 3678 16 view .LVU3165
9597 017e 09E0 b .L579
9598 .LVL428:
9599 .L598:
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9600 .loc 1 3688 56 discriminator 1 view .LVU3166
9601 0180 B5F52A0F cmp r5, #11141120
9602 0184 3FF47DAF beq .L592
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 350
9603 .loc 1 3688 56 discriminator 3 view .LVU3167
9604 0188 B5F12A4F cmp r5, #-1442840576
9605 018c 7FF47EAF bne .L593
9606 0190 77E7 b .L592
9607 .LVL429:
9608 .L594:
3709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9609 .loc 1 3709 12 view .LVU3168
9610 0192 0220 movs r0, #2
9611 .LVL430:
9612 .L579:
3711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9613 .loc 1 3711 1 view .LVU3169
9614 0194 02B0 add sp, sp, #8
9615 .LCFI111:
9616 .cfi_remember_state
9617 .cfi_def_cfa_offset 16
9618 @ sp needed
9619 0196 70BD pop {r4, r5, r6, pc}
9620 .LVL431:
9621 .L595:
9622 .LCFI112:
9623 .cfi_restore_state
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9624 .loc 1 3595 5 view .LVU3170
9625 0198 0220 movs r0, #2
9626 .LVL432:
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9627 .loc 1 3595 5 view .LVU3171
9628 019a FBE7 b .L579
9629 .L602:
9630 .align 2
9631 .L601:
9632 019c 00000000 .word SystemCoreClock
9633 01a0 89B5F814 .word 351843721
9634 01a4 00000000 .word I2C_DMAXferCplt
9635 01a8 00000000 .word I2C_DMAError
9636 .cfi_endproc
9637 .LFE89:
9639 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits
9640 .align 1
9641 .global HAL_I2C_Master_Seq_Receive_IT
9642 .syntax unified
9643 .thumb
9644 .thumb_func
9645 .fpu softvfp
9647 HAL_I2C_Master_Seq_Receive_IT:
9648 .LVL433:
9649 .LFB90:
3726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
9650 .loc 1 3726 1 is_stmt 1 view -0
9651 .cfi_startproc
9652 @ args = 4, pretend = 0, frame = 8
9653 @ frame_needed = 0, uses_anonymous_args = 0
9654 @ link register save eliminated.
3726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
9655 .loc 1 3726 1 is_stmt 0 view .LVU3173
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 351
9656 0000 70B4 push {r4, r5, r6}
9657 .LCFI113:
9658 .cfi_def_cfa_offset 12
9659 .cfi_offset 4, -12
9660 .cfi_offset 5, -8
9661 .cfi_offset 6, -4
9662 0002 83B0 sub sp, sp, #12
9663 .LCFI114:
9664 .cfi_def_cfa_offset 24
9665 0004 069D ldr r5, [sp, #24]
3727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
9666 .loc 1 3727 3 is_stmt 1 view .LVU3174
3727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
9667 .loc 1 3727 17 is_stmt 0 view .LVU3175
9668 0006 0024 movs r4, #0
9669 0008 0194 str r4, [sp, #4]
3728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
9670 .loc 1 3728 3 is_stmt 1 view .LVU3176
3728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
9671 .loc 1 3728 17 is_stmt 0 view .LVU3177
9672 000a 0094 str r4, [sp]
3729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9673 .loc 1 3729 3 is_stmt 1 view .LVU3178
9674 .LVL434:
3732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9675 .loc 1 3732 3 view .LVU3179
3734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9676 .loc 1 3734 3 view .LVU3180
3734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9677 .loc 1 3734 11 is_stmt 0 view .LVU3181
9678 000c 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
9679 0010 E4B2 uxtb r4, r4
3734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9680 .loc 1 3734 6 view .LVU3182
9681 0012 202C cmp r4, #32
9682 0014 40F09180 bne .L616
3737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9683 .loc 1 3737 5 is_stmt 1 view .LVU3183
3737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9684 .loc 1 3737 8 is_stmt 0 view .LVU3184
9685 0018 082D cmp r5, #8
9686 001a 45D0 beq .L605
3737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9687 .loc 1 3737 51 discriminator 1 view .LVU3185
9688 001c 012D cmp r5, #1
9689 001e 43D0 beq .L605
9690 .L606:
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9691 .loc 1 3761 5 is_stmt 1 view .LVU3186
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9692 .loc 1 3761 5 view .LVU3187
9693 0020 90F83C40 ldrb r4, [r0, #60] @ zero_extendqisi2
9694 0024 012C cmp r4, #1
9695 0026 00F08A80 beq .L617
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9696 .loc 1 3761 5 discriminator 2 view .LVU3188
9697 002a 0124 movs r4, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 352
9698 002c 80F83C40 strb r4, [r0, #60]
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9699 .loc 1 3764 5 discriminator 2 view .LVU3189
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9700 .loc 1 3764 14 is_stmt 0 discriminator 2 view .LVU3190
9701 0030 0468 ldr r4, [r0]
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9702 .loc 1 3764 24 discriminator 2 view .LVU3191
9703 0032 2668 ldr r6, [r4]
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9704 .loc 1 3764 8 discriminator 2 view .LVU3192
9705 0034 16F0010F tst r6, #1
9706 0038 03D1 bne .L609
3767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9707 .loc 1 3767 7 is_stmt 1 view .LVU3193
9708 003a 2668 ldr r6, [r4]
9709 003c 46F00106 orr r6, r6, #1
9710 0040 2660 str r6, [r4]
9711 .L609:
3771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9712 .loc 1 3771 5 view .LVU3194
9713 0042 0668 ldr r6, [r0]
9714 0044 3468 ldr r4, [r6]
9715 0046 24F40064 bic r4, r4, #2048
9716 004a 3460 str r4, [r6]
3773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
9717 .loc 1 3773 5 view .LVU3195
3773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
9718 .loc 1 3773 21 is_stmt 0 view .LVU3196
9719 004c 2224 movs r4, #34
9720 004e 80F83D40 strb r4, [r0, #61]
3774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9721 .loc 1 3774 5 is_stmt 1 view .LVU3197
3774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9722 .loc 1 3774 21 is_stmt 0 view .LVU3198
9723 0052 1024 movs r4, #16
9724 0054 80F83E40 strb r4, [r0, #62]
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9725 .loc 1 3775 5 is_stmt 1 view .LVU3199
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9726 .loc 1 3775 21 is_stmt 0 view .LVU3200
9727 0058 0024 movs r4, #0
9728 005a 0464 str r4, [r0, #64]
3778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
9729 .loc 1 3778 5 is_stmt 1 view .LVU3201
3778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
9730 .loc 1 3778 23 is_stmt 0 view .LVU3202
9731 005c 4262 str r2, [r0, #36]
3779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9732 .loc 1 3779 5 is_stmt 1 view .LVU3203
3779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9733 .loc 1 3779 23 is_stmt 0 view .LVU3204
9734 005e 4385 strh r3, [r0, #42] @ movhi
3780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9735 .loc 1 3780 5 is_stmt 1 view .LVU3205
3780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9736 .loc 1 3780 29 is_stmt 0 view .LVU3206
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 353
9737 0060 438D ldrh r3, [r0, #42]
9738 .LVL435:
3780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9739 .loc 1 3780 23 view .LVU3207
9740 0062 0385 strh r3, [r0, #40] @ movhi
3781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
9741 .loc 1 3781 5 is_stmt 1 view .LVU3208
3781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
9742 .loc 1 3781 23 is_stmt 0 view .LVU3209
9743 0064 C562 str r5, [r0, #44]
9744 .LVL436:
3782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9745 .loc 1 3782 5 is_stmt 1 view .LVU3210
3782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9746 .loc 1 3782 23 is_stmt 0 view .LVU3211
9747 0066 4164 str r1, [r0, #68]
3784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9748 .loc 1 3784 5 is_stmt 1 view .LVU3212
3784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9749 .loc 1 3784 22 is_stmt 0 view .LVU3213
9750 0068 036B ldr r3, [r0, #48]
3784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9751 .loc 1 3784 16 view .LVU3214
9752 006a 0193 str r3, [sp, #4]
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9753 .loc 1 3786 5 is_stmt 1 view .LVU3215
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9754 .loc 1 3786 14 is_stmt 0 view .LVU3216
9755 006c 438D ldrh r3, [r0, #42]
9756 006e 9BB2 uxth r3, r3
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9757 .loc 1 3786 8 view .LVU3217
9758 0070 022B cmp r3, #2
9759 0072 3FD0 beq .L619
9760 .L610:
3808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9761 .loc 1 3808 7 is_stmt 1 view .LVU3218
9762 0074 0268 ldr r2, [r0]
9763 .LVL437:
3808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9764 .loc 1 3808 7 is_stmt 0 view .LVU3219
9765 0076 1368 ldr r3, [r2]
9766 0078 43F48063 orr r3, r3, #1024
9767 007c 1360 str r3, [r2]
9768 .LVL438:
3729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9769 .loc 1 3729 12 view .LVU3220
9770 007e 4FF4E064 mov r4, #1792
9771 .LVL439:
9772 .L613:
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9773 .loc 1 3813 5 is_stmt 1 view .LVU3221
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9774 .loc 1 3813 21 is_stmt 0 view .LVU3222
9775 0082 019B ldr r3, [sp, #4]
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9776 .loc 1 3813 8 view .LVU3223
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 354
9777 0084 122B cmp r3, #18
9778 0086 51D0 beq .L620
9779 .L614:
3816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9780 .loc 1 3816 7 is_stmt 1 view .LVU3224
9781 0088 0168 ldr r1, [r0]
9782 .LVL440:
3816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9783 .loc 1 3816 7 is_stmt 0 view .LVU3225
9784 008a 0B68 ldr r3, [r1]
9785 008c 43F48073 orr r3, r3, #256
9786 0090 0B60 str r3, [r1]
9787 .L615:
3820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9788 .loc 1 3820 5 is_stmt 1 view .LVU3226
3820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9789 .loc 1 3820 5 view .LVU3227
9790 0092 0023 movs r3, #0
9791 0094 80F83C30 strb r3, [r0, #60]
3827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9792 .loc 1 3827 5 view .LVU3228
9793 0098 0168 ldr r1, [r0]
9794 009a 4A68 ldr r2, [r1, #4]
9795 009c 2243 orrs r2, r2, r4
9796 009e 4A60 str r2, [r1, #4]
3829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9797 .loc 1 3829 5 view .LVU3229
3829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9798 .loc 1 3829 12 is_stmt 0 view .LVU3230
9799 00a0 1846 mov r0, r3
9800 .LVL441:
9801 .L604:
3835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9802 .loc 1 3835 1 view .LVU3231
9803 00a2 03B0 add sp, sp, #12
9804 .LCFI115:
9805 .cfi_remember_state
9806 .cfi_def_cfa_offset 12
9807 @ sp needed
9808 00a4 70BC pop {r4, r5, r6}
9809 .LCFI116:
9810 .cfi_restore 6
9811 .cfi_restore 5
9812 .cfi_restore 4
9813 .cfi_def_cfa_offset 0
9814 .LVL442:
3835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9815 .loc 1 3835 1 view .LVU3232
9816 00a6 7047 bx lr
9817 .LVL443:
9818 .L605:
9819 .LCFI117:
9820 .cfi_restore_state
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9821 .loc 1 3740 7 is_stmt 1 view .LVU3233
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9822 .loc 1 3740 62 is_stmt 0 view .LVU3234
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 355
9823 00a8 264C ldr r4, .L623
9824 00aa 2468 ldr r4, [r4]
9825 00ac E408 lsrs r4, r4, #3
9826 00ae 264E ldr r6, .L623+4
9827 00b0 A6FB0464 umull r6, r4, r6, r4
9828 00b4 240A lsrs r4, r4, #8
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9829 .loc 1 3740 37 view .LVU3235
9830 00b6 04EB8404 add r4, r4, r4, lsl #2
9831 00ba 04EB8404 add r4, r4, r4, lsl #2
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
9832 .loc 1 3740 13 view .LVU3236
9833 00be 0094 str r4, [sp]
9834 .L608:
3741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9835 .loc 1 3741 7 is_stmt 1 view .LVU3237
3743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
9836 .loc 1 3743 9 view .LVU3238
3743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
9837 .loc 1 3743 14 is_stmt 0 view .LVU3239
9838 00c0 009C ldr r4, [sp]
9839 00c2 013C subs r4, r4, #1
9840 00c4 0094 str r4, [sp]
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9841 .loc 1 3744 9 is_stmt 1 view .LVU3240
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9842 .loc 1 3744 19 is_stmt 0 view .LVU3241
9843 00c6 009C ldr r4, [sp]
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9844 .loc 1 3744 12 view .LVU3242
9845 00c8 2CB1 cbz r4, .L621
3757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9846 .loc 1 3757 14 view .LVU3243
9847 00ca 0468 ldr r4, [r0]
9848 00cc A469 ldr r4, [r4, #24]
3757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9849 .loc 1 3757 7 view .LVU3244
9850 00ce 14F0020F tst r4, #2
9851 00d2 F5D1 bne .L608
9852 00d4 A4E7 b .L606
9853 .L621:
3746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9854 .loc 1 3746 11 is_stmt 1 view .LVU3245
3746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9855 .loc 1 3746 37 is_stmt 0 view .LVU3246
9856 00d6 0023 movs r3, #0
9857 .LVL444:
3746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9858 .loc 1 3746 37 view .LVU3247
9859 00d8 0363 str r3, [r0, #48]
3747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9860 .loc 1 3747 11 is_stmt 1 view .LVU3248
3747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9861 .loc 1 3747 37 is_stmt 0 view .LVU3249
9862 00da 2022 movs r2, #32
9863 .LVL445:
3747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 356
9864 .loc 1 3747 37 view .LVU3250
9865 00dc 80F83D20 strb r2, [r0, #61]
3748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
9866 .loc 1 3748 11 is_stmt 1 view .LVU3251
3748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
9867 .loc 1 3748 37 is_stmt 0 view .LVU3252
9868 00e0 80F83E30 strb r3, [r0, #62]
3749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9869 .loc 1 3749 11 is_stmt 1 view .LVU3253
3749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9870 .loc 1 3749 37 is_stmt 0 view .LVU3254
9871 00e4 026C ldr r2, [r0, #64]
9872 00e6 42F02002 orr r2, r2, #32
9873 00ea 0264 str r2, [r0, #64]
3752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9874 .loc 1 3752 11 is_stmt 1 view .LVU3255
3752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9875 .loc 1 3752 11 view .LVU3256
9876 00ec 80F83C30 strb r3, [r0, #60]
3754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9877 .loc 1 3754 11 view .LVU3257
3754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9878 .loc 1 3754 18 is_stmt 0 view .LVU3258
9879 00f0 0120 movs r0, #1
9880 .LVL446:
3754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9881 .loc 1 3754 18 view .LVU3259
9882 00f2 D6E7 b .L604
9883 .LVL447:
9884 .L619:
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9885 .loc 1 3786 33 discriminator 1 view .LVU3260
9886 00f4 202D cmp r5, #32
9887 00f6 01D0 beq .L611
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9888 .loc 1 3786 69 discriminator 2 view .LVU3261
9889 00f8 102D cmp r5, #16
9890 00fa BBD1 bne .L610
9891 .L611:
3788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9892 .loc 1 3788 7 is_stmt 1 view .LVU3262
3788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9893 .loc 1 3788 22 is_stmt 0 view .LVU3263
9894 00fc 019B ldr r3, [sp, #4]
3788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9895 .loc 1 3788 10 view .LVU3264
9896 00fe 122B cmp r3, #18
9897 0100 07D0 beq .L622
3802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9898 .loc 1 3802 9 is_stmt 1 view .LVU3265
9899 0102 0268 ldr r2, [r0]
9900 .LVL448:
3802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9901 .loc 1 3802 9 is_stmt 0 view .LVU3266
9902 0104 1368 ldr r3, [r2]
9903 0106 43F48063 orr r3, r3, #1024
9904 010a 1360 str r3, [r2]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 357
9905 .LVL449:
3729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9906 .loc 1 3729 12 view .LVU3267
9907 010c 4FF4E064 mov r4, #1792
9908 0110 B7E7 b .L613
9909 .LVL450:
9910 .L622:
3791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9911 .loc 1 3791 9 is_stmt 1 view .LVU3268
9912 0112 0268 ldr r2, [r0]
9913 .LVL451:
3791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9914 .loc 1 3791 9 is_stmt 0 view .LVU3269
9915 0114 1368 ldr r3, [r2]
9916 0116 23F48063 bic r3, r3, #1024
9917 011a 1360 str r3, [r2]
9918 .LVL452:
3794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9919 .loc 1 3794 9 is_stmt 1 view .LVU3270
9920 011c 0268 ldr r2, [r0]
9921 011e 1368 ldr r3, [r2]
9922 0120 43F40063 orr r3, r3, #2048
9923 0124 1360 str r3, [r2]
3797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9924 .loc 1 3797 9 view .LVU3271
9925 .LVL453:
3797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9926 .loc 1 3797 18 is_stmt 0 view .LVU3272
9927 0126 4FF44074 mov r4, #768
9928 012a AAE7 b .L613
9929 .LVL454:
9930 .L620:
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9931 .loc 1 3813 54 discriminator 1 view .LVU3273
9932 012c B5F52A0F cmp r5, #11141120
9933 0130 AAD0 beq .L614
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9934 .loc 1 3813 54 discriminator 3 view .LVU3274
9935 0132 B5F12A4F cmp r5, #-1442840576
9936 0136 ACD1 bne .L615
9937 0138 A6E7 b .L614
9938 .LVL455:
9939 .L616:
3833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9940 .loc 1 3833 12 view .LVU3275
9941 013a 0220 movs r0, #2
9942 .LVL456:
3833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
9943 .loc 1 3833 12 view .LVU3276
9944 013c B1E7 b .L604
9945 .LVL457:
9946 .L617:
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9947 .loc 1 3761 5 view .LVU3277
9948 013e 0220 movs r0, #2
9949 .LVL458:
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 358
9950 .loc 1 3761 5 view .LVU3278
9951 0140 AFE7 b .L604
9952 .L624:
9953 0142 00BF .align 2
9954 .L623:
9955 0144 00000000 .word SystemCoreClock
9956 0148 89B5F814 .word 351843721
9957 .cfi_endproc
9958 .LFE90:
9960 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits
9961 .align 1
9962 .global HAL_I2C_Master_Seq_Receive_DMA
9963 .syntax unified
9964 .thumb
9965 .thumb_func
9966 .fpu softvfp
9968 HAL_I2C_Master_Seq_Receive_DMA:
9969 .LVL459:
9970 .LFB91:
3850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
9971 .loc 1 3850 1 is_stmt 1 view -0
9972 .cfi_startproc
9973 @ args = 4, pretend = 0, frame = 8
9974 @ frame_needed = 0, uses_anonymous_args = 0
3850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U;
9975 .loc 1 3850 1 is_stmt 0 view .LVU3280
9976 0000 70B5 push {r4, r5, r6, lr}
9977 .LCFI118:
9978 .cfi_def_cfa_offset 16
9979 .cfi_offset 4, -16
9980 .cfi_offset 5, -12
9981 .cfi_offset 6, -8
9982 .cfi_offset 14, -4
9983 0002 82B0 sub sp, sp, #8
9984 .LCFI119:
9985 .cfi_def_cfa_offset 24
9986 0004 069D ldr r5, [sp, #24]
3851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
9987 .loc 1 3851 3 is_stmt 1 view .LVU3281
3851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __IO uint32_t count = 0U;
9988 .loc 1 3851 17 is_stmt 0 view .LVU3282
9989 0006 0024 movs r4, #0
9990 0008 0194 str r4, [sp, #4]
3852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
9991 .loc 1 3852 3 is_stmt 1 view .LVU3283
3852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
9992 .loc 1 3852 17 is_stmt 0 view .LVU3284
9993 000a 0094 str r4, [sp]
3853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
9994 .loc 1 3853 3 is_stmt 1 view .LVU3285
9995 .LVL460:
3854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9996 .loc 1 3854 3 view .LVU3286
3857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
9997 .loc 1 3857 3 view .LVU3287
3859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9998 .loc 1 3859 3 view .LVU3288
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 359
3859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
9999 .loc 1 3859 11 is_stmt 0 view .LVU3289
10000 000c 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
10001 0010 E4B2 uxtb r4, r4
3859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10002 .loc 1 3859 6 view .LVU3290
10003 0012 202C cmp r4, #32
10004 0014 40F0F280 bne .L646
3862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10005 .loc 1 3862 5 is_stmt 1 view .LVU3291
3862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10006 .loc 1 3862 8 is_stmt 0 view .LVU3292
10007 0018 082D cmp r5, #8
10008 001a 77D0 beq .L627
3862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10009 .loc 1 3862 51 discriminator 1 view .LVU3293
10010 001c 012D cmp r5, #1
10011 001e 75D0 beq .L627
10012 .L628:
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10013 .loc 1 3886 5 is_stmt 1 view .LVU3294
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10014 .loc 1 3886 5 view .LVU3295
10015 0020 90F83C40 ldrb r4, [r0, #60] @ zero_extendqisi2
10016 0024 012C cmp r4, #1
10017 0026 00F0EC80 beq .L647
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10018 .loc 1 3886 5 discriminator 2 view .LVU3296
10019 002a 0124 movs r4, #1
10020 002c 80F83C40 strb r4, [r0, #60]
3889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10021 .loc 1 3889 5 discriminator 2 view .LVU3297
3889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10022 .loc 1 3889 14 is_stmt 0 discriminator 2 view .LVU3298
10023 0030 0468 ldr r4, [r0]
3889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10024 .loc 1 3889 24 discriminator 2 view .LVU3299
10025 0032 2668 ldr r6, [r4]
3889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10026 .loc 1 3889 8 discriminator 2 view .LVU3300
10027 0034 16F0010F tst r6, #1
10028 0038 03D1 bne .L631
3892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10029 .loc 1 3892 7 is_stmt 1 view .LVU3301
10030 003a 2668 ldr r6, [r4]
10031 003c 46F00106 orr r6, r6, #1
10032 0040 2660 str r6, [r4]
10033 .L631:
3896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10034 .loc 1 3896 5 view .LVU3302
10035 0042 0668 ldr r6, [r0]
10036 0044 3468 ldr r4, [r6]
10037 0046 24F40064 bic r4, r4, #2048
10038 004a 3460 str r4, [r6]
3899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10039 .loc 1 3899 5 view .LVU3303
10040 004c 0668 ldr r6, [r0]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 360
10041 004e 7468 ldr r4, [r6, #4]
10042 0050 24F48054 bic r4, r4, #4096
10043 0054 7460 str r4, [r6, #4]
3901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
10044 .loc 1 3901 5 view .LVU3304
3901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
10045 .loc 1 3901 21 is_stmt 0 view .LVU3305
10046 0056 2224 movs r4, #34
10047 0058 80F83D40 strb r4, [r0, #61]
3902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
10048 .loc 1 3902 5 is_stmt 1 view .LVU3306
3902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
10049 .loc 1 3902 21 is_stmt 0 view .LVU3307
10050 005c 1024 movs r4, #16
10051 005e 80F83E40 strb r4, [r0, #62]
3903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10052 .loc 1 3903 5 is_stmt 1 view .LVU3308
3903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10053 .loc 1 3903 21 is_stmt 0 view .LVU3309
10054 0062 0024 movs r4, #0
10055 0064 0464 str r4, [r0, #64]
3906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
10056 .loc 1 3906 5 is_stmt 1 view .LVU3310
3906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
10057 .loc 1 3906 23 is_stmt 0 view .LVU3311
10058 0066 4262 str r2, [r0, #36]
3907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
10059 .loc 1 3907 5 is_stmt 1 view .LVU3312
3907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
10060 .loc 1 3907 23 is_stmt 0 view .LVU3313
10061 0068 4385 strh r3, [r0, #42] @ movhi
3908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
10062 .loc 1 3908 5 is_stmt 1 view .LVU3314
3908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
10063 .loc 1 3908 29 is_stmt 0 view .LVU3315
10064 006a 438D ldrh r3, [r0, #42]
10065 .LVL461:
3908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
10066 .loc 1 3908 29 view .LVU3316
10067 006c 9BB2 uxth r3, r3
3908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
10068 .loc 1 3908 23 view .LVU3317
10069 006e 0385 strh r3, [r0, #40] @ movhi
3909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
10070 .loc 1 3909 5 is_stmt 1 view .LVU3318
3909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
10071 .loc 1 3909 23 is_stmt 0 view .LVU3319
10072 0070 C562 str r5, [r0, #44]
10073 .LVL462:
3910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10074 .loc 1 3910 5 is_stmt 1 view .LVU3320
3910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10075 .loc 1 3910 23 is_stmt 0 view .LVU3321
10076 0072 4164 str r1, [r0, #68]
3912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10077 .loc 1 3912 5 is_stmt 1 view .LVU3322
3912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 361
10078 .loc 1 3912 22 is_stmt 0 view .LVU3323
10079 0074 026B ldr r2, [r0, #48]
10080 .LVL463:
3912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10081 .loc 1 3912 16 view .LVU3324
10082 0076 0192 str r2, [sp, #4]
3914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10083 .loc 1 3914 5 is_stmt 1 view .LVU3325
3914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10084 .loc 1 3914 8 is_stmt 0 view .LVU3326
10085 0078 002B cmp r3, #0
10086 007a 00F0A180 beq .L632
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10087 .loc 1 3916 7 is_stmt 1 view .LVU3327
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10088 .loc 1 3916 16 is_stmt 0 view .LVU3328
10089 007e 438D ldrh r3, [r0, #42]
10090 0080 9BB2 uxth r3, r3
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10091 .loc 1 3916 10 view .LVU3329
10092 0082 022B cmp r3, #2
10093 0084 68D0 beq .L650
10094 .L633:
3938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10095 .loc 1 3938 9 is_stmt 1 view .LVU3330
10096 0086 0268 ldr r2, [r0]
10097 0088 1368 ldr r3, [r2]
10098 008a 43F48063 orr r3, r3, #1024
10099 008e 1360 str r3, [r2]
10100 .LVL464:
3940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10101 .loc 1 3940 9 view .LVU3331
3940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10102 .loc 1 3940 12 is_stmt 0 view .LVU3332
10103 0090 202D cmp r5, #32
10104 0092 04D0 beq .L637
3940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10105 .loc 1 3940 45 discriminator 1 view .LVU3333
10106 0094 B5F12A4F cmp r5, #-1442840576
10107 0098 01D0 beq .L637
3940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10108 .loc 1 3940 90 discriminator 2 view .LVU3334
10109 009a 102D cmp r5, #16
10110 009c 04D1 bne .L636
10111 .L637:
3943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10112 .loc 1 3943 11 is_stmt 1 view .LVU3335
10113 009e 0268 ldr r2, [r0]
10114 00a0 5368 ldr r3, [r2, #4]
10115 00a2 43F48053 orr r3, r3, #4096
10116 00a6 5360 str r3, [r2, #4]
10117 .L636:
3943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10118 .loc 1 3943 11 is_stmt 0 view .LVU3336
10119 00a8 0446 mov r4, r0
3948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10120 .loc 1 3948 7 is_stmt 1 view .LVU3337
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 362
3948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10121 .loc 1 3948 11 is_stmt 0 view .LVU3338
10122 00aa 836B ldr r3, [r0, #56]
3948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10123 .loc 1 3948 38 view .LVU3339
10124 00ac 564A ldr r2, .L655
10125 00ae 9A62 str r2, [r3, #40]
3951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10126 .loc 1 3951 7 is_stmt 1 view .LVU3340
3951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10127 .loc 1 3951 11 is_stmt 0 view .LVU3341
10128 00b0 836B ldr r3, [r0, #56]
3951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10129 .loc 1 3951 39 view .LVU3342
10130 00b2 564A ldr r2, .L655+4
10131 00b4 1A63 str r2, [r3, #48]
3954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
10132 .loc 1 3954 7 is_stmt 1 view .LVU3343
3954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
10133 .loc 1 3954 11 is_stmt 0 view .LVU3344
10134 00b6 826B ldr r2, [r0, #56]
3954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
10135 .loc 1 3954 42 view .LVU3345
10136 00b8 0023 movs r3, #0
10137 00ba D362 str r3, [r2, #44]
3955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10138 .loc 1 3955 7 is_stmt 1 view .LVU3346
3955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10139 .loc 1 3955 11 is_stmt 0 view .LVU3347
10140 00bc 826B ldr r2, [r0, #56]
3955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10141 .loc 1 3955 39 view .LVU3348
10142 00be 5363 str r3, [r2, #52]
3958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10143 .loc 1 3958 7 is_stmt 1 view .LVU3349
3958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10144 .loc 1 3958 69 is_stmt 0 view .LVU3350
10145 00c0 0168 ldr r1, [r0]
10146 .LVL465:
3958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10147 .loc 1 3958 23 view .LVU3351
10148 00c2 038D ldrh r3, [r0, #40]
10149 00c4 426A ldr r2, [r0, #36]
10150 00c6 1031 adds r1, r1, #16
10151 00c8 806B ldr r0, [r0, #56]
10152 .LVL466:
3958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10153 .loc 1 3958 23 view .LVU3352
10154 00ca FFF7FEFF bl HAL_DMA_Start_IT
10155 .LVL467:
3960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10156 .loc 1 3960 7 is_stmt 1 view .LVU3353
3960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10157 .loc 1 3960 10 is_stmt 0 view .LVU3354
10158 00ce 0028 cmp r0, #0
10159 00d0 68D1 bne .L638
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 363
10160 .loc 1 3964 9 is_stmt 1 view .LVU3355
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10161 .loc 1 3964 25 is_stmt 0 view .LVU3356
10162 00d2 019B ldr r3, [sp, #4]
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10163 .loc 1 3964 12 view .LVU3357
10164 00d4 122B cmp r3, #18
10165 00d6 5CD0 beq .L651
10166 .L639:
3967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10167 .loc 1 3967 11 is_stmt 1 view .LVU3358
10168 00d8 2268 ldr r2, [r4]
10169 00da 1368 ldr r3, [r2]
10170 00dc 43F48073 orr r3, r3, #256
10171 00e0 1360 str r3, [r2]
3970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10172 .loc 1 3970 11 view .LVU3359
10173 .LVL468:
3970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10174 .loc 1 3970 20 is_stmt 0 view .LVU3360
10175 00e2 4FF44070 mov r0, #768
10176 .LVL469:
10177 .L640:
3979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10178 .loc 1 3979 9 is_stmt 1 view .LVU3361
3979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10179 .loc 1 3979 9 view .LVU3362
10180 00e6 0023 movs r3, #0
10181 00e8 84F83C30 strb r3, [r4, #60]
3987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10182 .loc 1 3987 9 view .LVU3363
3987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10183 .loc 1 3987 12 is_stmt 0 view .LVU3364
10184 00ec 042D cmp r5, #4
10185 00ee 03D0 beq .L641
3987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10186 .loc 1 3987 45 discriminator 1 view .LVU3365
10187 00f0 202D cmp r5, #32
10188 00f2 01D0 beq .L641
3987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10189 .loc 1 3987 80 discriminator 2 view .LVU3366
10190 00f4 102D cmp r5, #16
10191 00f6 04D1 bne .L642
10192 .L641:
3990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10193 .loc 1 3990 11 is_stmt 1 view .LVU3367
10194 00f8 2168 ldr r1, [r4]
10195 00fa 4A68 ldr r2, [r1, #4]
10196 00fc 42F40062 orr r2, r2, #2048
10197 0100 4A60 str r2, [r1, #4]
10198 .L642:
3994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10199 .loc 1 3994 9 view .LVU3368
10200 0102 2268 ldr r2, [r4]
10201 0104 5368 ldr r3, [r2, #4]
10202 0106 0343 orrs r3, r3, r0
10203 0108 5360 str r3, [r2, #4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 364
10204 010a 6EE0 b .L643
10205 .LVL470:
10206 .L627:
3865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
10207 .loc 1 3865 7 view .LVU3369
3865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
10208 .loc 1 3865 62 is_stmt 0 view .LVU3370
10209 010c 404C ldr r4, .L655+8
10210 010e 2468 ldr r4, [r4]
10211 0110 E408 lsrs r4, r4, #3
10212 0112 404E ldr r6, .L655+12
10213 0114 A6FB0464 umull r6, r4, r6, r4
10214 0118 240A lsrs r4, r4, #8
3865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
10215 .loc 1 3865 37 view .LVU3371
10216 011a 04EB8404 add r4, r4, r4, lsl #2
10217 011e 04EB8404 add r4, r4, r4, lsl #2
3865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** do
10218 .loc 1 3865 13 view .LVU3372
10219 0122 0094 str r4, [sp]
10220 .L630:
3866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10221 .loc 1 3866 7 is_stmt 1 view .LVU3373
3868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
10222 .loc 1 3868 9 view .LVU3374
3868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (count == 0U)
10223 .loc 1 3868 14 is_stmt 0 view .LVU3375
10224 0124 009C ldr r4, [sp]
10225 0126 013C subs r4, r4, #1
10226 0128 0094 str r4, [sp]
3869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10227 .loc 1 3869 9 is_stmt 1 view .LVU3376
3869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10228 .loc 1 3869 19 is_stmt 0 view .LVU3377
10229 012a 009C ldr r4, [sp]
3869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10230 .loc 1 3869 12 view .LVU3378
10231 012c 2CB1 cbz r4, .L652
3882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10232 .loc 1 3882 14 view .LVU3379
10233 012e 0468 ldr r4, [r0]
10234 0130 A469 ldr r4, [r4, #24]
3882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10235 .loc 1 3882 7 view .LVU3380
10236 0132 14F0020F tst r4, #2
10237 0136 F5D1 bne .L630
10238 0138 72E7 b .L628
10239 .L652:
3871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10240 .loc 1 3871 11 is_stmt 1 view .LVU3381
3871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10241 .loc 1 3871 37 is_stmt 0 view .LVU3382
10242 013a 0023 movs r3, #0
10243 .LVL471:
3871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10244 .loc 1 3871 37 view .LVU3383
10245 013c 0363 str r3, [r0, #48]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 365
3872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10246 .loc 1 3872 11 is_stmt 1 view .LVU3384
3872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10247 .loc 1 3872 37 is_stmt 0 view .LVU3385
10248 013e 2022 movs r2, #32
10249 .LVL472:
3872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10250 .loc 1 3872 37 view .LVU3386
10251 0140 80F83D20 strb r2, [r0, #61]
3873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
10252 .loc 1 3873 11 is_stmt 1 view .LVU3387
3873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
10253 .loc 1 3873 37 is_stmt 0 view .LVU3388
10254 0144 80F83E30 strb r3, [r0, #62]
3874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10255 .loc 1 3874 11 is_stmt 1 view .LVU3389
3874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10256 .loc 1 3874 37 is_stmt 0 view .LVU3390
10257 0148 026C ldr r2, [r0, #64]
10258 014a 42F02002 orr r2, r2, #32
10259 014e 0264 str r2, [r0, #64]
3877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10260 .loc 1 3877 11 is_stmt 1 view .LVU3391
3877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10261 .loc 1 3877 11 view .LVU3392
10262 0150 80F83C30 strb r3, [r0, #60]
3879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10263 .loc 1 3879 11 view .LVU3393
3879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10264 .loc 1 3879 18 is_stmt 0 view .LVU3394
10265 0154 0120 movs r0, #1
10266 .LVL473:
3879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10267 .loc 1 3879 18 view .LVU3395
10268 0156 52E0 b .L626
10269 .LVL474:
10270 .L650:
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10271 .loc 1 3916 35 discriminator 1 view .LVU3396
10272 0158 202D cmp r5, #32
10273 015a 01D0 beq .L634
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10274 .loc 1 3916 71 discriminator 2 view .LVU3397
10275 015c 102D cmp r5, #16
10276 015e 92D1 bne .L633
10277 .L634:
3918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10278 .loc 1 3918 9 is_stmt 1 view .LVU3398
3918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10279 .loc 1 3918 24 is_stmt 0 view .LVU3399
10280 0160 019B ldr r3, [sp, #4]
3918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10281 .loc 1 3918 12 view .LVU3400
10282 0162 122B cmp r3, #18
10283 0164 05D0 beq .L653
3932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10284 .loc 1 3932 11 is_stmt 1 view .LVU3401
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 366
10285 0166 0268 ldr r2, [r0]
10286 0168 1368 ldr r3, [r2]
10287 016a 43F48063 orr r3, r3, #1024
10288 016e 1360 str r3, [r2]
10289 .LVL475:
3932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10290 .loc 1 3932 11 is_stmt 0 view .LVU3402
10291 0170 9AE7 b .L636
10292 .LVL476:
10293 .L653:
3921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10294 .loc 1 3921 11 is_stmt 1 view .LVU3403
10295 0172 0268 ldr r2, [r0]
10296 0174 1368 ldr r3, [r2]
10297 0176 23F48063 bic r3, r3, #1024
10298 017a 1360 str r3, [r2]
10299 .LVL477:
3924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10300 .loc 1 3924 11 view .LVU3404
10301 017c 0268 ldr r2, [r0]
10302 017e 1368 ldr r3, [r2]
10303 0180 43F40063 orr r3, r3, #2048
10304 0184 1360 str r3, [r2]
3927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10305 .loc 1 3927 11 view .LVU3405
10306 0186 0268 ldr r2, [r0]
10307 0188 5368 ldr r3, [r2, #4]
10308 018a 43F48053 orr r3, r3, #4096
10309 018e 5360 str r3, [r2, #4]
10310 0190 8AE7 b .L636
10311 .LVL478:
10312 .L651:
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10313 .loc 1 3964 58 is_stmt 0 discriminator 1 view .LVU3406
10314 0192 B5F52A0F cmp r5, #11141120
10315 0196 9FD0 beq .L639
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10316 .loc 1 3964 58 discriminator 3 view .LVU3407
10317 0198 B5F12A4F cmp r5, #-1442840576
10318 019c 9CD0 beq .L639
3975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10319 .loc 1 3975 20 view .LVU3408
10320 019e 4FF48070 mov r0, #256
10321 .LVL479:
3975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10322 .loc 1 3975 20 view .LVU3409
10323 01a2 A0E7 b .L640
10324 .LVL480:
10325 .L638:
3999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10326 .loc 1 3999 9 is_stmt 1 view .LVU3410
3999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10327 .loc 1 3999 25 is_stmt 0 view .LVU3411
10328 01a4 2023 movs r3, #32
10329 01a6 84F83D30 strb r3, [r4, #61]
4000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10330 .loc 1 4000 9 is_stmt 1 view .LVU3412
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 367
4000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10331 .loc 1 4000 25 is_stmt 0 view .LVU3413
10332 01aa 0022 movs r2, #0
10333 01ac 84F83E20 strb r2, [r4, #62]
4003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10334 .loc 1 4003 9 is_stmt 1 view .LVU3414
4003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10335 .loc 1 4003 25 is_stmt 0 view .LVU3415
10336 01b0 236C ldr r3, [r4, #64]
10337 01b2 43F01003 orr r3, r3, #16
10338 01b6 2364 str r3, [r4, #64]
4006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10339 .loc 1 4006 9 is_stmt 1 view .LVU3416
4006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10340 .loc 1 4006 9 view .LVU3417
10341 01b8 84F83C20 strb r2, [r4, #60]
4008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10342 .loc 1 4008 9 view .LVU3418
4008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10343 .loc 1 4008 16 is_stmt 0 view .LVU3419
10344 01bc 0120 movs r0, #1
10345 .LVL481:
4008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10346 .loc 1 4008 16 view .LVU3420
10347 01be 1EE0 b .L626
10348 .LVL482:
10349 .L632:
4014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10350 .loc 1 4014 7 is_stmt 1 view .LVU3421
10351 01c0 0268 ldr r2, [r0]
10352 01c2 1368 ldr r3, [r2]
10353 01c4 43F48063 orr r3, r3, #1024
10354 01c8 1360 str r3, [r2]
10355 .LVL483:
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10356 .loc 1 4018 7 view .LVU3422
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10357 .loc 1 4018 23 is_stmt 0 view .LVU3423
10358 01ca 019B ldr r3, [sp, #4]
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10359 .loc 1 4018 10 view .LVU3424
10360 01cc 122B cmp r3, #18
10361 01ce 0ED0 beq .L654
10362 .L644:
4021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10363 .loc 1 4021 9 is_stmt 1 view .LVU3425
10364 01d0 0268 ldr r2, [r0]
10365 01d2 1368 ldr r3, [r2]
10366 01d4 43F48073 orr r3, r3, #256
10367 01d8 1360 str r3, [r2]
10368 .L645:
4025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10369 .loc 1 4025 7 view .LVU3426
4025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10370 .loc 1 4025 7 view .LVU3427
10371 01da 0023 movs r3, #0
10372 01dc 80F83C30 strb r3, [r0, #60]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 368
4032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10373 .loc 1 4032 7 view .LVU3428
10374 01e0 0268 ldr r2, [r0]
10375 01e2 5368 ldr r3, [r2, #4]
10376 01e4 43F4E063 orr r3, r3, #1792
10377 01e8 5360 str r3, [r2, #4]
10378 .LVL484:
10379 .L643:
4034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10380 .loc 1 4034 5 view .LVU3429
4034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10381 .loc 1 4034 12 is_stmt 0 view .LVU3430
10382 01ea 0020 movs r0, #0
10383 01ec 07E0 b .L626
10384 .LVL485:
10385 .L654:
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10386 .loc 1 4018 56 discriminator 1 view .LVU3431
10387 01ee B5F52A0F cmp r5, #11141120
10388 01f2 EDD0 beq .L644
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10389 .loc 1 4018 56 discriminator 3 view .LVU3432
10390 01f4 B5F12A4F cmp r5, #-1442840576
10391 01f8 EFD1 bne .L645
10392 01fa E9E7 b .L644
10393 .LVL486:
10394 .L646:
4038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10395 .loc 1 4038 12 view .LVU3433
10396 01fc 0220 movs r0, #2
10397 .LVL487:
10398 .L626:
4040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10399 .loc 1 4040 1 view .LVU3434
10400 01fe 02B0 add sp, sp, #8
10401 .LCFI120:
10402 .cfi_remember_state
10403 .cfi_def_cfa_offset 16
10404 @ sp needed
10405 0200 70BD pop {r4, r5, r6, pc}
10406 .LVL488:
10407 .L647:
10408 .LCFI121:
10409 .cfi_restore_state
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10410 .loc 1 3886 5 view .LVU3435
10411 0202 0220 movs r0, #2
10412 .LVL489:
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10413 .loc 1 3886 5 view .LVU3436
10414 0204 FBE7 b .L626
10415 .L656:
10416 0206 00BF .align 2
10417 .L655:
10418 0208 00000000 .word I2C_DMAXferCplt
10419 020c 00000000 .word I2C_DMAError
10420 0210 00000000 .word SystemCoreClock
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 369
10421 0214 89B5F814 .word 351843721
10422 .cfi_endproc
10423 .LFE91:
10425 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits
10426 .align 1
10427 .global HAL_I2C_Slave_Seq_Transmit_IT
10428 .syntax unified
10429 .thumb
10430 .thumb_func
10431 .fpu softvfp
10433 HAL_I2C_Slave_Seq_Transmit_IT:
10434 .LVL490:
10435 .LFB92:
4053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
10436 .loc 1 4053 1 is_stmt 1 view -0
10437 .cfi_startproc
10438 @ args = 0, pretend = 0, frame = 8
10439 @ frame_needed = 0, uses_anonymous_args = 0
10440 @ link register save eliminated.
4053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
10441 .loc 1 4053 1 is_stmt 0 view .LVU3438
10442 0000 30B4 push {r4, r5}
10443 .LCFI122:
10444 .cfi_def_cfa_offset 8
10445 .cfi_offset 4, -8
10446 .cfi_offset 5, -4
10447 0002 82B0 sub sp, sp, #8
10448 .LCFI123:
10449 .cfi_def_cfa_offset 16
4055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10450 .loc 1 4055 3 is_stmt 1 view .LVU3439
4057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10451 .loc 1 4057 3 view .LVU3440
4057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10452 .loc 1 4057 22 is_stmt 0 view .LVU3441
10453 0004 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
4057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10454 .loc 1 4057 6 view .LVU3442
10455 0008 04F02804 and r4, r4, #40
10456 000c 282C cmp r4, #40
10457 000e 34D1 bne .L660
4059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10458 .loc 1 4059 5 is_stmt 1 view .LVU3443
4059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10459 .loc 1 4059 8 is_stmt 0 view .LVU3444
10460 0010 0029 cmp r1, #0
10461 0012 36D0 beq .L661
4059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10462 .loc 1 4059 25 discriminator 1 view .LVU3445
10463 0014 002A cmp r2, #0
10464 0016 36D0 beq .L662
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10465 .loc 1 4065 5 is_stmt 1 view .LVU3446
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10466 .loc 1 4065 5 view .LVU3447
10467 0018 90F83C40 ldrb r4, [r0, #60] @ zero_extendqisi2
10468 001c 012C cmp r4, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 370
10469 001e 34D0 beq .L663
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10470 .loc 1 4065 5 discriminator 2 view .LVU3448
10471 0020 0124 movs r4, #1
10472 0022 80F83C40 strb r4, [r0, #60]
4068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10473 .loc 1 4068 5 discriminator 2 view .LVU3449
4068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10474 .loc 1 4068 14 is_stmt 0 discriminator 2 view .LVU3450
10475 0026 0468 ldr r4, [r0]
4068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10476 .loc 1 4068 24 discriminator 2 view .LVU3451
10477 0028 2568 ldr r5, [r4]
4068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10478 .loc 1 4068 8 discriminator 2 view .LVU3452
10479 002a 15F0010F tst r5, #1
10480 002e 03D1 bne .L659
4071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10481 .loc 1 4071 7 is_stmt 1 view .LVU3453
10482 0030 2568 ldr r5, [r4]
10483 0032 45F00105 orr r5, r5, #1
10484 0036 2560 str r5, [r4]
10485 .L659:
4075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10486 .loc 1 4075 5 view .LVU3454
10487 0038 0568 ldr r5, [r0]
10488 003a 2C68 ldr r4, [r5]
10489 003c 24F40064 bic r4, r4, #2048
10490 0040 2C60 str r4, [r5]
4077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
10491 .loc 1 4077 5 view .LVU3455
4077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
10492 .loc 1 4077 21 is_stmt 0 view .LVU3456
10493 0042 2924 movs r4, #41
10494 0044 80F83D40 strb r4, [r0, #61]
4078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
10495 .loc 1 4078 5 is_stmt 1 view .LVU3457
4078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
10496 .loc 1 4078 21 is_stmt 0 view .LVU3458
10497 0048 2024 movs r4, #32
10498 004a 80F83E40 strb r4, [r0, #62]
4079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10499 .loc 1 4079 5 is_stmt 1 view .LVU3459
4079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10500 .loc 1 4079 21 is_stmt 0 view .LVU3460
10501 004e 0024 movs r4, #0
10502 0050 0464 str r4, [r0, #64]
4082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
10503 .loc 1 4082 5 is_stmt 1 view .LVU3461
4082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
10504 .loc 1 4082 23 is_stmt 0 view .LVU3462
10505 0052 4162 str r1, [r0, #36]
4083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
10506 .loc 1 4083 5 is_stmt 1 view .LVU3463
4083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
10507 .loc 1 4083 23 is_stmt 0 view .LVU3464
10508 0054 4285 strh r2, [r0, #42] @ movhi
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 371
4084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
10509 .loc 1 4084 5 is_stmt 1 view .LVU3465
4084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
10510 .loc 1 4084 29 is_stmt 0 view .LVU3466
10511 0056 428D ldrh r2, [r0, #42]
10512 .LVL491:
4084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
10513 .loc 1 4084 23 view .LVU3467
10514 0058 0285 strh r2, [r0, #40] @ movhi
4085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10515 .loc 1 4085 5 is_stmt 1 view .LVU3468
4085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10516 .loc 1 4085 23 is_stmt 0 view .LVU3469
10517 005a C362 str r3, [r0, #44]
10518 .LVL492:
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10519 .loc 1 4088 5 is_stmt 1 view .LVU3470
10520 .LBB105:
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10521 .loc 1 4088 5 view .LVU3471
10522 005c 0194 str r4, [sp, #4]
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10523 .loc 1 4088 5 view .LVU3472
10524 005e 0368 ldr r3, [r0]
10525 .LVL493:
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10526 .loc 1 4088 5 is_stmt 0 view .LVU3473
10527 0060 5A69 ldr r2, [r3, #20]
10528 0062 0192 str r2, [sp, #4]
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10529 .loc 1 4088 5 is_stmt 1 view .LVU3474
10530 0064 9A69 ldr r2, [r3, #24]
10531 0066 0192 str r2, [sp, #4]
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10532 .loc 1 4088 5 view .LVU3475
10533 0068 019A ldr r2, [sp, #4]
10534 .LBE105:
4091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10535 .loc 1 4091 5 view .LVU3476
4091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10536 .loc 1 4091 5 view .LVU3477
10537 006a 80F83C40 strb r4, [r0, #60]
4098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10538 .loc 1 4098 5 view .LVU3478
10539 006e 5A68 ldr r2, [r3, #4]
10540 0070 42F4E062 orr r2, r2, #1792
10541 0074 5A60 str r2, [r3, #4]
4100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10542 .loc 1 4100 5 view .LVU3479
4100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10543 .loc 1 4100 12 is_stmt 0 view .LVU3480
10544 0076 2046 mov r0, r4
10545 .LVL494:
4100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10546 .loc 1 4100 12 view .LVU3481
10547 0078 00E0 b .L658
10548 .LVL495:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 372
10549 .L660:
4104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10550 .loc 1 4104 12 view .LVU3482
10551 007a 0220 movs r0, #2
10552 .LVL496:
10553 .L658:
4106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10554 .loc 1 4106 1 view .LVU3483
10555 007c 02B0 add sp, sp, #8
10556 .LCFI124:
10557 .cfi_remember_state
10558 .cfi_def_cfa_offset 8
10559 @ sp needed
10560 007e 30BC pop {r4, r5}
10561 .LCFI125:
10562 .cfi_restore 5
10563 .cfi_restore 4
10564 .cfi_def_cfa_offset 0
10565 0080 7047 bx lr
10566 .LVL497:
10567 .L661:
10568 .LCFI126:
10569 .cfi_restore_state
4061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10570 .loc 1 4061 15 view .LVU3484
10571 0082 0120 movs r0, #1
10572 .LVL498:
4061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10573 .loc 1 4061 15 view .LVU3485
10574 0084 FAE7 b .L658
10575 .LVL499:
10576 .L662:
4061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10577 .loc 1 4061 15 view .LVU3486
10578 0086 0120 movs r0, #1
10579 .LVL500:
4061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10580 .loc 1 4061 15 view .LVU3487
10581 0088 F8E7 b .L658
10582 .LVL501:
10583 .L663:
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10584 .loc 1 4065 5 view .LVU3488
10585 008a 0220 movs r0, #2
10586 .LVL502:
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10587 .loc 1 4065 5 view .LVU3489
10588 008c F6E7 b .L658
10589 .cfi_endproc
10590 .LFE92:
10592 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits
10593 .align 1
10594 .global HAL_I2C_Slave_Seq_Transmit_DMA
10595 .syntax unified
10596 .thumb
10597 .thumb_func
10598 .fpu softvfp
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 373
10600 HAL_I2C_Slave_Seq_Transmit_DMA:
10601 .LVL503:
10602 .LFB93:
4119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
10603 .loc 1 4119 1 is_stmt 1 view -0
10604 .cfi_startproc
10605 @ args = 0, pretend = 0, frame = 8
10606 @ frame_needed = 0, uses_anonymous_args = 0
4119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
10607 .loc 1 4119 1 is_stmt 0 view .LVU3491
10608 0000 F0B5 push {r4, r5, r6, r7, lr}
10609 .LCFI127:
10610 .cfi_def_cfa_offset 20
10611 .cfi_offset 4, -20
10612 .cfi_offset 5, -16
10613 .cfi_offset 6, -12
10614 .cfi_offset 7, -8
10615 .cfi_offset 14, -4
10616 0002 83B0 sub sp, sp, #12
10617 .LCFI128:
10618 .cfi_def_cfa_offset 32
4120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10619 .loc 1 4120 3 is_stmt 1 view .LVU3492
4123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10620 .loc 1 4123 3 view .LVU3493
4125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10621 .loc 1 4125 3 view .LVU3494
4125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10622 .loc 1 4125 22 is_stmt 0 view .LVU3495
10623 0004 90F83D50 ldrb r5, [r0, #61] @ zero_extendqisi2
4125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10624 .loc 1 4125 6 view .LVU3496
10625 0008 05F02805 and r5, r5, #40
10626 000c 282D cmp r5, #40
10627 000e 40F0A680 bne .L671
4127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10628 .loc 1 4127 5 is_stmt 1 view .LVU3497
4127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10629 .loc 1 4127 8 is_stmt 0 view .LVU3498
10630 0012 0029 cmp r1, #0
10631 0014 00F0A780 beq .L672
4127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10632 .loc 1 4127 25 discriminator 1 view .LVU3499
10633 0018 002A cmp r2, #0
10634 001a 00F0A680 beq .L673
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10635 .loc 1 4133 5 is_stmt 1 view .LVU3500
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10636 .loc 1 4133 5 view .LVU3501
10637 001e 90F83C40 ldrb r4, [r0, #60] @ zero_extendqisi2
10638 0022 012C cmp r4, #1
10639 0024 00F0A380 beq .L674
10640 0028 1F46 mov r7, r3
10641 002a 1646 mov r6, r2
10642 002c 0D46 mov r5, r1
10643 002e 0446 mov r4, r0
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 374
10644 .loc 1 4133 5 discriminator 2 view .LVU3502
10645 0030 0123 movs r3, #1
10646 .LVL504:
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10647 .loc 1 4133 5 is_stmt 0 discriminator 2 view .LVU3503
10648 0032 80F83C30 strb r3, [r0, #60]
4136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10649 .loc 1 4136 5 is_stmt 1 discriminator 2 view .LVU3504
10650 0036 0268 ldr r2, [r0]
10651 .LVL505:
4136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10652 .loc 1 4136 5 is_stmt 0 discriminator 2 view .LVU3505
10653 0038 5368 ldr r3, [r2, #4]
10654 003a 23F44073 bic r3, r3, #768
10655 003e 5360 str r3, [r2, #4]
4140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10656 .loc 1 4140 5 is_stmt 1 discriminator 2 view .LVU3506
4140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10657 .loc 1 4140 13 is_stmt 0 discriminator 2 view .LVU3507
10658 0040 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
10659 0044 DBB2 uxtb r3, r3
4140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10660 .loc 1 4140 8 discriminator 2 view .LVU3508
10661 0046 2A2B cmp r3, #42
10662 0048 4CD0 beq .L676
4162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10663 .loc 1 4162 10 is_stmt 1 view .LVU3509
4162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10664 .loc 1 4162 18 is_stmt 0 view .LVU3510
10665 004a 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
10666 004e DBB2 uxtb r3, r3
4162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10667 .loc 1 4162 13 view .LVU3511
10668 0050 292B cmp r3, #41
10669 0052 5FD0 beq .L677
10670 .LVL506:
10671 .L668:
4187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10672 .loc 1 4187 5 is_stmt 1 view .LVU3512
4190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10673 .loc 1 4190 5 view .LVU3513
4190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10674 .loc 1 4190 14 is_stmt 0 view .LVU3514
10675 0054 2368 ldr r3, [r4]
4190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10676 .loc 1 4190 24 view .LVU3515
10677 0056 1A68 ldr r2, [r3]
4190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10678 .loc 1 4190 8 view .LVU3516
10679 0058 12F0010F tst r2, #1
10680 005c 03D1 bne .L669
4193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10681 .loc 1 4193 7 is_stmt 1 view .LVU3517
10682 005e 1A68 ldr r2, [r3]
10683 0060 42F00102 orr r2, r2, #1
10684 0064 1A60 str r2, [r3]
10685 .L669:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 375
4197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10686 .loc 1 4197 5 view .LVU3518
10687 0066 2268 ldr r2, [r4]
10688 0068 1368 ldr r3, [r2]
10689 006a 23F40063 bic r3, r3, #2048
10690 006e 1360 str r3, [r2]
4199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
10691 .loc 1 4199 5 view .LVU3519
4199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
10692 .loc 1 4199 21 is_stmt 0 view .LVU3520
10693 0070 2923 movs r3, #41
10694 0072 84F83D30 strb r3, [r4, #61]
4200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
10695 .loc 1 4200 5 is_stmt 1 view .LVU3521
4200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
10696 .loc 1 4200 21 is_stmt 0 view .LVU3522
10697 0076 2023 movs r3, #32
10698 0078 84F83E30 strb r3, [r4, #62]
4201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10699 .loc 1 4201 5 is_stmt 1 view .LVU3523
4201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10700 .loc 1 4201 21 is_stmt 0 view .LVU3524
10701 007c 0023 movs r3, #0
10702 007e 2364 str r3, [r4, #64]
4204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
10703 .loc 1 4204 5 is_stmt 1 view .LVU3525
4204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
10704 .loc 1 4204 23 is_stmt 0 view .LVU3526
10705 0080 6562 str r5, [r4, #36]
4205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
10706 .loc 1 4205 5 is_stmt 1 view .LVU3527
4205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
10707 .loc 1 4205 23 is_stmt 0 view .LVU3528
10708 0082 6685 strh r6, [r4, #42] @ movhi
4206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
10709 .loc 1 4206 5 is_stmt 1 view .LVU3529
4206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
10710 .loc 1 4206 29 is_stmt 0 view .LVU3530
10711 0084 628D ldrh r2, [r4, #42]
4206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
10712 .loc 1 4206 23 view .LVU3531
10713 0086 2285 strh r2, [r4, #40] @ movhi
4207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10714 .loc 1 4207 5 is_stmt 1 view .LVU3532
4207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10715 .loc 1 4207 23 is_stmt 0 view .LVU3533
10716 0088 E762 str r7, [r4, #44]
4210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10717 .loc 1 4210 5 is_stmt 1 view .LVU3534
4210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10718 .loc 1 4210 9 is_stmt 0 view .LVU3535
10719 008a 626B ldr r2, [r4, #52]
4210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10720 .loc 1 4210 36 view .LVU3536
10721 008c 3949 ldr r1, .L678
10722 008e 9162 str r1, [r2, #40]
4213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 376
10723 .loc 1 4213 5 is_stmt 1 view .LVU3537
4213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10724 .loc 1 4213 9 is_stmt 0 view .LVU3538
10725 0090 626B ldr r2, [r4, #52]
4213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10726 .loc 1 4213 37 view .LVU3539
10727 0092 3949 ldr r1, .L678+4
10728 0094 1163 str r1, [r2, #48]
4216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
10729 .loc 1 4216 5 is_stmt 1 view .LVU3540
4216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
10730 .loc 1 4216 9 is_stmt 0 view .LVU3541
10731 0096 626B ldr r2, [r4, #52]
4216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
10732 .loc 1 4216 40 view .LVU3542
10733 0098 D362 str r3, [r2, #44]
4217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10734 .loc 1 4217 5 is_stmt 1 view .LVU3543
4217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10735 .loc 1 4217 9 is_stmt 0 view .LVU3544
10736 009a 626B ldr r2, [r4, #52]
4217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10737 .loc 1 4217 37 view .LVU3545
10738 009c 5363 str r3, [r2, #52]
4220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10739 .loc 1 4220 5 is_stmt 1 view .LVU3546
4220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10740 .loc 1 4220 93 is_stmt 0 view .LVU3547
10741 009e 2268 ldr r2, [r4]
4220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10742 .loc 1 4220 21 view .LVU3548
10743 00a0 238D ldrh r3, [r4, #40]
10744 00a2 1032 adds r2, r2, #16
10745 00a4 616A ldr r1, [r4, #36]
10746 00a6 606B ldr r0, [r4, #52]
10747 00a8 FFF7FEFF bl HAL_DMA_Start_IT
10748 .LVL507:
4222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10749 .loc 1 4222 5 is_stmt 1 view .LVU3549
4222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10750 .loc 1 4222 8 is_stmt 0 view .LVU3550
10751 00ac 0346 mov r3, r0
10752 00ae 0028 cmp r0, #0
10753 00b0 47D1 bne .L670
4225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10754 .loc 1 4225 7 is_stmt 1 view .LVU3551
10755 00b2 2168 ldr r1, [r4]
10756 00b4 0A68 ldr r2, [r1]
10757 00b6 42F48062 orr r2, r2, #1024
10758 00ba 0A60 str r2, [r1]
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10759 .loc 1 4228 7 view .LVU3552
10760 .LBB106:
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10761 .loc 1 4228 7 view .LVU3553
10762 00bc 0021 movs r1, #0
10763 00be 0191 str r1, [sp, #4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 377
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10764 .loc 1 4228 7 view .LVU3554
10765 00c0 2268 ldr r2, [r4]
10766 00c2 5069 ldr r0, [r2, #20]
10767 .LVL508:
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10768 .loc 1 4228 7 is_stmt 0 view .LVU3555
10769 00c4 0190 str r0, [sp, #4]
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10770 .loc 1 4228 7 is_stmt 1 view .LVU3556
10771 00c6 9069 ldr r0, [r2, #24]
10772 00c8 0190 str r0, [sp, #4]
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10773 .loc 1 4228 7 view .LVU3557
10774 00ca 0198 ldr r0, [sp, #4]
10775 .LBE106:
4231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10776 .loc 1 4231 7 view .LVU3558
4231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10777 .loc 1 4231 7 view .LVU3559
10778 00cc 84F83C10 strb r1, [r4, #60]
4237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10779 .loc 1 4237 7 view .LVU3560
10780 00d0 5168 ldr r1, [r2, #4]
10781 00d2 41F44071 orr r1, r1, #768
10782 00d6 5160 str r1, [r2, #4]
4240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10783 .loc 1 4240 7 view .LVU3561
4240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10784 .loc 1 4240 11 is_stmt 0 view .LVU3562
10785 00d8 2168 ldr r1, [r4]
4240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10786 .loc 1 4240 27 view .LVU3563
10787 00da 4A68 ldr r2, [r1, #4]
10788 00dc 42F40062 orr r2, r2, #2048
10789 00e0 4A60 str r2, [r1, #4]
4242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10790 .loc 1 4242 7 is_stmt 1 view .LVU3564
4242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10791 .loc 1 4242 14 is_stmt 0 view .LVU3565
10792 00e2 3DE0 b .L666
10793 .LVL509:
10794 .L676:
4142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10795 .loc 1 4142 7 is_stmt 1 view .LVU3566
4142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10796 .loc 1 4142 16 is_stmt 0 view .LVU3567
10797 00e4 0368 ldr r3, [r0]
4142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10798 .loc 1 4142 26 view .LVU3568
10799 00e6 5A68 ldr r2, [r3, #4]
4142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10800 .loc 1 4142 10 view .LVU3569
10801 00e8 12F4006F tst r2, #2048
10802 00ec B2D0 beq .L668
4145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10803 .loc 1 4145 9 is_stmt 1 view .LVU3570
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 378
4145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10804 .loc 1 4145 17 is_stmt 0 view .LVU3571
10805 00ee 826B ldr r2, [r0, #56]
4145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10806 .loc 1 4145 12 view .LVU3572
10807 00f0 002A cmp r2, #0
10808 00f2 AFD0 beq .L668
4147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10809 .loc 1 4147 11 is_stmt 1 view .LVU3573
10810 00f4 5A68 ldr r2, [r3, #4]
10811 00f6 22F40062 bic r2, r2, #2048
10812 00fa 5A60 str r2, [r3, #4]
4151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10813 .loc 1 4151 11 view .LVU3574
4151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10814 .loc 1 4151 15 is_stmt 0 view .LVU3575
10815 00fc 836B ldr r3, [r0, #56]
4151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10816 .loc 1 4151 43 view .LVU3576
10817 00fe 1F4A ldr r2, .L678+8
10818 0100 5A63 str r2, [r3, #52]
4154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10819 .loc 1 4154 11 is_stmt 1 view .LVU3577
4154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10820 .loc 1 4154 15 is_stmt 0 view .LVU3578
10821 0102 806B ldr r0, [r0, #56]
10822 .LVL510:
4154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10823 .loc 1 4154 15 view .LVU3579
10824 0104 FFF7FEFF bl HAL_DMA_Abort_IT
10825 .LVL511:
4154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10826 .loc 1 4154 14 view .LVU3580
10827 0108 0028 cmp r0, #0
10828 010a A3D0 beq .L668
4157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10829 .loc 1 4157 13 is_stmt 1 view .LVU3581
4157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10830 .loc 1 4157 17 is_stmt 0 view .LVU3582
10831 010c A06B ldr r0, [r4, #56]
4157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10832 .loc 1 4157 25 view .LVU3583
10833 010e 436B ldr r3, [r0, #52]
4157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10834 .loc 1 4157 13 view .LVU3584
10835 0110 9847 blx r3
10836 .LVL512:
10837 0112 9FE7 b .L668
10838 .LVL513:
10839 .L677:
4164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10840 .loc 1 4164 7 is_stmt 1 view .LVU3585
4164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10841 .loc 1 4164 16 is_stmt 0 view .LVU3586
10842 0114 0368 ldr r3, [r0]
4164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10843 .loc 1 4164 26 view .LVU3587
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 379
10844 0116 5A68 ldr r2, [r3, #4]
4164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10845 .loc 1 4164 10 view .LVU3588
10846 0118 12F4006F tst r2, #2048
10847 011c 9AD0 beq .L668
4166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10848 .loc 1 4166 9 is_stmt 1 view .LVU3589
10849 011e 5A68 ldr r2, [r3, #4]
10850 0120 22F40062 bic r2, r2, #2048
10851 0124 5A60 str r2, [r3, #4]
4169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10852 .loc 1 4169 9 view .LVU3590
4169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10853 .loc 1 4169 17 is_stmt 0 view .LVU3591
10854 0126 436B ldr r3, [r0, #52]
4169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10855 .loc 1 4169 12 view .LVU3592
10856 0128 002B cmp r3, #0
10857 012a 93D0 beq .L668
4173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10858 .loc 1 4173 11 is_stmt 1 view .LVU3593
4173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10859 .loc 1 4173 43 is_stmt 0 view .LVU3594
10860 012c 134A ldr r2, .L678+8
10861 012e 5A63 str r2, [r3, #52]
4176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10862 .loc 1 4176 11 is_stmt 1 view .LVU3595
4176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10863 .loc 1 4176 15 is_stmt 0 view .LVU3596
10864 0130 406B ldr r0, [r0, #52]
10865 .LVL514:
4176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10866 .loc 1 4176 15 view .LVU3597
10867 0132 FFF7FEFF bl HAL_DMA_Abort_IT
10868 .LVL515:
4176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10869 .loc 1 4176 14 view .LVU3598
10870 0136 0028 cmp r0, #0
10871 0138 8CD0 beq .L668
4179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10872 .loc 1 4179 13 is_stmt 1 view .LVU3599
4179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10873 .loc 1 4179 17 is_stmt 0 view .LVU3600
10874 013a 606B ldr r0, [r4, #52]
4179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10875 .loc 1 4179 25 view .LVU3601
10876 013c 436B ldr r3, [r0, #52]
4179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10877 .loc 1 4179 13 view .LVU3602
10878 013e 9847 blx r3
10879 .LVL516:
10880 0140 88E7 b .L668
10881 .LVL517:
10882 .L670:
4247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10883 .loc 1 4247 7 is_stmt 1 view .LVU3603
4247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 380
10884 .loc 1 4247 23 is_stmt 0 view .LVU3604
10885 0142 2023 movs r3, #32
10886 0144 84F83D30 strb r3, [r4, #61]
4248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10887 .loc 1 4248 7 is_stmt 1 view .LVU3605
4248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10888 .loc 1 4248 23 is_stmt 0 view .LVU3606
10889 0148 0022 movs r2, #0
10890 014a 84F83E20 strb r2, [r4, #62]
4251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10891 .loc 1 4251 7 is_stmt 1 view .LVU3607
4251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10892 .loc 1 4251 23 is_stmt 0 view .LVU3608
10893 014e 236C ldr r3, [r4, #64]
10894 0150 43F01003 orr r3, r3, #16
10895 0154 2364 str r3, [r4, #64]
4254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10896 .loc 1 4254 7 is_stmt 1 view .LVU3609
4254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10897 .loc 1 4254 7 view .LVU3610
10898 0156 84F83C20 strb r2, [r4, #60]
4256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10899 .loc 1 4256 7 view .LVU3611
4256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10900 .loc 1 4256 14 is_stmt 0 view .LVU3612
10901 015a 0123 movs r3, #1
10902 015c 00E0 b .L666
10903 .LVL518:
10904 .L671:
4261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10905 .loc 1 4261 12 view .LVU3613
10906 015e 0223 movs r3, #2
10907 .LVL519:
10908 .L666:
4263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10909 .loc 1 4263 1 view .LVU3614
10910 0160 1846 mov r0, r3
10911 0162 03B0 add sp, sp, #12
10912 .LCFI129:
10913 .cfi_remember_state
10914 .cfi_def_cfa_offset 20
10915 @ sp needed
10916 0164 F0BD pop {r4, r5, r6, r7, pc}
10917 .LVL520:
10918 .L672:
10919 .LCFI130:
10920 .cfi_restore_state
4129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10921 .loc 1 4129 15 view .LVU3615
10922 0166 0123 movs r3, #1
10923 .LVL521:
4129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10924 .loc 1 4129 15 view .LVU3616
10925 0168 FAE7 b .L666
10926 .LVL522:
10927 .L673:
4129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 381
10928 .loc 1 4129 15 view .LVU3617
10929 016a 0123 movs r3, #1
10930 .LVL523:
4129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
10931 .loc 1 4129 15 view .LVU3618
10932 016c F8E7 b .L666
10933 .LVL524:
10934 .L674:
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10935 .loc 1 4133 5 view .LVU3619
10936 016e 0223 movs r3, #2
10937 .LVL525:
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10938 .loc 1 4133 5 view .LVU3620
10939 0170 F6E7 b .L666
10940 .L679:
10941 0172 00BF .align 2
10942 .L678:
10943 0174 00000000 .word I2C_DMAXferCplt
10944 0178 00000000 .word I2C_DMAError
10945 017c 00000000 .word I2C_DMAAbort
10946 .cfi_endproc
10947 .LFE93:
10949 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits
10950 .align 1
10951 .global HAL_I2C_Slave_Seq_Receive_IT
10952 .syntax unified
10953 .thumb
10954 .thumb_func
10955 .fpu softvfp
10957 HAL_I2C_Slave_Seq_Receive_IT:
10958 .LVL526:
10959 .LFB94:
4276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
10960 .loc 1 4276 1 is_stmt 1 view -0
10961 .cfi_startproc
10962 @ args = 0, pretend = 0, frame = 8
10963 @ frame_needed = 0, uses_anonymous_args = 0
10964 @ link register save eliminated.
4276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Check the parameters */
10965 .loc 1 4276 1 is_stmt 0 view .LVU3622
10966 0000 30B4 push {r4, r5}
10967 .LCFI131:
10968 .cfi_def_cfa_offset 8
10969 .cfi_offset 4, -8
10970 .cfi_offset 5, -4
10971 0002 82B0 sub sp, sp, #8
10972 .LCFI132:
10973 .cfi_def_cfa_offset 16
4278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10974 .loc 1 4278 3 is_stmt 1 view .LVU3623
4280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10975 .loc 1 4280 3 view .LVU3624
4280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10976 .loc 1 4280 22 is_stmt 0 view .LVU3625
10977 0004 90F83D40 ldrb r4, [r0, #61] @ zero_extendqisi2
4280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 382
10978 .loc 1 4280 6 view .LVU3626
10979 0008 04F02804 and r4, r4, #40
10980 000c 282C cmp r4, #40
10981 000e 34D1 bne .L683
4282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10982 .loc 1 4282 5 is_stmt 1 view .LVU3627
4282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10983 .loc 1 4282 8 is_stmt 0 view .LVU3628
10984 0010 0029 cmp r1, #0
10985 0012 36D0 beq .L684
4282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10986 .loc 1 4282 25 discriminator 1 view .LVU3629
10987 0014 002A cmp r2, #0
10988 0016 36D0 beq .L685
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10989 .loc 1 4288 5 is_stmt 1 view .LVU3630
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10990 .loc 1 4288 5 view .LVU3631
10991 0018 90F83C40 ldrb r4, [r0, #60] @ zero_extendqisi2
10992 001c 012C cmp r4, #1
10993 001e 34D0 beq .L686
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
10994 .loc 1 4288 5 discriminator 2 view .LVU3632
10995 0020 0124 movs r4, #1
10996 0022 80F83C40 strb r4, [r0, #60]
4291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10997 .loc 1 4291 5 discriminator 2 view .LVU3633
4291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
10998 .loc 1 4291 14 is_stmt 0 discriminator 2 view .LVU3634
10999 0026 0468 ldr r4, [r0]
4291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11000 .loc 1 4291 24 discriminator 2 view .LVU3635
11001 0028 2568 ldr r5, [r4]
4291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11002 .loc 1 4291 8 discriminator 2 view .LVU3636
11003 002a 15F0010F tst r5, #1
11004 002e 03D1 bne .L682
4294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11005 .loc 1 4294 7 is_stmt 1 view .LVU3637
11006 0030 2568 ldr r5, [r4]
11007 0032 45F00105 orr r5, r5, #1
11008 0036 2560 str r5, [r4]
11009 .L682:
4298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11010 .loc 1 4298 5 view .LVU3638
11011 0038 0568 ldr r5, [r0]
11012 003a 2C68 ldr r4, [r5]
11013 003c 24F40064 bic r4, r4, #2048
11014 0040 2C60 str r4, [r5]
4300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
11015 .loc 1 4300 5 view .LVU3639
4300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
11016 .loc 1 4300 21 is_stmt 0 view .LVU3640
11017 0042 2A24 movs r4, #42
11018 0044 80F83D40 strb r4, [r0, #61]
4301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
11019 .loc 1 4301 5 is_stmt 1 view .LVU3641
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 383
4301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
11020 .loc 1 4301 21 is_stmt 0 view .LVU3642
11021 0048 2024 movs r4, #32
11022 004a 80F83E40 strb r4, [r0, #62]
4302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11023 .loc 1 4302 5 is_stmt 1 view .LVU3643
4302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11024 .loc 1 4302 21 is_stmt 0 view .LVU3644
11025 004e 0024 movs r4, #0
11026 0050 0464 str r4, [r0, #64]
4305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
11027 .loc 1 4305 5 is_stmt 1 view .LVU3645
4305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
11028 .loc 1 4305 23 is_stmt 0 view .LVU3646
11029 0052 4162 str r1, [r0, #36]
4306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
11030 .loc 1 4306 5 is_stmt 1 view .LVU3647
4306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
11031 .loc 1 4306 23 is_stmt 0 view .LVU3648
11032 0054 4285 strh r2, [r0, #42] @ movhi
4307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
11033 .loc 1 4307 5 is_stmt 1 view .LVU3649
4307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
11034 .loc 1 4307 29 is_stmt 0 view .LVU3650
11035 0056 428D ldrh r2, [r0, #42]
11036 .LVL527:
4307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
11037 .loc 1 4307 23 view .LVU3651
11038 0058 0285 strh r2, [r0, #40] @ movhi
4308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11039 .loc 1 4308 5 is_stmt 1 view .LVU3652
4308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11040 .loc 1 4308 23 is_stmt 0 view .LVU3653
11041 005a C362 str r3, [r0, #44]
11042 .LVL528:
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11043 .loc 1 4311 5 is_stmt 1 view .LVU3654
11044 .LBB107:
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11045 .loc 1 4311 5 view .LVU3655
11046 005c 0194 str r4, [sp, #4]
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11047 .loc 1 4311 5 view .LVU3656
11048 005e 0368 ldr r3, [r0]
11049 .LVL529:
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11050 .loc 1 4311 5 is_stmt 0 view .LVU3657
11051 0060 5A69 ldr r2, [r3, #20]
11052 0062 0192 str r2, [sp, #4]
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11053 .loc 1 4311 5 is_stmt 1 view .LVU3658
11054 0064 9A69 ldr r2, [r3, #24]
11055 0066 0192 str r2, [sp, #4]
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11056 .loc 1 4311 5 view .LVU3659
11057 0068 019A ldr r2, [sp, #4]
11058 .LBE107:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 384
4314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11059 .loc 1 4314 5 view .LVU3660
4314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11060 .loc 1 4314 5 view .LVU3661
11061 006a 80F83C40 strb r4, [r0, #60]
4321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11062 .loc 1 4321 5 view .LVU3662
11063 006e 5A68 ldr r2, [r3, #4]
11064 0070 42F4E062 orr r2, r2, #1792
11065 0074 5A60 str r2, [r3, #4]
4323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11066 .loc 1 4323 5 view .LVU3663
4323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11067 .loc 1 4323 12 is_stmt 0 view .LVU3664
11068 0076 2046 mov r0, r4
11069 .LVL530:
4323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11070 .loc 1 4323 12 view .LVU3665
11071 0078 00E0 b .L681
11072 .LVL531:
11073 .L683:
4327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11074 .loc 1 4327 12 view .LVU3666
11075 007a 0220 movs r0, #2
11076 .LVL532:
11077 .L681:
4329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11078 .loc 1 4329 1 view .LVU3667
11079 007c 02B0 add sp, sp, #8
11080 .LCFI133:
11081 .cfi_remember_state
11082 .cfi_def_cfa_offset 8
11083 @ sp needed
11084 007e 30BC pop {r4, r5}
11085 .LCFI134:
11086 .cfi_restore 5
11087 .cfi_restore 4
11088 .cfi_def_cfa_offset 0
11089 0080 7047 bx lr
11090 .LVL533:
11091 .L684:
11092 .LCFI135:
11093 .cfi_restore_state
4284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11094 .loc 1 4284 15 view .LVU3668
11095 0082 0120 movs r0, #1
11096 .LVL534:
4284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11097 .loc 1 4284 15 view .LVU3669
11098 0084 FAE7 b .L681
11099 .LVL535:
11100 .L685:
4284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11101 .loc 1 4284 15 view .LVU3670
11102 0086 0120 movs r0, #1
11103 .LVL536:
4284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 385
11104 .loc 1 4284 15 view .LVU3671
11105 0088 F8E7 b .L681
11106 .LVL537:
11107 .L686:
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11108 .loc 1 4288 5 view .LVU3672
11109 008a 0220 movs r0, #2
11110 .LVL538:
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11111 .loc 1 4288 5 view .LVU3673
11112 008c F6E7 b .L681
11113 .cfi_endproc
11114 .LFE94:
11116 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits
11117 .align 1
11118 .global HAL_I2C_Slave_Seq_Receive_DMA
11119 .syntax unified
11120 .thumb
11121 .thumb_func
11122 .fpu softvfp
11124 HAL_I2C_Slave_Seq_Receive_DMA:
11125 .LVL539:
11126 .LFB95:
4342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
11127 .loc 1 4342 1 is_stmt 1 view -0
11128 .cfi_startproc
11129 @ args = 0, pretend = 0, frame = 8
11130 @ frame_needed = 0, uses_anonymous_args = 0
4342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
11131 .loc 1 4342 1 is_stmt 0 view .LVU3675
11132 0000 F0B5 push {r4, r5, r6, r7, lr}
11133 .LCFI136:
11134 .cfi_def_cfa_offset 20
11135 .cfi_offset 4, -20
11136 .cfi_offset 5, -16
11137 .cfi_offset 6, -12
11138 .cfi_offset 7, -8
11139 .cfi_offset 14, -4
11140 0002 83B0 sub sp, sp, #12
11141 .LCFI137:
11142 .cfi_def_cfa_offset 32
4343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11143 .loc 1 4343 3 is_stmt 1 view .LVU3676
4346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11144 .loc 1 4346 3 view .LVU3677
4348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11145 .loc 1 4348 3 view .LVU3678
4348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11146 .loc 1 4348 22 is_stmt 0 view .LVU3679
11147 0004 90F83D50 ldrb r5, [r0, #61] @ zero_extendqisi2
4348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11148 .loc 1 4348 6 view .LVU3680
11149 0008 05F02805 and r5, r5, #40
11150 000c 282D cmp r5, #40
11151 000e 40F0A680 bne .L694
4350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11152 .loc 1 4350 5 is_stmt 1 view .LVU3681
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 386
4350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11153 .loc 1 4350 8 is_stmt 0 view .LVU3682
11154 0012 0029 cmp r1, #0
11155 0014 00F0A780 beq .L695
4350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11156 .loc 1 4350 25 discriminator 1 view .LVU3683
11157 0018 002A cmp r2, #0
11158 001a 00F0A680 beq .L696
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11159 .loc 1 4356 5 is_stmt 1 view .LVU3684
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11160 .loc 1 4356 5 view .LVU3685
11161 001e 90F83C40 ldrb r4, [r0, #60] @ zero_extendqisi2
11162 0022 012C cmp r4, #1
11163 0024 00F0A380 beq .L697
11164 0028 1F46 mov r7, r3
11165 002a 1646 mov r6, r2
11166 002c 0D46 mov r5, r1
11167 002e 0446 mov r4, r0
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11168 .loc 1 4356 5 discriminator 2 view .LVU3686
11169 0030 0123 movs r3, #1
11170 .LVL540:
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11171 .loc 1 4356 5 is_stmt 0 discriminator 2 view .LVU3687
11172 0032 80F83C30 strb r3, [r0, #60]
4359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11173 .loc 1 4359 5 is_stmt 1 discriminator 2 view .LVU3688
11174 0036 0268 ldr r2, [r0]
11175 .LVL541:
4359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11176 .loc 1 4359 5 is_stmt 0 discriminator 2 view .LVU3689
11177 0038 5368 ldr r3, [r2, #4]
11178 003a 23F44073 bic r3, r3, #768
11179 003e 5360 str r3, [r2, #4]
4363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11180 .loc 1 4363 5 is_stmt 1 discriminator 2 view .LVU3690
4363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11181 .loc 1 4363 13 is_stmt 0 discriminator 2 view .LVU3691
11182 0040 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
11183 0044 DBB2 uxtb r3, r3
4363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11184 .loc 1 4363 8 discriminator 2 view .LVU3692
11185 0046 2A2B cmp r3, #42
11186 0048 4CD0 beq .L699
4385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11187 .loc 1 4385 10 is_stmt 1 view .LVU3693
4385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11188 .loc 1 4385 18 is_stmt 0 view .LVU3694
11189 004a 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
11190 004e DBB2 uxtb r3, r3
4385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11191 .loc 1 4385 13 view .LVU3695
11192 0050 292B cmp r3, #41
11193 0052 5FD0 beq .L700
11194 .LVL542:
11195 .L691:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 387
4410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11196 .loc 1 4410 5 is_stmt 1 view .LVU3696
4413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11197 .loc 1 4413 5 view .LVU3697
4413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11198 .loc 1 4413 14 is_stmt 0 view .LVU3698
11199 0054 2368 ldr r3, [r4]
4413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11200 .loc 1 4413 24 view .LVU3699
11201 0056 1A68 ldr r2, [r3]
4413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11202 .loc 1 4413 8 view .LVU3700
11203 0058 12F0010F tst r2, #1
11204 005c 03D1 bne .L692
4416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11205 .loc 1 4416 7 is_stmt 1 view .LVU3701
11206 005e 1A68 ldr r2, [r3]
11207 0060 42F00102 orr r2, r2, #1
11208 0064 1A60 str r2, [r3]
11209 .L692:
4420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11210 .loc 1 4420 5 view .LVU3702
11211 0066 2268 ldr r2, [r4]
11212 0068 1368 ldr r3, [r2]
11213 006a 23F40063 bic r3, r3, #2048
11214 006e 1360 str r3, [r2]
4422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
11215 .loc 1 4422 5 view .LVU3703
4422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
11216 .loc 1 4422 21 is_stmt 0 view .LVU3704
11217 0070 2A23 movs r3, #42
11218 0072 84F83D30 strb r3, [r4, #61]
4423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
11219 .loc 1 4423 5 is_stmt 1 view .LVU3705
4423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
11220 .loc 1 4423 21 is_stmt 0 view .LVU3706
11221 0076 2023 movs r3, #32
11222 0078 84F83E30 strb r3, [r4, #62]
4424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11223 .loc 1 4424 5 is_stmt 1 view .LVU3707
4424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11224 .loc 1 4424 21 is_stmt 0 view .LVU3708
11225 007c 0023 movs r3, #0
11226 007e 2364 str r3, [r4, #64]
4427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
11227 .loc 1 4427 5 is_stmt 1 view .LVU3709
4427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferCount = Size;
11228 .loc 1 4427 23 is_stmt 0 view .LVU3710
11229 0080 6562 str r5, [r4, #36]
4428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
11230 .loc 1 4428 5 is_stmt 1 view .LVU3711
4428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
11231 .loc 1 4428 23 is_stmt 0 view .LVU3712
11232 0082 6685 strh r6, [r4, #42] @ movhi
4429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
11233 .loc 1 4429 5 is_stmt 1 view .LVU3713
4429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 388
11234 .loc 1 4429 29 is_stmt 0 view .LVU3714
11235 0084 628D ldrh r2, [r4, #42]
4429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
11236 .loc 1 4429 23 view .LVU3715
11237 0086 2285 strh r2, [r4, #40] @ movhi
4430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11238 .loc 1 4430 5 is_stmt 1 view .LVU3716
4430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11239 .loc 1 4430 23 is_stmt 0 view .LVU3717
11240 0088 E762 str r7, [r4, #44]
4433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11241 .loc 1 4433 5 is_stmt 1 view .LVU3718
4433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11242 .loc 1 4433 9 is_stmt 0 view .LVU3719
11243 008a A26B ldr r2, [r4, #56]
4433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11244 .loc 1 4433 36 view .LVU3720
11245 008c 3949 ldr r1, .L701
11246 008e 9162 str r1, [r2, #40]
4436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11247 .loc 1 4436 5 is_stmt 1 view .LVU3721
4436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11248 .loc 1 4436 9 is_stmt 0 view .LVU3722
11249 0090 A26B ldr r2, [r4, #56]
4436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11250 .loc 1 4436 37 view .LVU3723
11251 0092 3949 ldr r1, .L701+4
11252 0094 1163 str r1, [r2, #48]
4439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
11253 .loc 1 4439 5 is_stmt 1 view .LVU3724
4439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
11254 .loc 1 4439 9 is_stmt 0 view .LVU3725
11255 0096 A26B ldr r2, [r4, #56]
4439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
11256 .loc 1 4439 40 view .LVU3726
11257 0098 D362 str r3, [r2, #44]
4440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11258 .loc 1 4440 5 is_stmt 1 view .LVU3727
4440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11259 .loc 1 4440 9 is_stmt 0 view .LVU3728
11260 009a A26B ldr r2, [r4, #56]
4440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11261 .loc 1 4440 37 view .LVU3729
11262 009c 5363 str r3, [r2, #52]
4443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11263 .loc 1 4443 5 is_stmt 1 view .LVU3730
4443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11264 .loc 1 4443 67 is_stmt 0 view .LVU3731
11265 009e 2168 ldr r1, [r4]
4443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11266 .loc 1 4443 21 view .LVU3732
11267 00a0 238D ldrh r3, [r4, #40]
11268 00a2 626A ldr r2, [r4, #36]
11269 00a4 1031 adds r1, r1, #16
11270 00a6 A06B ldr r0, [r4, #56]
11271 00a8 FFF7FEFF bl HAL_DMA_Start_IT
11272 .LVL543:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 389
4445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11273 .loc 1 4445 5 is_stmt 1 view .LVU3733
4445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11274 .loc 1 4445 8 is_stmt 0 view .LVU3734
11275 00ac 0346 mov r3, r0
11276 00ae 0028 cmp r0, #0
11277 00b0 47D1 bne .L693
4448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11278 .loc 1 4448 7 is_stmt 1 view .LVU3735
11279 00b2 2168 ldr r1, [r4]
11280 00b4 0A68 ldr r2, [r1]
11281 00b6 42F48062 orr r2, r2, #1024
11282 00ba 0A60 str r2, [r1]
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11283 .loc 1 4451 7 view .LVU3736
11284 .LBB108:
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11285 .loc 1 4451 7 view .LVU3737
11286 00bc 0021 movs r1, #0
11287 00be 0191 str r1, [sp, #4]
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11288 .loc 1 4451 7 view .LVU3738
11289 00c0 2268 ldr r2, [r4]
11290 00c2 5069 ldr r0, [r2, #20]
11291 .LVL544:
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11292 .loc 1 4451 7 is_stmt 0 view .LVU3739
11293 00c4 0190 str r0, [sp, #4]
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11294 .loc 1 4451 7 is_stmt 1 view .LVU3740
11295 00c6 9069 ldr r0, [r2, #24]
11296 00c8 0190 str r0, [sp, #4]
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11297 .loc 1 4451 7 view .LVU3741
11298 00ca 0198 ldr r0, [sp, #4]
11299 .LBE108:
4454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11300 .loc 1 4454 7 view .LVU3742
4454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11301 .loc 1 4454 7 view .LVU3743
11302 00cc 84F83C10 strb r1, [r4, #60]
4457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11303 .loc 1 4457 7 view .LVU3744
11304 00d0 5168 ldr r1, [r2, #4]
11305 00d2 41F40061 orr r1, r1, #2048
11306 00d6 5160 str r1, [r2, #4]
4463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11307 .loc 1 4463 7 view .LVU3745
11308 00d8 2168 ldr r1, [r4]
11309 00da 4A68 ldr r2, [r1, #4]
11310 00dc 42F44072 orr r2, r2, #768
11311 00e0 4A60 str r2, [r1, #4]
4465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11312 .loc 1 4465 7 view .LVU3746
4465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11313 .loc 1 4465 14 is_stmt 0 view .LVU3747
11314 00e2 3DE0 b .L689
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 390
11315 .LVL545:
11316 .L699:
4365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11317 .loc 1 4365 7 is_stmt 1 view .LVU3748
4365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11318 .loc 1 4365 16 is_stmt 0 view .LVU3749
11319 00e4 0368 ldr r3, [r0]
4365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11320 .loc 1 4365 26 view .LVU3750
11321 00e6 5A68 ldr r2, [r3, #4]
4365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11322 .loc 1 4365 10 view .LVU3751
11323 00e8 12F4006F tst r2, #2048
11324 00ec B2D0 beq .L691
4368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11325 .loc 1 4368 9 is_stmt 1 view .LVU3752
4368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11326 .loc 1 4368 17 is_stmt 0 view .LVU3753
11327 00ee 826B ldr r2, [r0, #56]
4368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11328 .loc 1 4368 12 view .LVU3754
11329 00f0 002A cmp r2, #0
11330 00f2 AFD0 beq .L691
4370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11331 .loc 1 4370 11 is_stmt 1 view .LVU3755
11332 00f4 5A68 ldr r2, [r3, #4]
11333 00f6 22F40062 bic r2, r2, #2048
11334 00fa 5A60 str r2, [r3, #4]
4374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11335 .loc 1 4374 11 view .LVU3756
4374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11336 .loc 1 4374 15 is_stmt 0 view .LVU3757
11337 00fc 836B ldr r3, [r0, #56]
4374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11338 .loc 1 4374 43 view .LVU3758
11339 00fe 1F4A ldr r2, .L701+8
11340 0100 5A63 str r2, [r3, #52]
4377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11341 .loc 1 4377 11 is_stmt 1 view .LVU3759
4377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11342 .loc 1 4377 15 is_stmt 0 view .LVU3760
11343 0102 806B ldr r0, [r0, #56]
11344 .LVL546:
4377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11345 .loc 1 4377 15 view .LVU3761
11346 0104 FFF7FEFF bl HAL_DMA_Abort_IT
11347 .LVL547:
4377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11348 .loc 1 4377 14 view .LVU3762
11349 0108 0028 cmp r0, #0
11350 010a A3D0 beq .L691
4380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11351 .loc 1 4380 13 is_stmt 1 view .LVU3763
4380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11352 .loc 1 4380 17 is_stmt 0 view .LVU3764
11353 010c A06B ldr r0, [r4, #56]
4380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 391
11354 .loc 1 4380 25 view .LVU3765
11355 010e 436B ldr r3, [r0, #52]
4380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11356 .loc 1 4380 13 view .LVU3766
11357 0110 9847 blx r3
11358 .LVL548:
11359 0112 9FE7 b .L691
11360 .LVL549:
11361 .L700:
4387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11362 .loc 1 4387 7 is_stmt 1 view .LVU3767
4387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11363 .loc 1 4387 16 is_stmt 0 view .LVU3768
11364 0114 0368 ldr r3, [r0]
4387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11365 .loc 1 4387 26 view .LVU3769
11366 0116 5A68 ldr r2, [r3, #4]
4387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11367 .loc 1 4387 10 view .LVU3770
11368 0118 12F4006F tst r2, #2048
11369 011c 9AD0 beq .L691
4389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11370 .loc 1 4389 9 is_stmt 1 view .LVU3771
11371 011e 5A68 ldr r2, [r3, #4]
11372 0120 22F40062 bic r2, r2, #2048
11373 0124 5A60 str r2, [r3, #4]
4392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11374 .loc 1 4392 9 view .LVU3772
4392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11375 .loc 1 4392 17 is_stmt 0 view .LVU3773
11376 0126 436B ldr r3, [r0, #52]
4392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11377 .loc 1 4392 12 view .LVU3774
11378 0128 002B cmp r3, #0
11379 012a 93D0 beq .L691
4396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11380 .loc 1 4396 11 is_stmt 1 view .LVU3775
4396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11381 .loc 1 4396 43 is_stmt 0 view .LVU3776
11382 012c 134A ldr r2, .L701+8
11383 012e 5A63 str r2, [r3, #52]
4399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11384 .loc 1 4399 11 is_stmt 1 view .LVU3777
4399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11385 .loc 1 4399 15 is_stmt 0 view .LVU3778
11386 0130 406B ldr r0, [r0, #52]
11387 .LVL550:
4399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11388 .loc 1 4399 15 view .LVU3779
11389 0132 FFF7FEFF bl HAL_DMA_Abort_IT
11390 .LVL551:
4399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11391 .loc 1 4399 14 view .LVU3780
11392 0136 0028 cmp r0, #0
11393 0138 8CD0 beq .L691
4402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11394 .loc 1 4402 13 is_stmt 1 view .LVU3781
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 392
4402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11395 .loc 1 4402 17 is_stmt 0 view .LVU3782
11396 013a 606B ldr r0, [r4, #52]
4402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11397 .loc 1 4402 25 view .LVU3783
11398 013c 436B ldr r3, [r0, #52]
4402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11399 .loc 1 4402 13 view .LVU3784
11400 013e 9847 blx r3
11401 .LVL552:
11402 0140 88E7 b .L691
11403 .LVL553:
11404 .L693:
4470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
11405 .loc 1 4470 7 is_stmt 1 view .LVU3785
4470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
11406 .loc 1 4470 23 is_stmt 0 view .LVU3786
11407 0142 2023 movs r3, #32
11408 0144 84F83D30 strb r3, [r4, #61]
4471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11409 .loc 1 4471 7 is_stmt 1 view .LVU3787
4471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11410 .loc 1 4471 23 is_stmt 0 view .LVU3788
11411 0148 0022 movs r2, #0
11412 014a 84F83E20 strb r2, [r4, #62]
4474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11413 .loc 1 4474 7 is_stmt 1 view .LVU3789
4474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11414 .loc 1 4474 23 is_stmt 0 view .LVU3790
11415 014e 236C ldr r3, [r4, #64]
11416 0150 43F01003 orr r3, r3, #16
11417 0154 2364 str r3, [r4, #64]
4477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11418 .loc 1 4477 7 is_stmt 1 view .LVU3791
4477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11419 .loc 1 4477 7 view .LVU3792
11420 0156 84F83C20 strb r2, [r4, #60]
4479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11421 .loc 1 4479 7 view .LVU3793
4479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11422 .loc 1 4479 14 is_stmt 0 view .LVU3794
11423 015a 0123 movs r3, #1
11424 015c 00E0 b .L689
11425 .LVL554:
11426 .L694:
4484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11427 .loc 1 4484 12 view .LVU3795
11428 015e 0223 movs r3, #2
11429 .LVL555:
11430 .L689:
4486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11431 .loc 1 4486 1 view .LVU3796
11432 0160 1846 mov r0, r3
11433 0162 03B0 add sp, sp, #12
11434 .LCFI138:
11435 .cfi_remember_state
11436 .cfi_def_cfa_offset 20
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 393
11437 @ sp needed
11438 0164 F0BD pop {r4, r5, r6, r7, pc}
11439 .LVL556:
11440 .L695:
11441 .LCFI139:
11442 .cfi_restore_state
4352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11443 .loc 1 4352 15 view .LVU3797
11444 0166 0123 movs r3, #1
11445 .LVL557:
4352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11446 .loc 1 4352 15 view .LVU3798
11447 0168 FAE7 b .L689
11448 .LVL558:
11449 .L696:
4352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11450 .loc 1 4352 15 view .LVU3799
11451 016a 0123 movs r3, #1
11452 .LVL559:
4352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11453 .loc 1 4352 15 view .LVU3800
11454 016c F8E7 b .L689
11455 .LVL560:
11456 .L697:
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11457 .loc 1 4356 5 view .LVU3801
11458 016e 0223 movs r3, #2
11459 .LVL561:
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11460 .loc 1 4356 5 view .LVU3802
11461 0170 F6E7 b .L689
11462 .L702:
11463 0172 00BF .align 2
11464 .L701:
11465 0174 00000000 .word I2C_DMAXferCplt
11466 0178 00000000 .word I2C_DMAError
11467 017c 00000000 .word I2C_DMAAbort
11468 .cfi_endproc
11469 .LFE95:
11471 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits
11472 .align 1
11473 .global HAL_I2C_EnableListen_IT
11474 .syntax unified
11475 .thumb
11476 .thumb_func
11477 .fpu softvfp
11479 HAL_I2C_EnableListen_IT:
11480 .LVL562:
11481 .LFB96:
4495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
11482 .loc 1 4495 1 is_stmt 1 view -0
11483 .cfi_startproc
11484 @ args = 0, pretend = 0, frame = 0
11485 @ frame_needed = 0, uses_anonymous_args = 0
11486 @ link register save eliminated.
4496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11487 .loc 1 4496 3 view .LVU3804
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 394
4496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11488 .loc 1 4496 11 is_stmt 0 view .LVU3805
11489 0000 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
11490 0004 DBB2 uxtb r3, r3
4496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11491 .loc 1 4496 6 view .LVU3806
11492 0006 202B cmp r3, #32
11493 0008 01D0 beq .L707
4517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11494 .loc 1 4517 12 view .LVU3807
11495 000a 0220 movs r0, #2
11496 .LVL563:
4519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11497 .loc 1 4519 1 view .LVU3808
11498 000c 7047 bx lr
11499 .LVL564:
11500 .L707:
4498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11501 .loc 1 4498 5 is_stmt 1 view .LVU3809
4498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11502 .loc 1 4498 17 is_stmt 0 view .LVU3810
11503 000e 2823 movs r3, #40
11504 0010 80F83D30 strb r3, [r0, #61]
4501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11505 .loc 1 4501 5 is_stmt 1 view .LVU3811
4501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11506 .loc 1 4501 14 is_stmt 0 view .LVU3812
11507 0014 0368 ldr r3, [r0]
4501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11508 .loc 1 4501 24 view .LVU3813
11509 0016 1A68 ldr r2, [r3]
4501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11510 .loc 1 4501 8 view .LVU3814
11511 0018 12F0010F tst r2, #1
11512 001c 03D1 bne .L705
4504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11513 .loc 1 4504 7 is_stmt 1 view .LVU3815
11514 001e 1A68 ldr r2, [r3]
11515 0020 42F00102 orr r2, r2, #1
11516 0024 1A60 str r2, [r3]
11517 .L705:
4508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11518 .loc 1 4508 5 view .LVU3816
11519 0026 0268 ldr r2, [r0]
11520 0028 1368 ldr r3, [r2]
11521 002a 43F48063 orr r3, r3, #1024
11522 002e 1360 str r3, [r2]
4511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11523 .loc 1 4511 5 view .LVU3817
11524 0030 0268 ldr r2, [r0]
11525 0032 5368 ldr r3, [r2, #4]
11526 0034 43F44073 orr r3, r3, #768
11527 0038 5360 str r3, [r2, #4]
4513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11528 .loc 1 4513 5 view .LVU3818
4513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11529 .loc 1 4513 12 is_stmt 0 view .LVU3819
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 395
11530 003a 0020 movs r0, #0
11531 .LVL565:
4513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11532 .loc 1 4513 12 view .LVU3820
11533 003c 7047 bx lr
11534 .cfi_endproc
11535 .LFE96:
11537 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits
11538 .align 1
11539 .global HAL_I2C_DisableListen_IT
11540 .syntax unified
11541 .thumb
11542 .thumb_func
11543 .fpu softvfp
11545 HAL_I2C_DisableListen_IT:
11546 .LVL566:
11547 .LFB97:
4528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
11548 .loc 1 4528 1 is_stmt 1 view -0
11549 .cfi_startproc
11550 @ args = 0, pretend = 0, frame = 0
11551 @ frame_needed = 0, uses_anonymous_args = 0
11552 @ link register save eliminated.
4530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11553 .loc 1 4530 3 view .LVU3822
4533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11554 .loc 1 4533 3 view .LVU3823
4533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11555 .loc 1 4533 11 is_stmt 0 view .LVU3824
11556 0000 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
11557 0004 DBB2 uxtb r3, r3
4533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11558 .loc 1 4533 6 view .LVU3825
11559 0006 282B cmp r3, #40
11560 0008 01D0 beq .L711
4550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11561 .loc 1 4550 12 view .LVU3826
11562 000a 0220 movs r0, #2
11563 .LVL567:
4552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11564 .loc 1 4552 1 view .LVU3827
11565 000c 7047 bx lr
11566 .LVL568:
11567 .L711:
4535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
11568 .loc 1 4535 5 is_stmt 1 view .LVU3828
4535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
11569 .loc 1 4535 26 is_stmt 0 view .LVU3829
11570 000e 90F83D20 ldrb r2, [r0, #61] @ zero_extendqisi2
11571 .LVL569:
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11572 .loc 1 4536 5 is_stmt 1 view .LVU3830
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11573 .loc 1 4536 48 is_stmt 0 view .LVU3831
11574 0012 90F83E30 ldrb r3, [r0, #62] @ zero_extendqisi2
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11575 .loc 1 4536 31 view .LVU3832
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 396
11576 0016 02F00302 and r2, r2, #3
11577 .LVL570:
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11578 .loc 1 4536 31 view .LVU3833
11579 001a 1343 orrs r3, r3, r2
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11580 .loc 1 4536 25 view .LVU3834
11581 001c 0363 str r3, [r0, #48]
4537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
11582 .loc 1 4537 5 is_stmt 1 view .LVU3835
4537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
11583 .loc 1 4537 17 is_stmt 0 view .LVU3836
11584 001e 2023 movs r3, #32
11585 0020 80F83D30 strb r3, [r0, #61]
4538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11586 .loc 1 4538 5 is_stmt 1 view .LVU3837
4538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11587 .loc 1 4538 16 is_stmt 0 view .LVU3838
11588 0024 0023 movs r3, #0
11589 0026 80F83E30 strb r3, [r0, #62]
4541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11590 .loc 1 4541 5 is_stmt 1 view .LVU3839
11591 002a 0168 ldr r1, [r0]
11592 002c 0A68 ldr r2, [r1]
11593 002e 22F48062 bic r2, r2, #1024
11594 0032 0A60 str r2, [r1]
4544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11595 .loc 1 4544 5 view .LVU3840
11596 0034 0168 ldr r1, [r0]
11597 0036 4A68 ldr r2, [r1, #4]
11598 0038 22F44072 bic r2, r2, #768
11599 003c 4A60 str r2, [r1, #4]
4546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11600 .loc 1 4546 5 view .LVU3841
4546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11601 .loc 1 4546 12 is_stmt 0 view .LVU3842
11602 003e 1846 mov r0, r3
11603 .LVL571:
4546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11604 .loc 1 4546 12 view .LVU3843
11605 0040 7047 bx lr
11606 .cfi_endproc
11607 .LFE97:
11609 .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
11610 .align 1
11611 .weak HAL_I2C_MasterTxCpltCallback
11612 .syntax unified
11613 .thumb
11614 .thumb_func
11615 .fpu softvfp
11617 HAL_I2C_MasterTxCpltCallback:
11618 .LVL572:
11619 .LFB101:
4859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11620 .loc 1 4859 1 is_stmt 1 view -0
11621 .cfi_startproc
11622 @ args = 0, pretend = 0, frame = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 397
11623 @ frame_needed = 0, uses_anonymous_args = 0
11624 @ link register save eliminated.
4861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11625 .loc 1 4861 3 view .LVU3845
4866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11626 .loc 1 4866 1 is_stmt 0 view .LVU3846
11627 0000 7047 bx lr
11628 .cfi_endproc
11629 .LFE101:
11631 .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
11632 .align 1
11633 .weak HAL_I2C_MasterRxCpltCallback
11634 .syntax unified
11635 .thumb
11636 .thumb_func
11637 .fpu softvfp
11639 HAL_I2C_MasterRxCpltCallback:
11640 .LVL573:
11641 .LFB102:
4875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11642 .loc 1 4875 1 is_stmt 1 view -0
11643 .cfi_startproc
11644 @ args = 0, pretend = 0, frame = 0
11645 @ frame_needed = 0, uses_anonymous_args = 0
11646 @ link register save eliminated.
4877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11647 .loc 1 4877 3 view .LVU3848
4882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11648 .loc 1 4882 1 is_stmt 0 view .LVU3849
11649 0000 7047 bx lr
11650 .cfi_endproc
11651 .LFE102:
11653 .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
11654 .align 1
11655 .weak HAL_I2C_SlaveTxCpltCallback
11656 .syntax unified
11657 .thumb
11658 .thumb_func
11659 .fpu softvfp
11661 HAL_I2C_SlaveTxCpltCallback:
11662 .LVL574:
11663 .LFB103:
4890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11664 .loc 1 4890 1 is_stmt 1 view -0
11665 .cfi_startproc
11666 @ args = 0, pretend = 0, frame = 0
11667 @ frame_needed = 0, uses_anonymous_args = 0
11668 @ link register save eliminated.
4892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11669 .loc 1 4892 3 view .LVU3851
4897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11670 .loc 1 4897 1 is_stmt 0 view .LVU3852
11671 0000 7047 bx lr
11672 .cfi_endproc
11673 .LFE103:
11675 .section .text.I2C_SlaveTransmit_TXE,"ax",%progbits
11676 .align 1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 398
11677 .syntax unified
11678 .thumb
11679 .thumb_func
11680 .fpu softvfp
11682 I2C_SlaveTransmit_TXE:
11683 .LVL575:
11684 .LFB121:
5748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
11685 .loc 1 5748 1 is_stmt 1 view -0
11686 .cfi_startproc
11687 @ args = 0, pretend = 0, frame = 0
11688 @ frame_needed = 0, uses_anonymous_args = 0
5748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
11689 .loc 1 5748 1 is_stmt 0 view .LVU3854
11690 0000 08B5 push {r3, lr}
11691 .LCFI140:
11692 .cfi_def_cfa_offset 8
11693 .cfi_offset 3, -8
11694 .cfi_offset 14, -4
5750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11695 .loc 1 5750 3 is_stmt 1 view .LVU3855
5750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11696 .loc 1 5750 24 is_stmt 0 view .LVU3856
11697 0002 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
11698 0006 DAB2 uxtb r2, r3
11699 .LVL576:
5752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11700 .loc 1 5752 3 is_stmt 1 view .LVU3857
5752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11701 .loc 1 5752 11 is_stmt 0 view .LVU3858
11702 0008 438D ldrh r3, [r0, #42]
11703 000a 9BB2 uxth r3, r3
5752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11704 .loc 1 5752 6 view .LVU3859
11705 000c 7BB1 cbz r3, .L715
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11706 .loc 1 5755 5 is_stmt 1 view .LVU3860
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11707 .loc 1 5755 31 is_stmt 0 view .LVU3861
11708 000e 416A ldr r1, [r0, #36]
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11709 .loc 1 5755 9 view .LVU3862
11710 0010 0368 ldr r3, [r0]
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11711 .loc 1 5755 26 view .LVU3863
11712 0012 0978 ldrb r1, [r1] @ zero_extendqisi2
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11713 .loc 1 5755 24 view .LVU3864
11714 0014 1961 str r1, [r3, #16]
5758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11715 .loc 1 5758 5 is_stmt 1 view .LVU3865
5758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11716 .loc 1 5758 9 is_stmt 0 view .LVU3866
11717 0016 436A ldr r3, [r0, #36]
5758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11718 .loc 1 5758 19 view .LVU3867
11719 0018 0133 adds r3, r3, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 399
11720 001a 4362 str r3, [r0, #36]
5761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11721 .loc 1 5761 5 is_stmt 1 view .LVU3868
5761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11722 .loc 1 5761 9 is_stmt 0 view .LVU3869
11723 001c 438D ldrh r3, [r0, #42]
5761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11724 .loc 1 5761 20 view .LVU3870
11725 001e 013B subs r3, r3, #1
11726 0020 9BB2 uxth r3, r3
11727 0022 4385 strh r3, [r0, #42] @ movhi
5763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11728 .loc 1 5763 5 is_stmt 1 view .LVU3871
5763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11729 .loc 1 5763 14 is_stmt 0 view .LVU3872
11730 0024 438D ldrh r3, [r0, #42]
11731 0026 9BB2 uxth r3, r3
5763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11732 .loc 1 5763 8 view .LVU3873
11733 0028 0BB9 cbnz r3, .L715
5763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11734 .loc 1 5763 33 discriminator 1 view .LVU3874
11735 002a 292A cmp r2, #41
11736 002c 00D0 beq .L718
11737 .LVL577:
11738 .L715:
5780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11739 .loc 1 5780 1 view .LVU3875
11740 002e 08BD pop {r3, pc}
11741 .LVL578:
11742 .L718:
5766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11743 .loc 1 5766 7 is_stmt 1 view .LVU3876
11744 0030 0268 ldr r2, [r0]
11745 .LVL579:
5766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11746 .loc 1 5766 7 is_stmt 0 view .LVU3877
11747 0032 5368 ldr r3, [r2, #4]
11748 0034 23F48063 bic r3, r3, #1024
11749 0038 5360 str r3, [r2, #4]
5769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
11750 .loc 1 5769 7 is_stmt 1 view .LVU3878
5769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
11751 .loc 1 5769 27 is_stmt 0 view .LVU3879
11752 003a 2123 movs r3, #33
11753 003c 0363 str r3, [r0, #48]
5770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11754 .loc 1 5770 7 is_stmt 1 view .LVU3880
5770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11755 .loc 1 5770 19 is_stmt 0 view .LVU3881
11756 003e 2823 movs r3, #40
11757 0040 80F83D30 strb r3, [r0, #61]
5776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11758 .loc 1 5776 7 is_stmt 1 view .LVU3882
11759 0044 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
11760 .LVL580:
5780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 400
11761 .loc 1 5780 1 is_stmt 0 view .LVU3883
11762 0048 F1E7 b .L715
11763 .cfi_endproc
11764 .LFE121:
11766 .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
11767 .align 1
11768 .weak HAL_I2C_SlaveRxCpltCallback
11769 .syntax unified
11770 .thumb
11771 .thumb_func
11772 .fpu softvfp
11774 HAL_I2C_SlaveRxCpltCallback:
11775 .LVL581:
11776 .LFB104:
4906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11777 .loc 1 4906 1 is_stmt 1 view -0
11778 .cfi_startproc
11779 @ args = 0, pretend = 0, frame = 0
11780 @ frame_needed = 0, uses_anonymous_args = 0
11781 @ link register save eliminated.
4908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11782 .loc 1 4908 3 view .LVU3885
4913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11783 .loc 1 4913 1 is_stmt 0 view .LVU3886
11784 0000 7047 bx lr
11785 .cfi_endproc
11786 .LFE104:
11788 .section .text.I2C_SlaveReceive_RXNE,"ax",%progbits
11789 .align 1
11790 .syntax unified
11791 .thumb
11792 .thumb_func
11793 .fpu softvfp
11795 I2C_SlaveReceive_RXNE:
11796 .LVL582:
11797 .LFB123:
5810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
11798 .loc 1 5810 1 is_stmt 1 view -0
11799 .cfi_startproc
11800 @ args = 0, pretend = 0, frame = 0
11801 @ frame_needed = 0, uses_anonymous_args = 0
5810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
11802 .loc 1 5810 1 is_stmt 0 view .LVU3888
11803 0000 08B5 push {r3, lr}
11804 .LCFI141:
11805 .cfi_def_cfa_offset 8
11806 .cfi_offset 3, -8
11807 .cfi_offset 14, -4
5812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11808 .loc 1 5812 3 is_stmt 1 view .LVU3889
5812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11809 .loc 1 5812 24 is_stmt 0 view .LVU3890
11810 0002 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
11811 0006 DAB2 uxtb r2, r3
11812 .LVL583:
5814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11813 .loc 1 5814 3 is_stmt 1 view .LVU3891
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 401
5814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11814 .loc 1 5814 11 is_stmt 0 view .LVU3892
11815 0008 438D ldrh r3, [r0, #42]
11816 000a 9BB2 uxth r3, r3
5814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11817 .loc 1 5814 6 view .LVU3893
11818 000c 7BB1 cbz r3, .L720
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11819 .loc 1 5817 5 is_stmt 1 view .LVU3894
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11820 .loc 1 5817 36 is_stmt 0 view .LVU3895
11821 000e 0368 ldr r3, [r0]
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11822 .loc 1 5817 46 view .LVU3896
11823 0010 1969 ldr r1, [r3, #16]
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11824 .loc 1 5817 10 view .LVU3897
11825 0012 436A ldr r3, [r0, #36]
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11826 .loc 1 5817 21 view .LVU3898
11827 0014 1970 strb r1, [r3]
5820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11828 .loc 1 5820 5 is_stmt 1 view .LVU3899
5820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11829 .loc 1 5820 9 is_stmt 0 view .LVU3900
11830 0016 436A ldr r3, [r0, #36]
5820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11831 .loc 1 5820 19 view .LVU3901
11832 0018 0133 adds r3, r3, #1
11833 001a 4362 str r3, [r0, #36]
5823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11834 .loc 1 5823 5 is_stmt 1 view .LVU3902
5823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11835 .loc 1 5823 9 is_stmt 0 view .LVU3903
11836 001c 438D ldrh r3, [r0, #42]
5823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11837 .loc 1 5823 20 view .LVU3904
11838 001e 013B subs r3, r3, #1
11839 0020 9BB2 uxth r3, r3
11840 0022 4385 strh r3, [r0, #42] @ movhi
5825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11841 .loc 1 5825 5 is_stmt 1 view .LVU3905
5825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11842 .loc 1 5825 14 is_stmt 0 view .LVU3906
11843 0024 438D ldrh r3, [r0, #42]
11844 0026 9BB2 uxth r3, r3
5825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11845 .loc 1 5825 8 view .LVU3907
11846 0028 0BB9 cbnz r3, .L720
5825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11847 .loc 1 5825 33 discriminator 1 view .LVU3908
11848 002a 2A2A cmp r2, #42
11849 002c 00D0 beq .L723
11850 .LVL584:
11851 .L720:
5842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11852 .loc 1 5842 1 view .LVU3909
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 402
11853 002e 08BD pop {r3, pc}
11854 .LVL585:
11855 .L723:
5828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11856 .loc 1 5828 7 is_stmt 1 view .LVU3910
11857 0030 0268 ldr r2, [r0]
11858 .LVL586:
5828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11859 .loc 1 5828 7 is_stmt 0 view .LVU3911
11860 0032 5368 ldr r3, [r2, #4]
11861 0034 23F48063 bic r3, r3, #1024
11862 0038 5360 str r3, [r2, #4]
5831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
11863 .loc 1 5831 7 is_stmt 1 view .LVU3912
5831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
11864 .loc 1 5831 27 is_stmt 0 view .LVU3913
11865 003a 2223 movs r3, #34
11866 003c 0363 str r3, [r0, #48]
5832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11867 .loc 1 5832 7 is_stmt 1 view .LVU3914
5832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11868 .loc 1 5832 19 is_stmt 0 view .LVU3915
11869 003e 2823 movs r3, #40
11870 0040 80F83D30 strb r3, [r0, #61]
5838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11871 .loc 1 5838 7 is_stmt 1 view .LVU3916
11872 0044 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
11873 .LVL587:
5842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11874 .loc 1 5842 1 is_stmt 0 view .LVU3917
11875 0048 F1E7 b .L720
11876 .cfi_endproc
11877 .LFE123:
11879 .section .text.HAL_I2C_AddrCallback,"ax",%progbits
11880 .align 1
11881 .weak HAL_I2C_AddrCallback
11882 .syntax unified
11883 .thumb
11884 .thumb_func
11885 .fpu softvfp
11887 HAL_I2C_AddrCallback:
11888 .LVL588:
11889 .LFB105:
4924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11890 .loc 1 4924 1 is_stmt 1 view -0
11891 .cfi_startproc
11892 @ args = 0, pretend = 0, frame = 0
11893 @ frame_needed = 0, uses_anonymous_args = 0
11894 @ link register save eliminated.
4926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(TransferDirection);
11895 .loc 1 4926 3 view .LVU3919
4927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** UNUSED(AddrMatchCode);
11896 .loc 1 4927 3 view .LVU3920
4928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11897 .loc 1 4928 3 view .LVU3921
4933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11898 .loc 1 4933 1 is_stmt 0 view .LVU3922
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 403
11899 0000 7047 bx lr
11900 .cfi_endproc
11901 .LFE105:
11903 .section .text.I2C_Slave_ADDR,"ax",%progbits
11904 .align 1
11905 .syntax unified
11906 .thumb
11907 .thumb_func
11908 .fpu softvfp
11910 I2C_Slave_ADDR:
11911 .LVL589:
11912 .LFB125:
5873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint8_t TransferDirection = I2C_DIRECTION_RECEIVE;
11913 .loc 1 5873 1 is_stmt 1 view -0
11914 .cfi_startproc
11915 @ args = 0, pretend = 0, frame = 0
11916 @ frame_needed = 0, uses_anonymous_args = 0
5873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint8_t TransferDirection = I2C_DIRECTION_RECEIVE;
11917 .loc 1 5873 1 is_stmt 0 view .LVU3924
11918 0000 08B5 push {r3, lr}
11919 .LCFI142:
11920 .cfi_def_cfa_offset 8
11921 .cfi_offset 3, -8
11922 .cfi_offset 14, -4
5874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint16_t SlaveAddrCode;
11923 .loc 1 5874 3 is_stmt 1 view .LVU3925
11924 .LVL590:
5875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11925 .loc 1 5875 3 view .LVU3926
5877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11926 .loc 1 5877 3 view .LVU3927
5877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11927 .loc 1 5877 22 is_stmt 0 view .LVU3928
11928 0002 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
5877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11929 .loc 1 5877 6 view .LVU3929
11930 0006 03F02803 and r3, r3, #40
11931 000a 282B cmp r3, #40
11932 000c 07D0 beq .L733
5910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11933 .loc 1 5910 5 is_stmt 1 view .LVU3930
11934 000e 0368 ldr r3, [r0]
11935 0010 6FF00202 mvn r2, #2
11936 0014 5A61 str r2, [r3, #20]
5913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11937 .loc 1 5913 5 view .LVU3931
5913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11938 .loc 1 5913 5 view .LVU3932
11939 0016 0023 movs r3, #0
11940 0018 80F83C30 strb r3, [r0, #60]
11941 .LVL591:
11942 .L725:
5915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11943 .loc 1 5915 1 is_stmt 0 view .LVU3933
11944 001c 08BD pop {r3, pc}
11945 .LVL592:
11946 .L733:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 404
5880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11947 .loc 1 5880 5 is_stmt 1 view .LVU3934
11948 001e 0268 ldr r2, [r0]
11949 0020 5368 ldr r3, [r2, #4]
11950 0022 23F48063 bic r3, r3, #1024
11951 0026 5360 str r3, [r2, #4]
5883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11952 .loc 1 5883 5 view .LVU3935
5883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11953 .loc 1 5883 8 is_stmt 0 view .LVU3936
11954 0028 11F0040F tst r1, #4
11955 002c 0BD0 beq .L731
5874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint16_t SlaveAddrCode;
11956 .loc 1 5874 11 view .LVU3937
11957 002e 0023 movs r3, #0
11958 .L727:
11959 .LVL593:
5888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11960 .loc 1 5888 5 is_stmt 1 view .LVU3938
5888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
11961 .loc 1 5888 8 is_stmt 0 view .LVU3939
11962 0030 11F0800F tst r1, #128
11963 0034 09D1 bne .L728
5890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11964 .loc 1 5890 7 is_stmt 1 view .LVU3940
5890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11965 .loc 1 5890 21 is_stmt 0 view .LVU3941
11966 0036 8289 ldrh r2, [r0, #12]
11967 .LVL594:
11968 .L729:
5898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11969 .loc 1 5898 5 is_stmt 1 view .LVU3942
5898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11970 .loc 1 5898 5 view .LVU3943
11971 0038 0021 movs r1, #0
11972 .LVL595:
5898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
11973 .loc 1 5898 5 is_stmt 0 view .LVU3944
11974 003a 80F83C10 strb r1, [r0, #60]
5904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11975 .loc 1 5904 5 is_stmt 1 view .LVU3945
11976 003e 1946 mov r1, r3
11977 0040 FFF7FEFF bl HAL_I2C_AddrCallback
11978 .LVL596:
5904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11979 .loc 1 5904 5 is_stmt 0 view .LVU3946
11980 0044 EAE7 b .L725
11981 .LVL597:
11982 .L731:
5885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11983 .loc 1 5885 25 view .LVU3947
11984 0046 0123 movs r3, #1
11985 0048 F2E7 b .L727
11986 .LVL598:
11987 .L728:
5894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11988 .loc 1 5894 7 is_stmt 1 view .LVU3948
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 405
5894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11989 .loc 1 5894 21 is_stmt 0 view .LVU3949
11990 004a 028B ldrh r2, [r0, #24]
11991 .LVL599:
5894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
11992 .loc 1 5894 21 view .LVU3950
11993 004c F4E7 b .L729
11994 .cfi_endproc
11995 .LFE125:
11997 .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits
11998 .align 1
11999 .weak HAL_I2C_ListenCpltCallback
12000 .syntax unified
12001 .thumb
12002 .thumb_func
12003 .fpu softvfp
12005 HAL_I2C_ListenCpltCallback:
12006 .LVL600:
12007 .LFB106:
4942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
12008 .loc 1 4942 1 is_stmt 1 view -0
12009 .cfi_startproc
12010 @ args = 0, pretend = 0, frame = 0
12011 @ frame_needed = 0, uses_anonymous_args = 0
12012 @ link register save eliminated.
4944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12013 .loc 1 4944 3 view .LVU3952
4949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12014 .loc 1 4949 1 is_stmt 0 view .LVU3953
12015 0000 7047 bx lr
12016 .cfi_endproc
12017 .LFE106:
12019 .section .text.I2C_Slave_AF,"ax",%progbits
12020 .align 1
12021 .syntax unified
12022 .thumb
12023 .thumb_func
12024 .fpu softvfp
12026 I2C_Slave_AF:
12027 .LVL601:
12028 .LFB127:
6093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
12029 .loc 1 6093 1 is_stmt 1 view -0
12030 .cfi_startproc
12031 @ args = 0, pretend = 0, frame = 0
12032 @ frame_needed = 0, uses_anonymous_args = 0
6093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
12033 .loc 1 6093 1 is_stmt 0 view .LVU3955
12034 0000 08B5 push {r3, lr}
12035 .LCFI143:
12036 .cfi_def_cfa_offset 8
12037 .cfi_offset 3, -8
12038 .cfi_offset 14, -4
6095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
12039 .loc 1 6095 3 is_stmt 1 view .LVU3956
6095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
12040 .loc 1 6095 24 is_stmt 0 view .LVU3957
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 406
12041 0002 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
12042 0006 DBB2 uxtb r3, r3
12043 .LVL602:
6096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12044 .loc 1 6096 3 is_stmt 1 view .LVU3958
6096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12045 .loc 1 6096 12 is_stmt 0 view .LVU3959
12046 0008 C26A ldr r2, [r0, #44]
12047 .LVL603:
6098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (CurrentState == HAL_I2C_STATE_LISTEN))
12048 .loc 1 6098 3 is_stmt 1 view .LVU3960
6098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (CurrentState == HAL_I2C_STATE_LISTEN))
12049 .loc 1 6098 6 is_stmt 0 view .LVU3961
12050 000a 082A cmp r2, #8
12051 000c 01D0 beq .L736
6098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (CurrentState == HAL_I2C_STATE_LISTEN))
12052 .loc 1 6098 58 discriminator 2 view .LVU3962
12053 000e 202A cmp r2, #32
12054 0010 01D1 bne .L737
12055 .L736:
6098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** (CurrentState == HAL_I2C_STATE_LISTEN))
12056 .loc 1 6098 101 discriminator 3 view .LVU3963
12057 0012 282B cmp r3, #40
12058 0014 06D0 beq .L741
12059 .L737:
6123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12060 .loc 1 6123 8 is_stmt 1 view .LVU3964
6123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12061 .loc 1 6123 11 is_stmt 0 view .LVU3965
12062 0016 212B cmp r3, #33
12063 0018 1ED0 beq .L742
6149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12064 .loc 1 6149 5 is_stmt 1 view .LVU3966
12065 001a 0368 ldr r3, [r0]
12066 .LVL604:
6149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12067 .loc 1 6149 5 is_stmt 0 view .LVU3967
12068 001c 6FF48062 mvn r2, #1024
12069 .LVL605:
6149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12070 .loc 1 6149 5 view .LVU3968
12071 0020 5A61 str r2, [r3, #20]
12072 .LVL606:
12073 .L735:
6151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12074 .loc 1 6151 1 view .LVU3969
12075 0022 08BD pop {r3, pc}
12076 .LVL607:
12077 .L741:
6101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12078 .loc 1 6101 5 is_stmt 1 view .LVU3970
6101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12079 .loc 1 6101 23 is_stmt 0 view .LVU3971
12080 0024 1A4B ldr r3, .L743
12081 .LVL608:
6101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12082 .loc 1 6101 23 view .LVU3972
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 407
12083 0026 C362 str r3, [r0, #44]
6104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12084 .loc 1 6104 5 is_stmt 1 view .LVU3973
12085 0028 0268 ldr r2, [r0]
12086 .LVL609:
6104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12087 .loc 1 6104 5 is_stmt 0 view .LVU3974
12088 002a 5368 ldr r3, [r2, #4]
12089 002c 23F4E063 bic r3, r3, #1792
12090 0030 5360 str r3, [r2, #4]
6107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12091 .loc 1 6107 5 is_stmt 1 view .LVU3975
12092 0032 0368 ldr r3, [r0]
12093 0034 6FF48062 mvn r2, #1024
12094 0038 5A61 str r2, [r3, #20]
6110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12095 .loc 1 6110 5 view .LVU3976
12096 003a 0268 ldr r2, [r0]
12097 003c 1368 ldr r3, [r2]
12098 003e 23F48063 bic r3, r3, #1024
12099 0042 1360 str r3, [r2]
6112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12100 .loc 1 6112 5 view .LVU3977
6112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12101 .loc 1 6112 25 is_stmt 0 view .LVU3978
12102 0044 0023 movs r3, #0
12103 0046 0363 str r3, [r0, #48]
6113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
12104 .loc 1 6113 5 is_stmt 1 view .LVU3979
6113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
12105 .loc 1 6113 25 is_stmt 0 view .LVU3980
12106 0048 2022 movs r2, #32
12107 004a 80F83D20 strb r2, [r0, #61]
6114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12108 .loc 1 6114 5 is_stmt 1 view .LVU3981
6114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12109 .loc 1 6114 25 is_stmt 0 view .LVU3982
12110 004e 80F83E30 strb r3, [r0, #62]
6120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12111 .loc 1 6120 5 is_stmt 1 view .LVU3983
12112 0052 FFF7FEFF bl HAL_I2C_ListenCpltCallback
12113 .LVL610:
6120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12114 .loc 1 6120 5 is_stmt 0 view .LVU3984
12115 0056 E4E7 b .L735
12116 .LVL611:
12117 .L742:
6125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
12118 .loc 1 6125 5 is_stmt 1 view .LVU3985
6125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
12119 .loc 1 6125 25 is_stmt 0 view .LVU3986
12120 0058 0D4B ldr r3, .L743
12121 .LVL612:
6125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
12122 .loc 1 6125 25 view .LVU3987
12123 005a C362 str r3, [r0, #44]
6126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 408
12124 .loc 1 6126 5 is_stmt 1 view .LVU3988
6126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12125 .loc 1 6126 25 is_stmt 0 view .LVU3989
12126 005c 2123 movs r3, #33
12127 005e 0363 str r3, [r0, #48]
6127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
12128 .loc 1 6127 5 is_stmt 1 view .LVU3990
6127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
12129 .loc 1 6127 25 is_stmt 0 view .LVU3991
12130 0060 2023 movs r3, #32
12131 0062 80F83D30 strb r3, [r0, #61]
6128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12132 .loc 1 6128 5 is_stmt 1 view .LVU3992
6128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12133 .loc 1 6128 25 is_stmt 0 view .LVU3993
12134 0066 0023 movs r3, #0
12135 0068 80F83E30 strb r3, [r0, #62]
6131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12136 .loc 1 6131 5 is_stmt 1 view .LVU3994
12137 006c 0268 ldr r2, [r0]
12138 .LVL613:
6131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12139 .loc 1 6131 5 is_stmt 0 view .LVU3995
12140 006e 5368 ldr r3, [r2, #4]
12141 0070 23F4E063 bic r3, r3, #1792
12142 0074 5360 str r3, [r2, #4]
6134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12143 .loc 1 6134 5 is_stmt 1 view .LVU3996
12144 0076 0368 ldr r3, [r0]
12145 0078 6FF48062 mvn r2, #1024
12146 007c 5A61 str r2, [r3, #20]
6137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12147 .loc 1 6137 5 view .LVU3997
12148 007e 0268 ldr r2, [r0]
12149 0080 1368 ldr r3, [r2]
12150 0082 23F48063 bic r3, r3, #1024
12151 0086 1360 str r3, [r2]
6142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12152 .loc 1 6142 5 view .LVU3998
12153 0088 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
12154 .LVL614:
6142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12155 .loc 1 6142 5 is_stmt 0 view .LVU3999
12156 008c C9E7 b .L735
12157 .L744:
12158 008e 00BF .align 2
12159 .L743:
12160 0090 0000FFFF .word -65536
12161 .cfi_endproc
12162 .LFE127:
12164 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
12165 .align 1
12166 .weak HAL_I2C_MemTxCpltCallback
12167 .syntax unified
12168 .thumb
12169 .thumb_func
12170 .fpu softvfp
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 409
12172 HAL_I2C_MemTxCpltCallback:
12173 .LVL615:
12174 .LFB107:
4958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
12175 .loc 1 4958 1 is_stmt 1 view -0
12176 .cfi_startproc
12177 @ args = 0, pretend = 0, frame = 0
12178 @ frame_needed = 0, uses_anonymous_args = 0
12179 @ link register save eliminated.
4960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12180 .loc 1 4960 3 view .LVU4001
4965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12181 .loc 1 4965 1 is_stmt 0 view .LVU4002
12182 0000 7047 bx lr
12183 .cfi_endproc
12184 .LFE107:
12186 .section .text.I2C_MasterTransmit_TXE,"ax",%progbits
12187 .align 1
12188 .syntax unified
12189 .thumb
12190 .thumb_func
12191 .fpu softvfp
12193 I2C_MasterTransmit_TXE:
12194 .LVL616:
12195 .LFB114:
5087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
12196 .loc 1 5087 1 is_stmt 1 view -0
12197 .cfi_startproc
12198 @ args = 0, pretend = 0, frame = 0
12199 @ frame_needed = 0, uses_anonymous_args = 0
5087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
12200 .loc 1 5087 1 is_stmt 0 view .LVU4004
12201 0000 10B5 push {r4, lr}
12202 .LCFI144:
12203 .cfi_def_cfa_offset 8
12204 .cfi_offset 4, -8
12205 .cfi_offset 14, -4
5089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode;
12206 .loc 1 5089 3 is_stmt 1 view .LVU4005
5089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode;
12207 .loc 1 5089 24 is_stmt 0 view .LVU4006
12208 0002 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
12209 0006 DBB2 uxtb r3, r3
12210 .LVL617:
5090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
12211 .loc 1 5090 3 is_stmt 1 view .LVU4007
5090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
12212 .loc 1 5090 23 is_stmt 0 view .LVU4008
12213 0008 90F83E20 ldrb r2, [r0, #62] @ zero_extendqisi2
12214 000c D2B2 uxtb r2, r2
12215 .LVL618:
5091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12216 .loc 1 5091 3 is_stmt 1 view .LVU4009
5091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12217 .loc 1 5091 12 is_stmt 0 view .LVU4010
12218 000e C46A ldr r4, [r0, #44]
12219 .LVL619:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 410
5093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12220 .loc 1 5093 3 is_stmt 1 view .LVU4011
5093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12221 .loc 1 5093 12 is_stmt 0 view .LVU4012
12222 0010 018D ldrh r1, [r0, #40]
5093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12223 .loc 1 5093 6 view .LVU4013
12224 0012 09B9 cbnz r1, .L747
5093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12225 .loc 1 5093 30 discriminator 1 view .LVU4014
12226 0014 212B cmp r3, #33
12227 0016 04D0 beq .L759
12228 .L747:
5141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((CurrentMode == HAL_I2C_MODE_MEM) && (CurrentState == HAL_I2C_STATE_BUSY_RX)))
12229 .loc 1 5141 8 is_stmt 1 view .LVU4015
5141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((CurrentMode == HAL_I2C_MODE_MEM) && (CurrentState == HAL_I2C_STATE_BUSY_RX)))
12230 .loc 1 5141 11 is_stmt 0 view .LVU4016
12231 0018 212B cmp r3, #33
12232 001a 3BD0 beq .L751
5141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((CurrentMode == HAL_I2C_MODE_MEM) && (CurrentState == HAL_I2C_STATE_BUSY_RX)))
12233 .loc 1 5141 52 discriminator 1 view .LVU4017
12234 001c 402A cmp r2, #64
12235 001e 37D0 beq .L760
12236 .LVL620:
12237 .L746:
5224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12238 .loc 1 5224 1 view .LVU4018
12239 0020 10BD pop {r4, pc}
12240 .LVL621:
12241 .L759:
5096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12242 .loc 1 5096 5 is_stmt 1 view .LVU4019
5096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12243 .loc 1 5096 8 is_stmt 0 view .LVU4020
12244 0022 082C cmp r4, #8
12245 0024 04D0 beq .L748
5096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12246 .loc 1 5096 58 discriminator 1 view .LVU4021
12247 0026 202C cmp r4, #32
12248 0028 02D0 beq .L748
5096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12249 .loc 1 5096 100 discriminator 2 view .LVU4022
12250 002a 14F5803F cmn r4, #65536
12251 002e 19D1 bne .L761
12252 .L748:
5113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12253 .loc 1 5113 7 is_stmt 1 view .LVU4023
12254 0030 0268 ldr r2, [r0]
12255 .LVL622:
5113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12256 .loc 1 5113 7 is_stmt 0 view .LVU4024
12257 0032 5368 ldr r3, [r2, #4]
12258 .LVL623:
5113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12259 .loc 1 5113 7 view .LVU4025
12260 0034 23F4E063 bic r3, r3, #1792
12261 0038 5360 str r3, [r2, #4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 411
5116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12262 .loc 1 5116 7 is_stmt 1 view .LVU4026
12263 003a 0268 ldr r2, [r0]
12264 003c 1368 ldr r3, [r2]
12265 003e 43F40073 orr r3, r3, #512
12266 0042 1360 str r3, [r2]
5118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12267 .loc 1 5118 7 view .LVU4027
5118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12268 .loc 1 5118 27 is_stmt 0 view .LVU4028
12269 0044 0023 movs r3, #0
12270 0046 0363 str r3, [r0, #48]
5119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12271 .loc 1 5119 7 is_stmt 1 view .LVU4029
5119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12272 .loc 1 5119 19 is_stmt 0 view .LVU4030
12273 0048 2023 movs r3, #32
12274 004a 80F83D30 strb r3, [r0, #61]
5121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12275 .loc 1 5121 7 is_stmt 1 view .LVU4031
5121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12276 .loc 1 5121 15 is_stmt 0 view .LVU4032
12277 004e 90F83E30 ldrb r3, [r0, #62] @ zero_extendqisi2
12278 0052 DBB2 uxtb r3, r3
5121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12279 .loc 1 5121 10 view .LVU4033
12280 0054 402B cmp r3, #64
12281 0056 15D0 beq .L762
5132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
12282 .loc 1 5132 9 is_stmt 1 view .LVU4034
5132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
12283 .loc 1 5132 20 is_stmt 0 view .LVU4035
12284 0058 0023 movs r3, #0
12285 005a 80F83E30 strb r3, [r0, #62]
5136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12286 .loc 1 5136 9 is_stmt 1 view .LVU4036
12287 005e FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
12288 .LVL624:
5136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12289 .loc 1 5136 9 is_stmt 0 view .LVU4037
12290 0062 DDE7 b .L746
12291 .LVL625:
12292 .L761:
5098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12293 .loc 1 5098 7 is_stmt 1 view .LVU4038
12294 0064 0268 ldr r2, [r0]
12295 .LVL626:
5098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12296 .loc 1 5098 7 is_stmt 0 view .LVU4039
12297 0066 5368 ldr r3, [r2, #4]
12298 .LVL627:
5098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12299 .loc 1 5098 7 view .LVU4040
12300 0068 23F4E063 bic r3, r3, #1792
12301 006c 5360 str r3, [r2, #4]
5100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
12302 .loc 1 5100 7 is_stmt 1 view .LVU4041
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 412
5100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
12303 .loc 1 5100 27 is_stmt 0 view .LVU4042
12304 006e 1123 movs r3, #17
12305 0070 0363 str r3, [r0, #48]
5101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12306 .loc 1 5101 7 is_stmt 1 view .LVU4043
5101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12307 .loc 1 5101 18 is_stmt 0 view .LVU4044
12308 0072 0023 movs r3, #0
12309 0074 80F83E30 strb r3, [r0, #62]
5102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12310 .loc 1 5102 7 is_stmt 1 view .LVU4045
5102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12311 .loc 1 5102 19 is_stmt 0 view .LVU4046
12312 0078 2023 movs r3, #32
12313 007a 80F83D30 strb r3, [r0, #61]
5107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12314 .loc 1 5107 7 is_stmt 1 view .LVU4047
12315 007e FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
12316 .LVL628:
5107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12317 .loc 1 5107 7 is_stmt 0 view .LVU4048
12318 0082 CDE7 b .L746
12319 .LVL629:
12320 .L762:
5123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
12321 .loc 1 5123 9 is_stmt 1 view .LVU4049
5123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
12322 .loc 1 5123 20 is_stmt 0 view .LVU4050
12323 0084 0023 movs r3, #0
12324 0086 80F83E30 strb r3, [r0, #62]
5127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12325 .loc 1 5127 9 is_stmt 1 view .LVU4051
12326 008a FFF7FEFF bl HAL_I2C_MemTxCpltCallback
12327 .LVL630:
5127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12328 .loc 1 5127 9 is_stmt 0 view .LVU4052
12329 008e C7E7 b .L746
12330 .LVL631:
12331 .L760:
5142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12332 .loc 1 5142 47 view .LVU4053
12333 0090 222B cmp r3, #34
12334 0092 C5D1 bne .L746
12335 .L751:
5144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12336 .loc 1 5144 5 is_stmt 1 view .LVU4054
5144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12337 .loc 1 5144 13 is_stmt 0 view .LVU4055
12338 0094 438D ldrh r3, [r0, #42]
12339 .LVL632:
5144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12340 .loc 1 5144 13 view .LVU4056
12341 0096 9BB2 uxth r3, r3
5144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12342 .loc 1 5144 8 view .LVU4057
12343 0098 2BB9 cbnz r3, .L752
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 413
5147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12344 .loc 1 5147 7 is_stmt 1 view .LVU4058
12345 009a 0268 ldr r2, [r0]
12346 .LVL633:
5147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12347 .loc 1 5147 7 is_stmt 0 view .LVU4059
12348 009c 5368 ldr r3, [r2, #4]
12349 009e 23F48063 bic r3, r3, #1024
12350 00a2 5360 str r3, [r2, #4]
12351 00a4 BCE7 b .L746
12352 .LVL634:
12353 .L752:
5151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12354 .loc 1 5151 7 is_stmt 1 view .LVU4060
5151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12355 .loc 1 5151 15 is_stmt 0 view .LVU4061
12356 00a6 90F83E30 ldrb r3, [r0, #62] @ zero_extendqisi2
12357 00aa DBB2 uxtb r3, r3
5151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12358 .loc 1 5151 10 view .LVU4062
12359 00ac 402B cmp r3, #64
12360 00ae 0BD0 beq .L763
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12361 .loc 1 5210 9 is_stmt 1 view .LVU4063
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12362 .loc 1 5210 35 is_stmt 0 view .LVU4064
12363 00b0 426A ldr r2, [r0, #36]
12364 .LVL635:
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12365 .loc 1 5210 13 view .LVU4065
12366 00b2 0368 ldr r3, [r0]
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12367 .loc 1 5210 30 view .LVU4066
12368 00b4 1278 ldrb r2, [r2] @ zero_extendqisi2
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12369 .loc 1 5210 28 view .LVU4067
12370 00b6 1A61 str r2, [r3, #16]
5213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12371 .loc 1 5213 9 is_stmt 1 view .LVU4068
5213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12372 .loc 1 5213 13 is_stmt 0 view .LVU4069
12373 00b8 436A ldr r3, [r0, #36]
5213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12374 .loc 1 5213 23 view .LVU4070
12375 00ba 0133 adds r3, r3, #1
12376 00bc 4362 str r3, [r0, #36]
5216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12377 .loc 1 5216 9 is_stmt 1 view .LVU4071
5216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12378 .loc 1 5216 13 is_stmt 0 view .LVU4072
12379 00be 438D ldrh r3, [r0, #42]
5216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12380 .loc 1 5216 24 view .LVU4073
12381 00c0 013B subs r3, r3, #1
12382 00c2 9BB2 uxth r3, r3
12383 00c4 4385 strh r3, [r0, #42] @ movhi
5224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 414
12384 .loc 1 5224 1 view .LVU4074
12385 00c6 ABE7 b .L746
12386 .LVL636:
12387 .L763:
5153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12388 .loc 1 5153 9 is_stmt 1 view .LVU4075
5153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12389 .loc 1 5153 17 is_stmt 0 view .LVU4076
12390 00c8 036D ldr r3, [r0, #80]
5153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12391 .loc 1 5153 12 view .LVU4077
12392 00ca 9BB9 cbnz r3, .L754
5156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12393 .loc 1 5156 11 is_stmt 1 view .LVU4078
5156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12394 .loc 1 5156 19 is_stmt 0 view .LVU4079
12395 00cc C36C ldr r3, [r0, #76]
5156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12396 .loc 1 5156 14 view .LVU4080
12397 00ce 012B cmp r3, #1
12398 00d0 08D0 beq .L764
5167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12399 .loc 1 5167 13 is_stmt 1 view .LVU4081
5167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12400 .loc 1 5167 34 is_stmt 0 view .LVU4082
12401 00d2 836C ldr r3, [r0, #72]
12402 00d4 C3F30723 ubfx r3, r3, #8, #8
5167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12403 .loc 1 5167 17 view .LVU4083
12404 00d8 0268 ldr r2, [r0]
12405 .LVL637:
5167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12406 .loc 1 5167 32 view .LVU4084
12407 00da 1361 str r3, [r2, #16]
5169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12408 .loc 1 5169 13 is_stmt 1 view .LVU4085
5169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12409 .loc 1 5169 17 is_stmt 0 view .LVU4086
12410 00dc 036D ldr r3, [r0, #80]
5169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12411 .loc 1 5169 29 view .LVU4087
12412 00de 0133 adds r3, r3, #1
12413 00e0 0365 str r3, [r0, #80]
12414 00e2 9DE7 b .L746
12415 .LVL638:
12416 .L764:
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12417 .loc 1 5159 13 is_stmt 1 view .LVU4088
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12418 .loc 1 5159 34 is_stmt 0 view .LVU4089
12419 00e4 836C ldr r3, [r0, #72]
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12420 .loc 1 5159 17 view .LVU4090
12421 00e6 0268 ldr r2, [r0]
12422 .LVL639:
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12423 .loc 1 5159 17 view .LVU4091
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 415
12424 00e8 DBB2 uxtb r3, r3
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12425 .loc 1 5159 32 view .LVU4092
12426 00ea 1361 str r3, [r2, #16]
5161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12427 .loc 1 5161 13 is_stmt 1 view .LVU4093
5161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12428 .loc 1 5161 30 is_stmt 0 view .LVU4094
12429 00ec 036D ldr r3, [r0, #80]
12430 00ee 0233 adds r3, r3, #2
12431 00f0 0365 str r3, [r0, #80]
12432 00f2 95E7 b .L746
12433 .LVL640:
12434 .L754:
5172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12435 .loc 1 5172 14 is_stmt 1 view .LVU4095
5172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12436 .loc 1 5172 22 is_stmt 0 view .LVU4096
12437 00f4 036D ldr r3, [r0, #80]
5172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12438 .loc 1 5172 17 view .LVU4097
12439 00f6 012B cmp r3, #1
12440 00f8 18D0 beq .L765
5179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12441 .loc 1 5179 14 is_stmt 1 view .LVU4098
5179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12442 .loc 1 5179 22 is_stmt 0 view .LVU4099
12443 00fa 036D ldr r3, [r0, #80]
5179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12444 .loc 1 5179 17 view .LVU4100
12445 00fc 022B cmp r3, #2
12446 00fe 8FD1 bne .L746
5181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12447 .loc 1 5181 11 is_stmt 1 view .LVU4101
5181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12448 .loc 1 5181 19 is_stmt 0 view .LVU4102
12449 0100 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
12450 0104 DBB2 uxtb r3, r3
5181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12451 .loc 1 5181 14 view .LVU4103
12452 0106 222B cmp r3, #34
12453 0108 18D0 beq .L766
5186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12454 .loc 1 5186 16 is_stmt 1 view .LVU4104
5186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12455 .loc 1 5186 24 is_stmt 0 view .LVU4105
12456 010a 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
12457 010e DBB2 uxtb r3, r3
5186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12458 .loc 1 5186 19 view .LVU4106
12459 0110 212B cmp r3, #33
12460 0112 85D1 bne .L746
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12461 .loc 1 5189 13 is_stmt 1 view .LVU4107
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12462 .loc 1 5189 39 is_stmt 0 view .LVU4108
12463 0114 426A ldr r2, [r0, #36]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 416
12464 .LVL641:
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12465 .loc 1 5189 17 view .LVU4109
12466 0116 0368 ldr r3, [r0]
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12467 .loc 1 5189 34 view .LVU4110
12468 0118 1278 ldrb r2, [r2] @ zero_extendqisi2
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12469 .loc 1 5189 32 view .LVU4111
12470 011a 1A61 str r2, [r3, #16]
5192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12471 .loc 1 5192 13 is_stmt 1 view .LVU4112
5192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12472 .loc 1 5192 17 is_stmt 0 view .LVU4113
12473 011c 436A ldr r3, [r0, #36]
5192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12474 .loc 1 5192 27 view .LVU4114
12475 011e 0133 adds r3, r3, #1
12476 0120 4362 str r3, [r0, #36]
5195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12477 .loc 1 5195 13 is_stmt 1 view .LVU4115
5195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12478 .loc 1 5195 17 is_stmt 0 view .LVU4116
12479 0122 438D ldrh r3, [r0, #42]
5195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12480 .loc 1 5195 28 view .LVU4117
12481 0124 013B subs r3, r3, #1
12482 0126 9BB2 uxth r3, r3
12483 0128 4385 strh r3, [r0, #42] @ movhi
12484 012a 79E7 b .L746
12485 .LVL642:
12486 .L765:
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12487 .loc 1 5175 11 is_stmt 1 view .LVU4118
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12488 .loc 1 5175 32 is_stmt 0 view .LVU4119
12489 012c 836C ldr r3, [r0, #72]
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12490 .loc 1 5175 15 view .LVU4120
12491 012e 0268 ldr r2, [r0]
12492 .LVL643:
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12493 .loc 1 5175 15 view .LVU4121
12494 0130 DBB2 uxtb r3, r3
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12495 .loc 1 5175 30 view .LVU4122
12496 0132 1361 str r3, [r2, #16]
5177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12497 .loc 1 5177 11 is_stmt 1 view .LVU4123
5177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12498 .loc 1 5177 15 is_stmt 0 view .LVU4124
12499 0134 036D ldr r3, [r0, #80]
5177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12500 .loc 1 5177 27 view .LVU4125
12501 0136 0133 adds r3, r3, #1
12502 0138 0365 str r3, [r0, #80]
12503 013a 71E7 b .L746
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 417
12504 .LVL644:
12505 .L766:
5184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12506 .loc 1 5184 13 is_stmt 1 view .LVU4126
5184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12507 .loc 1 5184 17 is_stmt 0 view .LVU4127
12508 013c 0268 ldr r2, [r0]
12509 .LVL645:
5184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12510 .loc 1 5184 33 view .LVU4128
12511 013e 1368 ldr r3, [r2]
12512 0140 43F48073 orr r3, r3, #256
12513 0144 1360 str r3, [r2]
12514 0146 6BE7 b .L746
12515 .cfi_endproc
12516 .LFE114:
12518 .section .text.I2C_MasterTransmit_BTF,"ax",%progbits
12519 .align 1
12520 .syntax unified
12521 .thumb
12522 .thumb_func
12523 .fpu softvfp
12525 I2C_MasterTransmit_BTF:
12526 .LVL646:
12527 .LFB115:
5233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
12528 .loc 1 5233 1 is_stmt 1 view -0
12529 .cfi_startproc
12530 @ args = 0, pretend = 0, frame = 0
12531 @ frame_needed = 0, uses_anonymous_args = 0
5233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
12532 .loc 1 5233 1 is_stmt 0 view .LVU4130
12533 0000 08B5 push {r3, lr}
12534 .LCFI145:
12535 .cfi_def_cfa_offset 8
12536 .cfi_offset 3, -8
12537 .cfi_offset 14, -4
5235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12538 .loc 1 5235 3 is_stmt 1 view .LVU4131
5235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12539 .loc 1 5235 12 is_stmt 0 view .LVU4132
12540 0002 C26A ldr r2, [r0, #44]
12541 .LVL647:
5237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12542 .loc 1 5237 3 is_stmt 1 view .LVU4133
5237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12543 .loc 1 5237 11 is_stmt 0 view .LVU4134
12544 0004 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
12545 0008 DBB2 uxtb r3, r3
5237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12546 .loc 1 5237 6 view .LVU4135
12547 000a 212B cmp r3, #33
12548 000c 00D0 beq .L773
12549 .LVL648:
12550 .L767:
5300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12551 .loc 1 5300 1 view .LVU4136
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 418
12552 000e 08BD pop {r3, pc}
12553 .LVL649:
12554 .L773:
5239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12555 .loc 1 5239 5 is_stmt 1 view .LVU4137
5239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12556 .loc 1 5239 13 is_stmt 0 view .LVU4138
12557 0010 438D ldrh r3, [r0, #42]
12558 0012 9BB2 uxth r3, r3
5239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12559 .loc 1 5239 8 view .LVU4139
12560 0014 5BB1 cbz r3, .L769
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12561 .loc 1 5242 7 is_stmt 1 view .LVU4140
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12562 .loc 1 5242 33 is_stmt 0 view .LVU4141
12563 0016 426A ldr r2, [r0, #36]
12564 .LVL650:
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12565 .loc 1 5242 11 view .LVU4142
12566 0018 0368 ldr r3, [r0]
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12567 .loc 1 5242 28 view .LVU4143
12568 001a 1278 ldrb r2, [r2] @ zero_extendqisi2
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12569 .loc 1 5242 26 view .LVU4144
12570 001c 1A61 str r2, [r3, #16]
5245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12571 .loc 1 5245 7 is_stmt 1 view .LVU4145
5245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12572 .loc 1 5245 11 is_stmt 0 view .LVU4146
12573 001e 436A ldr r3, [r0, #36]
5245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12574 .loc 1 5245 21 view .LVU4147
12575 0020 0133 adds r3, r3, #1
12576 0022 4362 str r3, [r0, #36]
5248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12577 .loc 1 5248 7 is_stmt 1 view .LVU4148
5248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12578 .loc 1 5248 11 is_stmt 0 view .LVU4149
12579 0024 438D ldrh r3, [r0, #42]
5248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12580 .loc 1 5248 22 view .LVU4150
12581 0026 013B subs r3, r3, #1
12582 0028 9BB2 uxth r3, r3
12583 002a 4385 strh r3, [r0, #42] @ movhi
12584 002c EFE7 b .L767
12585 .LVL651:
12586 .L769:
5253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12587 .loc 1 5253 7 is_stmt 1 view .LVU4151
5253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12588 .loc 1 5253 10 is_stmt 0 view .LVU4152
12589 002e 082A cmp r2, #8
12590 0030 04D0 beq .L770
5253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12591 .loc 1 5253 60 discriminator 1 view .LVU4153
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 419
12592 0032 202A cmp r2, #32
12593 0034 02D0 beq .L770
5253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12594 .loc 1 5253 102 discriminator 2 view .LVU4154
12595 0036 12F5803F cmn r2, #65536
12596 003a 19D1 bne .L774
12597 .L770:
5270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12598 .loc 1 5270 9 is_stmt 1 view .LVU4155
12599 003c 0268 ldr r2, [r0]
12600 .LVL652:
5270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12601 .loc 1 5270 9 is_stmt 0 view .LVU4156
12602 003e 5368 ldr r3, [r2, #4]
12603 0040 23F4E063 bic r3, r3, #1792
12604 0044 5360 str r3, [r2, #4]
5273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12605 .loc 1 5273 9 is_stmt 1 view .LVU4157
12606 0046 0268 ldr r2, [r0]
12607 0048 1368 ldr r3, [r2]
12608 004a 43F40073 orr r3, r3, #512
12609 004e 1360 str r3, [r2]
5275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12610 .loc 1 5275 9 view .LVU4158
5275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12611 .loc 1 5275 29 is_stmt 0 view .LVU4159
12612 0050 0023 movs r3, #0
12613 0052 0363 str r3, [r0, #48]
5276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12614 .loc 1 5276 9 is_stmt 1 view .LVU4160
5276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12615 .loc 1 5276 21 is_stmt 0 view .LVU4161
12616 0054 2023 movs r3, #32
12617 0056 80F83D30 strb r3, [r0, #61]
5278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12618 .loc 1 5278 9 is_stmt 1 view .LVU4162
5278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12619 .loc 1 5278 17 is_stmt 0 view .LVU4163
12620 005a 90F83E30 ldrb r3, [r0, #62] @ zero_extendqisi2
12621 005e DBB2 uxtb r3, r3
5278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12622 .loc 1 5278 12 view .LVU4164
12623 0060 402B cmp r3, #64
12624 0062 15D0 beq .L775
5289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12625 .loc 1 5289 11 is_stmt 1 view .LVU4165
5289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12626 .loc 1 5289 22 is_stmt 0 view .LVU4166
12627 0064 0023 movs r3, #0
12628 0066 80F83E30 strb r3, [r0, #62]
5294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12629 .loc 1 5294 11 is_stmt 1 view .LVU4167
12630 006a FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
12631 .LVL653:
5300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12632 .loc 1 5300 1 is_stmt 0 view .LVU4168
12633 006e CEE7 b .L767
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 420
12634 .LVL654:
12635 .L774:
5255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12636 .loc 1 5255 9 is_stmt 1 view .LVU4169
12637 0070 0268 ldr r2, [r0]
12638 .LVL655:
5255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12639 .loc 1 5255 9 is_stmt 0 view .LVU4170
12640 0072 5368 ldr r3, [r2, #4]
12641 0074 23F4E063 bic r3, r3, #1792
12642 0078 5360 str r3, [r2, #4]
5257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
12643 .loc 1 5257 9 is_stmt 1 view .LVU4171
5257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
12644 .loc 1 5257 29 is_stmt 0 view .LVU4172
12645 007a 1123 movs r3, #17
12646 007c 0363 str r3, [r0, #48]
5258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12647 .loc 1 5258 9 is_stmt 1 view .LVU4173
5258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12648 .loc 1 5258 20 is_stmt 0 view .LVU4174
12649 007e 0023 movs r3, #0
12650 0080 80F83E30 strb r3, [r0, #62]
5259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12651 .loc 1 5259 9 is_stmt 1 view .LVU4175
5259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12652 .loc 1 5259 21 is_stmt 0 view .LVU4176
12653 0084 2023 movs r3, #32
12654 0086 80F83D30 strb r3, [r0, #61]
5264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12655 .loc 1 5264 9 is_stmt 1 view .LVU4177
12656 008a FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
12657 .LVL656:
5264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12658 .loc 1 5264 9 is_stmt 0 view .LVU4178
12659 008e BEE7 b .L767
12660 .LVL657:
12661 .L775:
5280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
12662 .loc 1 5280 11 is_stmt 1 view .LVU4179
5280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
12663 .loc 1 5280 22 is_stmt 0 view .LVU4180
12664 0090 0023 movs r3, #0
12665 0092 80F83E30 strb r3, [r0, #62]
5284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12666 .loc 1 5284 11 is_stmt 1 view .LVU4181
12667 0096 FFF7FEFF bl HAL_I2C_MemTxCpltCallback
12668 .LVL658:
5284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12669 .loc 1 5284 11 is_stmt 0 view .LVU4182
12670 009a B8E7 b .L767
12671 .cfi_endproc
12672 .LFE115:
12674 .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
12675 .align 1
12676 .weak HAL_I2C_MemRxCpltCallback
12677 .syntax unified
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 421
12678 .thumb
12679 .thumb_func
12680 .fpu softvfp
12682 HAL_I2C_MemRxCpltCallback:
12683 .LVL659:
12684 .LFB108:
4974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
12685 .loc 1 4974 1 is_stmt 1 view -0
12686 .cfi_startproc
12687 @ args = 0, pretend = 0, frame = 0
12688 @ frame_needed = 0, uses_anonymous_args = 0
12689 @ link register save eliminated.
4976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12690 .loc 1 4976 3 view .LVU4184
4981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12691 .loc 1 4981 1 is_stmt 0 view .LVU4185
12692 0000 7047 bx lr
12693 .cfi_endproc
12694 .LFE108:
12696 .section .text.I2C_MasterReceive_RXNE,"ax",%progbits
12697 .align 1
12698 .syntax unified
12699 .thumb
12700 .thumb_func
12701 .fpu softvfp
12703 I2C_MasterReceive_RXNE:
12704 .LVL660:
12705 .LFB116:
5309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
12706 .loc 1 5309 1 is_stmt 1 view -0
12707 .cfi_startproc
12708 @ args = 0, pretend = 0, frame = 0
12709 @ frame_needed = 0, uses_anonymous_args = 0
5309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
12710 .loc 1 5309 1 is_stmt 0 view .LVU4187
12711 0000 08B5 push {r3, lr}
12712 .LCFI146:
12713 .cfi_def_cfa_offset 8
12714 .cfi_offset 3, -8
12715 .cfi_offset 14, -4
5310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12716 .loc 1 5310 3 is_stmt 1 view .LVU4188
5310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12717 .loc 1 5310 11 is_stmt 0 view .LVU4189
12718 0002 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
12719 0006 DBB2 uxtb r3, r3
5310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12720 .loc 1 5310 6 view .LVU4190
12721 0008 222B cmp r3, #34
12722 000a 00D0 beq .L782
12723 .LVL661:
12724 .L777:
5381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12725 .loc 1 5381 1 view .LVU4191
12726 000c 08BD pop {r3, pc}
12727 .LVL662:
12728 .L782:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 422
12729 .LBB109:
5312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12730 .loc 1 5312 5 is_stmt 1 view .LVU4192
5314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (tmp > 3U)
12731 .loc 1 5314 5 view .LVU4193
5314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (tmp > 3U)
12732 .loc 1 5314 15 is_stmt 0 view .LVU4194
12733 000e 438D ldrh r3, [r0, #42]
12734 0010 9BB2 uxth r3, r3
12735 .LVL663:
5315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12736 .loc 1 5315 5 is_stmt 1 view .LVU4195
5315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12737 .loc 1 5315 8 is_stmt 0 view .LVU4196
12738 0012 032B cmp r3, #3
12739 0014 14D9 bls .L779
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12740 .loc 1 5318 7 is_stmt 1 view .LVU4197
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12741 .loc 1 5318 38 is_stmt 0 view .LVU4198
12742 0016 0368 ldr r3, [r0]
12743 .LVL664:
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12744 .loc 1 5318 48 view .LVU4199
12745 0018 1A69 ldr r2, [r3, #16]
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12746 .loc 1 5318 12 view .LVU4200
12747 001a 436A ldr r3, [r0, #36]
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12748 .loc 1 5318 23 view .LVU4201
12749 001c 1A70 strb r2, [r3]
5321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12750 .loc 1 5321 7 is_stmt 1 view .LVU4202
5321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12751 .loc 1 5321 11 is_stmt 0 view .LVU4203
12752 001e 436A ldr r3, [r0, #36]
5321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12753 .loc 1 5321 21 view .LVU4204
12754 0020 0133 adds r3, r3, #1
12755 0022 4362 str r3, [r0, #36]
5324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12756 .loc 1 5324 7 is_stmt 1 view .LVU4205
5324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12757 .loc 1 5324 11 is_stmt 0 view .LVU4206
12758 0024 438D ldrh r3, [r0, #42]
5324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12759 .loc 1 5324 22 view .LVU4207
12760 0026 013B subs r3, r3, #1
12761 0028 9BB2 uxth r3, r3
12762 002a 4385 strh r3, [r0, #42] @ movhi
5326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12763 .loc 1 5326 7 is_stmt 1 view .LVU4208
5326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12764 .loc 1 5326 15 is_stmt 0 view .LVU4209
12765 002c 438D ldrh r3, [r0, #42]
12766 002e 9BB2 uxth r3, r3
5326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 423
12767 .loc 1 5326 10 view .LVU4210
12768 0030 032B cmp r3, #3
12769 0032 EBD1 bne .L777
5331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12770 .loc 1 5331 9 is_stmt 1 view .LVU4211
12771 0034 0268 ldr r2, [r0]
12772 0036 5368 ldr r3, [r2, #4]
12773 0038 23F48063 bic r3, r3, #1024
12774 003c 5360 str r3, [r2, #4]
12775 003e E5E7 b .L777
12776 .LVL665:
12777 .L779:
5334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12778 .loc 1 5334 10 view .LVU4212
5334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12779 .loc 1 5334 19 is_stmt 0 view .LVU4213
12780 0040 C26A ldr r2, [r0, #44]
5334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12781 .loc 1 5334 13 view .LVU4214
12782 0042 022A cmp r2, #2
12783 0044 E2D0 beq .L777
5334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12784 .loc 1 5334 62 discriminator 1 view .LVU4215
12785 0046 012B cmp r3, #1
12786 0048 E0D8 bhi .L777
5337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12787 .loc 1 5337 7 is_stmt 1 view .LVU4216
12788 004a 0268 ldr r2, [r0]
12789 004c 1368 ldr r3, [r2]
12790 .LVL666:
5337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12791 .loc 1 5337 7 is_stmt 0 view .LVU4217
12792 004e 23F48063 bic r3, r3, #1024
12793 0052 1360 str r3, [r2]
5340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12794 .loc 1 5340 7 is_stmt 1 view .LVU4218
12795 0054 0268 ldr r2, [r0]
12796 0056 5368 ldr r3, [r2, #4]
12797 0058 23F4E063 bic r3, r3, #1792
12798 005c 5360 str r3, [r2, #4]
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12799 .loc 1 5343 7 view .LVU4219
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12800 .loc 1 5343 38 is_stmt 0 view .LVU4220
12801 005e 0368 ldr r3, [r0]
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12802 .loc 1 5343 48 view .LVU4221
12803 0060 1A69 ldr r2, [r3, #16]
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12804 .loc 1 5343 12 view .LVU4222
12805 0062 436A ldr r3, [r0, #36]
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12806 .loc 1 5343 23 view .LVU4223
12807 0064 1A70 strb r2, [r3]
5346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12808 .loc 1 5346 7 is_stmt 1 view .LVU4224
5346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 424
12809 .loc 1 5346 11 is_stmt 0 view .LVU4225
12810 0066 436A ldr r3, [r0, #36]
5346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12811 .loc 1 5346 21 view .LVU4226
12812 0068 0133 adds r3, r3, #1
12813 006a 4362 str r3, [r0, #36]
5349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12814 .loc 1 5349 7 is_stmt 1 view .LVU4227
5349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12815 .loc 1 5349 11 is_stmt 0 view .LVU4228
12816 006c 438D ldrh r3, [r0, #42]
5349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12817 .loc 1 5349 22 view .LVU4229
12818 006e 013B subs r3, r3, #1
12819 0070 9BB2 uxth r3, r3
12820 0072 4385 strh r3, [r0, #42] @ movhi
5351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12821 .loc 1 5351 7 is_stmt 1 view .LVU4230
5351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12822 .loc 1 5351 19 is_stmt 0 view .LVU4231
12823 0074 2023 movs r3, #32
12824 0076 80F83D30 strb r3, [r0, #61]
5353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12825 .loc 1 5353 7 is_stmt 1 view .LVU4232
5353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12826 .loc 1 5353 15 is_stmt 0 view .LVU4233
12827 007a 90F83E30 ldrb r3, [r0, #62] @ zero_extendqisi2
12828 007e DBB2 uxtb r3, r3
5353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12829 .loc 1 5353 10 view .LVU4234
12830 0080 402B cmp r3, #64
12831 0082 07D0 beq .L783
5366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
12832 .loc 1 5366 9 is_stmt 1 view .LVU4235
5366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
12833 .loc 1 5366 20 is_stmt 0 view .LVU4236
12834 0084 0023 movs r3, #0
12835 0086 80F83E30 strb r3, [r0, #62]
5367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12836 .loc 1 5367 9 is_stmt 1 view .LVU4237
5367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12837 .loc 1 5367 29 is_stmt 0 view .LVU4238
12838 008a 1223 movs r3, #18
12839 008c 0363 str r3, [r0, #48]
5372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12840 .loc 1 5372 9 is_stmt 1 view .LVU4239
12841 008e FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
12842 .LVL667:
5379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12843 .loc 1 5379 5 view .LVU4240
12844 .LBE109:
5381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12845 .loc 1 5381 1 is_stmt 0 view .LVU4241
12846 0092 BBE7 b .L777
12847 .LVL668:
12848 .L783:
12849 .LBB110:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 425
5355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12850 .loc 1 5355 9 is_stmt 1 view .LVU4242
5355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12851 .loc 1 5355 20 is_stmt 0 view .LVU4243
12852 0094 0023 movs r3, #0
12853 0096 80F83E30 strb r3, [r0, #62]
5356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12854 .loc 1 5356 9 is_stmt 1 view .LVU4244
5356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12855 .loc 1 5356 29 is_stmt 0 view .LVU4245
12856 009a 0363 str r3, [r0, #48]
5361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12857 .loc 1 5361 9 is_stmt 1 view .LVU4246
12858 009c FFF7FEFF bl HAL_I2C_MemRxCpltCallback
12859 .LVL669:
5361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12860 .loc 1 5361 9 is_stmt 0 view .LVU4247
12861 00a0 B4E7 b .L777
12862 .LBE110:
12863 .cfi_endproc
12864 .LFE116:
12866 .section .text.I2C_MasterReceive_BTF,"ax",%progbits
12867 .align 1
12868 .syntax unified
12869 .thumb
12870 .thumb_func
12871 .fpu softvfp
12873 I2C_MasterReceive_BTF:
12874 .LVL670:
12875 .LFB117:
5390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
12876 .loc 1 5390 1 is_stmt 1 view -0
12877 .cfi_startproc
12878 @ args = 0, pretend = 0, frame = 0
12879 @ frame_needed = 0, uses_anonymous_args = 0
5390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
12880 .loc 1 5390 1 is_stmt 0 view .LVU4249
12881 0000 08B5 push {r3, lr}
12882 .LCFI147:
12883 .cfi_def_cfa_offset 8
12884 .cfi_offset 3, -8
12885 .cfi_offset 14, -4
5392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12886 .loc 1 5392 3 is_stmt 1 view .LVU4250
5392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12887 .loc 1 5392 12 is_stmt 0 view .LVU4251
12888 0002 C26A ldr r2, [r0, #44]
12889 .LVL671:
5394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12890 .loc 1 5394 3 is_stmt 1 view .LVU4252
5394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12891 .loc 1 5394 11 is_stmt 0 view .LVU4253
12892 0004 438D ldrh r3, [r0, #42]
12893 0006 9BB2 uxth r3, r3
5394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12894 .loc 1 5394 6 view .LVU4254
12895 0008 042B cmp r3, #4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 426
12896 000a 13D0 beq .L797
5409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12897 .loc 1 5409 8 is_stmt 1 view .LVU4255
5409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12898 .loc 1 5409 16 is_stmt 0 view .LVU4256
12899 000c 438D ldrh r3, [r0, #42]
12900 000e 9BB2 uxth r3, r3
5409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12901 .loc 1 5409 11 view .LVU4257
12902 0010 032B cmp r3, #3
12903 0012 20D0 beq .L798
5430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12904 .loc 1 5430 8 is_stmt 1 view .LVU4258
5430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12905 .loc 1 5430 16 is_stmt 0 view .LVU4259
12906 0014 438D ldrh r3, [r0, #42]
12907 0016 9BB2 uxth r3, r3
5430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12908 .loc 1 5430 11 view .LVU4260
12909 0018 022B cmp r3, #2
12910 001a 36D0 beq .L799
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12911 .loc 1 5499 5 is_stmt 1 view .LVU4261
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12912 .loc 1 5499 36 is_stmt 0 view .LVU4262
12913 001c 0368 ldr r3, [r0]
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12914 .loc 1 5499 46 view .LVU4263
12915 001e 1A69 ldr r2, [r3, #16]
12916 .LVL672:
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12917 .loc 1 5499 10 view .LVU4264
12918 0020 436A ldr r3, [r0, #36]
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12919 .loc 1 5499 21 view .LVU4265
12920 0022 1A70 strb r2, [r3]
5502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12921 .loc 1 5502 5 is_stmt 1 view .LVU4266
5502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12922 .loc 1 5502 9 is_stmt 0 view .LVU4267
12923 0024 436A ldr r3, [r0, #36]
5502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12924 .loc 1 5502 19 view .LVU4268
12925 0026 0133 adds r3, r3, #1
12926 0028 4362 str r3, [r0, #36]
5505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12927 .loc 1 5505 5 is_stmt 1 view .LVU4269
5505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12928 .loc 1 5505 9 is_stmt 0 view .LVU4270
12929 002a 438D ldrh r3, [r0, #42]
5505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12930 .loc 1 5505 20 view .LVU4271
12931 002c 013B subs r3, r3, #1
12932 002e 9BB2 uxth r3, r3
12933 0030 4385 strh r3, [r0, #42] @ movhi
5507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12934 .loc 1 5507 1 view .LVU4272
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 427
12935 0032 0FE0 b .L784
12936 .LVL673:
12937 .L797:
5398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12938 .loc 1 5398 5 is_stmt 1 view .LVU4273
12939 0034 0268 ldr r2, [r0]
12940 .LVL674:
5398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12941 .loc 1 5398 5 is_stmt 0 view .LVU4274
12942 0036 5368 ldr r3, [r2, #4]
12943 0038 23F48063 bic r3, r3, #1024
12944 003c 5360 str r3, [r2, #4]
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12945 .loc 1 5401 5 is_stmt 1 view .LVU4275
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12946 .loc 1 5401 36 is_stmt 0 view .LVU4276
12947 003e 0368 ldr r3, [r0]
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12948 .loc 1 5401 46 view .LVU4277
12949 0040 1A69 ldr r2, [r3, #16]
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12950 .loc 1 5401 10 view .LVU4278
12951 0042 436A ldr r3, [r0, #36]
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12952 .loc 1 5401 21 view .LVU4279
12953 0044 1A70 strb r2, [r3]
5404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12954 .loc 1 5404 5 is_stmt 1 view .LVU4280
5404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12955 .loc 1 5404 9 is_stmt 0 view .LVU4281
12956 0046 436A ldr r3, [r0, #36]
5404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12957 .loc 1 5404 19 view .LVU4282
12958 0048 0133 adds r3, r3, #1
12959 004a 4362 str r3, [r0, #36]
5407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12960 .loc 1 5407 5 is_stmt 1 view .LVU4283
5407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12961 .loc 1 5407 9 is_stmt 0 view .LVU4284
12962 004c 438D ldrh r3, [r0, #42]
5407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12963 .loc 1 5407 20 view .LVU4285
12964 004e 013B subs r3, r3, #1
12965 0050 9BB2 uxth r3, r3
12966 0052 4385 strh r3, [r0, #42] @ movhi
12967 .LVL675:
12968 .L784:
5507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12969 .loc 1 5507 1 view .LVU4286
12970 0054 08BD pop {r3, pc}
12971 .LVL676:
12972 .L798:
5413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12973 .loc 1 5413 5 is_stmt 1 view .LVU4287
12974 0056 0168 ldr r1, [r0]
12975 0058 4B68 ldr r3, [r1, #4]
12976 005a 23F48063 bic r3, r3, #1024
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 428
12977 005e 4B60 str r3, [r1, #4]
5415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12978 .loc 1 5415 5 view .LVU4288
5415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12979 .loc 1 5415 8 is_stmt 0 view .LVU4289
12980 0060 042A cmp r2, #4
12981 0062 06D0 beq .L788
5415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
12982 .loc 1 5415 48 discriminator 1 view .LVU4290
12983 0064 022A cmp r2, #2
12984 0066 04D0 beq .L788
5418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12985 .loc 1 5418 7 is_stmt 1 view .LVU4291
12986 0068 0268 ldr r2, [r0]
12987 .LVL677:
5418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
12988 .loc 1 5418 7 is_stmt 0 view .LVU4292
12989 006a 1368 ldr r3, [r2]
12990 006c 23F48063 bic r3, r3, #1024
12991 0070 1360 str r3, [r2]
12992 .L788:
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12993 .loc 1 5422 5 is_stmt 1 view .LVU4293
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12994 .loc 1 5422 36 is_stmt 0 view .LVU4294
12995 0072 0368 ldr r3, [r0]
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12996 .loc 1 5422 46 view .LVU4295
12997 0074 1A69 ldr r2, [r3, #16]
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
12998 .loc 1 5422 10 view .LVU4296
12999 0076 436A ldr r3, [r0, #36]
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13000 .loc 1 5422 21 view .LVU4297
13001 0078 1A70 strb r2, [r3]
5425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13002 .loc 1 5425 5 is_stmt 1 view .LVU4298
5425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13003 .loc 1 5425 9 is_stmt 0 view .LVU4299
13004 007a 436A ldr r3, [r0, #36]
5425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13005 .loc 1 5425 19 view .LVU4300
13006 007c 0133 adds r3, r3, #1
13007 007e 4362 str r3, [r0, #36]
5428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13008 .loc 1 5428 5 is_stmt 1 view .LVU4301
5428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13009 .loc 1 5428 9 is_stmt 0 view .LVU4302
13010 0080 438D ldrh r3, [r0, #42]
5428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13011 .loc 1 5428 20 view .LVU4303
13012 0082 013B subs r3, r3, #1
13013 0084 9BB2 uxth r3, r3
13014 0086 4385 strh r3, [r0, #42] @ movhi
13015 0088 E4E7 b .L784
13016 .LVL678:
13017 .L799:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 429
5433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13018 .loc 1 5433 5 is_stmt 1 view .LVU4304
5433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13019 .loc 1 5433 8 is_stmt 0 view .LVU4305
13020 008a 012A cmp r2, #1
13021 008c 0BD0 beq .L790
5433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13022 .loc 1 5433 49 discriminator 1 view .LVU4306
13023 008e 102A cmp r2, #16
13024 0090 09D0 beq .L790
5438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13025 .loc 1 5438 10 is_stmt 1 view .LVU4307
5438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13026 .loc 1 5438 13 is_stmt 0 view .LVU4308
13027 0092 042A cmp r2, #4
13028 0094 36D0 beq .L793
5438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13029 .loc 1 5438 53 discriminator 1 view .LVU4309
13030 0096 022A cmp r2, #2
13031 0098 34D0 beq .L793
5443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13032 .loc 1 5443 10 is_stmt 1 view .LVU4310
5446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13033 .loc 1 5446 7 view .LVU4311
13034 009a 0268 ldr r2, [r0]
13035 .LVL679:
5446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13036 .loc 1 5446 7 is_stmt 0 view .LVU4312
13037 009c 1368 ldr r3, [r2]
13038 009e 43F40073 orr r3, r3, #512
13039 00a2 1360 str r3, [r2]
13040 00a4 04E0 b .L792
13041 .LVL680:
13042 .L790:
5436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13043 .loc 1 5436 7 is_stmt 1 view .LVU4313
13044 00a6 0268 ldr r2, [r0]
13045 .LVL681:
5436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13046 .loc 1 5436 7 is_stmt 0 view .LVU4314
13047 00a8 1368 ldr r3, [r2]
13048 00aa 23F48063 bic r3, r3, #1024
13049 00ae 1360 str r3, [r2]
13050 .L792:
5451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13051 .loc 1 5451 5 is_stmt 1 view .LVU4315
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13052 .loc 1 5454 5 view .LVU4316
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13053 .loc 1 5454 36 is_stmt 0 view .LVU4317
13054 00b0 0368 ldr r3, [r0]
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13055 .loc 1 5454 46 view .LVU4318
13056 00b2 1A69 ldr r2, [r3, #16]
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13057 .loc 1 5454 10 view .LVU4319
13058 00b4 436A ldr r3, [r0, #36]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 430
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13059 .loc 1 5454 21 view .LVU4320
13060 00b6 1A70 strb r2, [r3]
5457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13061 .loc 1 5457 5 is_stmt 1 view .LVU4321
5457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13062 .loc 1 5457 9 is_stmt 0 view .LVU4322
13063 00b8 426A ldr r2, [r0, #36]
5457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13064 .loc 1 5457 19 view .LVU4323
13065 00ba 531C adds r3, r2, #1
13066 00bc 4362 str r3, [r0, #36]
5460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13067 .loc 1 5460 5 is_stmt 1 view .LVU4324
5460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13068 .loc 1 5460 9 is_stmt 0 view .LVU4325
13069 00be 438D ldrh r3, [r0, #42]
5460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13070 .loc 1 5460 20 view .LVU4326
13071 00c0 013B subs r3, r3, #1
13072 00c2 9BB2 uxth r3, r3
13073 00c4 4385 strh r3, [r0, #42] @ movhi
5463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13074 .loc 1 5463 5 is_stmt 1 view .LVU4327
5463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13075 .loc 1 5463 36 is_stmt 0 view .LVU4328
13076 00c6 0368 ldr r3, [r0]
5463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13077 .loc 1 5463 46 view .LVU4329
13078 00c8 1B69 ldr r3, [r3, #16]
5463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13079 .loc 1 5463 21 view .LVU4330
13080 00ca 5370 strb r3, [r2, #1]
5466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13081 .loc 1 5466 5 is_stmt 1 view .LVU4331
5466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13082 .loc 1 5466 9 is_stmt 0 view .LVU4332
13083 00cc 436A ldr r3, [r0, #36]
5466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13084 .loc 1 5466 19 view .LVU4333
13085 00ce 0133 adds r3, r3, #1
13086 00d0 4362 str r3, [r0, #36]
5469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13087 .loc 1 5469 5 is_stmt 1 view .LVU4334
5469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13088 .loc 1 5469 9 is_stmt 0 view .LVU4335
13089 00d2 438D ldrh r3, [r0, #42]
5469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13090 .loc 1 5469 20 view .LVU4336
13091 00d4 013B subs r3, r3, #1
13092 00d6 9BB2 uxth r3, r3
13093 00d8 4385 strh r3, [r0, #42] @ movhi
5472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13094 .loc 1 5472 5 is_stmt 1 view .LVU4337
13095 00da 0268 ldr r2, [r0]
13096 00dc 5368 ldr r3, [r2, #4]
13097 00de 23F44073 bic r3, r3, #768
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 431
13098 00e2 5360 str r3, [r2, #4]
5474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
13099 .loc 1 5474 5 view .LVU4338
5474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
13100 .loc 1 5474 17 is_stmt 0 view .LVU4339
13101 00e4 2023 movs r3, #32
13102 00e6 80F83D30 strb r3, [r0, #61]
5475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13103 .loc 1 5475 5 is_stmt 1 view .LVU4340
5475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13104 .loc 1 5475 13 is_stmt 0 view .LVU4341
13105 00ea 90F83E30 ldrb r3, [r0, #62] @ zero_extendqisi2
13106 00ee DBB2 uxtb r3, r3
5475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13107 .loc 1 5475 8 view .LVU4342
13108 00f0 402B cmp r3, #64
13109 00f2 0DD0 beq .L800
5487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
13110 .loc 1 5487 7 is_stmt 1 view .LVU4343
5487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
13111 .loc 1 5487 18 is_stmt 0 view .LVU4344
13112 00f4 0023 movs r3, #0
13113 00f6 80F83E30 strb r3, [r0, #62]
5488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
13114 .loc 1 5488 7 is_stmt 1 view .LVU4345
5488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
13115 .loc 1 5488 27 is_stmt 0 view .LVU4346
13116 00fa 1223 movs r3, #18
13117 00fc 0363 str r3, [r0, #48]
5492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13118 .loc 1 5492 7 is_stmt 1 view .LVU4347
13119 00fe FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
13120 .LVL682:
5492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13121 .loc 1 5492 7 is_stmt 0 view .LVU4348
13122 0102 A7E7 b .L784
13123 .LVL683:
13124 .L793:
5441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13125 .loc 1 5441 7 is_stmt 1 view .LVU4349
13126 0104 0268 ldr r2, [r0]
13127 .LVL684:
5441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13128 .loc 1 5441 7 is_stmt 0 view .LVU4350
13129 0106 1368 ldr r3, [r2]
13130 0108 43F48063 orr r3, r3, #1024
13131 010c 1360 str r3, [r2]
13132 010e CFE7 b .L792
13133 .L800:
5477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
13134 .loc 1 5477 7 is_stmt 1 view .LVU4351
5477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
13135 .loc 1 5477 18 is_stmt 0 view .LVU4352
13136 0110 0023 movs r3, #0
13137 0112 80F83E30 strb r3, [r0, #62]
5478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
13138 .loc 1 5478 7 is_stmt 1 view .LVU4353
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 432
5478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
13139 .loc 1 5478 27 is_stmt 0 view .LVU4354
13140 0116 0363 str r3, [r0, #48]
5482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13141 .loc 1 5482 7 is_stmt 1 view .LVU4355
13142 0118 FFF7FEFF bl HAL_I2C_MemRxCpltCallback
13143 .LVL685:
5482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13144 .loc 1 5482 7 is_stmt 0 view .LVU4356
13145 011c 9AE7 b .L784
13146 .cfi_endproc
13147 .LFE117:
13149 .section .text.HAL_I2C_ErrorCallback,"ax",%progbits
13150 .align 1
13151 .weak HAL_I2C_ErrorCallback
13152 .syntax unified
13153 .thumb
13154 .thumb_func
13155 .fpu softvfp
13157 HAL_I2C_ErrorCallback:
13158 .LVL686:
13159 .LFB109:
4990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
13160 .loc 1 4990 1 is_stmt 1 view -0
13161 .cfi_startproc
13162 @ args = 0, pretend = 0, frame = 0
13163 @ frame_needed = 0, uses_anonymous_args = 0
13164 @ link register save eliminated.
4992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13165 .loc 1 4992 3 view .LVU4358
4997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13166 .loc 1 4997 1 is_stmt 0 view .LVU4359
13167 0000 7047 bx lr
13168 .cfi_endproc
13169 .LFE109:
13171 .section .text.I2C_DMAError,"ax",%progbits
13172 .align 1
13173 .syntax unified
13174 .thumb
13175 .thumb_func
13176 .fpu softvfp
13178 I2C_DMAError:
13179 .LVL687:
13180 .LFB134:
6781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
13181 .loc 1 6781 1 is_stmt 1 view -0
13182 .cfi_startproc
13183 @ args = 0, pretend = 0, frame = 0
13184 @ frame_needed = 0, uses_anonymous_args = 0
6781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
13185 .loc 1 6781 1 is_stmt 0 view .LVU4361
13186 0000 08B5 push {r3, lr}
13187 .LCFI148:
13188 .cfi_def_cfa_offset 8
13189 .cfi_offset 3, -8
13190 .cfi_offset 14, -4
6782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 433
13191 .loc 1 6782 3 is_stmt 1 view .LVU4362
6782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13192 .loc 1 6782 22 is_stmt 0 view .LVU4363
13193 0002 406A ldr r0, [r0, #36]
13194 .LVL688:
6785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
13195 .loc 1 6785 3 is_stmt 1 view .LVU4364
6785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
13196 .loc 1 6785 7 is_stmt 0 view .LVU4365
13197 0004 426B ldr r2, [r0, #52]
6785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
13198 .loc 1 6785 34 view .LVU4366
13199 0006 0023 movs r3, #0
13200 0008 9362 str r3, [r2, #40]
6786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13201 .loc 1 6786 3 is_stmt 1 view .LVU4367
6786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13202 .loc 1 6786 7 is_stmt 0 view .LVU4368
13203 000a 826B ldr r2, [r0, #56]
6786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13204 .loc 1 6786 34 view .LVU4369
13205 000c 9362 str r3, [r2, #40]
6789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13206 .loc 1 6789 3 is_stmt 1 view .LVU4370
13207 000e 0168 ldr r1, [r0]
13208 0010 0A68 ldr r2, [r1]
13209 0012 22F48062 bic r2, r2, #1024
13210 0016 0A60 str r2, [r1]
6791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
13211 .loc 1 6791 3 view .LVU4371
6791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
13212 .loc 1 6791 25 is_stmt 0 view .LVU4372
13213 0018 4385 strh r3, [r0, #42] @ movhi
6792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
13214 .loc 1 6792 3 is_stmt 1 view .LVU4373
6792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
13215 .loc 1 6792 25 is_stmt 0 view .LVU4374
13216 001a 2022 movs r2, #32
13217 001c 80F83D20 strb r2, [r0, #61]
6793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
13218 .loc 1 6793 3 is_stmt 1 view .LVU4375
6793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
13219 .loc 1 6793 25 is_stmt 0 view .LVU4376
13220 0020 80F83E30 strb r3, [r0, #62]
6794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13221 .loc 1 6794 3 is_stmt 1 view .LVU4377
6794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13222 .loc 1 6794 25 is_stmt 0 view .LVU4378
13223 0024 036C ldr r3, [r0, #64]
13224 0026 43F01003 orr r3, r3, #16
13225 002a 0364 str r3, [r0, #64]
6799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13226 .loc 1 6799 3 is_stmt 1 view .LVU4379
13227 002c FFF7FEFF bl HAL_I2C_ErrorCallback
13228 .LVL689:
6801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13229 .loc 1 6801 1 is_stmt 0 view .LVU4380
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 434
13230 0030 08BD pop {r3, pc}
13231 .cfi_endproc
13232 .LFE134:
13234 .section .text.I2C_DMAXferCplt,"ax",%progbits
13235 .align 1
13236 .syntax unified
13237 .thumb
13238 .thumb_func
13239 .fpu softvfp
13241 I2C_DMAXferCplt:
13242 .LVL690:
13243 .LFB133:
6649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
13244 .loc 1 6649 1 is_stmt 1 view -0
13245 .cfi_startproc
13246 @ args = 0, pretend = 0, frame = 0
13247 @ frame_needed = 0, uses_anonymous_args = 0
6649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
13248 .loc 1 6649 1 is_stmt 0 view .LVU4382
13249 0000 38B5 push {r3, r4, r5, lr}
13250 .LCFI149:
13251 .cfi_def_cfa_offset 16
13252 .cfi_offset 3, -16
13253 .cfi_offset 4, -12
13254 .cfi_offset 5, -8
13255 .cfi_offset 14, -4
6650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13256 .loc 1 6650 3 is_stmt 1 view .LVU4383
6650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13257 .loc 1 6650 22 is_stmt 0 view .LVU4384
13258 0002 446A ldr r4, [r0, #36]
13259 .LVL691:
6653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode;
13260 .loc 1 6653 3 is_stmt 1 view .LVU4385
6653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode;
13261 .loc 1 6653 24 is_stmt 0 view .LVU4386
13262 0004 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
13263 0008 DBB2 uxtb r3, r3
13264 .LVL692:
6654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
13265 .loc 1 6654 3 is_stmt 1 view .LVU4387
6654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
13266 .loc 1 6654 23 is_stmt 0 view .LVU4388
13267 000a 94F83E20 ldrb r2, [r4, #62] @ zero_extendqisi2
13268 000e D1B2 uxtb r1, r2
13269 .LVL693:
6655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13270 .loc 1 6655 3 is_stmt 1 view .LVU4389
6655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13271 .loc 1 6655 12 is_stmt 0 view .LVU4390
13272 0010 E56A ldr r5, [r4, #44]
13273 .LVL694:
6658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13274 .loc 1 6658 3 is_stmt 1 view .LVU4391
13275 0012 2068 ldr r0, [r4]
13276 .LVL695:
6658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 435
13277 .loc 1 6658 3 is_stmt 0 view .LVU4392
13278 0014 4268 ldr r2, [r0, #4]
13279 0016 22F44072 bic r2, r2, #768
13280 001a 4260 str r2, [r0, #4]
6661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
13281 .loc 1 6661 3 is_stmt 1 view .LVU4393
6661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
13282 .loc 1 6661 7 is_stmt 0 view .LVU4394
13283 001c 606B ldr r0, [r4, #52]
6661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
13284 .loc 1 6661 34 view .LVU4395
13285 001e 0022 movs r2, #0
13286 0020 8262 str r2, [r0, #40]
6662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13287 .loc 1 6662 3 is_stmt 1 view .LVU4396
6662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13288 .loc 1 6662 7 is_stmt 0 view .LVU4397
13289 0022 A06B ldr r0, [r4, #56]
6662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13290 .loc 1 6662 34 view .LVU4398
13291 0024 8262 str r2, [r0, #40]
6664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13292 .loc 1 6664 3 is_stmt 1 view .LVU4399
6664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13293 .loc 1 6664 6 is_stmt 0 view .LVU4400
13294 0026 03F02102 and r2, r3, #33
13295 002a 212A cmp r2, #33
13296 002c 41D0 beq .L805
6664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13297 .loc 1 6664 103 discriminator 1 view .LVU4401
13298 002e 03F02202 and r2, r3, #34
13299 0032 222A cmp r2, #34
13300 0034 3BD0 beq .L816
13301 .L806:
6706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13302 .loc 1 6706 8 is_stmt 1 view .LVU4402
6706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13303 .loc 1 6706 16 is_stmt 0 view .LVU4403
13304 0036 94F83E30 ldrb r3, [r4, #62] @ zero_extendqisi2
13305 .LVL696:
6706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13306 .loc 1 6706 11 view .LVU4404
13307 003a 002B cmp r3, #0
13308 003c 49D0 beq .L804
6708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13309 .loc 1 6708 5 is_stmt 1 view .LVU4405
6708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13310 .loc 1 6708 13 is_stmt 0 view .LVU4406
13311 003e 638D ldrh r3, [r4, #42]
13312 0040 9BB2 uxth r3, r3
6708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13313 .loc 1 6708 8 view .LVU4407
13314 0042 012B cmp r3, #1
13315 0044 58D0 beq .L817
13316 .L810:
6715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13317 .loc 1 6715 5 is_stmt 1 view .LVU4408
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 436
13318 0046 2268 ldr r2, [r4]
13319 0048 5368 ldr r3, [r2, #4]
13320 004a 23F44073 bic r3, r3, #768
13321 004e 5360 str r3, [r2, #4]
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13322 .loc 1 6718 5 view .LVU4409
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13323 .loc 1 6718 8 is_stmt 0 view .LVU4410
13324 0050 15F5803F cmn r5, #65536
13325 0054 06D0 beq .L811
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13326 .loc 1 6718 53 discriminator 1 view .LVU4411
13327 0056 082D cmp r5, #8
13328 0058 04D0 beq .L811
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13329 .loc 1 6718 105 discriminator 2 view .LVU4412
13330 005a B5F12A4F cmp r5, #-1442840576
13331 005e 01D0 beq .L811
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13332 .loc 1 6718 157 discriminator 3 view .LVU4413
13333 0060 202D cmp r5, #32
13334 0062 04D1 bne .L812
13335 .L811:
6721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13336 .loc 1 6721 7 is_stmt 1 view .LVU4414
13337 0064 2268 ldr r2, [r4]
13338 0066 1368 ldr r3, [r2]
13339 0068 43F40073 orr r3, r3, #512
13340 006c 1360 str r3, [r2]
13341 .L812:
6725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13342 .loc 1 6725 5 view .LVU4415
13343 006e 2268 ldr r2, [r4]
13344 0070 5368 ldr r3, [r2, #4]
13345 0072 23F48053 bic r3, r3, #4096
13346 0076 5360 str r3, [r2, #4]
6728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13347 .loc 1 6728 5 view .LVU4416
13348 0078 2268 ldr r2, [r4]
13349 007a 5368 ldr r3, [r2, #4]
13350 007c 23F40063 bic r3, r3, #2048
13351 0080 5360 str r3, [r2, #4]
6730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13352 .loc 1 6730 5 view .LVU4417
6730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13353 .loc 1 6730 21 is_stmt 0 view .LVU4418
13354 0082 0023 movs r3, #0
13355 0084 6385 strh r3, [r4, #42] @ movhi
6733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13356 .loc 1 6733 5 is_stmt 1 view .LVU4419
6733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13357 .loc 1 6733 13 is_stmt 0 view .LVU4420
13358 0086 236C ldr r3, [r4, #64]
6733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13359 .loc 1 6733 8 view .LVU4421
13360 0088 002B cmp r3, #0
13361 008a 3BD1 bne .L818
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 437
6743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13362 .loc 1 6743 7 is_stmt 1 view .LVU4422
6743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13363 .loc 1 6743 19 is_stmt 0 view .LVU4423
13364 008c 2023 movs r3, #32
13365 008e 84F83D30 strb r3, [r4, #61]
6745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13366 .loc 1 6745 7 is_stmt 1 view .LVU4424
6745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13367 .loc 1 6745 15 is_stmt 0 view .LVU4425
13368 0092 94F83E30 ldrb r3, [r4, #62] @ zero_extendqisi2
13369 0096 DBB2 uxtb r3, r3
6745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13370 .loc 1 6745 10 view .LVU4426
13371 0098 402B cmp r3, #64
13372 009a 37D0 beq .L819
6758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
13373 .loc 1 6758 9 is_stmt 1 view .LVU4427
6758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
13374 .loc 1 6758 20 is_stmt 0 view .LVU4428
13375 009c 0023 movs r3, #0
13376 009e 84F83E30 strb r3, [r4, #62]
6759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13377 .loc 1 6759 9 is_stmt 1 view .LVU4429
6759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13378 .loc 1 6759 29 is_stmt 0 view .LVU4430
13379 00a2 1223 movs r3, #18
13380 00a4 2363 str r3, [r4, #48]
6764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13381 .loc 1 6764 9 is_stmt 1 view .LVU4431
13382 00a6 2046 mov r0, r4
13383 00a8 FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
13384 .LVL697:
6772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13385 .loc 1 6772 3 view .LVU4432
6773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13386 .loc 1 6773 1 is_stmt 0 view .LVU4433
13387 00ac 11E0 b .L804
13388 .LVL698:
13389 .L816:
6664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13390 .loc 1 6664 203 discriminator 2 view .LVU4434
13391 00ae 2029 cmp r1, #32
13392 00b0 C1D1 bne .L806
13393 .L805:
6667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13394 .loc 1 6667 5 is_stmt 1 view .LVU4435
13395 00b2 2168 ldr r1, [r4]
13396 .LVL699:
6667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13397 .loc 1 6667 5 is_stmt 0 view .LVU4436
13398 00b4 4A68 ldr r2, [r1, #4]
13399 00b6 22F40062 bic r2, r2, #2048
13400 00ba 4A60 str r2, [r1, #4]
6669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13401 .loc 1 6669 5 is_stmt 1 view .LVU4437
6669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 438
13402 .loc 1 6669 21 is_stmt 0 view .LVU4438
13403 00bc 0022 movs r2, #0
13404 00be 6285 strh r2, [r4, #42] @ movhi
6671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13405 .loc 1 6671 5 is_stmt 1 view .LVU4439
6671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13406 .loc 1 6671 8 is_stmt 0 view .LVU4440
13407 00c0 292B cmp r3, #41
13408 00c2 07D0 beq .L820
6684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13409 .loc 1 6684 10 is_stmt 1 view .LVU4441
6684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13410 .loc 1 6684 13 is_stmt 0 view .LVU4442
13411 00c4 2A2B cmp r3, #42
13412 00c6 0ED0 beq .L821
13413 .LVL700:
13414 .L808:
6700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13415 .loc 1 6700 5 is_stmt 1 view .LVU4443
6703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13416 .loc 1 6703 5 view .LVU4444
13417 00c8 2268 ldr r2, [r4]
13418 00ca 5368 ldr r3, [r2, #4]
13419 00cc 43F44073 orr r3, r3, #768
13420 00d0 5360 str r3, [r2, #4]
13421 .L804:
6773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13422 .loc 1 6773 1 is_stmt 0 view .LVU4445
13423 00d2 38BD pop {r3, r4, r5, pc}
13424 .LVL701:
13425 .L820:
6674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
13426 .loc 1 6674 7 is_stmt 1 view .LVU4446
6674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
13427 .loc 1 6674 27 is_stmt 0 view .LVU4447
13428 00d4 2123 movs r3, #33
13429 .LVL702:
6674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
13430 .loc 1 6674 27 view .LVU4448
13431 00d6 2363 str r3, [r4, #48]
6675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13432 .loc 1 6675 7 is_stmt 1 view .LVU4449
6675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13433 .loc 1 6675 19 is_stmt 0 view .LVU4450
13434 00d8 2823 movs r3, #40
13435 00da 84F83D30 strb r3, [r4, #61]
6681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13436 .loc 1 6681 7 is_stmt 1 view .LVU4451
13437 00de 2046 mov r0, r4
13438 00e0 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
13439 .LVL703:
13440 00e4 F0E7 b .L808
13441 .LVL704:
13442 .L821:
6687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
13443 .loc 1 6687 7 view .LVU4452
6687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 439
13444 .loc 1 6687 27 is_stmt 0 view .LVU4453
13445 00e6 2223 movs r3, #34
13446 .LVL705:
6687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
13447 .loc 1 6687 27 view .LVU4454
13448 00e8 2363 str r3, [r4, #48]
6688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13449 .loc 1 6688 7 is_stmt 1 view .LVU4455
6688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13450 .loc 1 6688 19 is_stmt 0 view .LVU4456
13451 00ea 2823 movs r3, #40
13452 00ec 84F83D30 strb r3, [r4, #61]
6694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13453 .loc 1 6694 7 is_stmt 1 view .LVU4457
13454 00f0 2046 mov r0, r4
13455 00f2 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
13456 .LVL706:
13457 00f6 E7E7 b .L808
13458 .LVL707:
13459 .L817:
6711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13460 .loc 1 6711 7 view .LVU4458
13461 00f8 2268 ldr r2, [r4]
13462 00fa 1368 ldr r3, [r2]
13463 00fc 23F48063 bic r3, r3, #1024
13464 0100 1360 str r3, [r2]
13465 0102 A0E7 b .L810
13466 .L818:
6738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13467 .loc 1 6738 7 view .LVU4459
13468 0104 2046 mov r0, r4
13469 0106 FFF7FEFF bl HAL_I2C_ErrorCallback
13470 .LVL708:
6738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13471 .loc 1 6738 7 is_stmt 0 view .LVU4460
13472 010a E2E7 b .L804
13473 .LVL709:
13474 .L819:
6747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
13475 .loc 1 6747 9 is_stmt 1 view .LVU4461
6747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
13476 .loc 1 6747 20 is_stmt 0 view .LVU4462
13477 010c 0023 movs r3, #0
13478 010e 84F83E30 strb r3, [r4, #62]
6748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13479 .loc 1 6748 9 is_stmt 1 view .LVU4463
6748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13480 .loc 1 6748 29 is_stmt 0 view .LVU4464
13481 0112 2363 str r3, [r4, #48]
6753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13482 .loc 1 6753 9 is_stmt 1 view .LVU4465
13483 0114 2046 mov r0, r4
13484 0116 FFF7FEFF bl HAL_I2C_MemRxCpltCallback
13485 .LVL710:
6753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13486 .loc 1 6753 9 is_stmt 0 view .LVU4466
13487 011a DAE7 b .L804
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 440
13488 .cfi_endproc
13489 .LFE133:
13491 .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits
13492 .align 1
13493 .weak HAL_I2C_AbortCpltCallback
13494 .syntax unified
13495 .thumb
13496 .thumb_func
13497 .fpu softvfp
13499 HAL_I2C_AbortCpltCallback:
13500 .LVL711:
13501 .LFB110:
5006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
13502 .loc 1 5006 1 is_stmt 1 view -0
13503 .cfi_startproc
13504 @ args = 0, pretend = 0, frame = 0
13505 @ frame_needed = 0, uses_anonymous_args = 0
13506 @ link register save eliminated.
5008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13507 .loc 1 5008 3 view .LVU4468
5013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13508 .loc 1 5013 1 is_stmt 0 view .LVU4469
13509 0000 7047 bx lr
13510 .cfi_endproc
13511 .LFE110:
13513 .section .text.I2C_DMAAbort,"ax",%progbits
13514 .align 1
13515 .syntax unified
13516 .thumb
13517 .thumb_func
13518 .fpu softvfp
13520 I2C_DMAAbort:
13521 .LVL712:
13522 .LFB135:
6810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
13523 .loc 1 6810 1 is_stmt 1 view -0
13524 .cfi_startproc
13525 @ args = 0, pretend = 0, frame = 0
13526 @ frame_needed = 0, uses_anonymous_args = 0
6810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
13527 .loc 1 6810 1 is_stmt 0 view .LVU4471
13528 0000 10B5 push {r4, lr}
13529 .LCFI150:
13530 .cfi_def_cfa_offset 8
13531 .cfi_offset 4, -8
13532 .cfi_offset 14, -4
6811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13533 .loc 1 6811 3 is_stmt 1 view .LVU4472
6811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13534 .loc 1 6811 22 is_stmt 0 view .LVU4473
13535 0002 406A ldr r0, [r0, #36]
13536 .LVL713:
6814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13537 .loc 1 6814 3 is_stmt 1 view .LVU4474
6814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13538 .loc 1 6814 24 is_stmt 0 view .LVU4475
13539 0004 90F83D20 ldrb r2, [r0, #61] @ zero_extendqisi2
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 441
13540 .LVL714:
6817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
13541 .loc 1 6817 3 is_stmt 1 view .LVU4476
6817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
13542 .loc 1 6817 7 is_stmt 0 view .LVU4477
13543 0008 416B ldr r1, [r0, #52]
6817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL;
13544 .loc 1 6817 34 view .LVU4478
13545 000a 0023 movs r3, #0
13546 000c 8B62 str r3, [r1, #40]
6818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13547 .loc 1 6818 3 is_stmt 1 view .LVU4479
6818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13548 .loc 1 6818 7 is_stmt 0 view .LVU4480
13549 000e 816B ldr r1, [r0, #56]
6818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13550 .loc 1 6818 34 view .LVU4481
13551 0010 8B62 str r3, [r1, #40]
6821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13552 .loc 1 6821 3 is_stmt 1 view .LVU4482
13553 0012 0468 ldr r4, [r0]
13554 0014 2168 ldr r1, [r4]
13555 0016 21F48061 bic r1, r1, #1024
13556 001a 2160 str r1, [r4]
6823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13557 .loc 1 6823 3 view .LVU4483
6823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13558 .loc 1 6823 19 is_stmt 0 view .LVU4484
13559 001c 4385 strh r3, [r0, #42] @ movhi
6826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
13560 .loc 1 6826 3 is_stmt 1 view .LVU4485
6826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
13561 .loc 1 6826 7 is_stmt 0 view .LVU4486
13562 001e 416B ldr r1, [r0, #52]
6826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
13563 .loc 1 6826 35 view .LVU4487
13564 0020 4B63 str r3, [r1, #52]
6827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13565 .loc 1 6827 3 is_stmt 1 view .LVU4488
6827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13566 .loc 1 6827 7 is_stmt 0 view .LVU4489
13567 0022 816B ldr r1, [r0, #56]
6827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13568 .loc 1 6827 35 view .LVU4490
13569 0024 4B63 str r3, [r1, #52]
6830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13570 .loc 1 6830 3 is_stmt 1 view .LVU4491
13571 0026 0168 ldr r1, [r0]
13572 0028 0B68 ldr r3, [r1]
13573 002a 23F00103 bic r3, r3, #1
13574 002e 0B60 str r3, [r1]
6833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13575 .loc 1 6833 3 view .LVU4492
6833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13576 .loc 1 6833 11 is_stmt 0 view .LVU4493
13577 0030 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
13578 0034 DBB2 uxtb r3, r3
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 442
6833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13579 .loc 1 6833 6 view .LVU4494
13580 0036 602B cmp r3, #96
13581 0038 0DD0 beq .L829
13582 003a D2B2 uxtb r2, r2
6848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13583 .loc 1 6848 5 is_stmt 1 view .LVU4495
6848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13584 .loc 1 6848 8 is_stmt 0 view .LVU4496
13585 003c 02F02802 and r2, r2, #40
13586 .LVL715:
6848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13587 .loc 1 6848 8 view .LVU4497
13588 0040 282A cmp r2, #40
13589 0042 12D0 beq .L830
6862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
13590 .loc 1 6862 7 is_stmt 1 view .LVU4498
6862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
13591 .loc 1 6862 19 is_stmt 0 view .LVU4499
13592 0044 2023 movs r3, #32
13593 0046 80F83D30 strb r3, [r0, #61]
6863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13594 .loc 1 6863 7 is_stmt 1 view .LVU4500
6863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13595 .loc 1 6863 18 is_stmt 0 view .LVU4501
13596 004a 0023 movs r3, #0
13597 004c 80F83E30 strb r3, [r0, #62]
13598 .L827:
6870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13599 .loc 1 6870 5 is_stmt 1 view .LVU4502
13600 0050 FFF7FEFF bl HAL_I2C_ErrorCallback
13601 .LVL716:
13602 .L823:
6873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13603 .loc 1 6873 1 is_stmt 0 view .LVU4503
13604 0054 10BD pop {r4, pc}
13605 .LVL717:
13606 .L829:
6835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
13607 .loc 1 6835 5 is_stmt 1 view .LVU4504
6835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
13608 .loc 1 6835 25 is_stmt 0 view .LVU4505
13609 0056 2023 movs r3, #32
13610 0058 80F83D30 strb r3, [r0, #61]
6836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
13611 .loc 1 6836 5 is_stmt 1 view .LVU4506
6836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
13612 .loc 1 6836 25 is_stmt 0 view .LVU4507
13613 005c 0023 movs r3, #0
13614 005e 80F83E30 strb r3, [r0, #62]
6837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13615 .loc 1 6837 5 is_stmt 1 view .LVU4508
6837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13616 .loc 1 6837 25 is_stmt 0 view .LVU4509
13617 0062 0364 str r3, [r0, #64]
6843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13618 .loc 1 6843 5 is_stmt 1 view .LVU4510
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 443
13619 0064 FFF7FEFF bl HAL_I2C_AbortCpltCallback
13620 .LVL718:
6843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13621 .loc 1 6843 5 is_stmt 0 view .LVU4511
13622 0068 F4E7 b .L823
13623 .LVL719:
13624 .L830:
6851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13625 .loc 1 6851 7 is_stmt 1 view .LVU4512
13626 006a 0268 ldr r2, [r0]
13627 006c 1368 ldr r3, [r2]
13628 006e 43F00103 orr r3, r3, #1
13629 0072 1360 str r3, [r2]
6854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13630 .loc 1 6854 7 view .LVU4513
13631 0074 0268 ldr r2, [r0]
13632 0076 1368 ldr r3, [r2]
13633 0078 43F48063 orr r3, r3, #1024
13634 007c 1360 str r3, [r2]
6857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
13635 .loc 1 6857 7 view .LVU4514
6857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
13636 .loc 1 6857 27 is_stmt 0 view .LVU4515
13637 007e 0023 movs r3, #0
13638 0080 0363 str r3, [r0, #48]
6858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13639 .loc 1 6858 7 is_stmt 1 view .LVU4516
6858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13640 .loc 1 6858 19 is_stmt 0 view .LVU4517
13641 0082 2823 movs r3, #40
13642 0084 80F83D30 strb r3, [r0, #61]
13643 0088 E2E7 b .L827
13644 .cfi_endproc
13645 .LFE135:
13647 .section .text.I2C_ITError,"ax",%progbits
13648 .align 1
13649 .syntax unified
13650 .thumb
13651 .thumb_func
13652 .fpu softvfp
13654 I2C_ITError:
13655 .LVL720:
13656 .LFB128:
6159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
13657 .loc 1 6159 1 is_stmt 1 view -0
13658 .cfi_startproc
13659 @ args = 0, pretend = 0, frame = 0
13660 @ frame_needed = 0, uses_anonymous_args = 0
6159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
13661 .loc 1 6159 1 is_stmt 0 view .LVU4519
13662 0000 10B5 push {r4, lr}
13663 .LCFI151:
13664 .cfi_def_cfa_offset 8
13665 .cfi_offset 4, -8
13666 .cfi_offset 14, -4
13667 0002 0446 mov r4, r0
6161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 444
13668 .loc 1 6161 3 is_stmt 1 view .LVU4520
6161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13669 .loc 1 6161 24 is_stmt 0 view .LVU4521
13670 0004 90F83D30 ldrb r3, [r0, #61] @ zero_extendqisi2
13671 0008 DBB2 uxtb r3, r3
13672 .LVL721:
6163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13673 .loc 1 6163 3 is_stmt 1 view .LVU4522
6163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13674 .loc 1 6163 12 is_stmt 0 view .LVU4523
13675 000a 90F83E20 ldrb r2, [r0, #62] @ zero_extendqisi2
13676 000e D2B2 uxtb r2, r2
6163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13677 .loc 1 6163 6 view .LVU4524
13678 0010 102A cmp r2, #16
13679 0012 32D0 beq .L845
13680 .L832:
6169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13681 .loc 1 6169 3 is_stmt 1 view .LVU4525
6169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13682 .loc 1 6169 6 is_stmt 0 view .LVU4526
13683 0014 03F02802 and r2, r3, #40
13684 0018 282A cmp r2, #40
13685 001a 36D0 beq .L846
6179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13686 .loc 1 6179 5 is_stmt 1 view .LVU4527
6179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13687 .loc 1 6179 10 is_stmt 0 view .LVU4528
13688 001c 2268 ldr r2, [r4]
13689 001e 5268 ldr r2, [r2, #4]
6179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13690 .loc 1 6179 8 view .LVU4529
13691 0020 12F4006F tst r2, #2048
13692 0024 04D1 bne .L835
6179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13693 .loc 1 6179 73 discriminator 1 view .LVU4530
13694 0026 602B cmp r3, #96
13695 0028 02D0 beq .L835
6181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13696 .loc 1 6181 7 is_stmt 1 view .LVU4531
6181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13697 .loc 1 6181 19 is_stmt 0 view .LVU4532
13698 002a 2023 movs r3, #32
13699 .LVL722:
6181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13700 .loc 1 6181 19 view .LVU4533
13701 002c 84F83D30 strb r3, [r4, #61]
13702 .L835:
6183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
13703 .loc 1 6183 5 is_stmt 1 view .LVU4534
6183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
13704 .loc 1 6183 25 is_stmt 0 view .LVU4535
13705 0030 0023 movs r3, #0
13706 0032 2363 str r3, [r4, #48]
6184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13707 .loc 1 6184 5 is_stmt 1 view .LVU4536
6184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 445
13708 .loc 1 6184 16 is_stmt 0 view .LVU4537
13709 0034 84F83E30 strb r3, [r4, #62]
13710 .L834:
6188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13711 .loc 1 6188 3 is_stmt 1 view .LVU4538
6188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13712 .loc 1 6188 7 is_stmt 0 view .LVU4539
13713 0038 2368 ldr r3, [r4]
13714 003a 5A68 ldr r2, [r3, #4]
6188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13715 .loc 1 6188 6 view .LVU4540
13716 003c 12F4006F tst r2, #2048
13717 0040 47D0 beq .L836
6190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13718 .loc 1 6190 5 is_stmt 1 view .LVU4541
6190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13719 .loc 1 6190 25 is_stmt 0 view .LVU4542
13720 0042 5A68 ldr r2, [r3, #4]
13721 0044 22F40062 bic r2, r2, #2048
13722 0048 5A60 str r2, [r3, #4]
6192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13723 .loc 1 6192 5 is_stmt 1 view .LVU4543
6192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13724 .loc 1 6192 13 is_stmt 0 view .LVU4544
13725 004a 636B ldr r3, [r4, #52]
6192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13726 .loc 1 6192 21 view .LVU4545
13727 004c 93F82120 ldrb r2, [r3, #33] @ zero_extendqisi2
6192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13728 .loc 1 6192 8 view .LVU4546
13729 0050 012A cmp r2, #1
13730 0052 20D0 beq .L837
6196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13731 .loc 1 6196 7 is_stmt 1 view .LVU4547
6196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13732 .loc 1 6196 39 is_stmt 0 view .LVU4548
13733 0054 424A ldr r2, .L849
13734 0056 5A63 str r2, [r3, #52]
6198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13735 .loc 1 6198 7 is_stmt 1 view .LVU4549
6198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13736 .loc 1 6198 11 is_stmt 0 view .LVU4550
13737 0058 606B ldr r0, [r4, #52]
13738 .LVL723:
6198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13739 .loc 1 6198 11 view .LVU4551
13740 005a FFF7FEFF bl HAL_DMA_Abort_IT
13741 .LVL724:
6198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13742 .loc 1 6198 10 view .LVU4552
13743 005e 0028 cmp r0, #0
13744 0060 49D0 beq .L838
6201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13745 .loc 1 6201 9 is_stmt 1 view .LVU4553
13746 0062 2268 ldr r2, [r4]
13747 0064 1368 ldr r3, [r2]
13748 0066 23F00103 bic r3, r3, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 446
13749 006a 1360 str r3, [r2]
6203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13750 .loc 1 6203 9 view .LVU4554
6203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13751 .loc 1 6203 21 is_stmt 0 view .LVU4555
13752 006c 2023 movs r3, #32
13753 006e 84F83D30 strb r3, [r4, #61]
6206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13754 .loc 1 6206 9 is_stmt 1 view .LVU4556
6206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13755 .loc 1 6206 13 is_stmt 0 view .LVU4557
13756 0072 606B ldr r0, [r4, #52]
6206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13757 .loc 1 6206 21 view .LVU4558
13758 0074 436B ldr r3, [r0, #52]
6206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13759 .loc 1 6206 9 view .LVU4559
13760 0076 9847 blx r3
13761 .LVL725:
13762 0078 3DE0 b .L838
13763 .LVL726:
13764 .L845:
6163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13765 .loc 1 6163 43 discriminator 1 view .LVU4560
13766 007a 222B cmp r3, #34
13767 007c CAD1 bne .L832
6166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13768 .loc 1 6166 5 is_stmt 1 view .LVU4561
6166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13769 .loc 1 6166 9 is_stmt 0 view .LVU4562
13770 007e 0168 ldr r1, [r0]
6166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13771 .loc 1 6166 25 view .LVU4563
13772 0080 0A68 ldr r2, [r1]
13773 0082 22F40062 bic r2, r2, #2048
13774 0086 0A60 str r2, [r1]
13775 0088 C4E7 b .L832
13776 .L846:
6172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
13777 .loc 1 6172 5 is_stmt 1 view .LVU4564
6172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
13778 .loc 1 6172 25 is_stmt 0 view .LVU4565
13779 008a 0023 movs r3, #0
13780 .LVL727:
6172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
13781 .loc 1 6172 25 view .LVU4566
13782 008c 2363 str r3, [r4, #48]
6173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13783 .loc 1 6173 5 is_stmt 1 view .LVU4567
6173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13784 .loc 1 6173 17 is_stmt 0 view .LVU4568
13785 008e 2823 movs r3, #40
13786 0090 84F83D30 strb r3, [r4, #61]
13787 0094 D0E7 b .L834
13788 .L837:
6213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13789 .loc 1 6213 7 is_stmt 1 view .LVU4569
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 447
6213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13790 .loc 1 6213 11 is_stmt 0 view .LVU4570
13791 0096 A36B ldr r3, [r4, #56]
6213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13792 .loc 1 6213 39 view .LVU4571
13793 0098 314A ldr r2, .L849
13794 009a 5A63 str r2, [r3, #52]
6215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13795 .loc 1 6215 7 is_stmt 1 view .LVU4572
6215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13796 .loc 1 6215 11 is_stmt 0 view .LVU4573
13797 009c A06B ldr r0, [r4, #56]
13798 .LVL728:
6215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13799 .loc 1 6215 11 view .LVU4574
13800 009e FFF7FEFF bl HAL_DMA_Abort_IT
13801 .LVL729:
6215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13802 .loc 1 6215 10 view .LVU4575
13803 00a2 40B3 cbz r0, .L838
6218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13804 .loc 1 6218 9 is_stmt 1 view .LVU4576
6218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13805 .loc 1 6218 13 is_stmt 0 view .LVU4577
13806 00a4 2368 ldr r3, [r4]
13807 00a6 5A69 ldr r2, [r3, #20]
6218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13808 .loc 1 6218 12 view .LVU4578
13809 00a8 12F0400F tst r2, #64
13810 00ac 05D0 beq .L839
6221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13811 .loc 1 6221 11 is_stmt 1 view .LVU4579
6221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13812 .loc 1 6221 52 is_stmt 0 view .LVU4580
13813 00ae 1A69 ldr r2, [r3, #16]
6221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13814 .loc 1 6221 16 view .LVU4581
13815 00b0 636A ldr r3, [r4, #36]
6221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13816 .loc 1 6221 27 view .LVU4582
13817 00b2 1A70 strb r2, [r3]
6224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13818 .loc 1 6224 11 is_stmt 1 view .LVU4583
6224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13819 .loc 1 6224 15 is_stmt 0 view .LVU4584
13820 00b4 636A ldr r3, [r4, #36]
6224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13821 .loc 1 6224 25 view .LVU4585
13822 00b6 0133 adds r3, r3, #1
13823 00b8 6362 str r3, [r4, #36]
13824 .L839:
6228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13825 .loc 1 6228 9 is_stmt 1 view .LVU4586
13826 00ba 2268 ldr r2, [r4]
13827 00bc 1368 ldr r3, [r2]
13828 00be 23F00103 bic r3, r3, #1
13829 00c2 1360 str r3, [r2]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 448
6230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13830 .loc 1 6230 9 view .LVU4587
6230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13831 .loc 1 6230 21 is_stmt 0 view .LVU4588
13832 00c4 2023 movs r3, #32
13833 00c6 84F83D30 strb r3, [r4, #61]
6233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13834 .loc 1 6233 9 is_stmt 1 view .LVU4589
6233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13835 .loc 1 6233 13 is_stmt 0 view .LVU4590
13836 00ca A06B ldr r0, [r4, #56]
6233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13837 .loc 1 6233 21 view .LVU4591
13838 00cc 436B ldr r3, [r0, #52]
6233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13839 .loc 1 6233 9 view .LVU4592
13840 00ce 9847 blx r3
13841 .LVL730:
13842 00d0 11E0 b .L838
13843 .LVL731:
13844 .L836:
6237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13845 .loc 1 6237 8 is_stmt 1 view .LVU4593
6237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13846 .loc 1 6237 16 is_stmt 0 view .LVU4594
13847 00d2 94F83D20 ldrb r2, [r4, #61] @ zero_extendqisi2
13848 00d6 D2B2 uxtb r2, r2
6237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13849 .loc 1 6237 11 view .LVU4595
13850 00d8 602A cmp r2, #96
13851 00da 16D0 beq .L847
6265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13852 .loc 1 6265 5 is_stmt 1 view .LVU4596
6265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13853 .loc 1 6265 9 is_stmt 0 view .LVU4597
13854 00dc 5A69 ldr r2, [r3, #20]
6265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13855 .loc 1 6265 8 view .LVU4598
13856 00de 12F0400F tst r2, #64
13857 00e2 05D0 beq .L842
6268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13858 .loc 1 6268 7 is_stmt 1 view .LVU4599
6268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13859 .loc 1 6268 48 is_stmt 0 view .LVU4600
13860 00e4 1A69 ldr r2, [r3, #16]
6268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13861 .loc 1 6268 12 view .LVU4601
13862 00e6 636A ldr r3, [r4, #36]
6268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13863 .loc 1 6268 23 view .LVU4602
13864 00e8 1A70 strb r2, [r3]
6271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13865 .loc 1 6271 7 is_stmt 1 view .LVU4603
6271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13866 .loc 1 6271 11 is_stmt 0 view .LVU4604
13867 00ea 636A ldr r3, [r4, #36]
6271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 449
13868 .loc 1 6271 21 view .LVU4605
13869 00ec 0133 adds r3, r3, #1
13870 00ee 6362 str r3, [r4, #36]
13871 .L842:
6278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13872 .loc 1 6278 5 is_stmt 1 view .LVU4606
13873 00f0 2046 mov r0, r4
13874 .LVL732:
6278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13875 .loc 1 6278 5 is_stmt 0 view .LVU4607
13876 00f2 FFF7FEFF bl HAL_I2C_ErrorCallback
13877 .LVL733:
13878 .L838:
6284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((hi2c->ErrorCode & HAL_I2C_ERROR_AF) == HAL_I2C_ERROR_AF) && (CurrentState == HAL_I2C_STATE_
13879 .loc 1 6284 3 is_stmt 1 view .LVU4608
6284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if (((hi2c->ErrorCode & HAL_I2C_ERROR_AF) == HAL_I2C_ERROR_AF) && (CurrentState == HAL_I2C_STATE_
13880 .loc 1 6284 16 is_stmt 0 view .LVU4609
13881 00f6 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
13882 00fa DBB2 uxtb r3, r3
13883 .LVL734:
6285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13884 .loc 1 6285 3 is_stmt 1 view .LVU4610
6285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13885 .loc 1 6285 13 is_stmt 0 view .LVU4611
13886 00fc 226C ldr r2, [r4, #64]
6285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13887 .loc 1 6285 6 view .LVU4612
13888 00fe 12F0040F tst r2, #4
13889 0102 01D0 beq .L831
6285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13890 .loc 1 6285 66 discriminator 1 view .LVU4613
13891 0104 282B cmp r3, #40
13892 0106 18D0 beq .L848
13893 .LVL735:
13894 .L831:
6302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13895 .loc 1 6302 1 view .LVU4614
13896 0108 10BD pop {r4, pc}
13897 .LVL736:
13898 .L847:
6239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
13899 .loc 1 6239 5 is_stmt 1 view .LVU4615
6239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
13900 .loc 1 6239 17 is_stmt 0 view .LVU4616
13901 010a 2022 movs r2, #32
13902 010c 84F83D20 strb r2, [r4, #61]
6240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13903 .loc 1 6240 5 is_stmt 1 view .LVU4617
6240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13904 .loc 1 6240 21 is_stmt 0 view .LVU4618
13905 0110 0022 movs r2, #0
13906 0112 2264 str r2, [r4, #64]
6243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13907 .loc 1 6243 5 is_stmt 1 view .LVU4619
6243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13908 .loc 1 6243 9 is_stmt 0 view .LVU4620
13909 0114 5A69 ldr r2, [r3, #20]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 450
6243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13910 .loc 1 6243 8 view .LVU4621
13911 0116 12F0400F tst r2, #64
13912 011a 05D0 beq .L841
6246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13913 .loc 1 6246 7 is_stmt 1 view .LVU4622
6246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13914 .loc 1 6246 48 is_stmt 0 view .LVU4623
13915 011c 1A69 ldr r2, [r3, #16]
6246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13916 .loc 1 6246 12 view .LVU4624
13917 011e 636A ldr r3, [r4, #36]
6246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13918 .loc 1 6246 23 view .LVU4625
13919 0120 1A70 strb r2, [r3]
6249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13920 .loc 1 6249 7 is_stmt 1 view .LVU4626
6249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13921 .loc 1 6249 11 is_stmt 0 view .LVU4627
13922 0122 636A ldr r3, [r4, #36]
6249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
13923 .loc 1 6249 21 view .LVU4628
13924 0124 0133 adds r3, r3, #1
13925 0126 6362 str r3, [r4, #36]
13926 .L841:
6253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13927 .loc 1 6253 5 is_stmt 1 view .LVU4629
13928 0128 2268 ldr r2, [r4]
13929 012a 1368 ldr r3, [r2]
13930 012c 23F00103 bic r3, r3, #1
13931 0130 1360 str r3, [r2]
6259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13932 .loc 1 6259 5 view .LVU4630
13933 0132 2046 mov r0, r4
13934 .LVL737:
6259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13935 .loc 1 6259 5 is_stmt 0 view .LVU4631
13936 0134 FFF7FEFF bl HAL_I2C_AbortCpltCallback
13937 .LVL738:
13938 0138 DDE7 b .L838
13939 .LVL739:
13940 .L848:
6288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13941 .loc 1 6288 5 is_stmt 1 view .LVU4632
13942 013a 2268 ldr r2, [r4]
13943 013c 5368 ldr r3, [r2, #4]
13944 .LVL740:
6288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13945 .loc 1 6288 5 is_stmt 0 view .LVU4633
13946 013e 23F4E063 bic r3, r3, #1792
13947 0142 5360 str r3, [r2, #4]
6290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
13948 .loc 1 6290 5 is_stmt 1 view .LVU4634
6290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
13949 .loc 1 6290 25 is_stmt 0 view .LVU4635
13950 0144 074B ldr r3, .L849+4
13951 0146 E362 str r3, [r4, #44]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 451
6291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
13952 .loc 1 6291 5 is_stmt 1 view .LVU4636
6291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
13953 .loc 1 6291 25 is_stmt 0 view .LVU4637
13954 0148 0023 movs r3, #0
13955 014a 2363 str r3, [r4, #48]
6292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
13956 .loc 1 6292 5 is_stmt 1 view .LVU4638
6292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
13957 .loc 1 6292 25 is_stmt 0 view .LVU4639
13958 014c 2022 movs r2, #32
13959 014e 84F83D20 strb r2, [r4, #61]
6293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13960 .loc 1 6293 5 is_stmt 1 view .LVU4640
6293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13961 .loc 1 6293 25 is_stmt 0 view .LVU4641
13962 0152 84F83E30 strb r3, [r4, #62]
6299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
13963 .loc 1 6299 5 is_stmt 1 view .LVU4642
13964 0156 2046 mov r0, r4
13965 0158 FFF7FEFF bl HAL_I2C_ListenCpltCallback
13966 .LVL741:
6302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13967 .loc 1 6302 1 is_stmt 0 view .LVU4643
13968 015c D4E7 b .L831
13969 .L850:
13970 015e 00BF .align 2
13971 .L849:
13972 0160 00000000 .word I2C_DMAAbort
13973 0164 0000FFFF .word -65536
13974 .cfi_endproc
13975 .LFE128:
13977 .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits
13978 .align 1
13979 .global HAL_I2C_Master_Abort_IT
13980 .syntax unified
13981 .thumb
13982 .thumb_func
13983 .fpu softvfp
13985 HAL_I2C_Master_Abort_IT:
13986 .LVL742:
13987 .LFB98:
4563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
13988 .loc 1 4563 1 is_stmt 1 view -0
13989 .cfi_startproc
13990 @ args = 0, pretend = 0, frame = 0
13991 @ frame_needed = 0, uses_anonymous_args = 0
4565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
13992 .loc 1 4565 3 view .LVU4645
4568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13993 .loc 1 4568 3 view .LVU4646
4568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13994 .loc 1 4568 11 is_stmt 0 view .LVU4647
13995 0000 90F83E30 ldrb r3, [r0, #62] @ zero_extendqisi2
13996 0004 DBB2 uxtb r3, r3
4568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
13997 .loc 1 4568 6 view .LVU4648
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 452
13998 0006 102B cmp r3, #16
13999 0008 22D1 bne .L853
4571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14000 .loc 1 4571 5 is_stmt 1 view .LVU4649
4571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14001 .loc 1 4571 5 view .LVU4650
14002 000a 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
14003 000e 012B cmp r3, #1
14004 0010 20D0 beq .L854
4563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
14005 .loc 1 4563 1 is_stmt 0 discriminator 2 view .LVU4651
14006 0012 10B5 push {r4, lr}
14007 .LCFI152:
14008 .cfi_def_cfa_offset 8
14009 .cfi_offset 4, -8
14010 .cfi_offset 14, -4
4571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14011 .loc 1 4571 5 is_stmt 1 discriminator 2 view .LVU4652
14012 0014 0123 movs r3, #1
14013 0016 80F83C30 strb r3, [r0, #60]
4573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
14014 .loc 1 4573 5 discriminator 2 view .LVU4653
4573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
14015 .loc 1 4573 25 is_stmt 0 discriminator 2 view .LVU4654
14016 001a 0024 movs r4, #0
14017 001c 0463 str r4, [r0, #48]
4574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14018 .loc 1 4574 5 is_stmt 1 discriminator 2 view .LVU4655
4574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14019 .loc 1 4574 17 is_stmt 0 discriminator 2 view .LVU4656
14020 001e 6023 movs r3, #96
14021 0020 80F83D30 strb r3, [r0, #61]
4577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14022 .loc 1 4577 5 is_stmt 1 discriminator 2 view .LVU4657
14023 0024 0268 ldr r2, [r0]
14024 0026 1368 ldr r3, [r2]
14025 0028 23F48063 bic r3, r3, #1024
14026 002c 1360 str r3, [r2]
4580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14027 .loc 1 4580 5 discriminator 2 view .LVU4658
14028 002e 0268 ldr r2, [r0]
14029 0030 1368 ldr r3, [r2]
14030 0032 43F40073 orr r3, r3, #512
14031 0036 1360 str r3, [r2]
4582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14032 .loc 1 4582 5 discriminator 2 view .LVU4659
4582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14033 .loc 1 4582 21 is_stmt 0 discriminator 2 view .LVU4660
14034 0038 4485 strh r4, [r0, #42] @ movhi
4585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14035 .loc 1 4585 5 is_stmt 1 discriminator 2 view .LVU4661
14036 003a 0268 ldr r2, [r0]
14037 003c 5368 ldr r3, [r2, #4]
14038 003e 23F4E063 bic r3, r3, #1792
14039 0042 5360 str r3, [r2, #4]
4588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14040 .loc 1 4588 5 discriminator 2 view .LVU4662
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 453
4588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14041 .loc 1 4588 5 discriminator 2 view .LVU4663
14042 0044 80F83C40 strb r4, [r0, #60]
4591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14043 .loc 1 4591 5 discriminator 2 view .LVU4664
14044 0048 FFF7FEFF bl I2C_ITError
14045 .LVL743:
4593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14046 .loc 1 4593 5 discriminator 2 view .LVU4665
4593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14047 .loc 1 4593 12 is_stmt 0 discriminator 2 view .LVU4666
14048 004c 2046 mov r0, r4
4601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14049 .loc 1 4601 1 discriminator 2 view .LVU4667
14050 004e 10BD pop {r4, pc}
14051 .LVL744:
14052 .L853:
14053 .LCFI153:
14054 .cfi_def_cfa_offset 0
14055 .cfi_restore 4
14056 .cfi_restore 14
4599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14057 .loc 1 4599 12 view .LVU4668
14058 0050 0120 movs r0, #1
14059 .LVL745:
4599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14060 .loc 1 4599 12 view .LVU4669
14061 0052 7047 bx lr
14062 .LVL746:
14063 .L854:
4571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14064 .loc 1 4571 5 view .LVU4670
14065 0054 0220 movs r0, #2
14066 .LVL747:
4601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14067 .loc 1 4601 1 view .LVU4671
14068 0056 7047 bx lr
14069 .cfi_endproc
14070 .LFE98:
14072 .section .text.I2C_Slave_STOPF,"ax",%progbits
14073 .align 1
14074 .syntax unified
14075 .thumb
14076 .thumb_func
14077 .fpu softvfp
14079 I2C_Slave_STOPF:
14080 .LVL748:
14081 .LFB126:
5924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
14082 .loc 1 5924 1 is_stmt 1 view -0
14083 .cfi_startproc
14084 @ args = 0, pretend = 0, frame = 8
14085 @ frame_needed = 0, uses_anonymous_args = 0
5924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
14086 .loc 1 5924 1 is_stmt 0 view .LVU4673
14087 0000 30B5 push {r4, r5, lr}
14088 .LCFI154:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 454
14089 .cfi_def_cfa_offset 12
14090 .cfi_offset 4, -12
14091 .cfi_offset 5, -8
14092 .cfi_offset 14, -4
14093 0002 83B0 sub sp, sp, #12
14094 .LCFI155:
14095 .cfi_def_cfa_offset 24
14096 0004 0446 mov r4, r0
5926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14097 .loc 1 5926 3 is_stmt 1 view .LVU4674
5926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14098 .loc 1 5926 24 is_stmt 0 view .LVU4675
14099 0006 90F83D50 ldrb r5, [r0, #61] @ zero_extendqisi2
14100 000a EDB2 uxtb r5, r5
14101 .LVL749:
5929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14102 .loc 1 5929 3 is_stmt 1 view .LVU4676
14103 000c 0268 ldr r2, [r0]
14104 000e 5368 ldr r3, [r2, #4]
14105 0010 23F4E063 bic r3, r3, #1792
14106 0014 5360 str r3, [r2, #4]
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14107 .loc 1 5932 3 view .LVU4677
14108 .LBB111:
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14109 .loc 1 5932 3 view .LVU4678
14110 0016 0023 movs r3, #0
14111 0018 0193 str r3, [sp, #4]
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14112 .loc 1 5932 3 view .LVU4679
14113 001a 0368 ldr r3, [r0]
14114 001c 5A69 ldr r2, [r3, #20]
14115 001e 0192 str r2, [sp, #4]
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14116 .loc 1 5932 3 view .LVU4680
14117 0020 1A68 ldr r2, [r3]
14118 0022 42F00102 orr r2, r2, #1
14119 0026 1A60 str r2, [r3]
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14120 .loc 1 5932 3 view .LVU4681
14121 0028 019B ldr r3, [sp, #4]
14122 .LBE111:
5935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14123 .loc 1 5935 3 view .LVU4682
14124 002a 0268 ldr r2, [r0]
14125 002c 1368 ldr r3, [r2]
14126 002e 23F48063 bic r3, r3, #1024
14127 0032 1360 str r3, [r2]
5938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14128 .loc 1 5938 3 view .LVU4683
5938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14129 .loc 1 5938 12 is_stmt 0 view .LVU4684
14130 0034 0368 ldr r3, [r0]
5938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14131 .loc 1 5938 22 view .LVU4685
14132 0036 5A68 ldr r2, [r3, #4]
5938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 455
14133 .loc 1 5938 6 view .LVU4686
14134 0038 12F4006F tst r2, #2048
14135 003c 38D0 beq .L860
5940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14136 .loc 1 5940 5 is_stmt 1 view .LVU4687
5940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14137 .loc 1 5940 8 is_stmt 0 view .LVU4688
14138 003e 222D cmp r5, #34
14139 0040 21D0 beq .L861
5940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14140 .loc 1 5940 49 discriminator 1 view .LVU4689
14141 0042 2A2D cmp r5, #42
14142 0044 1FD0 beq .L861
5970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14143 .loc 1 5970 7 is_stmt 1 view .LVU4690
5970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14144 .loc 1 5970 36 is_stmt 0 view .LVU4691
14145 0046 426B ldr r2, [r0, #52]
14146 0048 1268 ldr r2, [r2]
14147 004a 5268 ldr r2, [r2, #4]
5970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14148 .loc 1 5970 25 view .LVU4692
14149 004c 92B2 uxth r2, r2
5970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14150 .loc 1 5970 23 view .LVU4693
14151 004e 4285 strh r2, [r0, #42] @ movhi
5972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14152 .loc 1 5972 7 is_stmt 1 view .LVU4694
5972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14153 .loc 1 5972 15 is_stmt 0 view .LVU4695
14154 0050 428D ldrh r2, [r0, #42]
14155 0052 92B2 uxth r2, r2
5972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14156 .loc 1 5972 10 view .LVU4696
14157 0054 1AB1 cbz r2, .L864
5975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14158 .loc 1 5975 9 is_stmt 1 view .LVU4697
5975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14159 .loc 1 5975 25 is_stmt 0 view .LVU4698
14160 0056 026C ldr r2, [r0, #64]
14161 0058 42F00402 orr r2, r2, #4
14162 005c 0264 str r2, [r0, #64]
14163 .L864:
5979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14164 .loc 1 5979 7 is_stmt 1 view .LVU4699
14165 005e 5A68 ldr r2, [r3, #4]
14166 0060 22F40062 bic r2, r2, #2048
14167 0064 5A60 str r2, [r3, #4]
5982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14168 .loc 1 5982 7 view .LVU4700
5982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14169 .loc 1 5982 11 is_stmt 0 view .LVU4701
14170 0066 606B ldr r0, [r4, #52]
14171 .LVL750:
5982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14172 .loc 1 5982 11 view .LVU4702
14173 0068 FFF7FEFF bl HAL_DMA_GetState
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 456
14174 .LVL751:
5982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14175 .loc 1 5982 10 view .LVU4703
14176 006c 0128 cmp r0, #1
14177 006e 1FD0 beq .L860
5986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14178 .loc 1 5986 9 is_stmt 1 view .LVU4704
5986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14179 .loc 1 5986 13 is_stmt 0 view .LVU4705
14180 0070 636B ldr r3, [r4, #52]
5986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14181 .loc 1 5986 41 view .LVU4706
14182 0072 434A ldr r2, .L878
14183 0074 5A63 str r2, [r3, #52]
5989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14184 .loc 1 5989 9 is_stmt 1 view .LVU4707
5989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14185 .loc 1 5989 13 is_stmt 0 view .LVU4708
14186 0076 606B ldr r0, [r4, #52]
14187 0078 FFF7FEFF bl HAL_DMA_Abort_IT
14188 .LVL752:
5989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14189 .loc 1 5989 12 view .LVU4709
14190 007c C0B1 cbz r0, .L860
5992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14191 .loc 1 5992 11 is_stmt 1 view .LVU4710
5992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14192 .loc 1 5992 15 is_stmt 0 view .LVU4711
14193 007e 606B ldr r0, [r4, #52]
5992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14194 .loc 1 5992 23 view .LVU4712
14195 0080 436B ldr r3, [r0, #52]
5992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14196 .loc 1 5992 11 view .LVU4713
14197 0082 9847 blx r3
14198 .LVL753:
14199 0084 14E0 b .L860
14200 .LVL754:
14201 .L861:
5942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14202 .loc 1 5942 7 is_stmt 1 view .LVU4714
5942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14203 .loc 1 5942 36 is_stmt 0 view .LVU4715
14204 0086 A26B ldr r2, [r4, #56]
14205 0088 1268 ldr r2, [r2]
14206 008a 5268 ldr r2, [r2, #4]
5942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14207 .loc 1 5942 25 view .LVU4716
14208 008c 92B2 uxth r2, r2
5942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14209 .loc 1 5942 23 view .LVU4717
14210 008e 6285 strh r2, [r4, #42] @ movhi
5944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14211 .loc 1 5944 7 is_stmt 1 view .LVU4718
5944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14212 .loc 1 5944 15 is_stmt 0 view .LVU4719
14213 0090 628D ldrh r2, [r4, #42]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 457
14214 0092 92B2 uxth r2, r2
5944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14215 .loc 1 5944 10 view .LVU4720
14216 0094 1AB1 cbz r2, .L863
5947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14217 .loc 1 5947 9 is_stmt 1 view .LVU4721
5947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14218 .loc 1 5947 25 is_stmt 0 view .LVU4722
14219 0096 226C ldr r2, [r4, #64]
14220 0098 42F00402 orr r2, r2, #4
14221 009c 2264 str r2, [r4, #64]
14222 .L863:
5951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14223 .loc 1 5951 7 is_stmt 1 view .LVU4723
14224 009e 5A68 ldr r2, [r3, #4]
14225 00a0 22F40062 bic r2, r2, #2048
14226 00a4 5A60 str r2, [r3, #4]
5954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14227 .loc 1 5954 7 view .LVU4724
5954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14228 .loc 1 5954 11 is_stmt 0 view .LVU4725
14229 00a6 A06B ldr r0, [r4, #56]
14230 .LVL755:
5954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14231 .loc 1 5954 11 view .LVU4726
14232 00a8 FFF7FEFF bl HAL_DMA_GetState
14233 .LVL756:
5954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14234 .loc 1 5954 10 view .LVU4727
14235 00ac 0128 cmp r0, #1
14236 00ae 40D1 bne .L874
14237 .L860:
5999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14238 .loc 1 5999 3 is_stmt 1 view .LVU4728
5999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14239 .loc 1 5999 11 is_stmt 0 view .LVU4729
14240 00b0 638D ldrh r3, [r4, #42]
14241 00b2 9BB2 uxth r3, r3
5999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14242 .loc 1 5999 6 view .LVU4730
14243 00b4 23B3 cbz r3, .L865
6002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14244 .loc 1 6002 5 is_stmt 1 view .LVU4731
6002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14245 .loc 1 6002 9 is_stmt 0 view .LVU4732
14246 00b6 2368 ldr r3, [r4]
14247 00b8 5A69 ldr r2, [r3, #20]
6002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14248 .loc 1 6002 8 view .LVU4733
14249 00ba 12F0040F tst r2, #4
14250 00be 09D0 beq .L866
6005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14251 .loc 1 6005 7 is_stmt 1 view .LVU4734
6005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14252 .loc 1 6005 48 is_stmt 0 view .LVU4735
14253 00c0 1A69 ldr r2, [r3, #16]
6005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 458
14254 .loc 1 6005 12 view .LVU4736
14255 00c2 636A ldr r3, [r4, #36]
6005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14256 .loc 1 6005 23 view .LVU4737
14257 00c4 1A70 strb r2, [r3]
6008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14258 .loc 1 6008 7 is_stmt 1 view .LVU4738
6008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14259 .loc 1 6008 11 is_stmt 0 view .LVU4739
14260 00c6 636A ldr r3, [r4, #36]
6008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14261 .loc 1 6008 21 view .LVU4740
14262 00c8 0133 adds r3, r3, #1
14263 00ca 6362 str r3, [r4, #36]
6011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14264 .loc 1 6011 7 is_stmt 1 view .LVU4741
6011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14265 .loc 1 6011 11 is_stmt 0 view .LVU4742
14266 00cc 638D ldrh r3, [r4, #42]
6011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14267 .loc 1 6011 22 view .LVU4743
14268 00ce 013B subs r3, r3, #1
14269 00d0 9BB2 uxth r3, r3
14270 00d2 6385 strh r3, [r4, #42] @ movhi
14271 .L866:
6015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14272 .loc 1 6015 5 is_stmt 1 view .LVU4744
6015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14273 .loc 1 6015 9 is_stmt 0 view .LVU4745
14274 00d4 2368 ldr r3, [r4]
14275 00d6 5A69 ldr r2, [r3, #20]
6015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14276 .loc 1 6015 8 view .LVU4746
14277 00d8 12F0400F tst r2, #64
14278 00dc 09D0 beq .L867
6018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14279 .loc 1 6018 7 is_stmt 1 view .LVU4747
6018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14280 .loc 1 6018 48 is_stmt 0 view .LVU4748
14281 00de 1A69 ldr r2, [r3, #16]
6018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14282 .loc 1 6018 12 view .LVU4749
14283 00e0 636A ldr r3, [r4, #36]
6018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14284 .loc 1 6018 23 view .LVU4750
14285 00e2 1A70 strb r2, [r3]
6021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14286 .loc 1 6021 7 is_stmt 1 view .LVU4751
6021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14287 .loc 1 6021 11 is_stmt 0 view .LVU4752
14288 00e4 636A ldr r3, [r4, #36]
6021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14289 .loc 1 6021 21 view .LVU4753
14290 00e6 0133 adds r3, r3, #1
14291 00e8 6362 str r3, [r4, #36]
6024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14292 .loc 1 6024 7 is_stmt 1 view .LVU4754
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 459
6024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14293 .loc 1 6024 11 is_stmt 0 view .LVU4755
14294 00ea 638D ldrh r3, [r4, #42]
6024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14295 .loc 1 6024 22 view .LVU4756
14296 00ec 013B subs r3, r3, #1
14297 00ee 9BB2 uxth r3, r3
14298 00f0 6385 strh r3, [r4, #42] @ movhi
14299 .L867:
6027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14300 .loc 1 6027 5 is_stmt 1 view .LVU4757
6027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14301 .loc 1 6027 13 is_stmt 0 view .LVU4758
14302 00f2 638D ldrh r3, [r4, #42]
14303 00f4 9BB2 uxth r3, r3
6027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14304 .loc 1 6027 8 view .LVU4759
14305 00f6 1BB1 cbz r3, .L865
6030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14306 .loc 1 6030 7 is_stmt 1 view .LVU4760
6030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14307 .loc 1 6030 23 is_stmt 0 view .LVU4761
14308 00f8 236C ldr r3, [r4, #64]
14309 00fa 43F00403 orr r3, r3, #4
14310 00fe 2364 str r3, [r4, #64]
14311 .L865:
6034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14312 .loc 1 6034 3 is_stmt 1 view .LVU4762
6034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14313 .loc 1 6034 11 is_stmt 0 view .LVU4763
14314 0100 236C ldr r3, [r4, #64]
6034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14315 .loc 1 6034 6 view .LVU4764
14316 0102 13BB cbnz r3, .L875
6041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14317 .loc 1 6041 5 is_stmt 1 view .LVU4765
6041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14318 .loc 1 6041 8 is_stmt 0 view .LVU4766
14319 0104 2A2D cmp r5, #42
14320 0106 25D0 beq .L876
14321 .L870:
6055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14322 .loc 1 6055 5 is_stmt 1 view .LVU4767
6055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14323 .loc 1 6055 13 is_stmt 0 view .LVU4768
14324 0108 94F83D30 ldrb r3, [r4, #61] @ zero_extendqisi2
14325 010c DBB2 uxtb r3, r3
6055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14326 .loc 1 6055 8 view .LVU4769
14327 010e 282B cmp r3, #40
14328 0110 29D0 beq .L877
6071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14329 .loc 1 6071 7 is_stmt 1 view .LVU4770
6071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14330 .loc 1 6071 16 is_stmt 0 view .LVU4771
14331 0112 236B ldr r3, [r4, #48]
6071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 460
14332 .loc 1 6071 10 view .LVU4772
14333 0114 222B cmp r3, #34
14334 0116 01D0 beq .L872
6071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14335 .loc 1 6071 61 discriminator 1 view .LVU4773
14336 0118 222D cmp r5, #34
14337 011a 19D1 bne .L859
14338 .L872:
6073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
14339 .loc 1 6073 9 is_stmt 1 view .LVU4774
6073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
14340 .loc 1 6073 29 is_stmt 0 view .LVU4775
14341 011c 0023 movs r3, #0
14342 011e 2363 str r3, [r4, #48]
6074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
14343 .loc 1 6074 9 is_stmt 1 view .LVU4776
6074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
14344 .loc 1 6074 21 is_stmt 0 view .LVU4777
14345 0120 2022 movs r2, #32
14346 0122 84F83D20 strb r2, [r4, #61]
6075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14347 .loc 1 6075 9 is_stmt 1 view .LVU4778
6075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14348 .loc 1 6075 20 is_stmt 0 view .LVU4779
14349 0126 84F83E30 strb r3, [r4, #62]
6080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
14350 .loc 1 6080 9 is_stmt 1 view .LVU4780
14351 012a 2046 mov r0, r4
14352 012c FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
14353 .LVL757:
6085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14354 .loc 1 6085 1 is_stmt 0 view .LVU4781
14355 0130 0EE0 b .L859
14356 .L874:
5958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14357 .loc 1 5958 9 is_stmt 1 view .LVU4782
5958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14358 .loc 1 5958 13 is_stmt 0 view .LVU4783
14359 0132 A36B ldr r3, [r4, #56]
5958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14360 .loc 1 5958 41 view .LVU4784
14361 0134 124A ldr r2, .L878
14362 0136 5A63 str r2, [r3, #52]
5961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14363 .loc 1 5961 9 is_stmt 1 view .LVU4785
5961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14364 .loc 1 5961 13 is_stmt 0 view .LVU4786
14365 0138 A06B ldr r0, [r4, #56]
14366 013a FFF7FEFF bl HAL_DMA_Abort_IT
14367 .LVL758:
5961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14368 .loc 1 5961 12 view .LVU4787
14369 013e 0028 cmp r0, #0
14370 0140 B6D0 beq .L860
5964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14371 .loc 1 5964 11 is_stmt 1 view .LVU4788
5964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 461
14372 .loc 1 5964 15 is_stmt 0 view .LVU4789
14373 0142 A06B ldr r0, [r4, #56]
5964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14374 .loc 1 5964 23 view .LVU4790
14375 0144 436B ldr r3, [r0, #52]
5964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14376 .loc 1 5964 11 view .LVU4791
14377 0146 9847 blx r3
14378 .LVL759:
14379 0148 B2E7 b .L860
14380 .L875:
6037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14381 .loc 1 6037 5 is_stmt 1 view .LVU4792
14382 014a 2046 mov r0, r4
14383 014c FFF7FEFF bl I2C_ITError
14384 .LVL760:
14385 .L859:
6085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14386 .loc 1 6085 1 is_stmt 0 view .LVU4793
14387 0150 03B0 add sp, sp, #12
14388 .LCFI156:
14389 .cfi_remember_state
14390 .cfi_def_cfa_offset 12
14391 @ sp needed
14392 0152 30BD pop {r4, r5, pc}
14393 .LVL761:
14394 .L876:
14395 .LCFI157:
14396 .cfi_restore_state
6044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
14397 .loc 1 6044 7 is_stmt 1 view .LVU4794
6044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
14398 .loc 1 6044 27 is_stmt 0 view .LVU4795
14399 0154 0023 movs r3, #0
14400 0156 2363 str r3, [r4, #48]
6045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14401 .loc 1 6045 7 is_stmt 1 view .LVU4796
6045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14402 .loc 1 6045 19 is_stmt 0 view .LVU4797
14403 0158 2823 movs r3, #40
14404 015a 84F83D30 strb r3, [r4, #61]
6051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
14405 .loc 1 6051 7 is_stmt 1 view .LVU4798
14406 015e 2046 mov r0, r4
14407 0160 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
14408 .LVL762:
14409 0164 D0E7 b .L870
14410 .L877:
6057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
14411 .loc 1 6057 7 view .LVU4799
6057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
14412 .loc 1 6057 25 is_stmt 0 view .LVU4800
14413 0166 074B ldr r3, .L878+4
14414 0168 E362 str r3, [r4, #44]
6058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
14415 .loc 1 6058 7 is_stmt 1 view .LVU4801
6058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 462
14416 .loc 1 6058 27 is_stmt 0 view .LVU4802
14417 016a 0023 movs r3, #0
14418 016c 2363 str r3, [r4, #48]
6059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
14419 .loc 1 6059 7 is_stmt 1 view .LVU4803
6059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
14420 .loc 1 6059 19 is_stmt 0 view .LVU4804
14421 016e 2022 movs r2, #32
14422 0170 84F83D20 strb r2, [r4, #61]
6060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14423 .loc 1 6060 7 is_stmt 1 view .LVU4805
6060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14424 .loc 1 6060 18 is_stmt 0 view .LVU4806
14425 0174 84F83E30 strb r3, [r4, #62]
6066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
14426 .loc 1 6066 7 is_stmt 1 view .LVU4807
14427 0178 2046 mov r0, r4
14428 017a FFF7FEFF bl HAL_I2C_ListenCpltCallback
14429 .LVL763:
14430 017e E7E7 b .L859
14431 .L879:
14432 .align 2
14433 .L878:
14434 0180 00000000 .word I2C_DMAAbort
14435 0184 0000FFFF .word -65536
14436 .cfi_endproc
14437 .LFE126:
14439 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits
14440 .align 1
14441 .global HAL_I2C_EV_IRQHandler
14442 .syntax unified
14443 .thumb
14444 .thumb_func
14445 .fpu softvfp
14447 HAL_I2C_EV_IRQHandler:
14448 .LVL764:
14449 .LFB99:
4618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t sr1itflags;
14450 .loc 1 4618 1 view -0
14451 .cfi_startproc
14452 @ args = 0, pretend = 0, frame = 0
14453 @ frame_needed = 0, uses_anonymous_args = 0
4618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t sr1itflags;
14454 .loc 1 4618 1 is_stmt 0 view .LVU4809
14455 0000 70B5 push {r4, r5, r6, lr}
14456 .LCFI158:
14457 .cfi_def_cfa_offset 16
14458 .cfi_offset 4, -16
14459 .cfi_offset 5, -12
14460 .cfi_offset 6, -8
14461 .cfi_offset 14, -4
14462 0002 0446 mov r4, r0
4619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t sr2itflags = 0U;
14463 .loc 1 4619 3 is_stmt 1 view .LVU4810
4620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR2);
14464 .loc 1 4620 3 view .LVU4811
14465 .LVL765:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 463
4621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
14466 .loc 1 4621 3 view .LVU4812
4621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
14467 .loc 1 4621 39 is_stmt 0 view .LVU4813
14468 0004 0268 ldr r2, [r0]
4621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions;
14469 .loc 1 4621 12 view .LVU4814
14470 0006 5568 ldr r5, [r2, #4]
14471 .LVL766:
4622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode;
14472 .loc 1 4622 3 is_stmt 1 view .LVU4815
4622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode;
14473 .loc 1 4622 12 is_stmt 0 view .LVU4816
14474 0008 C66A ldr r6, [r0, #44]
14475 .LVL767:
4623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
14476 .loc 1 4623 3 is_stmt 1 view .LVU4817
4623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State;
14477 .loc 1 4623 23 is_stmt 0 view .LVU4818
14478 000a 90F83E30 ldrb r3, [r0, #62] @ zero_extendqisi2
14479 000e DBB2 uxtb r3, r3
14480 .LVL768:
4624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14481 .loc 1 4624 3 is_stmt 1 view .LVU4819
4624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14482 .loc 1 4624 24 is_stmt 0 view .LVU4820
14483 0010 90F83D10 ldrb r1, [r0, #61] @ zero_extendqisi2
14484 .LVL769:
4627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14485 .loc 1 4627 3 is_stmt 1 view .LVU4821
4627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14486 .loc 1 4627 6 is_stmt 0 view .LVU4822
14487 0014 102B cmp r3, #16
14488 0016 14D0 beq .L881
14489 0018 C8B2 uxtb r0, r1
14490 .LVL770:
4627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14491 .loc 1 4627 44 discriminator 1 view .LVU4823
14492 001a 402B cmp r3, #64
14493 001c 11D0 beq .L881
4706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14494 .loc 1 4706 5 is_stmt 1 view .LVU4824
4706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14495 .loc 1 4706 13 is_stmt 0 view .LVU4825
14496 001e 236C ldr r3, [r4, #64]
14497 .LVL771:
4706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14498 .loc 1 4706 8 view .LVU4826
14499 0020 002B cmp r3, #0
14500 0022 71D0 beq .L891
4708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14501 .loc 1 4708 7 is_stmt 1 view .LVU4827
4708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14502 .loc 1 4708 20 is_stmt 0 view .LVU4828
14503 0024 5369 ldr r3, [r2, #20]
14504 .LVL772:
4620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR2);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 464
14505 .loc 1 4620 12 view .LVU4829
14506 0026 0021 movs r1, #0
14507 .LVL773:
14508 .L892:
4717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14509 .loc 1 4717 5 is_stmt 1 view .LVU4830
4717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14510 .loc 1 4717 8 is_stmt 0 view .LVU4831
14511 0028 13F0020F tst r3, #2
14512 002c 6FD0 beq .L893
4717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14513 .loc 1 4717 62 discriminator 1 view .LVU4832
14514 002e 15F4007F tst r5, #512
14515 0032 6CD0 beq .L893
4720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14516 .loc 1 4720 7 is_stmt 1 view .LVU4833
4720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14517 .loc 1 4720 15 is_stmt 0 view .LVU4834
14518 0034 236C ldr r3, [r4, #64]
14519 .LVL774:
4720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14520 .loc 1 4720 10 view .LVU4835
14521 0036 03B1 cbz r3, .L894
4722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14522 .loc 1 4722 9 is_stmt 1 view .LVU4836
4722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14523 .loc 1 4722 22 is_stmt 0 view .LVU4837
14524 0038 9169 ldr r1, [r2, #24]
14525 .LVL775:
14526 .L894:
4724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14527 .loc 1 4724 7 is_stmt 1 view .LVU4838
14528 003a 2046 mov r0, r4
14529 .LVL776:
4724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14530 .loc 1 4724 7 is_stmt 0 view .LVU4839
14531 003c FFF7FEFF bl I2C_Slave_ADDR
14532 .LVL777:
14533 .L880:
4768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14534 .loc 1 4768 1 view .LVU4840
14535 0040 70BD pop {r4, r5, r6, pc}
14536 .LVL778:
14537 .L881:
4629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** sr1itflags = READ_REG(hi2c->Instance->SR1);
14538 .loc 1 4629 5 is_stmt 1 view .LVU4841
4629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** sr1itflags = READ_REG(hi2c->Instance->SR1);
14539 .loc 1 4629 18 is_stmt 0 view .LVU4842
14540 0042 9069 ldr r0, [r2, #24]
14541 .LVL779:
4630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14542 .loc 1 4630 5 is_stmt 1 view .LVU4843
4630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14543 .loc 1 4630 18 is_stmt 0 view .LVU4844
14544 0044 5369 ldr r3, [r2, #20]
14545 .LVL780:
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 465
14546 .loc 1 4633 5 is_stmt 1 view .LVU4845
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14547 .loc 1 4633 8 is_stmt 0 view .LVU4846
14548 0046 13F00101 ands r1, r3, #1
14549 .LVL781:
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14550 .loc 1 4633 8 view .LVU4847
14551 004a 05D1 bne .L883
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14552 .loc 1 4633 64 discriminator 1 view .LVU4848
14553 004c B6F52A0F cmp r6, #11141120
14554 0050 F6D0 beq .L880
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14555 .loc 1 4633 64 discriminator 3 view .LVU4849
14556 0052 B6F12A4F cmp r6, #-1442840576
14557 0056 F3D0 beq .L880
14558 .L883:
4639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14559 .loc 1 4639 5 is_stmt 1 view .LVU4850
4639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14560 .loc 1 4639 8 is_stmt 0 view .LVU4851
14561 0058 11B1 cbz r1, .L885
4639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14562 .loc 1 4639 60 discriminator 1 view .LVU4852
14563 005a 15F4007F tst r5, #512
14564 005e 25D1 bne .L901
14565 .L885:
4647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14566 .loc 1 4647 10 is_stmt 1 view .LVU4853
4647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14567 .loc 1 4647 13 is_stmt 0 view .LVU4854
14568 0060 13F0080F tst r3, #8
14569 0064 02D0 beq .L886
4647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14570 .loc 1 4647 68 discriminator 1 view .LVU4855
14571 0066 15F4007F tst r5, #512
14572 006a 26D1 bne .L902
14573 .L886:
4652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14574 .loc 1 4652 10 is_stmt 1 view .LVU4856
4652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14575 .loc 1 4652 13 is_stmt 0 view .LVU4857
14576 006c 13F0020F tst r3, #2
14577 0070 02D0 beq .L887
4652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14578 .loc 1 4652 67 discriminator 1 view .LVU4858
14579 0072 15F4007F tst r5, #512
14580 0076 24D1 bne .L903
14581 .L887:
4657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14582 .loc 1 4657 10 is_stmt 1 view .LVU4859
4657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14583 .loc 1 4657 13 is_stmt 0 view .LVU4860
14584 0078 10F0040F tst r0, #4
14585 007c 29D0 beq .L888
4660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14586 .loc 1 4660 7 is_stmt 1 view .LVU4861
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 466
4660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14587 .loc 1 4660 11 is_stmt 0 view .LVU4862
14588 007e 5268 ldr r2, [r2, #4]
4660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14589 .loc 1 4660 10 view .LVU4863
14590 0080 12F4006F tst r2, #2048
14591 0084 DCD1 bne .L880
4663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14592 .loc 1 4663 9 is_stmt 1 view .LVU4864
4663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14593 .loc 1 4663 12 is_stmt 0 view .LVU4865
14594 0086 13F0800F tst r3, #128
14595 008a 05D0 beq .L889
4663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14596 .loc 1 4663 65 discriminator 1 view .LVU4866
14597 008c 15F4806F tst r5, #1024
14598 0090 02D0 beq .L889
4663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14599 .loc 1 4663 122 discriminator 2 view .LVU4867
14600 0092 13F0040F tst r3, #4
14601 0096 18D0 beq .L904
14602 .L889:
4668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14603 .loc 1 4668 14 is_stmt 1 view .LVU4868
4668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14604 .loc 1 4668 17 is_stmt 0 view .LVU4869
14605 0098 13F0040F tst r3, #4
14606 009c D0D0 beq .L880
4668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14607 .loc 1 4668 70 discriminator 1 view .LVU4870
14608 009e 15F4007F tst r5, #512
14609 00a2 CDD0 beq .L880
4670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14610 .loc 1 4670 11 is_stmt 1 view .LVU4871
14611 00a4 2046 mov r0, r4
14612 .LVL782:
4670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14613 .loc 1 4670 11 is_stmt 0 view .LVU4872
14614 00a6 FFF7FEFF bl I2C_MasterTransmit_BTF
14615 .LVL783:
4670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14616 .loc 1 4670 11 view .LVU4873
14617 00aa C9E7 b .L880
14618 .LVL784:
14619 .L901:
4642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14620 .loc 1 4642 7 is_stmt 1 view .LVU4874
14621 00ac 2046 mov r0, r4
14622 .LVL785:
4642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14623 .loc 1 4642 7 is_stmt 0 view .LVU4875
14624 00ae FFF7FEFF bl I2C_ConvertOtherXferOptions
14625 .LVL786:
4644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14626 .loc 1 4644 7 is_stmt 1 view .LVU4876
14627 00b2 2046 mov r0, r4
14628 00b4 FFF7FEFF bl I2C_Master_SB
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 467
14629 .LVL787:
14630 00b8 C2E7 b .L880
14631 .LVL788:
14632 .L902:
4649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14633 .loc 1 4649 7 view .LVU4877
14634 00ba 2046 mov r0, r4
14635 .LVL789:
4649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14636 .loc 1 4649 7 is_stmt 0 view .LVU4878
14637 00bc FFF7FEFF bl I2C_Master_ADD10
14638 .LVL790:
4649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14639 .loc 1 4649 7 view .LVU4879
14640 00c0 BEE7 b .L880
14641 .LVL791:
14642 .L903:
4654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14643 .loc 1 4654 7 is_stmt 1 view .LVU4880
14644 00c2 2046 mov r0, r4
14645 .LVL792:
4654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14646 .loc 1 4654 7 is_stmt 0 view .LVU4881
14647 00c4 FFF7FEFF bl I2C_Master_ADDR
14648 .LVL793:
4654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14649 .loc 1 4654 7 view .LVU4882
14650 00c8 BAE7 b .L880
14651 .LVL794:
14652 .L904:
4665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14653 .loc 1 4665 11 is_stmt 1 view .LVU4883
14654 00ca 2046 mov r0, r4
14655 .LVL795:
4665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14656 .loc 1 4665 11 is_stmt 0 view .LVU4884
14657 00cc FFF7FEFF bl I2C_MasterTransmit_TXE
14658 .LVL796:
4665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14659 .loc 1 4665 11 view .LVU4885
14660 00d0 B6E7 b .L880
14661 .LVL797:
14662 .L888:
4682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14663 .loc 1 4682 7 is_stmt 1 view .LVU4886
4682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14664 .loc 1 4682 11 is_stmt 0 view .LVU4887
14665 00d2 5268 ldr r2, [r2, #4]
4682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14666 .loc 1 4682 10 view .LVU4888
14667 00d4 12F4006F tst r2, #2048
14668 00d8 B2D1 bne .L880
4685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14669 .loc 1 4685 9 is_stmt 1 view .LVU4889
4685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14670 .loc 1 4685 12 is_stmt 0 view .LVU4890
14671 00da 13F0400F tst r3, #64
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 468
14672 00de 05D0 beq .L890
4685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14673 .loc 1 4685 66 discriminator 1 view .LVU4891
14674 00e0 15F4806F tst r5, #1024
14675 00e4 02D0 beq .L890
4685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14676 .loc 1 4685 123 discriminator 2 view .LVU4892
14677 00e6 13F0040F tst r3, #4
14678 00ea 09D0 beq .L905
14679 .L890:
4690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14680 .loc 1 4690 14 is_stmt 1 view .LVU4893
4690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14681 .loc 1 4690 17 is_stmt 0 view .LVU4894
14682 00ec 13F0040F tst r3, #4
14683 00f0 A6D0 beq .L880
4690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14684 .loc 1 4690 70 discriminator 1 view .LVU4895
14685 00f2 15F4007F tst r5, #512
14686 00f6 A3D0 beq .L880
4692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14687 .loc 1 4692 11 is_stmt 1 view .LVU4896
14688 00f8 2046 mov r0, r4
14689 .LVL798:
4692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14690 .loc 1 4692 11 is_stmt 0 view .LVU4897
14691 00fa FFF7FEFF bl I2C_MasterReceive_BTF
14692 .LVL799:
4692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14693 .loc 1 4692 11 view .LVU4898
14694 00fe 9FE7 b .L880
14695 .LVL800:
14696 .L905:
4687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14697 .loc 1 4687 11 is_stmt 1 view .LVU4899
14698 0100 2046 mov r0, r4
14699 .LVL801:
4687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14700 .loc 1 4687 11 is_stmt 0 view .LVU4900
14701 0102 FFF7FEFF bl I2C_MasterReceive_RXNE
14702 .LVL802:
4687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14703 .loc 1 4687 11 view .LVU4901
14704 0106 9BE7 b .L880
14705 .LVL803:
14706 .L891:
4712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** sr1itflags = READ_REG(hi2c->Instance->SR1);
14707 .loc 1 4712 7 is_stmt 1 view .LVU4902
4712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** sr1itflags = READ_REG(hi2c->Instance->SR1);
14708 .loc 1 4712 20 is_stmt 0 view .LVU4903
14709 0108 9169 ldr r1, [r2, #24]
14710 .LVL804:
4713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14711 .loc 1 4713 7 is_stmt 1 view .LVU4904
4713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14712 .loc 1 4713 20 is_stmt 0 view .LVU4905
14713 010a 5369 ldr r3, [r2, #20]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 469
14714 .LVL805:
4713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14715 .loc 1 4713 20 view .LVU4906
14716 010c 8CE7 b .L892
14717 .L893:
4727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14718 .loc 1 4727 10 is_stmt 1 view .LVU4907
4727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14719 .loc 1 4727 13 is_stmt 0 view .LVU4908
14720 010e 13F0100F tst r3, #16
14721 0112 02D0 beq .L895
4727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14722 .loc 1 4727 68 discriminator 1 view .LVU4909
14723 0114 15F4007F tst r5, #512
14724 0118 17D1 bne .L906
14725 .L895:
4732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14726 .loc 1 4732 10 is_stmt 1 view .LVU4910
4732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14727 .loc 1 4732 13 is_stmt 0 view .LVU4911
14728 011a 2128 cmp r0, #33
14729 011c 19D0 beq .L896
4732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14730 .loc 1 4732 54 discriminator 1 view .LVU4912
14731 011e 2928 cmp r0, #41
14732 0120 17D0 beq .L896
4753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14733 .loc 1 4753 7 is_stmt 1 view .LVU4913
4753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14734 .loc 1 4753 10 is_stmt 0 view .LVU4914
14735 0122 13F0400F tst r3, #64
14736 0126 05D0 beq .L899
4753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14737 .loc 1 4753 64 discriminator 1 view .LVU4915
14738 0128 15F4806F tst r5, #1024
14739 012c 02D0 beq .L899
4753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14740 .loc 1 4753 121 discriminator 2 view .LVU4916
14741 012e 13F0040F tst r3, #4
14742 0132 27D0 beq .L907
14743 .L899:
4758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14744 .loc 1 4758 12 is_stmt 1 view .LVU4917
4758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14745 .loc 1 4758 15 is_stmt 0 view .LVU4918
14746 0134 13F0040F tst r3, #4
14747 0138 82D0 beq .L880
4758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14748 .loc 1 4758 68 discriminator 1 view .LVU4919
14749 013a 15F4007F tst r5, #512
14750 013e 3FF47FAF beq .L880
4760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14751 .loc 1 4760 9 is_stmt 1 view .LVU4920
14752 0142 2046 mov r0, r4
14753 .LVL806:
4760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14754 .loc 1 4760 9 is_stmt 0 view .LVU4921
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 470
14755 0144 FFF7FEFF bl I2C_SlaveReceive_BTF
14756 .LVL807:
4765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14757 .loc 1 4765 7 is_stmt 1 view .LVU4922
14758 0148 7AE7 b .L880
14759 .LVL808:
14760 .L906:
4729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14761 .loc 1 4729 7 view .LVU4923
14762 014a 2046 mov r0, r4
14763 .LVL809:
4729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14764 .loc 1 4729 7 is_stmt 0 view .LVU4924
14765 014c FFF7FEFF bl I2C_Slave_STOPF
14766 .LVL810:
4729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14767 .loc 1 4729 7 view .LVU4925
14768 0150 76E7 b .L880
14769 .LVL811:
14770 .L896:
4735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14771 .loc 1 4735 7 is_stmt 1 view .LVU4926
4735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14772 .loc 1 4735 10 is_stmt 0 view .LVU4927
14773 0152 13F0800F tst r3, #128
14774 0156 05D0 beq .L898
4735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14775 .loc 1 4735 63 discriminator 1 view .LVU4928
14776 0158 15F4806F tst r5, #1024
14777 015c 02D0 beq .L898
4735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14778 .loc 1 4735 120 discriminator 2 view .LVU4929
14779 015e 13F0040F tst r3, #4
14780 0162 0BD0 beq .L908
14781 .L898:
4740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14782 .loc 1 4740 12 is_stmt 1 view .LVU4930
4740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14783 .loc 1 4740 15 is_stmt 0 view .LVU4931
14784 0164 13F0040F tst r3, #4
14785 0168 3FF46AAF beq .L880
4740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14786 .loc 1 4740 68 discriminator 1 view .LVU4932
14787 016c 15F4007F tst r5, #512
14788 0170 3FF466AF beq .L880
4742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14789 .loc 1 4742 9 is_stmt 1 view .LVU4933
14790 0174 2046 mov r0, r4
14791 .LVL812:
4742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14792 .loc 1 4742 9 is_stmt 0 view .LVU4934
14793 0176 FFF7FEFF bl I2C_SlaveTransmit_BTF
14794 .LVL813:
4742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14795 .loc 1 4742 9 view .LVU4935
14796 017a 61E7 b .L880
14797 .LVL814:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 471
14798 .L908:
4737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14799 .loc 1 4737 9 is_stmt 1 view .LVU4936
14800 017c 2046 mov r0, r4
14801 .LVL815:
4737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14802 .loc 1 4737 9 is_stmt 0 view .LVU4937
14803 017e FFF7FEFF bl I2C_SlaveTransmit_TXE
14804 .LVL816:
4737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14805 .loc 1 4737 9 view .LVU4938
14806 0182 5DE7 b .L880
14807 .LVL817:
14808 .L907:
4755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14809 .loc 1 4755 9 is_stmt 1 view .LVU4939
14810 0184 2046 mov r0, r4
14811 .LVL818:
4755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14812 .loc 1 4755 9 is_stmt 0 view .LVU4940
14813 0186 FFF7FEFF bl I2C_SlaveReceive_RXNE
14814 .LVL819:
4755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14815 .loc 1 4755 9 view .LVU4941
14816 018a 59E7 b .L880
14817 .cfi_endproc
14818 .LFE99:
14820 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits
14821 .align 1
14822 .global HAL_I2C_ER_IRQHandler
14823 .syntax unified
14824 .thumb
14825 .thumb_func
14826 .fpu softvfp
14828 HAL_I2C_ER_IRQHandler:
14829 .LVL820:
14830 .LFB100:
4777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp1;
14831 .loc 1 4777 1 is_stmt 1 view -0
14832 .cfi_startproc
14833 @ args = 0, pretend = 0, frame = 0
14834 @ frame_needed = 0, uses_anonymous_args = 0
4777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp1;
14835 .loc 1 4777 1 is_stmt 0 view .LVU4943
14836 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
14837 .LCFI159:
14838 .cfi_def_cfa_offset 24
14839 .cfi_offset 3, -24
14840 .cfi_offset 4, -20
14841 .cfi_offset 5, -16
14842 .cfi_offset 6, -12
14843 .cfi_offset 7, -8
14844 .cfi_offset 14, -4
14845 0002 0446 mov r4, r0
4778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tmp2;
14846 .loc 1 4778 3 is_stmt 1 view .LVU4944
4779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmp3;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 472
14847 .loc 1 4779 3 view .LVU4945
4780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t tmp4;
14848 .loc 1 4780 3 view .LVU4946
4781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t sr1itflags = READ_REG(hi2c->Instance->SR1);
14849 .loc 1 4781 3 view .LVU4947
4782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR2);
14850 .loc 1 4782 3 view .LVU4948
4782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR2);
14851 .loc 1 4782 25 is_stmt 0 view .LVU4949
14852 0004 0368 ldr r3, [r0]
4782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR2);
14853 .loc 1 4782 12 view .LVU4950
14854 0006 5D69 ldr r5, [r3, #20]
14855 .LVL821:
4783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t error = HAL_I2C_ERROR_NONE;
14856 .loc 1 4783 3 is_stmt 1 view .LVU4951
4783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t error = HAL_I2C_ERROR_NONE;
14857 .loc 1 4783 12 is_stmt 0 view .LVU4952
14858 0008 5F68 ldr r7, [r3, #4]
14859 .LVL822:
4784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14860 .loc 1 4784 3 is_stmt 1 view .LVU4953
4787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14861 .loc 1 4787 3 view .LVU4954
4787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14862 .loc 1 4787 6 is_stmt 0 view .LVU4955
14863 000a 15F4807F tst r5, #256
14864 000e 0CD0 beq .L917
4787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14865 .loc 1 4787 60 discriminator 1 view .LVU4956
14866 0010 17F4807F tst r7, #256
14867 0014 40D0 beq .L918
4789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14868 .loc 1 4789 5 is_stmt 1 view .LVU4957
14869 .LVL823:
4792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14870 .loc 1 4792 5 view .LVU4958
14871 0016 6FF48072 mvn r2, #256
14872 001a 5A61 str r2, [r3, #20]
4795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14873 .loc 1 4795 5 view .LVU4959
14874 001c 0268 ldr r2, [r0]
14875 001e 1368 ldr r3, [r2]
14876 0020 43F40043 orr r3, r3, #32768
14877 0024 1360 str r3, [r2]
4789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14878 .loc 1 4789 11 is_stmt 0 view .LVU4960
14879 0026 0126 movs r6, #1
14880 0028 00E0 b .L910
14881 .LVL824:
14882 .L917:
4784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14883 .loc 1 4784 12 view .LVU4961
14884 002a 0026 movs r6, #0
14885 .LVL825:
14886 .L910:
4799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 473
14887 .loc 1 4799 3 is_stmt 1 view .LVU4962
4799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14888 .loc 1 4799 6 is_stmt 0 view .LVU4963
14889 002c 15F4007F tst r5, #512
14890 0030 08D0 beq .L911
4799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14891 .loc 1 4799 60 discriminator 1 view .LVU4964
14892 0032 17F4807F tst r7, #256
14893 0036 05D0 beq .L911
4801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14894 .loc 1 4801 5 is_stmt 1 view .LVU4965
4801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14895 .loc 1 4801 11 is_stmt 0 view .LVU4966
14896 0038 46F00206 orr r6, r6, #2
14897 .LVL826:
4804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14898 .loc 1 4804 5 is_stmt 1 view .LVU4967
14899 003c 2368 ldr r3, [r4]
14900 003e 6FF40072 mvn r2, #512
14901 0042 5A61 str r2, [r3, #20]
14902 .L911:
4808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14903 .loc 1 4808 3 view .LVU4968
4808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14904 .loc 1 4808 6 is_stmt 0 view .LVU4969
14905 0044 15F4806F tst r5, #1024
14906 0048 18D0 beq .L912
4808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14907 .loc 1 4808 58 discriminator 1 view .LVU4970
14908 004a 17F4807F tst r7, #256
14909 004e 15D0 beq .L912
4810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp2 = hi2c->XferCount;
14910 .loc 1 4810 5 is_stmt 1 view .LVU4971
4810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp2 = hi2c->XferCount;
14911 .loc 1 4810 10 is_stmt 0 view .LVU4972
14912 0050 94F83E30 ldrb r3, [r4, #62] @ zero_extendqisi2
14913 0054 DBB2 uxtb r3, r3
14914 .LVL827:
4811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp3 = hi2c->State;
14915 .loc 1 4811 5 is_stmt 1 view .LVU4973
4811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp3 = hi2c->State;
14916 .loc 1 4811 16 is_stmt 0 view .LVU4974
14917 0056 628D ldrh r2, [r4, #42]
14918 0058 91B2 uxth r1, r2
14919 .LVL828:
4812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp4 = hi2c->PreviousState;
14920 .loc 1 4812 5 is_stmt 1 view .LVU4975
4812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** tmp4 = hi2c->PreviousState;
14921 .loc 1 4812 10 is_stmt 0 view .LVU4976
14922 005a 94F83D20 ldrb r2, [r4, #61] @ zero_extendqisi2
14923 005e D2B2 uxtb r2, r2
14924 .LVL829:
4813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((tmp1 == HAL_I2C_MODE_SLAVE) && (tmp2 == 0U) && \
14925 .loc 1 4813 5 is_stmt 1 view .LVU4977
4813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** if ((tmp1 == HAL_I2C_MODE_SLAVE) && (tmp2 == 0U) && \
14926 .loc 1 4813 10 is_stmt 0 view .LVU4978
14927 0060 206B ldr r0, [r4, #48]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 474
14928 .LVL830:
4814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \
14929 .loc 1 4814 5 is_stmt 1 view .LVU4979
4814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \
14930 .loc 1 4814 8 is_stmt 0 view .LVU4980
14931 0062 202B cmp r3, #32
14932 0064 1AD0 beq .L920
14933 .L913:
4823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14934 .loc 1 4823 7 is_stmt 1 view .LVU4981
14935 0066 2368 ldr r3, [r4]
14936 .LVL831:
4823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14937 .loc 1 4823 7 is_stmt 0 view .LVU4982
14938 0068 6FF48062 mvn r2, #1024
14939 .LVL832:
4823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14940 .loc 1 4823 7 view .LVU4983
14941 006c 5A61 str r2, [r3, #20]
4825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14942 .loc 1 4825 7 is_stmt 1 view .LVU4984
4825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14943 .loc 1 4825 13 is_stmt 0 view .LVU4985
14944 006e 46F00406 orr r6, r6, #4
14945 .LVL833:
4828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14946 .loc 1 4828 7 is_stmt 1 view .LVU4986
4828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14947 .loc 1 4828 15 is_stmt 0 view .LVU4987
14948 0072 94F83E30 ldrb r3, [r4, #62] @ zero_extendqisi2
14949 0076 DBB2 uxtb r3, r3
4828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14950 .loc 1 4828 10 view .LVU4988
14951 0078 102B cmp r3, #16
14952 007a 1DD0 beq .L921
14953 .LVL834:
14954 .L912:
4837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14955 .loc 1 4837 3 is_stmt 1 view .LVU4989
4837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14956 .loc 1 4837 6 is_stmt 0 view .LVU4990
14957 007c 15F4006F tst r5, #2048
14958 0080 08D0 beq .L915
4837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14959 .loc 1 4837 59 discriminator 1 view .LVU4991
14960 0082 17F4807F tst r7, #256
14961 0086 05D0 beq .L915
4839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear OVR flag */
14962 .loc 1 4839 5 is_stmt 1 view .LVU4992
4839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Clear OVR flag */
14963 .loc 1 4839 11 is_stmt 0 view .LVU4993
14964 0088 46F00806 orr r6, r6, #8
14965 .LVL835:
4841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
14966 .loc 1 4841 5 is_stmt 1 view .LVU4994
14967 008c 2368 ldr r3, [r4]
14968 008e 6FF40062 mvn r2, #2048
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 475
14969 0092 5A61 str r2, [r3, #20]
14970 .L915:
4845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14971 .loc 1 4845 3 view .LVU4995
4845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14972 .loc 1 4845 6 is_stmt 0 view .LVU4996
14973 0094 B6B9 cbnz r6, .L922
14974 .LVL836:
14975 .L909:
4850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14976 .loc 1 4850 1 view .LVU4997
14977 0096 F8BD pop {r3, r4, r5, r6, r7, pc}
14978 .LVL837:
14979 .L918:
4784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
14980 .loc 1 4784 12 view .LVU4998
14981 0098 0026 movs r6, #0
14982 009a C7E7 b .L910
14983 .LVL838:
14984 .L920:
4814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \
14985 .loc 1 4814 38 discriminator 1 view .LVU4999
14986 009c 0029 cmp r1, #0
14987 009e E2D1 bne .L913
4814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \
14988 .loc 1 4814 54 discriminator 2 view .LVU5000
14989 00a0 212A cmp r2, #33
14990 00a2 05D0 beq .L914
4815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((tmp3 == HAL_I2C_STATE_LISTEN) && (tmp4 == I2C_STATE_SLAVE_BUSY_TX))))
14991 .loc 1 4815 42 view .LVU5001
14992 00a4 292A cmp r2, #41
14993 00a6 03D0 beq .L914
4815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** ((tmp3 == HAL_I2C_STATE_LISTEN) && (tmp4 == I2C_STATE_SLAVE_BUSY_TX))))
14994 .loc 1 4815 84 discriminator 1 view .LVU5002
14995 00a8 282A cmp r2, #40
14996 00aa DCD1 bne .L913
4816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
14997 .loc 1 4816 42 view .LVU5003
14998 00ac 2128 cmp r0, #33
14999 00ae DAD1 bne .L913
15000 .L914:
4818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15001 .loc 1 4818 7 is_stmt 1 view .LVU5004
15002 00b0 2046 mov r0, r4
15003 .LVL839:
4818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15004 .loc 1 4818 7 is_stmt 0 view .LVU5005
15005 00b2 FFF7FEFF bl I2C_Slave_AF
15006 .LVL840:
4818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15007 .loc 1 4818 7 view .LVU5006
15008 00b6 E1E7 b .L912
15009 .LVL841:
15010 .L921:
4831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15011 .loc 1 4831 9 is_stmt 1 view .LVU5007
15012 00b8 2268 ldr r2, [r4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 476
15013 00ba 1368 ldr r3, [r2]
15014 00bc 43F40073 orr r3, r3, #512
15015 00c0 1360 str r3, [r2]
15016 00c2 DBE7 b .L912
15017 .LVL842:
15018 .L922:
4847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_ITError(hi2c);
15019 .loc 1 4847 5 view .LVU5008
4847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_ITError(hi2c);
15020 .loc 1 4847 21 is_stmt 0 view .LVU5009
15021 00c4 236C ldr r3, [r4, #64]
15022 00c6 1E43 orrs r6, r6, r3
15023 .LVL843:
4847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** I2C_ITError(hi2c);
15024 .loc 1 4847 21 view .LVU5010
15025 00c8 2664 str r6, [r4, #64]
4848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15026 .loc 1 4848 5 is_stmt 1 view .LVU5011
15027 00ca 2046 mov r0, r4
15028 00cc FFF7FEFF bl I2C_ITError
15029 .LVL844:
4850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
15030 .loc 1 4850 1 is_stmt 0 view .LVU5012
15031 00d0 E1E7 b .L909
15032 .cfi_endproc
15033 .LFE100:
15035 .section .text.HAL_I2C_GetState,"ax",%progbits
15036 .align 1
15037 .global HAL_I2C_GetState
15038 .syntax unified
15039 .thumb
15040 .thumb_func
15041 .fpu softvfp
15043 HAL_I2C_GetState:
15044 .LVL845:
15045 .LFB111:
5041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Return I2C handle state */
15046 .loc 1 5041 1 is_stmt 1 view -0
15047 .cfi_startproc
15048 @ args = 0, pretend = 0, frame = 0
15049 @ frame_needed = 0, uses_anonymous_args = 0
15050 @ link register save eliminated.
5043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15051 .loc 1 5043 3 view .LVU5014
5043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15052 .loc 1 5043 14 is_stmt 0 view .LVU5015
15053 0000 90F83D00 ldrb r0, [r0, #61] @ zero_extendqisi2
15054 .LVL846:
5044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
15055 .loc 1 5044 1 view .LVU5016
15056 0004 7047 bx lr
15057 .cfi_endproc
15058 .LFE111:
15060 .section .text.HAL_I2C_GetMode,"ax",%progbits
15061 .align 1
15062 .global HAL_I2C_GetMode
15063 .syntax unified
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 477
15064 .thumb
15065 .thumb_func
15066 .fpu softvfp
15068 HAL_I2C_GetMode:
15069 .LVL847:
15070 .LFB112:
5053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return hi2c->Mode;
15071 .loc 1 5053 1 is_stmt 1 view -0
15072 .cfi_startproc
15073 @ args = 0, pretend = 0, frame = 0
15074 @ frame_needed = 0, uses_anonymous_args = 0
15075 @ link register save eliminated.
5054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15076 .loc 1 5054 3 view .LVU5018
5054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15077 .loc 1 5054 14 is_stmt 0 view .LVU5019
15078 0000 90F83E00 ldrb r0, [r0, #62] @ zero_extendqisi2
15079 .LVL848:
5055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
15080 .loc 1 5055 1 view .LVU5020
15081 0004 7047 bx lr
15082 .cfi_endproc
15083 .LFE112:
15085 .section .text.HAL_I2C_GetError,"ax",%progbits
15086 .align 1
15087 .global HAL_I2C_GetError
15088 .syntax unified
15089 .thumb
15090 .thumb_func
15091 .fpu softvfp
15093 HAL_I2C_GetError:
15094 .LVL849:
15095 .LFB113:
5064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** return hi2c->ErrorCode;
15096 .loc 1 5064 1 is_stmt 1 view -0
15097 .cfi_startproc
15098 @ args = 0, pretend = 0, frame = 0
15099 @ frame_needed = 0, uses_anonymous_args = 0
15100 @ link register save eliminated.
5065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15101 .loc 1 5065 3 view .LVU5022
5065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
15102 .loc 1 5065 14 is_stmt 0 view .LVU5023
15103 0000 006C ldr r0, [r0, #64]
15104 .LVL850:
5066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****
15105 .loc 1 5066 1 view .LVU5024
15106 0002 7047 bx lr
15107 .cfi_endproc
15108 .LFE113:
15110 .text
15111 .Letext0:
15112 .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
15113 .file 4 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
15114 .file 5 "Drivers/CMSIS/Include/core_cm3.h"
15115 .file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
15116 .file 7 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 478
15117 .file 8 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h"
15118 .file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
15119 .file 10 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h"
15120 .file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2c.h"
15121 .file 12 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
15122 .file 13 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h"
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 479
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f1xx_hal_i2c.c
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:16 .text.I2C_Master_SB:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:23 .text.I2C_Master_SB:0000000000000000 I2C_Master_SB
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:184 .text.I2C_Master_ADD10:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:190 .text.I2C_Master_ADD10:0000000000000000 I2C_Master_ADD10
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:246 .text.I2C_Master_ADDR:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:252 .text.I2C_Master_ADDR:0000000000000000 I2C_Master_ADDR
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:743 .text.I2C_SlaveTransmit_BTF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:749 .text.I2C_SlaveTransmit_BTF:0000000000000000 I2C_SlaveTransmit_BTF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:792 .text.I2C_SlaveReceive_BTF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:798 .text.I2C_SlaveReceive_BTF:0000000000000000 I2C_SlaveReceive_BTF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:841 .text.I2C_IsAcknowledgeFailed:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:847 .text.I2C_IsAcknowledgeFailed:0000000000000000 I2C_IsAcknowledgeFailed
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:901 .text.I2C_ConvertOtherXferOptions:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:907 .text.I2C_ConvertOtherXferOptions:0000000000000000 I2C_ConvertOtherXferOptions
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:948 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:954 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 I2C_WaitOnFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1056 .text.I2C_WaitOnMasterAddressFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1062 .text.I2C_WaitOnMasterAddressFlagUntilTimeout:0000000000000000 I2C_WaitOnMasterAddressFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1206 .text.I2C_MasterRequestWrite:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1212 .text.I2C_MasterRequestWrite:0000000000000000 I2C_MasterRequestWrite
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1373 .text.I2C_MasterRequestWrite:00000000000000a0 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1379 .text.I2C_MasterRequestRead:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1385 .text.I2C_MasterRequestRead:0000000000000000 I2C_MasterRequestRead
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1606 .text.I2C_MasterRequestRead:00000000000000fc $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1612 .text.I2C_WaitOnTXEFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1618 .text.I2C_WaitOnTXEFlagUntilTimeout:0000000000000000 I2C_WaitOnTXEFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1707 .text.I2C_RequestMemoryWrite:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1713 .text.I2C_RequestMemoryWrite:0000000000000000 I2C_RequestMemoryWrite
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1899 .text.I2C_RequestMemoryWrite:00000000000000c4 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1904 .text.I2C_RequestMemoryRead:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1910 .text.I2C_RequestMemoryRead:0000000000000000 I2C_RequestMemoryRead
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2171 .text.I2C_RequestMemoryRead:0000000000000128 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2176 .text.I2C_WaitOnBTFFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2182 .text.I2C_WaitOnBTFFlagUntilTimeout:0000000000000000 I2C_WaitOnBTFFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2271 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2277 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 I2C_WaitOnRXNEFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2383 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2389 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 I2C_WaitOnSTOPFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2474 .text.HAL_I2C_MspInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2481 .text.HAL_I2C_MspInit:0000000000000000 HAL_I2C_MspInit
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2496 .text.HAL_I2C_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2503 .text.HAL_I2C_Init:0000000000000000 HAL_I2C_Init
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2799 .text.HAL_I2C_Init:0000000000000190 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2808 .text.HAL_I2C_MspDeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2815 .text.HAL_I2C_MspDeInit:0000000000000000 HAL_I2C_MspDeInit
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2830 .text.HAL_I2C_DeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2837 .text.HAL_I2C_DeInit:0000000000000000 HAL_I2C_DeInit
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2901 .text.HAL_I2C_Master_Transmit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2908 .text.HAL_I2C_Master_Transmit:0000000000000000 HAL_I2C_Master_Transmit
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3222 .text.HAL_I2C_Master_Transmit:0000000000000168 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3228 .text.HAL_I2C_Master_Receive:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3235 .text.HAL_I2C_Master_Receive:0000000000000000 HAL_I2C_Master_Receive
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3843 .text.HAL_I2C_Master_Receive:0000000000000258 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3849 .text.HAL_I2C_Master_Receive:0000000000000264 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3968 .text.HAL_I2C_Slave_Transmit:0000000000000000 $t
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 480
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3975 .text.HAL_I2C_Slave_Transmit:0000000000000000 HAL_I2C_Slave_Transmit
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4310 .text.HAL_I2C_Slave_Transmit:0000000000000190 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4316 .text.HAL_I2C_Slave_Receive:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4323 .text.HAL_I2C_Slave_Receive:0000000000000000 HAL_I2C_Slave_Receive
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4633 .text.HAL_I2C_Slave_Receive:000000000000016c $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4639 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4646 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 HAL_I2C_Master_Transmit_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4845 .text.HAL_I2C_Master_Transmit_IT:00000000000000cc $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4852 .text.HAL_I2C_Master_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4859 .text.HAL_I2C_Master_Receive_IT:0000000000000000 HAL_I2C_Master_Receive_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5063 .text.HAL_I2C_Master_Receive_IT:00000000000000d8 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5070 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5077 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 HAL_I2C_Slave_Transmit_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5216 .text.HAL_I2C_Slave_Transmit_IT:0000000000000088 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5221 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5228 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 HAL_I2C_Slave_Receive_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5367 .text.HAL_I2C_Slave_Receive_IT:0000000000000088 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5372 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5379 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 HAL_I2C_Master_Transmit_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5678 .text.HAL_I2C_Master_Transmit_DMA:0000000000000154 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13241 .text.I2C_DMAXferCplt:0000000000000000 I2C_DMAXferCplt
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13178 .text.I2C_DMAError:0000000000000000 I2C_DMAError
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5687 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5694 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 HAL_I2C_Master_Receive_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5992 .text.HAL_I2C_Master_Receive_DMA:0000000000000154 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6001 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6008 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Transmit_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6212 .text.HAL_I2C_Slave_Transmit_DMA:00000000000000d8 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6219 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6226 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 HAL_I2C_Slave_Receive_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6428 .text.HAL_I2C_Slave_Receive_DMA:00000000000000d8 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6435 .text.HAL_I2C_Mem_Write:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6442 .text.HAL_I2C_Mem_Write:0000000000000000 HAL_I2C_Mem_Write
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6741 .text.HAL_I2C_Mem_Write:000000000000015c $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6747 .text.HAL_I2C_Mem_Read:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6754 .text.HAL_I2C_Mem_Read:0000000000000000 HAL_I2C_Mem_Read
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7367 .text.HAL_I2C_Mem_Read:0000000000000260 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7373 .text.HAL_I2C_Mem_Read:000000000000026c $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7492 .text.HAL_I2C_Mem_Write_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7499 .text.HAL_I2C_Mem_Write_IT:0000000000000000 HAL_I2C_Mem_Write_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7711 .text.HAL_I2C_Mem_Write_IT:00000000000000d8 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7718 .text.HAL_I2C_Mem_Read_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7725 .text.HAL_I2C_Mem_Read_IT:0000000000000000 HAL_I2C_Mem_Read_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7948 .text.HAL_I2C_Mem_Read_IT:00000000000000e8 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7955 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7962 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 HAL_I2C_Mem_Write_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8273 .text.HAL_I2C_Mem_Write_DMA:0000000000000170 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8282 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8289 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 HAL_I2C_Mem_Read_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8655 .text.HAL_I2C_Mem_Read_DMA:00000000000001b0 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8664 .text.HAL_I2C_IsDeviceReady:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8671 .text.HAL_I2C_IsDeviceReady:0000000000000000 HAL_I2C_IsDeviceReady
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8999 .text.HAL_I2C_IsDeviceReady:0000000000000180 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9004 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9011 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 HAL_I2C_Master_Seq_Transmit_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9254 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000000000f4 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9260 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 $t
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 481
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9267 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Master_Seq_Transmit_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9632 .text.HAL_I2C_Master_Seq_Transmit_DMA:000000000000019c $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9640 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9647 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 HAL_I2C_Master_Seq_Receive_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9955 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000144 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9961 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9968 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 HAL_I2C_Master_Seq_Receive_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10418 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000208 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10426 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10433 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 HAL_I2C_Slave_Seq_Transmit_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10593 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10600 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Seq_Transmit_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10943 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000174 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13520 .text.I2C_DMAAbort:0000000000000000 I2C_DMAAbort
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10950 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10957 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 HAL_I2C_Slave_Seq_Receive_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11117 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11124 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 HAL_I2C_Slave_Seq_Receive_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11465 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000174 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11472 .text.HAL_I2C_EnableListen_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11479 .text.HAL_I2C_EnableListen_IT:0000000000000000 HAL_I2C_EnableListen_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11538 .text.HAL_I2C_DisableListen_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11545 .text.HAL_I2C_DisableListen_IT:0000000000000000 HAL_I2C_DisableListen_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11610 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11617 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 HAL_I2C_MasterTxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11632 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11639 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 HAL_I2C_MasterRxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11654 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11661 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 HAL_I2C_SlaveTxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11676 .text.I2C_SlaveTransmit_TXE:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11682 .text.I2C_SlaveTransmit_TXE:0000000000000000 I2C_SlaveTransmit_TXE
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11767 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11774 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 HAL_I2C_SlaveRxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11789 .text.I2C_SlaveReceive_RXNE:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11795 .text.I2C_SlaveReceive_RXNE:0000000000000000 I2C_SlaveReceive_RXNE
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11880 .text.HAL_I2C_AddrCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11887 .text.HAL_I2C_AddrCallback:0000000000000000 HAL_I2C_AddrCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11904 .text.I2C_Slave_ADDR:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11910 .text.I2C_Slave_ADDR:0000000000000000 I2C_Slave_ADDR
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11998 .text.HAL_I2C_ListenCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12005 .text.HAL_I2C_ListenCpltCallback:0000000000000000 HAL_I2C_ListenCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12020 .text.I2C_Slave_AF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12026 .text.I2C_Slave_AF:0000000000000000 I2C_Slave_AF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12160 .text.I2C_Slave_AF:0000000000000090 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12165 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12172 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 HAL_I2C_MemTxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12187 .text.I2C_MasterTransmit_TXE:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12193 .text.I2C_MasterTransmit_TXE:0000000000000000 I2C_MasterTransmit_TXE
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12519 .text.I2C_MasterTransmit_BTF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12525 .text.I2C_MasterTransmit_BTF:0000000000000000 I2C_MasterTransmit_BTF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12675 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12682 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 HAL_I2C_MemRxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12697 .text.I2C_MasterReceive_RXNE:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12703 .text.I2C_MasterReceive_RXNE:0000000000000000 I2C_MasterReceive_RXNE
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12867 .text.I2C_MasterReceive_BTF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12873 .text.I2C_MasterReceive_BTF:0000000000000000 I2C_MasterReceive_BTF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13150 .text.HAL_I2C_ErrorCallback:0000000000000000 $t
ARM GAS C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s page 482
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13157 .text.HAL_I2C_ErrorCallback:0000000000000000 HAL_I2C_ErrorCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13172 .text.I2C_DMAError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13235 .text.I2C_DMAXferCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13492 .text.HAL_I2C_AbortCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13499 .text.HAL_I2C_AbortCpltCallback:0000000000000000 HAL_I2C_AbortCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13514 .text.I2C_DMAAbort:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13648 .text.I2C_ITError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13654 .text.I2C_ITError:0000000000000000 I2C_ITError
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13972 .text.I2C_ITError:0000000000000160 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13978 .text.HAL_I2C_Master_Abort_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13985 .text.HAL_I2C_Master_Abort_IT:0000000000000000 HAL_I2C_Master_Abort_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14073 .text.I2C_Slave_STOPF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14079 .text.I2C_Slave_STOPF:0000000000000000 I2C_Slave_STOPF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14434 .text.I2C_Slave_STOPF:0000000000000180 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14440 .text.HAL_I2C_EV_IRQHandler:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14447 .text.HAL_I2C_EV_IRQHandler:0000000000000000 HAL_I2C_EV_IRQHandler
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14821 .text.HAL_I2C_ER_IRQHandler:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14828 .text.HAL_I2C_ER_IRQHandler:0000000000000000 HAL_I2C_ER_IRQHandler
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15036 .text.HAL_I2C_GetState:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15043 .text.HAL_I2C_GetState:0000000000000000 HAL_I2C_GetState
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15061 .text.HAL_I2C_GetMode:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15068 .text.HAL_I2C_GetMode:0000000000000000 HAL_I2C_GetMode
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15086 .text.HAL_I2C_GetError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15093 .text.HAL_I2C_GetError:0000000000000000 HAL_I2C_GetError
UNDEFINED SYMBOLS
HAL_GetTick
HAL_RCC_GetPCLK1Freq
SystemCoreClock
HAL_DMA_Start_IT
HAL_DMA_Abort_IT
HAL_DMA_GetState