summaryrefslogtreecommitdiff
path: root/fw/midi-dials/build/stm32f0xx_hal_i2c.lst
diff options
context:
space:
mode:
Diffstat (limited to 'fw/midi-dials/build/stm32f0xx_hal_i2c.lst')
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_i2c.lst20498
1 files changed, 20498 insertions, 0 deletions
diff --git a/fw/midi-dials/build/stm32f0xx_hal_i2c.lst b/fw/midi-dials/build/stm32f0xx_hal_i2c.lst
new file mode 100644
index 0000000..f4e7a61
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_i2c.lst
@@ -0,0 +1,20498 @@
+ARM GAS /tmp/ccskJbbb.s page 1
+
+
+ 1 .cpu cortex-m0
+ 2 .eabi_attribute 20, 1
+ 3 .eabi_attribute 21, 1
+ 4 .eabi_attribute 23, 3
+ 5 .eabi_attribute 24, 1
+ 6 .eabi_attribute 25, 1
+ 7 .eabi_attribute 26, 1
+ 8 .eabi_attribute 30, 1
+ 9 .eabi_attribute 34, 0
+ 10 .eabi_attribute 18, 4
+ 11 .file "stm32f0xx_hal_i2c.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.I2C_Flush_TXDR,"ax",%progbits
+ 16 .align 1
+ 17 .syntax unified
+ 18 .code 16
+ 19 .thumb_func
+ 20 .fpu softvfp
+ 22 I2C_Flush_TXDR:
+ 23 .LFB102:
+ 24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @file stm32f0xx_hal_i2c.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + Initialization and de-initialization functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + IO operation functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + Peripheral State and Errors functions
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================================================================
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### How to use this driver #####
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================================================================
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The I2C HAL driver can be used as follows:
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example:
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef hi2c;
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the @ref HAL_I2C_MspInit() API:
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) Enable the I2Cx interface clock
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) I2C pins configuration
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive channel
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the DMA handle parameters
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel
+ ARM GAS /tmp/ccskJbbb.s page 2
+
+
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the DMA Tx or Rx channel
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the @ref HAL_I2C_Init(), configures also the low le
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized @ref HAL_I2C_MspInit(&hi2c) API.
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function @ref HAL_I2C_IsDevic
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Polling mode IO operation ***
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =================================
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using @ref HAL_I2C_Master_Tran
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using @ref HAL_I2C_Master_Recei
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using @ref HAL_I2C_Slave_Transm
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using @ref HAL_I2C_Slave_Receive
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Polling mode IO MEM operation ***
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =====================================
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using @ref HAL_I2C_
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using @ref HAL_I2C
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode IO operation ***
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===================================
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using @ref HAL_I2C_Master_
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_MasterTxCpltCallback() is executed and user
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using @ref HAL_I2C_Master_R
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_MasterRxCpltCallback() is executed and user ca
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using @ref HAL_I2C_Slave_Tr
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_SlaveTxCpltCallback() is executed and user
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using @ref HAL_I2C_Slave_Rec
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_SlaveRxCpltCallback() is executed and user can
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using @ref HAL_I2C_Master_Abort_I
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using @ref __HAL_I2C_GENERATE_NACK() macro.
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation ***
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==========================================================
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition
+ ARM GAS /tmp/ccskJbbb.s page 3
+
+
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** when a direction change during transfer
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Option field values are defined through @ref I2C_XFEROPTIONS and are listed below:
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functionnal is same as associated interfa
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and data to transfer without a final stop condition
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and data to transfer without a final stop condition, an then permit a c
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** several times (like @ref HAL_I2C_Master_Seq_Transmit_IT() then @ref HAL
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or @ref HAL_I2C_Master_Seq_Transmit_DMA() then @ref HAL_I2C_Master_Seq_
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** interface several times (link with option I2C_FIRST_AND_NEXT_FRAME).
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Usage can, transfer several bytes one by one using HAL_I2C_Master_Seq_T
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_AND_NEXT_FRAME then
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_AND_NEXT_FRAME th
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_AND_NEXT_FRAME the
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit o
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** interface.
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_FRAME then I2C_OTHE
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_FRAME then I2C_OT
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_FRAME then I2C_OTH
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Differents sequential I2C interfaces are listed below:
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using @ref
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Master_Seq_Transmit_DMA()
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, @ref HAL_I2C_MasterTxCpltCallback() is e
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using @ref
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Master_Seq_Receive_DMA()
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, @ref HAL_I2C_MasterRxCpltCallback() is exec
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Abort a master IT or DMA I2C process communication with Interrupt using @ref HAL_I2C_Mas
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using @ref HAL_I2C_EnableListen
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) When address slave I2C match, @ref HAL_I2C_AddrCallback() is executed and user can
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code to check the Address Match Code and the transmission direction request
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At Listen mode end @ref HAL_I2C_ListenCpltCallback() is executed and user can
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ListenCpltCallback()
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using @ref
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Slave_Seq_Transmit_DMA()
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, @ref HAL_I2C_SlaveTxCpltCallback() is ex
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using @ref H
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Slave_Seq_Receive_DMA()
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, @ref HAL_I2C_SlaveRxCpltCallback() is execu
+ ARM GAS /tmp/ccskJbbb.s page 4
+
+
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user ca
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Discard a slave I2C process communication using @ref __HAL_I2C_GENERATE_NACK() macro.
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode IO MEM operation ***
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =======================================
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Write_IT()
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of write transfer, @ref HAL_I2C_MemTxCpltCallback() is executed and user ca
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemTxCpltCallback()
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Read_IT()
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of read transfer, @ref HAL_I2C_MemRxCpltCallback() is executed and user can
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemRxCpltCallback()
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** DMA mode IO operation ***
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Master_Transmit_DMA()
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_MasterTxCpltCallback() is executed and user
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Master_Receive_DMA()
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_MasterRxCpltCallback() is executed and user ca
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Slave_Transmit_DMA()
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_SlaveTxCpltCallback() is executed and user
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Slave_Receive_DMA()
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_SlaveRxCpltCallback() is executed and user can
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using @ref HAL_I2C_Master_Abort_I
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using @ref __HAL_I2C_GENERATE_NACK() macro.
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** DMA mode IO MEM operation ***
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =================================
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Write_DMA()
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of write transfer, @ref HAL_I2C_MemTxCpltCallback() is executed and user ca
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemTxCpltCallback()
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Read_DMA()
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of read transfer, @ref HAL_I2C_MemRxCpltCallback() is executed and user can
+ ARM GAS /tmp/ccskJbbb.s page 5
+
+
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemRxCpltCallback()
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** I2C HAL driver macros list ***
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==================================
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver.
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_ENABLE: Enable the I2C peripheral
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_DISABLE: Disable the I2C peripheral
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Callback registration ***
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =============================================
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks.
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Use Functions @ref HAL_I2C_RegisterCallback() or @ref HAL_I2C_RegisterAddrCallback()
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to register an interrupt callback.
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Function @ref HAL_I2C_RegisterCallback() allows to register following callbacks:
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and a pointer to the user callback function.
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : @ref HAL_I2C_RegisterAdd
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Use function @ref HAL_I2C_UnRegisterCallback to reset a callback to the default
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** weak function.
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle,
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and the Callback ID.
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This function allows to reset following callbacks:
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
+ ARM GAS /tmp/ccskJbbb.s page 6
+
+
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : @ref HAL_I2C_UnRegisterAddrCallba
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** By default, after the @ref HAL_I2C_Init() and when the state is @ref HAL_I2C_STATE_RESET
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions:
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** examples @ref HAL_I2C_MasterTxCpltCallback(), @ref HAL_I2C_MasterRxCpltCallback().
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** reset to the legacy weak functions in the @ref HAL_I2C_Init()/ @ref HAL_I2C_DeInit() only when
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** these callbacks are null (not registered beforehand).
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the @ref HAL_I2C_Init()/ @ref HAL_I2C_DeInit()
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Callbacks can be registered/unregistered in @ref HAL_I2C_STATE_READY state only.
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** in @ref HAL_I2C_STATE_READY or @ref HAL_I2C_STATE_RESET state,
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** using @ref HAL_I2C_RegisterCallback() before calling @ref HAL_I2C_DeInit()
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or @ref HAL_I2C_Init() function.
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** are set to the corresponding weak functions.
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @attention
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * All rights reserved.</center></h2>
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the "License"; You may not use this file except in compliance with the
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * License. You may obtain a copy of the License at:
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * opensource.org/licenses/BSD-3-Clause
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #include "stm32f0xx_hal.h"
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C I2C
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C HAL module driver
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
+ ARM GAS /tmp/ccskJbbb.s page 7
+
+
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR (10000U) /*!< 10 s */
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY (25U) /*!< 25 ms */
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR (25U) /*!< 25 ms */
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE (25U) /*!< 25 ms */
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF (25U) /*!< 25 ms */
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TC (25U) /*!< 25 ms */
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR (25U) /*!< 25 ms */
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS (25U) /*!< 25 ms */
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG (25U) /*!< 25 ms */
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define MAX_NBYTE_SIZE 255U
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define SlaveAddr_SHIFT 7U
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define SlaveAddr_MSK 0x06U
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | (uint32_
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE))
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | (
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | (
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | (
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | (
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | (
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | (
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_TX_IT (0x00000001U)
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_RX_IT (0x00000002U)
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT (0x00000004U)
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT (0x00000011U)
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT (0x00000012U)
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT (0x00000012U)
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME (0xFFFF0000U)
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private macro -------------------------------------------------------------*/
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma);
+ ARM GAS /tmp/ccskJbbb.s page 8
+
+
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma);
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma);
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma);
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle IT transfer */
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c);
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c);
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode);
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle IT transfer */
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint3
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uin
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to flush TXDR register */
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c);
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to handle start, restart or stop a transfer */
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to Convert Specific options */
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initialization and Configuration functions
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ ARM GAS /tmp/ccskJbbb.s page 9
+
+
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### Initialization and de-initialization functions #####
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** deinitialize the I2Cx peripheral:
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the selected configuration:
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Clock Timing
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 1
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Addressing mode (Master, Slave)
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Dual Addressing mode
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 2
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 2 Mask
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) General call mode
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Nostretch mode
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** of the selected I2Cx peripheral.
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle.
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c == NULL)
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET)
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Allocate lock resource and initialize it */
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED;
+ ARM GAS /tmp/ccskJbbb.s page 10
+
+
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the I2C Callback settings */
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL)
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c);
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c);
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the selected I2C peripheral */
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx TIMINGR Configuration ------------------*/
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK;
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Own Address1 before set the Own Address1 configuration */
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN;
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and ack own address1 mode */
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1);
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else /* I2C_ADDRESSINGMODE_10BIT */
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1);
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Addressing Master mode */
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 = (I2C_CR2_ADD10);
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */
+ ARM GAS /tmp/ccskJbbb.s page 11
+
+
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK);
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE;
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | (hi2c->Init.OwnAddr
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode);
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the selected I2C peripheral */
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral.
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c == NULL)
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL)
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c);
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 12
+
+
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initialize the I2C MSP.
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP.
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Register a User I2C Callback
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * To be used instead of the weak predefined callback
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
+ ARM GAS /tmp/ccskJbbb.s page 13
+
+
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pCallback pointer to the Callback function
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (pCallback == NULL)
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
+ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback;
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback;
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback;
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback;
+ 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback;
+ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback;
+ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback;
+ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
+ ARM GAS /tmp/ccskJbbb.s page 14
+
+
+ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback;
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
+ 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback;
+ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
+ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
+ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
+ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
+ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
+ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
+ ARM GAS /tmp/ccskJbbb.s page 15
+
+
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Unregister an I2C Callback
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
+ 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
+ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
+ 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
+ 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
+ 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
+ 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
+ 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal
+ 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+ 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
+ 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
+ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
+ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba
+ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ ARM GAS /tmp/ccskJbbb.s page 16
+
+
+ 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
+ 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
+ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
+ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
+ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
+ 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
+ 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
+ 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
+ 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
+ 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
+ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+ 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ ARM GAS /tmp/ccskJbbb.s page 17
+
+
+ 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
+ 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
+ 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback
+ 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback
+ 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function
+ 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC
+ 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
+ 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (pCallback == NULL)
+ 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+ 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+ 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
+ 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = pCallback;
+ 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+ 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
+ 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
+ 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback
+ 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal
+ 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
+ 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 18
+
+
+ 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
+ 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+ 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+ 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
+ 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */
+ 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+ 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
+ 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
+ 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+ 974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
+ 977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Data transfers functions
+ 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ 979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
+ 980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+ 981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### IO operation functions #####
+ 982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+ 983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data
+ 985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transfers.
+ 986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) There are two modes of transfer:
+ 988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode.
+ 989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The status of all data processing is returned by the same function
+ 990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** after finishing transfer.
+ 991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts
+ 992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup.
+ 993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The end of the data processing will be indicated through the
+ 994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
+ 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** using DMA mode.
+ 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Blocking mode functions are :
+ 998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit()
+ 999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive()
+1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit()
+1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive()
+1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write()
+1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read()
+ ARM GAS /tmp/ccskJbbb.s page 19
+
+
+1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady()
+1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are :
+1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT()
+1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT()
+1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT()
+1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT()
+1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT()
+1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT()
+1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT()
+1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT()
+1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT()
+1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT()
+1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT()
+1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT()
+1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT()
+1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are :
+1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA()
+1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA()
+1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA()
+1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA()
+1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA()
+1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA()
+1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA()
+1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA()
+1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA()
+1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA()
+1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
+1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback()
+1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback()
+1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback()
+1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback()
+1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback()
+1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback()
+1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback()
+1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback()
+1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback()
+1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback()
+1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
+1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode.
+1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
+ ARM GAS /tmp/ccskJbbb.s page 20
+
+
+1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
+1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
+1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
+1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
+1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
+1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
+ ARM GAS /tmp/ccskJbbb.s page 21
+
+
+1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
+1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
+1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set */
+1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode.
+1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
+ ARM GAS /tmp/ccskJbbb.s page 22
+
+
+1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
+1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
+1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
+1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
+1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 23
+
+
+1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
+1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
+1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
+1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set */
+1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode.
+1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, ui
+1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 24
+
+
+1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
+1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
+1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
+1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If 10bit addressing mode is selected */
+1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
+1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
+1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
+1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
+1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */
+1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK)
+1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+ ARM GAS /tmp/ccskJbbb.s page 25
+
+
+1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
+1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
+1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
+1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP flag is set */
+1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
+1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Normal use case for Transmitter mode */
+1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* A NACK is generated to confirm the end of transfer */
+1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP flag */
+1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
+1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
+1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ ARM GAS /tmp/ccskJbbb.s page 26
+
+
+1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode
+1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uin
+1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
+1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
+1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 27
+
+
+1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
+1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */
+1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK)
+1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
+1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
+1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
+1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
+1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP flag is set */
+1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP flag */
+1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
+1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
+ ARM GAS /tmp/ccskJbbb.s page 28
+
+
+1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt
+1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
+1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 29
+
+
+1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
+1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_WRIT
+1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt
+1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
+1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+ ARM GAS /tmp/ccskJbbb.s page 30
+
+
+1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
+1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
+1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
+1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
+1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt
+1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
+1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 31
+
+
+1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
+1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt
+1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
+1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ ARM GAS /tmp/ccskJbbb.s page 32
+
+
+1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
+1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
+1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA
+1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
+1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+ ARM GAS /tmp/ccskJbbb.s page 33
+
+
+1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
+1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
+1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
+1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
+1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
+1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART
+1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
+ ARM GAS /tmp/ccskJbbb.s page 34
+
+
+1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
+1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
+1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_
+1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+ ARM GAS /tmp/ccskJbbb.s page 35
+
+
+1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA
+1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
+1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
+1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
+1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+ ARM GAS /tmp/ccskJbbb.s page 36
+
+
+1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
+1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
+1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
+1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART *
+2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
+2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 37
+
+
+2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
+2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
+2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_
+2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA
+2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
+2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ ARM GAS /tmp/ccskJbbb.s page 38
+
+
+2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
+2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
+2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
+2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
+2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
+2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 39
+
+
+2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA
+2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
+2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+ ARM GAS /tmp/ccskJbbb.s page 40
+
+
+2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
+2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
+2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
+2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
+2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
+2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ ARM GAS /tmp/ccskJbbb.s page 41
+
+
+2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address
+2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
+2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
+2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 42
+
+
+2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
+2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
+2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
+2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
+2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
+2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
+2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
+2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
+2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
+2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
+2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 43
+
+
+2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U);
+2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
+2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
+2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address
+2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
+2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 44
+
+
+2429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
+2437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+2449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
+2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+2469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
+2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
+2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK)
+2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+2481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+ ARM GAS /tmp/ccskJbbb.s page 45
+
+
+2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+2487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
+2489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
+2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
+2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_ST
+2500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+2505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U);
+2509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
+2511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
+2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+2518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+2521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
+2538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+ ARM GAS /tmp/ccskJbbb.s page 46
+
+
+2543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
+2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+2552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+2565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar
+2598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+ ARM GAS /tmp/ccskJbbb.s page 47
+
+
+2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+2605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
+2606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+2615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+2616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+2617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+2618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
+2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+2634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
+2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+2656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 48
+
+
+2657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+2675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+2680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+2685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart
+2689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
+2697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
+2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+2707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
+2709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 49
+
+
+2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address
+2719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
+2730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+2734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+2747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+2758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+2766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ ARM GAS /tmp/ccskJbbb.s page 50
+
+
+2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+2776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar
+2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
+2791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
+2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
+2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+2798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+2800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
+2801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+2810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+2818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+2820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
+2822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+2824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 51
+
+
+2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+2834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address.
+2863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+2868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be read
+2871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
+2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+2877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+ ARM GAS /tmp/ccskJbbb.s page 52
+
+
+2885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+2915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+2920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart
+2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+2931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
+2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
+2937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
+2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+2941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 53
+
+
+2942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
+2944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+2953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+2961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+2963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_RE
+2964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+2966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+2967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+2976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+2979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+2988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 54
+
+
+2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Checks if target device is ready for communication.
+3005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This function is used with Memory devices
+3006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+3009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+3010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Trials Number of trials
+3011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+3012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
+3015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+3017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0UL;
+3019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp1;
+3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp2;
+3022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+3024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
+3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
+3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Start */
+3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress);
+3040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
+3042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/
+3043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
+3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
+3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while ((tmp1 == RESET) && (tmp2 == RESET))
+3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
+3051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
+3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ ARM GAS /tmp/ccskJbbb.s page 55
+
+
+3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
+3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
+3069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */
+3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET)
+3073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
+3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
+3076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+3082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Device is ready */
+3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
+3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
+3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+3101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/
+3103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if the maximum allowed number of trials has been reached */
+3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_Trials == Trials)
+3108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
+3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
+3111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
+ ARM GAS /tmp/ccskJbbb.s page 56
+
+
+3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
+3114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+3120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Trials */
+3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Trials++;
+3124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (I2C_Trials < Trials);
+3126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+3132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
+3146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+3151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
+3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
+3160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+3165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+ ARM GAS /tmp/ccskJbbb.s page 57
+
+
+3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+3178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
+3180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene
+3192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
+3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST
+3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
+3196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
+3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
+3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
+3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE)
+3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
+3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
+3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+3219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 58
+
+
+3227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
+3230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+3234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin
+3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
+3244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+3250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+3255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
+3265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+3268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene
+3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
+3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST
+3279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
+3281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 59
+
+
+3284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
+3285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
+3286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
+3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE)
+3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
+3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+3297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+3299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
+3300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
+3303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
+3306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+3307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+3309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
+3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
+3329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
+3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+3333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+ ARM GAS /tmp/ccskJbbb.s page 60
+
+
+3341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+3345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+3354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
+3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+3365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+3367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
+3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+3377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_
+3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+3380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
+3392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+3396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+ ARM GAS /tmp/ccskJbbb.s page 61
+
+
+3398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8
+3403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
+3406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+3411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+3416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
+3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+3427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+3430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene
+3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
+3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST
+3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
+3442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
+3446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
+3447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
+3449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE)
+3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 62
+
+
+3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
+3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
+3457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
+3465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with DMA
+3476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+3480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+3481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
+3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
+3490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+3491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+3496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+3502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+3509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
+3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+ ARM GAS /tmp/ccskJbbb.s page 63
+
+
+3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene
+3523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
+3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST
+3525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
+3527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
+3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
+3532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
+3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE)
+3535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
+3541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+3543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
+3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+3548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
+3549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+3551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
+3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+3553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
+3556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+3565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 64
+
+
+3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
+3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
+3576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+3578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+3587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+3588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+3600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
+3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+3611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+3613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
+3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+3615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+3623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+3624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_
+3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+ ARM GAS /tmp/ccskJbbb.s page 65
+
+
+3626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
+3638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
+3647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
+3652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
+3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
+3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
+3666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
+3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
+3668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
+3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
+3671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
+3674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+3678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+3680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+3681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
+3682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 66
+
+
+3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
+3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
+3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
+3688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
+3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+3699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+3706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
+3708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
+3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
+3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+3712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
+3721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
+3722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
+3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ ARM GAS /tmp/ccskJbbb.s page 67
+
+
+3740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t
+3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
+3749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+3751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
+3760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
+3761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
+3763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
+3764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
+3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
+3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
+3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
+3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+3772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+3777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
+3779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
+3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
+3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+3784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
+3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
+3790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
+3792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+3794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+ ARM GAS /tmp/ccskJbbb.s page 68
+
+
+3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+3799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+3800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
+3801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
+3803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
+3804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+3806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
+3807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+3814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
+3817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+3818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+3829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+3831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
+3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
+3837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
+3840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+3843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
+3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+3849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+3853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 69
+
+
+3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+3861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+3863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+3864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset XferSize */
+3866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = 0;
+3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
+3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
+3886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
+3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
+3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+3898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+3901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ ARM GAS /tmp/ccskJbbb.s page 70
+
+
+3911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
+3912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si
+3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
+3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+3930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
+3934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
+3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
+3940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
+3941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
+3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
+3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
+3947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+3951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+3952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
+3956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
+3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
+3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+3961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
+3962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
+ ARM GAS /tmp/ccskJbbb.s page 71
+
+
+3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+3980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT)
+3982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
+3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
+3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+3986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
+3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
+3996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
+4007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+4008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+4013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
+4016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+4018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+4020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+4021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
+4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+ ARM GAS /tmp/ccskJbbb.s page 72
+
+
+4025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+4027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
+4031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
+4032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+4035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
+4037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
+4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
+4039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
+4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+4042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
+4044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+4047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
+4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
+4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
+4056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
+4059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
+4064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
+4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+4068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+4071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
+4075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
+4077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
+4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+4080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
+4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 73
+
+
+4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+4088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
+4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+4092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+4096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+4101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+4103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+4105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+4107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
+4108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
+4111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+4113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
+4114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+4115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+4117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
+4118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+4122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+4123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+4124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+4126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+4127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+4135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+4138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 74
+
+
+4139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset XferSize */
+4140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = 0;
+4141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+4145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+4147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+4150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT)
+4158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
+4160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
+4161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+4162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+4168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+4169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+4170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
+4171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
+4172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+4175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt.
+4186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
+4191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+4193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+4195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ ARM GAS /tmp/ccskJbbb.s page 75
+
+
+4196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the Address Match interrupt */
+4198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+4199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+4205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt.
+4210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C
+4212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
+4215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
+4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmp;
+4218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */
+4220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
+4221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
+4223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
+4224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+4225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+4227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the Address Match interrupt */
+4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+4230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+4236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt.
+4241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+4244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+4245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
+4248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
+4250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 76
+
+
+4253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+4255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
+4256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+4257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */
+4259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
+4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */
+4262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe
+4263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP);
+4264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+4269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+4270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+4271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
+4272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong usage of abort function */
+4278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */
+4279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+4285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
+4288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+4289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request.
+4293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c)
+4298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
+4300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
+4301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
+4302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/
+4304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferISR != NULL)
+4305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources);
+4307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 77
+
+
+4310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request.
+4312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
+4317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
+4319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
+4320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
+4321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/
+4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_E
+4324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR;
+4326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear BERR flag */
+4328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
+4329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/
+4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ER
+4333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR;
+4335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear OVR flag */
+4337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
+4338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/
+4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_E
+4342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO;
+4344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ARLO flag */
+4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
+4347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
+4350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
+4351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */
+4353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_
+4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, tmperror);
+4356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback.
+4361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
+4366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 78
+
+
+4367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
+4372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback.
+4377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
+4382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
+4388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback.
+4392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
+4397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
+4403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback.
+4408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
+4413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
+4419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Slave Address Match callback.
+ ARM GAS /tmp/ccskJbbb.s page 79
+
+
+4424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE
+4427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code
+4428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
+4431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(TransferDirection);
+4435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(AddrMatchCode);
+4436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file
+4439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Listen Complete callback.
+4444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
+4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file
+4455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback.
+4460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
+4465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file
+4471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback.
+4476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
+ ARM GAS /tmp/ccskJbbb.s page 80
+
+
+4481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file
+4487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C error callback.
+4492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
+4497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file
+4503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C abort callback.
+4508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
+4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file
+4519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+4524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
+4527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions
+4528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+4529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
+4530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+4531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions #####
+4532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+4533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+4534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral
+4535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and the data flow.
+4536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
+ ARM GAS /tmp/ccskJbbb.s page 81
+
+
+4538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+4539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Return the I2C handle state.
+4543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL state
+4546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c)
+4548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return I2C handle state */
+4550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->State;
+4551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode.
+4555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for I2C module
+4557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL mode
+4558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c)
+4560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->Mode;
+4562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Return the I2C error code.
+4566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval I2C Error Code
+4569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c)
+4571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->ErrorCode;
+4573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+4577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+4581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
+4584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+4585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt.
+4589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+4592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
+4593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ ARM GAS /tmp/ccskJbbb.s page 82
+
+
+4595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
+4596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
+4598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
+4599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+4602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_
+4604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+4606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+4607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */
+4609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
+4610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
+4611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+4612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+4614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+4615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources,
+4617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
+4619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
+4620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+4622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+4623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+4625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+4626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+4628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+4629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources,
+4631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
+4633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
+4634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+4636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+4637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+4639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+4640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I
+4642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
+4644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
+4646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+4648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+4650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
+4651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 83
+
+
+4652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+4655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
+4656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, hi2c->XferOptions, I2C_NO_S
+4658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+4662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
+4668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
+4669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
+4671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
+4672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
+4676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+4677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
+4678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2
+4682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
+4684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
+4686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
+4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
+4689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
+4691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
+4692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
+4696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
+4697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
+4703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+4704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
+4705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 84
+
+
+4709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+4710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_
+4713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */
+4715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags);
+4716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt.
+4726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+4729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
+4730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint3
+4733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+4735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
+4736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+4739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if STOPF is set */
+4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_
+4742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave complete process */
+4744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, tmpITFlags);
+4745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_
+4748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check that I2C transfer finished */
+4750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
+4751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean XferCount == 0*/
+4752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So clear Flag NACKF only */
+4753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
+4754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) /* Sam
+4756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
+4758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
+4759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)
+4761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+4764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+ ARM GAS /tmp/ccskJbbb.s page 85
+
+
+4766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+4767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
+4769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+4770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+4771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+4776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
+4781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+4782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+4783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
+4785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+4786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
+4788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
+4791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources,
+4795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
+4797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+4799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+4800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+4802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+4803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+4805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+4806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && \
+4809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+4810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+4812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+4813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources,
+4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, tmpITFlags);
+4818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources,
+4820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */
+4822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */
+ ARM GAS /tmp/ccskJbbb.s page 86
+
+
+4823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if all Datas have already been sent */
+4824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */
+4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
+4826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
+4828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
+4829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+4832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+4835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
+4839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
+4841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+4843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+4849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA.
+4859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+4862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
+4863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uin
+4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
+4868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+4869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+4872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NAC
+4874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+4876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+4877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */
+4879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+ ARM GAS /tmp/ccskJbbb.s page 87
+
+
+4880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
+4882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
+4883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
+4884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
+4885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+4888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_
+4890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC interrupt */
+4892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI);
+4893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
+4895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Recover Slave address */
+4897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
+4898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
+4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+4901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+4904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
+4909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+4911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+4915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */
+4919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
+4920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+4922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+4923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+4925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
+4926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+4928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+4932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
+ ARM GAS /tmp/ccskJbbb.s page 88
+
+
+4937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
+4938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
+4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
+4941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
+4945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
+4947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_I
+4951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
+4953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
+4955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
+4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
+4958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
+4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
+4961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
+4965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
+4966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
+4972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
+4974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2
+4977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */
+4979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
+4980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+4984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA.
+ ARM GAS /tmp/ccskJbbb.s page 89
+
+
+4994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
+4998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
+5001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
+5004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+5007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if STOPF is set */
+5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_
+5010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave complete process */
+5012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags);
+5013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NAC
+5016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check that I2C transfer finished */
+5018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
+5019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean XferCount == 0 */
+5020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So clear Flag NACKF only */
+5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) ||
+5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
+5023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Split check of hdmarx, for MISRA compliance */
+5025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+5026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)
+5028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_DMA_GET_COUNTER(hi2c->hdmarx) == 0U)
+5030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** treatdmanack = 1U;
+5032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Split check of hdmatx, for MISRA compliance */
+5037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+5038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET)
+5040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_DMA_GET_COUNTER(hi2c->hdmatx) == 0U)
+5042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** treatdmanack = 1U;
+5044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (treatdmanack == 1U)
+5049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) /* S
+ ARM GAS /tmp/ccskJbbb.s page 90
+
+
+5051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
+5053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags);
+5054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM
+5056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+5061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+5062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
+5064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+5066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+5070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
+5076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
+5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+5081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
+5083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
+5086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Only Clear NACK Flag, no DMA treatment is pending */
+5092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C
+5096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags);
+5098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+5102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+ ARM GAS /tmp/ccskJbbb.s page 91
+
+
+5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques
+5112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+5113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+5114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+5115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+5117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+5118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+5119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+5120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+5121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1
+5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
+5125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+5127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
+5128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
+5133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
+5134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Memory Address */
+5136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
+5137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
+5139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send MSB of Memory Address */
+5142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
+5143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+5145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
+5146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send LSB of Memory Address */
+5151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
+5152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
+5155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK)
+5156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+5161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request
+ ARM GAS /tmp/ccskJbbb.s page 92
+
+
+5165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+5166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+5167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+5169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+5170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+5171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+5172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+5173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+5174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16
+5176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
+5178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+5180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
+5181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
+5186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
+5187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Memory Address */
+5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
+5190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
+5192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send MSB of Memory Address */
+5195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
+5196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+5198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
+5199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send LSB of Memory Address */
+5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
+5205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TC flag is set */
+5208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK)
+5209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Address complete process callback.
+5218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+5220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ ARM GAS /tmp/ccskJbbb.s page 93
+
+
+5222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
+5223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection;
+5225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t slaveaddrcode;
+5226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd1code;
+5227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd2code;
+5228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+5230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(ITFlags);
+5231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */
+5233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
+5234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c);
+5236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
+5237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
+5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
+5239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If 10bits addressing mode is selected */
+5241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
+5242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((slaveaddrcode & SlaveAddr_MSK) == ((ownadd1code >> SlaveAddr_SHIFT) & SlaveAddr_MSK))
+5244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = ownadd1code;
+5246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount++;
+5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
+5248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Address Event counter */
+5250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount = 0U;
+5251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
+5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+5254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
+5259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
+5261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
+5263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = ownadd2code;
+5269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR Interrupts */
+5271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+5272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
+5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
+ ARM GAS /tmp/ccskJbbb.s page 94
+
+
+5279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
+5281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */
+5285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR Interrupts */
+5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+5289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
+5294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
+5296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
+5298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Else clear address flag only */
+5302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
+5305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+5306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Master sequential complete process.
+5314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c)
+5318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
+5320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */
+5323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */
+5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
+5325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
+5328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+5332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 95
+
+
+5336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
+5339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
+5341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
+5344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
+5348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
+5352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
+5359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
+5361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Slave sequential complete process.
+5367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c)
+5371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
+5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
+5376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */
+5378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
+5380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+5383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
+5390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
+5392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ ARM GAS /tmp/ccskJbbb.s page 96
+
+
+5393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
+5396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */
+5398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+5399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
+5400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
+5403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
+5410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
+5412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+5417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Master complete process.
+5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+5424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
+5427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
+5429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+5432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+5435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
+5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+5438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+5440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET)
+5442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+5444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set acknowledge error code */
+5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+5448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 97
+
+
+5450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+5451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+5452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_RX_IT);
+5455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
+5457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
+5458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE))
+5461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
+5464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */
+5466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
+5467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
+5471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c);
+5480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c);
+5482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
+5494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
+5496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
+5500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
+5501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
+5505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ ARM GAS /tmp/ccskJbbb.s page 98
+
+
+5507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c);
+5514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
+5516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
+5528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
+5530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+5536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Slave complete process.
+5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+5543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
+5546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
+5548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
+5549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+5552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts */
+5554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT | I2C_XFER_RX_IT);
+5555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+5557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+5558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+5560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+5561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+5563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 99
+
+
+5564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
+5566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
+5567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+5569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)__HAL_DMA_GET_COUNTER(hi2c->hdmatx);
+5571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
+5574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+5576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)__HAL_DMA_GET_COUNTER(hi2c->hdmarx);
+5578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
+5583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
+5586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)
+5587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
+5589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
+5590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+5592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+5593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+5595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+5596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
+5598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+5601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */
+5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
+5606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
+5608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+5609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+5612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
+5616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
+5619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
+ ARM GAS /tmp/ccskJbbb.s page 100
+
+
+5621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
+5622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
+5624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
+5625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
+5628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Sequential Complete callback, to inform upper layer of the end of Tranfer */
+5630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+5631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+5633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
+5639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
+5641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
+5643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
+5647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
+5656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
+5658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
+5670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
+5672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Listen complete process.
+ ARM GAS /tmp/ccskJbbb.s page 101
+
+
+5678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+5680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
+5683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
+5685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
+5692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET)
+5693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+5696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+5699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
+5701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+5703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+5704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
+5706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+5707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all Interrupts*/
+5711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
+5712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
+5720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
+5722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
+5724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C interrupts error process.
+5729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ErrorCode Error code to handle.
+5731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode)
+5734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 102
+
+
+5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
+5736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
+5738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+5740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U;
+5741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set new error code */
+5743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode;
+5744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_LISTEN) ||
+5747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
+5748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
+5749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */
+5751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT);
+5752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */
+5754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+5755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+5756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+5757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts */
+5761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
+5762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If state is an abort treatment on goind, don't change state */
+5764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This change will be do later */
+5765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT)
+5766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */
+5768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+5771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX transfer if any */
+5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
+5776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+5778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+5780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+5782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
+5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
+5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
+5790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+ ARM GAS /tmp/ccskJbbb.s page 103
+
+
+5792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
+5793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX transfer if any */
+5797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
+5798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+5800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+5802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+5804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+5805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
+5806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
+5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
+5812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
+5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
+5815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_ABORT)
+5819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
+5828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
+5830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
+5840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
+5842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Tx data register flush process.
+5848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+ ARM GAS /tmp/ccskJbbb.s page 104
+
+
+5849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c)
+5852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 25 .loc 1 5852 0
+ 26 .cfi_startproc
+ 27 @ args = 0, pretend = 0, frame = 0
+ 28 @ frame_needed = 0, uses_anonymous_args = 0
+ 29 @ link register save eliminated.
+ 30 .LVL0:
+5853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a pending TXIS flag is set */
+5854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */
+5855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET)
+ 31 .loc 1 5855 0
+ 32 0000 0368 ldr r3, [r0]
+ 33 0002 9A69 ldr r2, [r3, #24]
+ 34 0004 9207 lsls r2, r2, #30
+ 35 0006 01D5 bpl .L2
+5856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U;
+ 36 .loc 1 5857 0
+ 37 0008 0022 movs r2, #0
+ 38 000a 9A62 str r2, [r3, #40]
+ 39 .L2:
+5858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register if not empty */
+5861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
+ 40 .loc 1 5861 0
+ 41 000c 0368 ldr r3, [r0]
+ 42 000e 9A69 ldr r2, [r3, #24]
+ 43 0010 D207 lsls r2, r2, #31
+ 44 0012 03D4 bmi .L1
+5862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE);
+ 45 .loc 1 5863 0
+ 46 0014 9A69 ldr r2, [r3, #24]
+ 47 0016 0121 movs r1, #1
+ 48 0018 0A43 orrs r2, r1
+ 49 001a 9A61 str r2, [r3, #24]
+ 50 .L1:
+5864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 51 .loc 1 5865 0
+ 52 @ sp needed
+ 53 001c 7047 bx lr
+ 54 .cfi_endproc
+ 55 .LFE102:
+ 57 .section .text.I2C_TransferConfig,"ax",%progbits
+ 58 .align 1
+ 59 .syntax unified
+ 60 .code 16
+ 61 .thumb_func
+ 62 .fpu softvfp
+ 64 I2C_TransferConfig:
+ 65 .LFB114:
+5866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 105
+
+
+5867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback.
+5869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
+5870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma)
+5873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+5875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
+5877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+5878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
+5880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
+5881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupt */
+5883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
+5884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
+5886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Buffer pointer */
+5889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
+5890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the XferSize to transfer */
+5892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+5893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+5895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+5899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+5902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, h
+5903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
+5906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
+5910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
+5911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback.
+5917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
+5918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma)
+5921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+ ARM GAS /tmp/ccskJbbb.s page 106
+
+
+5924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
+5926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
+5928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+5929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
+5931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+5932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+5933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
+5937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
+5938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
+5939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback.
+5944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
+5945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma)
+5948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+5950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
+5952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+5953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
+5955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
+5956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupt */
+5958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
+5959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
+5961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Buffer pointer */
+5964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
+5965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the XferSize to transfer */
+5967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+5968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+5970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+5974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+5977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr, h
+5978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
+ ARM GAS /tmp/ccskJbbb.s page 107
+
+
+5981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
+5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
+5986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C slave receive process complete callback.
+5992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
+5993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma)
+5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+5999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_DMA_GET_COUNTER(hi2c->hdmarx) == 0U) && \
+6001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+6002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
+6004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+6005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+6008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+6010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
+6012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
+6013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
+6014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C communication error callback.
+6019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
+6020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+6021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
+6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+6025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Acknowledge */
+6027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+6028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+6030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
+6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C communication abort callback
+6035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure).
+6036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle.
+6037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+ ARM GAS /tmp/ccskJbbb.s page 108
+
+
+6038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
+6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+6042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset AbortCpltCallback */
+6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+6046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if come from abort from user */
+6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
+6049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+6053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+6054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
+6055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
+6057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+6058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+6060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+6062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+6063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
+6064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+6065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
+6066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+6067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout.
+6072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check.
+6075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Status The new Flag status (SET or RESET).
+6076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+6077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+6078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+6079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
+6081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
+6083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
+6085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
+6086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+6088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+6090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 109
+
+
+6095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag.
+6104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+6107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+6108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+6109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+6111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
+6113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */
+6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
+6116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
+6121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
+6122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+6124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag.
+6141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+6144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+6145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+6146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+6148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
+6150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */
+ ARM GAS /tmp/ccskJbbb.s page 110
+
+
+6152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
+6153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
+6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+6159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag.
+6175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+6178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+6179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+6180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
+6184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */
+6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
+6187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a STOPF is detected */
+6192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
+6193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if an RXNE is pending */
+6195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
+6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U))
+6197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return HAL_OK */
+6199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* The Reading of data from RXDR will be done in caller function */
+6200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+6203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+6205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+6206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+6208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 111
+
+
+6209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
+6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+6223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles Acknowledge failed detection during an I2C Communication.
+6238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+6241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+6242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+6243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_
+6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
+6247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP Flag is reset */
+6249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */
+6250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
+6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
+6253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
+6254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+6256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+6258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 112
+
+
+6266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACKF Flag */
+6270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+6271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+6273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+6274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+6277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+6279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+6280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+6282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar
+6295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed.
+6297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed.
+6298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter must be a value between 0 and 255.
+6299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation.
+6300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
+6301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode .
+6302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode.
+6303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode.
+6304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation.
+6305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
+6306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition.
+6307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0).
+6308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request.
+6309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request.
+6310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+6311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
+6313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 66 .loc 1 6313 0
+ 67 .cfi_startproc
+ 68 @ args = 4, pretend = 0, frame = 0
+ 69 @ frame_needed = 0, uses_anonymous_args = 0
+ 70 .LVL1:
+ 71 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 72 .LCFI0:
+ 73 .cfi_def_cfa_offset 20
+ 74 .cfi_offset 4, -20
+ ARM GAS /tmp/ccskJbbb.s page 113
+
+
+ 75 .cfi_offset 5, -16
+ 76 .cfi_offset 6, -12
+ 77 .cfi_offset 7, -8
+ 78 .cfi_offset 14, -4
+ 79 0002 059C ldr r4, [sp, #20]
+6314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+6315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
+6316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
+6317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
+6318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* update CR2 register */
+6320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEN
+ 80 .loc 1 6320 0
+ 81 0004 0568 ldr r5, [r0]
+ 82 0006 6868 ldr r0, [r5, #4]
+ 83 .LVL2:
+ 84 0008 660D lsrs r6, r4, #21
+ 85 000a 8027 movs r7, #128
+ 86 000c FF00 lsls r7, r7, #3
+ 87 000e 3740 ands r7, r6
+ 88 0010 054E ldr r6, .L5
+ 89 0012 3E43 orrs r6, r7
+ 90 0014 B043 bics r0, r6
+ 91 0016 8905 lsls r1, r1, #22
+ 92 .LVL3:
+ 93 0018 890D lsrs r1, r1, #22
+ 94 001a 1204 lsls r2, r2, #16
+ 95 .LVL4:
+ 96 001c 1143 orrs r1, r2
+ 97 001e 0B43 orrs r3, r1
+ 98 .LVL5:
+ 99 0020 2343 orrs r3, r4
+ 100 0022 0343 orrs r3, r0
+ 101 0024 6B60 str r3, [r5, #4]
+6321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
+6322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 102 .loc 1 6322 0
+ 103 @ sp needed
+ 104 0026 F0BD pop {r4, r5, r6, r7, pc}
+ 105 .L6:
+ 106 .align 2
+ 107 .L5:
+ 108 0028 FF63FF03 .word 67068927
+ 109 .cfi_endproc
+ 110 .LFE114:
+ 112 .section .text.I2C_Enable_IRQ,"ax",%progbits
+ 113 .align 1
+ 114 .syntax unified
+ 115 .code 16
+ 116 .thumb_func
+ 117 .fpu softvfp
+ 119 I2C_Enable_IRQ:
+ 120 .LFB115:
+6323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts.
+6326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ ARM GAS /tmp/ccskJbbb.s page 114
+
+
+6327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
+6329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+6330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
+6332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 121 .loc 1 6332 0
+ 122 .cfi_startproc
+ 123 @ args = 0, pretend = 0, frame = 0
+ 124 @ frame_needed = 0, uses_anonymous_args = 0
+ 125 @ link register save eliminated.
+ 126 .LVL6:
+6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
+6334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferISR == I2C_Master_ISR_DMA) || \
+ 127 .loc 1 6335 0
+ 128 0000 436B ldr r3, [r0, #52]
+ 129 0002 1C4A ldr r2, .L23
+ 130 0004 9342 cmp r3, r2
+ 131 0006 12D0 beq .L8
+ 132 .loc 1 6335 0 is_stmt 0 discriminator 1
+ 133 0008 1B4A ldr r2, .L23+4
+ 134 000a 9342 cmp r3, r2
+ 135 000c 0FD0 beq .L8
+6336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
+6337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
+6339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
+6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
+6342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_ERROR_IT) == I2C_XFER_ERROR_IT)
+6345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+6347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
+6348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT)
+6351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
+6353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
+6354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RELOAD_IT) == I2C_XFER_RELOAD_IT)
+6357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
+6359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
+6360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+6363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
+ 136 .loc 1 6364 0 is_stmt 1
+ 137 000e 4B07 lsls r3, r1, #29
+ 138 0010 2AD4 bmi .L18
+6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
+ ARM GAS /tmp/ccskJbbb.s page 115
+
+
+ 139 .loc 1 6333 0
+ 140 0012 0023 movs r3, #0
+ 141 .L14:
+ 142 .LVL7:
+6365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, and ADDR interrupts */
+6367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
+6368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
+ 143 .loc 1 6370 0
+ 144 0014 CA07 lsls r2, r1, #31
+ 145 0016 01D5 bpl .L15
+6371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
+6373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
+ 146 .loc 1 6373 0
+ 147 0018 F222 movs r2, #242
+ 148 001a 1343 orrs r3, r2
+ 149 .LVL8:
+ 150 .L15:
+6374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
+ 151 .loc 1 6376 0
+ 152 001c 8A07 lsls r2, r1, #30
+ 153 001e 25D4 bmi .L19
+6377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
+6379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
+6380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT)
+ 154 .loc 1 6382 0
+ 155 0020 1222 movs r2, #18
+ 156 0022 1140 ands r1, r2
+ 157 .LVL9:
+ 158 0024 1229 cmp r1, #18
+ 159 0026 0FD1 bne .L13
+6383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
+6385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
+ 160 .loc 1 6385 0
+ 161 0028 0E32 adds r2, r2, #14
+ 162 002a 1343 orrs r3, r2
+ 163 .LVL10:
+ 164 002c 0CE0 b .L13
+ 165 .LVL11:
+ 166 .L8:
+6338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 167 .loc 1 6338 0
+ 168 002e 4B07 lsls r3, r1, #29
+ 169 0030 0FD4 bmi .L17
+6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 170 .loc 1 6333 0
+ 171 0032 0023 movs r3, #0
+ 172 .L10:
+ ARM GAS /tmp/ccskJbbb.s page 116
+
+
+ 173 .LVL12:
+6344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 174 .loc 1 6344 0
+ 175 0034 1122 movs r2, #17
+ 176 0036 0A40 ands r2, r1
+ 177 0038 112A cmp r2, #17
+ 178 003a 0CD0 beq .L20
+ 179 .L11:
+ 180 003c 1222 movs r2, #18
+ 181 003e 1140 ands r1, r2
+ 182 .LVL13:
+6350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 183 .loc 1 6350 0
+ 184 0040 1229 cmp r1, #18
+ 185 0042 0BD0 beq .L21
+ 186 .L12:
+6356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 187 .loc 1 6356 0
+ 188 0044 1229 cmp r1, #18
+ 189 0046 0CD0 beq .L22
+ 190 .L13:
+6386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable interrupts only at the end */
+6390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */
+6391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* all interrupts requested done */
+6392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr);
+ 191 .loc 1 6392 0
+ 192 0048 0168 ldr r1, [r0]
+ 193 004a 0A68 ldr r2, [r1]
+ 194 004c 1343 orrs r3, r2
+ 195 .LVL14:
+ 196 004e 0B60 str r3, [r1]
+6393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 197 .loc 1 6393 0
+ 198 @ sp needed
+ 199 0050 7047 bx lr
+ 200 .LVL15:
+ 201 .L17:
+6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 202 .loc 1 6341 0
+ 203 0052 B823 movs r3, #184
+ 204 0054 EEE7 b .L10
+ 205 .LVL16:
+ 206 .L20:
+6347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 207 .loc 1 6347 0
+ 208 0056 7F32 adds r2, r2, #127
+ 209 0058 1343 orrs r3, r2
+ 210 .LVL17:
+ 211 005a EFE7 b .L11
+ 212 .LVL18:
+ 213 .L21:
+6353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 214 .loc 1 6353 0
+ 215 005c 0E32 adds r2, r2, #14
+ ARM GAS /tmp/ccskJbbb.s page 117
+
+
+ 216 005e 1343 orrs r3, r2
+ 217 .LVL19:
+ 218 0060 F0E7 b .L12
+ 219 .L22:
+6359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 220 .loc 1 6359 0
+ 221 0062 4022 movs r2, #64
+ 222 0064 1343 orrs r3, r2
+ 223 .LVL20:
+ 224 0066 EFE7 b .L13
+ 225 .LVL21:
+ 226 .L18:
+6367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 227 .loc 1 6367 0
+ 228 0068 B823 movs r3, #184
+ 229 006a D3E7 b .L14
+ 230 .LVL22:
+ 231 .L19:
+6379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 232 .loc 1 6379 0
+ 233 006c F422 movs r2, #244
+ 234 006e 1343 orrs r3, r2
+ 235 .LVL23:
+ 236 0070 EAE7 b .L13
+ 237 .L24:
+ 238 0072 C046 .align 2
+ 239 .L23:
+ 240 0074 00000000 .word I2C_Master_ISR_DMA
+ 241 0078 00000000 .word I2C_Slave_ISR_DMA
+ 242 .cfi_endproc
+ 243 .LFE115:
+ 245 .section .text.I2C_Disable_IRQ,"ax",%progbits
+ 246 .align 1
+ 247 .syntax unified
+ 248 .code 16
+ 249 .thumb_func
+ 250 .fpu softvfp
+ 252 I2C_Disable_IRQ:
+ 253 .LFB116:
+6394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts.
+6397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
+6400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+6401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
+6403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 254 .loc 1 6403 0
+ 255 .cfi_startproc
+ 256 @ args = 0, pretend = 0, frame = 0
+ 257 @ frame_needed = 0, uses_anonymous_args = 0
+ 258 .LVL24:
+ 259 0000 30B5 push {r4, r5, lr}
+ 260 .LCFI1:
+ 261 .cfi_def_cfa_offset 12
+ ARM GAS /tmp/ccskJbbb.s page 118
+
+
+ 262 .cfi_offset 4, -12
+ 263 .cfi_offset 5, -8
+ 264 .cfi_offset 14, -4
+ 265 .LVL25:
+6404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
+6405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
+ 266 .loc 1 6406 0
+ 267 0002 CB07 lsls r3, r1, #31
+ 268 0004 09D5 bpl .L32
+ 269 .LVL26:
+6407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC and TXI interrupts */
+6409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI;
+6410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
+ 270 .loc 1 6411 0
+ 271 0006 4123 movs r3, #65
+ 272 0008 C35C ldrb r3, [r0, r3]
+ 273 000a 2822 movs r2, #40
+ 274 000c 1340 ands r3, r2
+ 275 000e 282B cmp r3, #40
+ 276 0010 01D0 beq .L35
+6412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
+6414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
+ 277 .loc 1 6414 0
+ 278 0012 F223 movs r3, #242
+ 279 0014 02E0 b .L26
+ 280 .L35:
+6409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 281 .loc 1 6409 0
+ 282 0016 1A33 adds r3, r3, #26
+ 283 0018 00E0 b .L26
+ 284 .LVL27:
+ 285 .L32:
+6404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 286 .loc 1 6404 0
+ 287 001a 0023 movs r3, #0
+ 288 .LVL28:
+ 289 .L26:
+6415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
+ 290 .loc 1 6418 0
+ 291 001c 8A07 lsls r2, r1, #30
+ 292 001e 09D5 bpl .L27
+6419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC and RXI interrupts */
+6421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI;
+ 293 .loc 1 6421 0
+ 294 0020 4424 movs r4, #68
+ 295 0022 1C43 orrs r4, r3
+ 296 .LVL29:
+6422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
+ ARM GAS /tmp/ccskJbbb.s page 119
+
+
+ 297 .loc 1 6423 0
+ 298 0024 4122 movs r2, #65
+ 299 0026 825C ldrb r2, [r0, r2]
+ 300 0028 2825 movs r5, #40
+ 301 002a 2A40 ands r2, r5
+ 302 002c 282A cmp r2, #40
+ 303 002e 14D0 beq .L34
+6424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
+6426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
+ 304 .loc 1 6426 0
+ 305 0030 F422 movs r2, #244
+ 306 0032 1343 orrs r3, r2
+ 307 .LVL30:
+ 308 .L27:
+6427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
+ 309 .loc 1 6430 0
+ 310 0034 4A07 lsls r2, r1, #29
+ 311 0036 01D5 bpl .L28
+6431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */
+6433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
+ 312 .loc 1 6433 0
+ 313 0038 B822 movs r2, #184
+ 314 003a 1343 orrs r3, r2
+ 315 .LVL31:
+ 316 .L28:
+6434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_ERROR_IT) == I2C_XFER_ERROR_IT)
+ 317 .loc 1 6436 0
+ 318 003c 1122 movs r2, #17
+ 319 003e 0A40 ands r2, r1
+ 320 0040 112A cmp r2, #17
+ 321 0042 0CD0 beq .L36
+ 322 .L29:
+ 323 0044 1222 movs r2, #18
+ 324 0046 1140 ands r1, r2
+ 325 .LVL32:
+6437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+6439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
+6440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT)
+ 326 .loc 1 6442 0
+ 327 0048 1229 cmp r1, #18
+ 328 004a 0BD0 beq .L37
+ 329 .L30:
+6443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
+6445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
+6446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 120
+
+
+6448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RELOAD_IT) == I2C_XFER_RELOAD_IT)
+ 330 .loc 1 6448 0
+ 331 004c 1229 cmp r1, #18
+ 332 004e 0CD0 beq .L38
+ 333 .L31:
+6449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
+6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
+6452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable interrupts only at the end */
+6455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */
+6456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* all disable interrupts request are not done */
+6457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr);
+ 334 .loc 1 6457 0
+ 335 0050 0168 ldr r1, [r0]
+ 336 0052 0A68 ldr r2, [r1]
+ 337 0054 9A43 bics r2, r3
+ 338 0056 0A60 str r2, [r1]
+6458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 339 .loc 1 6458 0
+ 340 @ sp needed
+ 341 0058 30BD pop {r4, r5, pc}
+ 342 .LVL33:
+ 343 .L34:
+6421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 344 .loc 1 6421 0
+ 345 005a 2300 movs r3, r4
+ 346 005c EAE7 b .L27
+ 347 .LVL34:
+ 348 .L36:
+6439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 349 .loc 1 6439 0
+ 350 005e 7F32 adds r2, r2, #127
+ 351 0060 1343 orrs r3, r2
+ 352 .LVL35:
+ 353 0062 EFE7 b .L29
+ 354 .LVL36:
+ 355 .L37:
+6445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 356 .loc 1 6445 0
+ 357 0064 0E32 adds r2, r2, #14
+ 358 0066 1343 orrs r3, r2
+ 359 .LVL37:
+ 360 0068 F0E7 b .L30
+ 361 .L38:
+6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 362 .loc 1 6451 0
+ 363 006a 4022 movs r2, #64
+ 364 006c 1343 orrs r3, r2
+ 365 .LVL38:
+ 366 006e EFE7 b .L31
+ 367 .cfi_endproc
+ 368 .LFE116:
+ 370 .section .text.I2C_ConvertOtherXferOptions,"ax",%progbits
+ 371 .align 1
+ 372 .syntax unified
+ ARM GAS /tmp/ccskJbbb.s page 121
+
+
+ 373 .code 16
+ 374 .thumb_func
+ 375 .fpu softvfp
+ 377 I2C_ConvertOtherXferOptions:
+ 378 .LFB117:
+6459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functionnal XferOptions.
+6462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+6463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+6464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c)
+6466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 379 .loc 1 6466 0
+ 380 .cfi_startproc
+ 381 @ args = 0, pretend = 0, frame = 0
+ 382 @ frame_needed = 0, uses_anonymous_args = 0
+ 383 @ link register save eliminated.
+ 384 .LVL39:
+6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */
+6468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
+6469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */
+6470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME)
+ 385 .loc 1 6470 0
+ 386 0000 C36A ldr r3, [r0, #44]
+ 387 0002 AA2B cmp r3, #170
+ 388 0004 05D0 beq .L42
+6471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME;
+6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */
+6475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
+6476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */
+6477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */
+6478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME)
+ 389 .loc 1 6478 0
+ 390 0006 C26A ldr r2, [r0, #44]
+ 391 0008 AA23 movs r3, #170
+ 392 000a 1B02 lsls r3, r3, #8
+ 393 000c 9A42 cmp r2, r3
+ 394 000e 03D0 beq .L43
+ 395 .L39:
+6479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME;
+6481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+6483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+6485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 396 .loc 1 6486 0
+ 397 @ sp needed
+ 398 0010 7047 bx lr
+ 399 .L42:
+6472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 400 .loc 1 6472 0
+ 401 0012 0023 movs r3, #0
+ ARM GAS /tmp/ccskJbbb.s page 122
+
+
+ 402 0014 C362 str r3, [r0, #44]
+ 403 0016 FBE7 b .L39
+ 404 .L43:
+6480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 405 .loc 1 6480 0
+ 406 0018 8023 movs r3, #128
+ 407 001a 9B04 lsls r3, r3, #18
+ 408 001c C362 str r3, [r0, #44]
+ 409 .loc 1 6486 0
+ 410 001e F7E7 b .L39
+ 411 .cfi_endproc
+ 412 .LFE117:
+ 414 .section .text.I2C_IsAcknowledgeFailed,"ax",%progbits
+ 415 .align 1
+ 416 .syntax unified
+ 417 .code 16
+ 418 .thumb_func
+ 419 .fpu softvfp
+ 421 I2C_IsAcknowledgeFailed:
+ 422 .LFB113:
+6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
+ 423 .loc 1 6245 0
+ 424 .cfi_startproc
+ 425 @ args = 0, pretend = 0, frame = 0
+ 426 @ frame_needed = 0, uses_anonymous_args = 0
+ 427 .LVL40:
+ 428 0000 70B5 push {r4, r5, r6, lr}
+ 429 .LCFI2:
+ 430 .cfi_def_cfa_offset 16
+ 431 .cfi_offset 4, -16
+ 432 .cfi_offset 5, -12
+ 433 .cfi_offset 6, -8
+ 434 .cfi_offset 14, -4
+ 435 0002 0400 movs r4, r0
+ 436 0004 0E00 movs r6, r1
+ 437 0006 1500 movs r5, r2
+6246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 438 .loc 1 6246 0
+ 439 0008 0368 ldr r3, [r0]
+ 440 000a 9B69 ldr r3, [r3, #24]
+ 441 000c DB06 lsls r3, r3, #27
+ 442 000e 19D5 bpl .L50
+ 443 .LVL41:
+ 444 .L47:
+6250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 445 .loc 1 6250 0
+ 446 0010 2368 ldr r3, [r4]
+ 447 0012 9A69 ldr r2, [r3, #24]
+ 448 0014 9206 lsls r2, r2, #26
+ 449 0016 17D4 bmi .L51
+6253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 450 .loc 1 6253 0
+ 451 0018 731C adds r3, r6, #1
+ 452 001a F9D0 beq .L47
+6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 453 .loc 1 6255 0
+ 454 001c FFF7FEFF bl HAL_GetTick
+ ARM GAS /tmp/ccskJbbb.s page 123
+
+
+ 455 .LVL42:
+ 456 0020 401B subs r0, r0, r5
+ 457 0022 B042 cmp r0, r6
+ 458 0024 01D8 bhi .L48
+6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 459 .loc 1 6255 0 is_stmt 0 discriminator 1
+ 460 0026 002E cmp r6, #0
+ 461 0028 F2D1 bne .L47
+ 462 .L48:
+6257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 463 .loc 1 6257 0 is_stmt 1
+ 464 002a 636C ldr r3, [r4, #68]
+ 465 002c 2022 movs r2, #32
+ 466 002e 1343 orrs r3, r2
+ 467 0030 6364 str r3, [r4, #68]
+6258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 468 .loc 1 6258 0
+ 469 0032 4123 movs r3, #65
+ 470 0034 E254 strb r2, [r4, r3]
+6259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 471 .loc 1 6259 0
+ 472 0036 0023 movs r3, #0
+ 473 0038 2232 adds r2, r2, #34
+ 474 003a A354 strb r3, [r4, r2]
+6262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 475 .loc 1 6262 0
+ 476 003c 023A subs r2, r2, #2
+ 477 003e A354 strb r3, [r4, r2]
+6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 478 .loc 1 6264 0
+ 479 0040 0120 movs r0, #1
+ 480 0042 1AE0 b .L46
+ 481 .LVL43:
+ 482 .L50:
+6290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 483 .loc 1 6290 0
+ 484 0044 0020 movs r0, #0
+ 485 .LVL44:
+ 486 0046 18E0 b .L46
+ 487 .LVL45:
+ 488 .L51:
+6270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 489 .loc 1 6270 0
+ 490 0048 1022 movs r2, #16
+ 491 004a DA61 str r2, [r3, #28]
+6273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 492 .loc 1 6273 0
+ 493 004c 2368 ldr r3, [r4]
+ 494 004e 2025 movs r5, #32
+ 495 .LVL46:
+ 496 0050 DD61 str r5, [r3, #28]
+6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 497 .loc 1 6276 0
+ 498 0052 2000 movs r0, r4
+ 499 0054 FFF7FEFF bl I2C_Flush_TXDR
+ 500 .LVL47:
+6279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 124
+
+
+ 501 .loc 1 6279 0
+ 502 0058 2268 ldr r2, [r4]
+ 503 005a 5368 ldr r3, [r2, #4]
+ 504 005c 0749 ldr r1, .L52
+ 505 005e 0B40 ands r3, r1
+ 506 0060 5360 str r3, [r2, #4]
+6281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 507 .loc 1 6281 0
+ 508 0062 636C ldr r3, [r4, #68]
+ 509 0064 0422 movs r2, #4
+ 510 0066 1343 orrs r3, r2
+ 511 0068 6364 str r3, [r4, #68]
+6282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 512 .loc 1 6282 0
+ 513 006a 4123 movs r3, #65
+ 514 006c E554 strb r5, [r4, r3]
+6283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 515 .loc 1 6283 0
+ 516 006e 0023 movs r3, #0
+ 517 0070 3E32 adds r2, r2, #62
+ 518 0072 A354 strb r3, [r4, r2]
+6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 519 .loc 1 6286 0
+ 520 0074 023A subs r2, r2, #2
+ 521 0076 A354 strb r3, [r4, r2]
+6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 522 .loc 1 6288 0
+ 523 0078 0120 movs r0, #1
+ 524 .L46:
+6291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 525 .loc 1 6291 0
+ 526 @ sp needed
+ 527 .LVL48:
+ 528 .LVL49:
+ 529 007a 70BD pop {r4, r5, r6, pc}
+ 530 .L53:
+ 531 .align 2
+ 532 .L52:
+ 533 007c 00E800FE .word -33495040
+ 534 .cfi_endproc
+ 535 .LFE113:
+ 537 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits
+ 538 .align 1
+ 539 .syntax unified
+ 540 .code 16
+ 541 .thumb_func
+ 542 .fpu softvfp
+ 544 I2C_WaitOnTXISFlagUntilTimeout:
+ 545 .LFB110:
+6111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
+ 546 .loc 1 6111 0
+ 547 .cfi_startproc
+ 548 @ args = 0, pretend = 0, frame = 0
+ 549 @ frame_needed = 0, uses_anonymous_args = 0
+ 550 .LVL50:
+ 551 0000 70B5 push {r4, r5, r6, lr}
+ 552 .LCFI3:
+ ARM GAS /tmp/ccskJbbb.s page 125
+
+
+ 553 .cfi_def_cfa_offset 16
+ 554 .cfi_offset 4, -16
+ 555 .cfi_offset 5, -12
+ 556 .cfi_offset 6, -8
+ 557 .cfi_offset 14, -4
+ 558 0002 0400 movs r4, r0
+ 559 0004 0D00 movs r5, r1
+ 560 0006 1600 movs r6, r2
+ 561 .LVL51:
+ 562 .L57:
+6112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 563 .loc 1 6112 0
+ 564 0008 2368 ldr r3, [r4]
+ 565 000a 9B69 ldr r3, [r3, #24]
+ 566 000c 9B07 lsls r3, r3, #30
+ 567 000e 1CD4 bmi .L61
+6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 568 .loc 1 6115 0
+ 569 0010 3200 movs r2, r6
+ 570 0012 2900 movs r1, r5
+ 571 0014 2000 movs r0, r4
+ 572 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
+ 573 .LVL52:
+ 574 001a 0028 cmp r0, #0
+ 575 001c 17D1 bne .L60
+6121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 576 .loc 1 6121 0
+ 577 001e 6B1C adds r3, r5, #1
+ 578 0020 F2D0 beq .L57
+6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 579 .loc 1 6123 0
+ 580 0022 FFF7FEFF bl HAL_GetTick
+ 581 .LVL53:
+ 582 0026 801B subs r0, r0, r6
+ 583 0028 A842 cmp r0, r5
+ 584 002a 01D8 bhi .L58
+6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 585 .loc 1 6123 0 is_stmt 0 discriminator 1
+ 586 002c 002D cmp r5, #0
+ 587 002e EBD1 bne .L57
+ 588 .L58:
+6125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 589 .loc 1 6125 0 is_stmt 1
+ 590 0030 636C ldr r3, [r4, #68]
+ 591 0032 2022 movs r2, #32
+ 592 0034 1343 orrs r3, r2
+ 593 0036 6364 str r3, [r4, #68]
+6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 594 .loc 1 6126 0
+ 595 0038 4123 movs r3, #65
+ 596 003a E254 strb r2, [r4, r3]
+6127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 597 .loc 1 6127 0
+ 598 003c 0023 movs r3, #0
+ 599 003e 2232 adds r2, r2, #34
+ 600 0040 A354 strb r3, [r4, r2]
+6130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 126
+
+
+ 601 .loc 1 6130 0
+ 602 0042 023A subs r2, r2, #2
+ 603 0044 A354 strb r3, [r4, r2]
+6132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 604 .loc 1 6132 0
+ 605 0046 0120 movs r0, #1
+ 606 0048 00E0 b .L56
+ 607 .L61:
+6136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 608 .loc 1 6136 0
+ 609 004a 0020 movs r0, #0
+ 610 .L56:
+6137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 611 .loc 1 6137 0
+ 612 @ sp needed
+ 613 .LVL54:
+ 614 .LVL55:
+ 615 .LVL56:
+ 616 004c 70BD pop {r4, r5, r6, pc}
+ 617 .LVL57:
+ 618 .L60:
+6117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 619 .loc 1 6117 0
+ 620 004e 0120 movs r0, #1
+ 621 0050 FCE7 b .L56
+ 622 .cfi_endproc
+ 623 .LFE110:
+ 625 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
+ 626 .align 1
+ 627 .syntax unified
+ 628 .code 16
+ 629 .thumb_func
+ 630 .fpu softvfp
+ 632 I2C_WaitOnFlagUntilTimeout:
+ 633 .LFB109:
+6081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
+ 634 .loc 1 6081 0
+ 635 .cfi_startproc
+ 636 @ args = 4, pretend = 0, frame = 0
+ 637 @ frame_needed = 0, uses_anonymous_args = 0
+ 638 .LVL58:
+ 639 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 640 .LCFI4:
+ 641 .cfi_def_cfa_offset 24
+ 642 .cfi_offset 3, -24
+ 643 .cfi_offset 4, -20
+ 644 .cfi_offset 5, -16
+ 645 .cfi_offset 6, -12
+ 646 .cfi_offset 7, -8
+ 647 .cfi_offset 14, -4
+ 648 0002 0600 movs r6, r0
+ 649 0004 0C00 movs r4, r1
+ 650 0006 1700 movs r7, r2
+ 651 0008 1D00 movs r5, r3
+ 652 .LVL59:
+ 653 .L64:
+6082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 127
+
+
+ 654 .loc 1 6082 0
+ 655 000a 3368 ldr r3, [r6]
+ 656 000c 9B69 ldr r3, [r3, #24]
+ 657 000e 2340 ands r3, r4
+ 658 0010 1B1B subs r3, r3, r4
+ 659 0012 5A42 rsbs r2, r3, #0
+ 660 0014 5341 adcs r3, r3, r2
+ 661 0016 BB42 cmp r3, r7
+ 662 0018 16D1 bne .L68
+6085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 663 .loc 1 6085 0
+ 664 001a 6B1C adds r3, r5, #1
+ 665 001c F5D0 beq .L64
+6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 666 .loc 1 6087 0
+ 667 001e FFF7FEFF bl HAL_GetTick
+ 668 .LVL60:
+ 669 0022 069B ldr r3, [sp, #24]
+ 670 0024 C01A subs r0, r0, r3
+ 671 0026 A842 cmp r0, r5
+ 672 0028 01D8 bhi .L65
+6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 673 .loc 1 6087 0 is_stmt 0 discriminator 1
+ 674 002a 002D cmp r5, #0
+ 675 002c EDD1 bne .L64
+ 676 .L65:
+6089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 677 .loc 1 6089 0 is_stmt 1
+ 678 002e 736C ldr r3, [r6, #68]
+ 679 0030 2022 movs r2, #32
+ 680 0032 1343 orrs r3, r2
+ 681 0034 7364 str r3, [r6, #68]
+6090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 682 .loc 1 6090 0
+ 683 0036 4123 movs r3, #65
+ 684 0038 F254 strb r2, [r6, r3]
+6091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 685 .loc 1 6091 0
+ 686 003a 0023 movs r3, #0
+ 687 003c 2232 adds r2, r2, #34
+ 688 003e B354 strb r3, [r6, r2]
+6094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 689 .loc 1 6094 0
+ 690 0040 023A subs r2, r2, #2
+ 691 0042 B354 strb r3, [r6, r2]
+6095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 692 .loc 1 6095 0
+ 693 0044 0120 movs r0, #1
+ 694 0046 00E0 b .L66
+ 695 .L68:
+6099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 696 .loc 1 6099 0
+ 697 0048 0020 movs r0, #0
+ 698 .L66:
+6100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 699 .loc 1 6100 0
+ 700 @ sp needed
+ ARM GAS /tmp/ccskJbbb.s page 128
+
+
+ 701 .LVL61:
+ 702 .LVL62:
+ 703 .LVL63:
+ 704 004a F8BD pop {r3, r4, r5, r6, r7, pc}
+ 705 .cfi_endproc
+ 706 .LFE109:
+ 708 .section .text.I2C_RequestMemoryWrite,"ax",%progbits
+ 709 .align 1
+ 710 .syntax unified
+ 711 .code 16
+ 712 .thumb_func
+ 713 .fpu softvfp
+ 715 I2C_RequestMemoryWrite:
+ 716 .LFB93:
+5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
+ 717 .loc 1 5123 0
+ 718 .cfi_startproc
+ 719 @ args = 8, pretend = 0, frame = 0
+ 720 @ frame_needed = 0, uses_anonymous_args = 0
+ 721 .LVL64:
+ 722 0000 70B5 push {r4, r5, r6, lr}
+ 723 .LCFI5:
+ 724 .cfi_def_cfa_offset 16
+ 725 .cfi_offset 4, -16
+ 726 .cfi_offset 5, -12
+ 727 .cfi_offset 6, -8
+ 728 .cfi_offset 14, -4
+ 729 0002 82B0 sub sp, sp, #8
+ 730 .LCFI6:
+ 731 .cfi_def_cfa_offset 24
+ 732 0004 0400 movs r4, r0
+ 733 0006 1600 movs r6, r2
+ 734 0008 1D00 movs r5, r3
+5124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 735 .loc 1 5124 0
+ 736 000a 8023 movs r3, #128
+ 737 .LVL65:
+ 738 000c EAB2 uxtb r2, r5
+ 739 .LVL66:
+ 740 000e 1848 ldr r0, .L75
+ 741 .LVL67:
+ 742 0010 0090 str r0, [sp]
+ 743 0012 5B04 lsls r3, r3, #17
+ 744 0014 2000 movs r0, r4
+ 745 0016 FFF7FEFF bl I2C_TransferConfig
+ 746 .LVL68:
+5127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 747 .loc 1 5127 0
+ 748 001a 079A ldr r2, [sp, #28]
+ 749 001c 0699 ldr r1, [sp, #24]
+ 750 001e 2000 movs r0, r4
+ 751 0020 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 752 .LVL69:
+ 753 0024 0028 cmp r0, #0
+ 754 0026 1ED1 bne .L73
+5133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 755 .loc 1 5133 0
+ ARM GAS /tmp/ccskJbbb.s page 129
+
+
+ 756 0028 012D cmp r5, #1
+ 757 002a 0ED1 bne .L71
+5136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 758 .loc 1 5136 0
+ 759 002c 2368 ldr r3, [r4]
+ 760 002e F6B2 uxtb r6, r6
+ 761 0030 9E62 str r6, [r3, #40]
+ 762 .L72:
+5155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 763 .loc 1 5155 0
+ 764 0032 079B ldr r3, [sp, #28]
+ 765 0034 0093 str r3, [sp]
+ 766 0036 069B ldr r3, [sp, #24]
+ 767 0038 0022 movs r2, #0
+ 768 003a 8021 movs r1, #128
+ 769 003c 2000 movs r0, r4
+ 770 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 771 .LVL70:
+ 772 0042 0028 cmp r0, #0
+ 773 0044 10D0 beq .L70
+5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 774 .loc 1 5157 0
+ 775 0046 0120 movs r0, #1
+ 776 0048 0EE0 b .L70
+ 777 .L71:
+5142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 778 .loc 1 5142 0
+ 779 004a 2368 ldr r3, [r4]
+ 780 004c 320A lsrs r2, r6, #8
+ 781 004e 9A62 str r2, [r3, #40]
+5145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 782 .loc 1 5145 0
+ 783 0050 079A ldr r2, [sp, #28]
+ 784 0052 0699 ldr r1, [sp, #24]
+ 785 0054 2000 movs r0, r4
+ 786 0056 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 787 .LVL71:
+ 788 005a 0028 cmp r0, #0
+ 789 005c 06D1 bne .L74
+5151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 790 .loc 1 5151 0
+ 791 005e 2368 ldr r3, [r4]
+ 792 0060 F6B2 uxtb r6, r6
+ 793 0062 9E62 str r6, [r3, #40]
+ 794 0064 E5E7 b .L72
+ 795 .L73:
+5129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 796 .loc 1 5129 0
+ 797 0066 0120 movs r0, #1
+ 798 .L70:
+5161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 799 .loc 1 5161 0
+ 800 0068 02B0 add sp, sp, #8
+ 801 @ sp needed
+ 802 .LVL72:
+ 803 006a 70BD pop {r4, r5, r6, pc}
+ 804 .LVL73:
+ ARM GAS /tmp/ccskJbbb.s page 130
+
+
+ 805 .L74:
+5147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 806 .loc 1 5147 0
+ 807 006c 0120 movs r0, #1
+ 808 006e FBE7 b .L70
+ 809 .L76:
+ 810 .align 2
+ 811 .L75:
+ 812 0070 00200080 .word -2147475456
+ 813 .cfi_endproc
+ 814 .LFE93:
+ 816 .section .text.I2C_RequestMemoryRead,"ax",%progbits
+ 817 .align 1
+ 818 .syntax unified
+ 819 .code 16
+ 820 .thumb_func
+ 821 .fpu softvfp
+ 823 I2C_RequestMemoryRead:
+ 824 .LFB94:
+5176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
+ 825 .loc 1 5176 0
+ 826 .cfi_startproc
+ 827 @ args = 8, pretend = 0, frame = 0
+ 828 @ frame_needed = 0, uses_anonymous_args = 0
+ 829 .LVL74:
+ 830 0000 70B5 push {r4, r5, r6, lr}
+ 831 .LCFI7:
+ 832 .cfi_def_cfa_offset 16
+ 833 .cfi_offset 4, -16
+ 834 .cfi_offset 5, -12
+ 835 .cfi_offset 6, -8
+ 836 .cfi_offset 14, -4
+ 837 0002 82B0 sub sp, sp, #8
+ 838 .LCFI8:
+ 839 .cfi_def_cfa_offset 24
+ 840 0004 0400 movs r4, r0
+ 841 0006 1600 movs r6, r2
+ 842 0008 1D00 movs r5, r3
+5177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 843 .loc 1 5177 0
+ 844 000a DAB2 uxtb r2, r3
+ 845 .LVL75:
+ 846 000c 174B ldr r3, .L83
+ 847 .LVL76:
+ 848 000e 0093 str r3, [sp]
+ 849 0010 0023 movs r3, #0
+ 850 0012 FFF7FEFF bl I2C_TransferConfig
+ 851 .LVL77:
+5180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 852 .loc 1 5180 0
+ 853 0016 079A ldr r2, [sp, #28]
+ 854 0018 0699 ldr r1, [sp, #24]
+ 855 001a 2000 movs r0, r4
+ 856 001c FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 857 .LVL78:
+ 858 0020 0028 cmp r0, #0
+ 859 0022 1ED1 bne .L81
+ ARM GAS /tmp/ccskJbbb.s page 131
+
+
+5186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 860 .loc 1 5186 0
+ 861 0024 012D cmp r5, #1
+ 862 0026 0ED1 bne .L79
+5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 863 .loc 1 5189 0
+ 864 0028 2368 ldr r3, [r4]
+ 865 002a F6B2 uxtb r6, r6
+ 866 002c 9E62 str r6, [r3, #40]
+ 867 .L80:
+5208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 868 .loc 1 5208 0
+ 869 002e 079B ldr r3, [sp, #28]
+ 870 0030 0093 str r3, [sp]
+ 871 0032 069B ldr r3, [sp, #24]
+ 872 0034 0022 movs r2, #0
+ 873 0036 4021 movs r1, #64
+ 874 0038 2000 movs r0, r4
+ 875 003a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 876 .LVL79:
+ 877 003e 0028 cmp r0, #0
+ 878 0040 10D0 beq .L78
+5210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 879 .loc 1 5210 0
+ 880 0042 0120 movs r0, #1
+ 881 0044 0EE0 b .L78
+ 882 .L79:
+5195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 883 .loc 1 5195 0
+ 884 0046 2368 ldr r3, [r4]
+ 885 0048 320A lsrs r2, r6, #8
+ 886 004a 9A62 str r2, [r3, #40]
+5198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 887 .loc 1 5198 0
+ 888 004c 079A ldr r2, [sp, #28]
+ 889 004e 0699 ldr r1, [sp, #24]
+ 890 0050 2000 movs r0, r4
+ 891 0052 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 892 .LVL80:
+ 893 0056 0028 cmp r0, #0
+ 894 0058 06D1 bne .L82
+5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 895 .loc 1 5204 0
+ 896 005a 2368 ldr r3, [r4]
+ 897 005c F6B2 uxtb r6, r6
+ 898 005e 9E62 str r6, [r3, #40]
+ 899 0060 E5E7 b .L80
+ 900 .L81:
+5182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 901 .loc 1 5182 0
+ 902 0062 0120 movs r0, #1
+ 903 .L78:
+5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 904 .loc 1 5214 0
+ 905 0064 02B0 add sp, sp, #8
+ 906 @ sp needed
+ 907 .LVL81:
+ ARM GAS /tmp/ccskJbbb.s page 132
+
+
+ 908 0066 70BD pop {r4, r5, r6, pc}
+ 909 .LVL82:
+ 910 .L82:
+5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 911 .loc 1 5200 0
+ 912 0068 0120 movs r0, #1
+ 913 006a FBE7 b .L78
+ 914 .L84:
+ 915 .align 2
+ 916 .L83:
+ 917 006c 00200080 .word -2147475456
+ 918 .cfi_endproc
+ 919 .LFE94:
+ 921 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
+ 922 .align 1
+ 923 .syntax unified
+ 924 .code 16
+ 925 .thumb_func
+ 926 .fpu softvfp
+ 928 I2C_WaitOnSTOPFlagUntilTimeout:
+ 929 .LFB111:
+6148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
+ 930 .loc 1 6148 0
+ 931 .cfi_startproc
+ 932 @ args = 0, pretend = 0, frame = 0
+ 933 @ frame_needed = 0, uses_anonymous_args = 0
+ 934 .LVL83:
+ 935 0000 70B5 push {r4, r5, r6, lr}
+ 936 .LCFI9:
+ 937 .cfi_def_cfa_offset 16
+ 938 .cfi_offset 4, -16
+ 939 .cfi_offset 5, -12
+ 940 .cfi_offset 6, -8
+ 941 .cfi_offset 14, -4
+ 942 0002 0500 movs r5, r0
+ 943 0004 0C00 movs r4, r1
+ 944 0006 1600 movs r6, r2
+ 945 .LVL84:
+ 946 .L86:
+6149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 947 .loc 1 6149 0
+ 948 0008 2B68 ldr r3, [r5]
+ 949 000a 9B69 ldr r3, [r3, #24]
+ 950 000c 9B06 lsls r3, r3, #26
+ 951 000e 1AD4 bmi .L91
+6152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 952 .loc 1 6152 0
+ 953 0010 3200 movs r2, r6
+ 954 0012 2100 movs r1, r4
+ 955 0014 2800 movs r0, r5
+ 956 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
+ 957 .LVL85:
+ 958 001a 0028 cmp r0, #0
+ 959 001c 15D1 bne .L90
+6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 960 .loc 1 6158 0
+ 961 001e FFF7FEFF bl HAL_GetTick
+ ARM GAS /tmp/ccskJbbb.s page 133
+
+
+ 962 .LVL86:
+ 963 0022 801B subs r0, r0, r6
+ 964 0024 A042 cmp r0, r4
+ 965 0026 01D8 bhi .L88
+6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 966 .loc 1 6158 0 is_stmt 0 discriminator 1
+ 967 0028 002C cmp r4, #0
+ 968 002a EDD1 bne .L86
+ 969 .L88:
+6160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 970 .loc 1 6160 0 is_stmt 1
+ 971 002c 6B6C ldr r3, [r5, #68]
+ 972 002e 2022 movs r2, #32
+ 973 0030 1343 orrs r3, r2
+ 974 0032 6B64 str r3, [r5, #68]
+6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 975 .loc 1 6161 0
+ 976 0034 4123 movs r3, #65
+ 977 0036 EA54 strb r2, [r5, r3]
+6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 978 .loc 1 6162 0
+ 979 0038 0023 movs r3, #0
+ 980 003a 2232 adds r2, r2, #34
+ 981 003c AB54 strb r3, [r5, r2]
+6165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 982 .loc 1 6165 0
+ 983 003e 023A subs r2, r2, #2
+ 984 0040 AB54 strb r3, [r5, r2]
+6167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 985 .loc 1 6167 0
+ 986 0042 0120 movs r0, #1
+ 987 .L87:
+6171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 988 .loc 1 6171 0
+ 989 @ sp needed
+ 990 .LVL87:
+ 991 .LVL88:
+ 992 .LVL89:
+ 993 0044 70BD pop {r4, r5, r6, pc}
+ 994 .LVL90:
+ 995 .L91:
+6170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 996 .loc 1 6170 0
+ 997 0046 0020 movs r0, #0
+ 998 0048 FCE7 b .L87
+ 999 .L90:
+6154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1000 .loc 1 6154 0
+ 1001 004a 0120 movs r0, #1
+ 1002 004c FAE7 b .L87
+ 1003 .cfi_endproc
+ 1004 .LFE111:
+ 1006 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
+ 1007 .align 1
+ 1008 .syntax unified
+ 1009 .code 16
+ 1010 .thumb_func
+ ARM GAS /tmp/ccskJbbb.s page 134
+
+
+ 1011 .fpu softvfp
+ 1013 I2C_WaitOnRXNEFlagUntilTimeout:
+ 1014 .LFB112:
+6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
+ 1015 .loc 1 6182 0
+ 1016 .cfi_startproc
+ 1017 @ args = 0, pretend = 0, frame = 0
+ 1018 @ frame_needed = 0, uses_anonymous_args = 0
+ 1019 .LVL91:
+ 1020 0000 70B5 push {r4, r5, r6, lr}
+ 1021 .LCFI10:
+ 1022 .cfi_def_cfa_offset 16
+ 1023 .cfi_offset 4, -16
+ 1024 .cfi_offset 5, -12
+ 1025 .cfi_offset 6, -8
+ 1026 .cfi_offset 14, -4
+ 1027 0002 0400 movs r4, r0
+ 1028 0004 0D00 movs r5, r1
+ 1029 0006 1600 movs r6, r2
+ 1030 .LVL92:
+ 1031 .L93:
+6183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1032 .loc 1 6183 0
+ 1033 0008 2368 ldr r3, [r4]
+ 1034 000a 9B69 ldr r3, [r3, #24]
+ 1035 000c 5B07 lsls r3, r3, #29
+ 1036 000e 33D4 bmi .L100
+6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1037 .loc 1 6186 0
+ 1038 0010 3200 movs r2, r6
+ 1039 0012 2900 movs r1, r5
+ 1040 0014 2000 movs r0, r4
+ 1041 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
+ 1042 .LVL93:
+ 1043 001a 0028 cmp r0, #0
+ 1044 001c 2ED1 bne .L99
+6192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1045 .loc 1 6192 0
+ 1046 001e 2368 ldr r3, [r4]
+ 1047 0020 9A69 ldr r2, [r3, #24]
+ 1048 0022 9206 lsls r2, r2, #26
+ 1049 0024 11D4 bmi .L101
+6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1050 .loc 1 6222 0
+ 1051 0026 FFF7FEFF bl HAL_GetTick
+ 1052 .LVL94:
+ 1053 002a 801B subs r0, r0, r6
+ 1054 002c A842 cmp r0, r5
+ 1055 002e 01D8 bhi .L97
+6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1056 .loc 1 6222 0 is_stmt 0 discriminator 1
+ 1057 0030 002D cmp r5, #0
+ 1058 0032 E9D1 bne .L93
+ 1059 .L97:
+6224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 1060 .loc 1 6224 0 is_stmt 1
+ 1061 0034 636C ldr r3, [r4, #68]
+ ARM GAS /tmp/ccskJbbb.s page 135
+
+
+ 1062 0036 2022 movs r2, #32
+ 1063 0038 1343 orrs r3, r2
+ 1064 003a 6364 str r3, [r4, #68]
+6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1065 .loc 1 6225 0
+ 1066 003c 4123 movs r3, #65
+ 1067 003e E254 strb r2, [r4, r3]
+6228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1068 .loc 1 6228 0
+ 1069 0040 013B subs r3, r3, #1
+ 1070 0042 0022 movs r2, #0
+ 1071 0044 E254 strb r2, [r4, r3]
+6230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1072 .loc 1 6230 0
+ 1073 0046 0120 movs r0, #1
+ 1074 .L94:
+6234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1075 .loc 1 6234 0
+ 1076 @ sp needed
+ 1077 .LVL95:
+ 1078 .LVL96:
+ 1079 .LVL97:
+ 1080 0048 70BD pop {r4, r5, r6, pc}
+ 1081 .LVL98:
+ 1082 .L101:
+6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1083 .loc 1 6196 0
+ 1084 004a 9A69 ldr r2, [r3, #24]
+ 1085 004c 5207 lsls r2, r2, #29
+ 1086 004e 02D5 bpl .L96
+6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1087 .loc 1 6196 0 is_stmt 0 discriminator 1
+ 1088 0050 228D ldrh r2, [r4, #40]
+ 1089 0052 002A cmp r2, #0
+ 1090 0054 F8D1 bne .L94
+ 1091 .L96:
+6205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1092 .loc 1 6205 0 is_stmt 1
+ 1093 0056 2022 movs r2, #32
+ 1094 0058 DA61 str r2, [r3, #28]
+6208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1095 .loc 1 6208 0
+ 1096 005a 2168 ldr r1, [r4]
+ 1097 005c 4B68 ldr r3, [r1, #4]
+ 1098 005e 0848 ldr r0, .L102
+ 1099 0060 0340 ands r3, r0
+ 1100 0062 4B60 str r3, [r1, #4]
+6210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 1101 .loc 1 6210 0
+ 1102 0064 0023 movs r3, #0
+ 1103 0066 6364 str r3, [r4, #68]
+6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 1104 .loc 1 6211 0
+ 1105 0068 4121 movs r1, #65
+ 1106 006a 6254 strb r2, [r4, r1]
+6212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1107 .loc 1 6212 0
+ ARM GAS /tmp/ccskJbbb.s page 136
+
+
+ 1108 006c 2232 adds r2, r2, #34
+ 1109 006e A354 strb r3, [r4, r2]
+6215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1110 .loc 1 6215 0
+ 1111 0070 023A subs r2, r2, #2
+ 1112 0072 A354 strb r3, [r4, r2]
+6217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1113 .loc 1 6217 0
+ 1114 0074 0120 movs r0, #1
+ 1115 0076 E7E7 b .L94
+ 1116 .L100:
+6233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1117 .loc 1 6233 0
+ 1118 0078 0020 movs r0, #0
+ 1119 007a E5E7 b .L94
+ 1120 .L99:
+6188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1121 .loc 1 6188 0
+ 1122 007c 0120 movs r0, #1
+ 1123 007e E3E7 b .L94
+ 1124 .L103:
+ 1125 .align 2
+ 1126 .L102:
+ 1127 0080 00E800FE .word -33495040
+ 1128 .cfi_endproc
+ 1129 .LFE112:
+ 1131 .section .text.HAL_I2C_MspInit,"ax",%progbits
+ 1132 .align 1
+ 1133 .weak HAL_I2C_MspInit
+ 1134 .syntax unified
+ 1135 .code 16
+ 1136 .thumb_func
+ 1137 .fpu softvfp
+ 1139 HAL_I2C_MspInit:
+ 1140 .LFB42:
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 1141 .loc 1 625 0
+ 1142 .cfi_startproc
+ 1143 @ args = 0, pretend = 0, frame = 0
+ 1144 @ frame_needed = 0, uses_anonymous_args = 0
+ 1145 @ link register save eliminated.
+ 1146 .LVL99:
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1147 .loc 1 632 0
+ 1148 @ sp needed
+ 1149 0000 7047 bx lr
+ 1150 .cfi_endproc
+ 1151 .LFE42:
+ 1153 .section .text.HAL_I2C_Init,"ax",%progbits
+ 1154 .align 1
+ 1155 .global HAL_I2C_Init
+ 1156 .syntax unified
+ 1157 .code 16
+ 1158 .thumb_func
+ 1159 .fpu softvfp
+ 1161 HAL_I2C_Init:
+ 1162 .LFB40:
+ ARM GAS /tmp/ccskJbbb.s page 137
+
+
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
+ 1163 .loc 1 470 0
+ 1164 .cfi_startproc
+ 1165 @ args = 0, pretend = 0, frame = 0
+ 1166 @ frame_needed = 0, uses_anonymous_args = 0
+ 1167 .LVL100:
+ 1168 0000 10B5 push {r4, lr}
+ 1169 .LCFI11:
+ 1170 .cfi_def_cfa_offset 8
+ 1171 .cfi_offset 4, -8
+ 1172 .cfi_offset 14, -4
+ 1173 0002 041E subs r4, r0, #0
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1174 .loc 1 472 0
+ 1175 0004 59D0 beq .L111
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1176 .loc 1 487 0
+ 1177 0006 4123 movs r3, #65
+ 1178 0008 C35C ldrb r3, [r0, r3]
+ 1179 000a 002B cmp r3, #0
+ 1180 000c 43D0 beq .L112
+ 1181 .LVL101:
+ 1182 .L107:
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1183 .loc 1 518 0
+ 1184 000e 4123 movs r3, #65
+ 1185 0010 2422 movs r2, #36
+ 1186 0012 E254 strb r2, [r4, r3]
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1187 .loc 1 521 0
+ 1188 0014 2268 ldr r2, [r4]
+ 1189 0016 1368 ldr r3, [r2]
+ 1190 0018 0121 movs r1, #1
+ 1191 001a 8B43 bics r3, r1
+ 1192 001c 1360 str r3, [r2]
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1193 .loc 1 525 0
+ 1194 001e 2268 ldr r2, [r4]
+ 1195 0020 274B ldr r3, .L115
+ 1196 0022 6168 ldr r1, [r4, #4]
+ 1197 0024 0B40 ands r3, r1
+ 1198 0026 1361 str r3, [r2, #16]
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1199 .loc 1 529 0
+ 1200 0028 2268 ldr r2, [r4]
+ 1201 002a 9368 ldr r3, [r2, #8]
+ 1202 002c 2549 ldr r1, .L115+4
+ 1203 002e 0B40 ands r3, r1
+ 1204 0030 9360 str r3, [r2, #8]
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1205 .loc 1 532 0
+ 1206 0032 E368 ldr r3, [r4, #12]
+ 1207 0034 012B cmp r3, #1
+ 1208 0036 34D0 beq .L113
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1209 .loc 1 538 0
+ 1210 0038 2268 ldr r2, [r4]
+ ARM GAS /tmp/ccskJbbb.s page 138
+
+
+ 1211 003a 8423 movs r3, #132
+ 1212 003c 1B02 lsls r3, r3, #8
+ 1213 003e A168 ldr r1, [r4, #8]
+ 1214 0040 0B43 orrs r3, r1
+ 1215 0042 9360 str r3, [r2, #8]
+ 1216 .L109:
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1217 .loc 1 543 0
+ 1218 0044 E368 ldr r3, [r4, #12]
+ 1219 0046 022B cmp r3, #2
+ 1220 0048 32D0 beq .L114
+ 1221 .L110:
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1222 .loc 1 548 0
+ 1223 004a 2268 ldr r2, [r4]
+ 1224 004c 5168 ldr r1, [r2, #4]
+ 1225 004e 1E4B ldr r3, .L115+8
+ 1226 0050 0B43 orrs r3, r1
+ 1227 0052 5360 str r3, [r2, #4]
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1228 .loc 1 552 0
+ 1229 0054 2268 ldr r2, [r4]
+ 1230 0056 D368 ldr r3, [r2, #12]
+ 1231 0058 1A49 ldr r1, .L115+4
+ 1232 005a 0B40 ands r3, r1
+ 1233 005c D360 str r3, [r2, #12]
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1234 .loc 1 555 0
+ 1235 005e 2369 ldr r3, [r4, #16]
+ 1236 0060 6269 ldr r2, [r4, #20]
+ 1237 0062 1343 orrs r3, r2
+ 1238 0064 A269 ldr r2, [r4, #24]
+ 1239 0066 1202 lsls r2, r2, #8
+ 1240 0068 2168 ldr r1, [r4]
+ 1241 006a 1343 orrs r3, r2
+ 1242 006c CB60 str r3, [r1, #12]
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1243 .loc 1 559 0
+ 1244 006e 2268 ldr r2, [r4]
+ 1245 0070 E369 ldr r3, [r4, #28]
+ 1246 0072 216A ldr r1, [r4, #32]
+ 1247 0074 0B43 orrs r3, r1
+ 1248 0076 1360 str r3, [r2]
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1249 .loc 1 562 0
+ 1250 0078 2268 ldr r2, [r4]
+ 1251 007a 1368 ldr r3, [r2]
+ 1252 007c 0121 movs r1, #1
+ 1253 007e 0B43 orrs r3, r1
+ 1254 0080 1360 str r3, [r2]
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 1255 .loc 1 564 0
+ 1256 0082 0023 movs r3, #0
+ 1257 0084 6364 str r3, [r4, #68]
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 1258 .loc 1 565 0
+ 1259 0086 4122 movs r2, #65
+ ARM GAS /tmp/ccskJbbb.s page 139
+
+
+ 1260 0088 1F31 adds r1, r1, #31
+ 1261 008a A154 strb r1, [r4, r2]
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 1262 .loc 1 566 0
+ 1263 008c 2363 str r3, [r4, #48]
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1264 .loc 1 567 0
+ 1265 008e 0132 adds r2, r2, #1
+ 1266 0090 A354 strb r3, [r4, r2]
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1267 .loc 1 569 0
+ 1268 0092 0020 movs r0, #0
+ 1269 .L106:
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1270 .loc 1 570 0
+ 1271 @ sp needed
+ 1272 .LVL102:
+ 1273 0094 10BD pop {r4, pc}
+ 1274 .LVL103:
+ 1275 .L112:
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1276 .loc 1 490 0
+ 1277 0096 4033 adds r3, r3, #64
+ 1278 0098 0022 movs r2, #0
+ 1279 009a C254 strb r2, [r0, r3]
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 1280 .loc 1 514 0
+ 1281 009c FFF7FEFF bl HAL_I2C_MspInit
+ 1282 .LVL104:
+ 1283 00a0 B5E7 b .L107
+ 1284 .L113:
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1285 .loc 1 534 0
+ 1286 00a2 2268 ldr r2, [r4]
+ 1287 00a4 8023 movs r3, #128
+ 1288 00a6 1B02 lsls r3, r3, #8
+ 1289 00a8 A168 ldr r1, [r4, #8]
+ 1290 00aa 0B43 orrs r3, r1
+ 1291 00ac 9360 str r3, [r2, #8]
+ 1292 00ae C9E7 b .L109
+ 1293 .L114:
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1294 .loc 1 545 0
+ 1295 00b0 2368 ldr r3, [r4]
+ 1296 00b2 8022 movs r2, #128
+ 1297 00b4 1201 lsls r2, r2, #4
+ 1298 00b6 5A60 str r2, [r3, #4]
+ 1299 00b8 C7E7 b .L110
+ 1300 .LVL105:
+ 1301 .L111:
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1302 .loc 1 474 0
+ 1303 00ba 0120 movs r0, #1
+ 1304 .LVL106:
+ 1305 00bc EAE7 b .L106
+ 1306 .L116:
+ 1307 00be C046 .align 2
+ ARM GAS /tmp/ccskJbbb.s page 140
+
+
+ 1308 .L115:
+ 1309 00c0 FFFFFFF0 .word -251658241
+ 1310 00c4 FF7FFFFF .word -32769
+ 1311 00c8 00800002 .word 33587200
+ 1312 .cfi_endproc
+ 1313 .LFE40:
+ 1315 .section .text.HAL_I2C_MspDeInit,"ax",%progbits
+ 1316 .align 1
+ 1317 .weak HAL_I2C_MspDeInit
+ 1318 .syntax unified
+ 1319 .code 16
+ 1320 .thumb_func
+ 1321 .fpu softvfp
+ 1323 HAL_I2C_MspDeInit:
+ 1324 .LFB43:
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 1325 .loc 1 641 0
+ 1326 .cfi_startproc
+ 1327 @ args = 0, pretend = 0, frame = 0
+ 1328 @ frame_needed = 0, uses_anonymous_args = 0
+ 1329 @ link register save eliminated.
+ 1330 .LVL107:
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1331 .loc 1 648 0
+ 1332 @ sp needed
+ 1333 0000 7047 bx lr
+ 1334 .cfi_endproc
+ 1335 .LFE43:
+ 1337 .section .text.HAL_I2C_DeInit,"ax",%progbits
+ 1338 .align 1
+ 1339 .global HAL_I2C_DeInit
+ 1340 .syntax unified
+ 1341 .code 16
+ 1342 .thumb_func
+ 1343 .fpu softvfp
+ 1345 HAL_I2C_DeInit:
+ 1346 .LFB41:
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
+ 1347 .loc 1 579 0
+ 1348 .cfi_startproc
+ 1349 @ args = 0, pretend = 0, frame = 0
+ 1350 @ frame_needed = 0, uses_anonymous_args = 0
+ 1351 .LVL108:
+ 1352 0000 70B5 push {r4, r5, r6, lr}
+ 1353 .LCFI12:
+ 1354 .cfi_def_cfa_offset 16
+ 1355 .cfi_offset 4, -16
+ 1356 .cfi_offset 5, -12
+ 1357 .cfi_offset 6, -8
+ 1358 .cfi_offset 14, -4
+ 1359 0002 041E subs r4, r0, #0
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1360 .loc 1 581 0
+ 1361 0004 13D0 beq .L120
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1362 .loc 1 589 0
+ 1363 0006 4125 movs r5, #65
+ ARM GAS /tmp/ccskJbbb.s page 141
+
+
+ 1364 0008 2423 movs r3, #36
+ 1365 000a 4355 strb r3, [r0, r5]
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1366 .loc 1 592 0
+ 1367 000c 0268 ldr r2, [r0]
+ 1368 000e 1368 ldr r3, [r2]
+ 1369 0010 0121 movs r1, #1
+ 1370 0012 8B43 bics r3, r1
+ 1371 0014 1360 str r3, [r2]
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 1372 .loc 1 604 0
+ 1373 0016 FFF7FEFF bl HAL_I2C_MspDeInit
+ 1374 .LVL109:
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
+ 1375 .loc 1 607 0
+ 1376 001a 0023 movs r3, #0
+ 1377 001c 6364 str r3, [r4, #68]
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 1378 .loc 1 608 0
+ 1379 001e 6355 strb r3, [r4, r5]
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 1380 .loc 1 609 0
+ 1381 0020 2363 str r3, [r4, #48]
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1382 .loc 1 610 0
+ 1383 0022 4222 movs r2, #66
+ 1384 0024 A354 strb r3, [r4, r2]
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1385 .loc 1 613 0
+ 1386 0026 023A subs r2, r2, #2
+ 1387 0028 A354 strb r3, [r4, r2]
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1388 .loc 1 615 0
+ 1389 002a 0020 movs r0, #0
+ 1390 .L119:
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1391 .loc 1 616 0
+ 1392 @ sp needed
+ 1393 .LVL110:
+ 1394 002c 70BD pop {r4, r5, r6, pc}
+ 1395 .LVL111:
+ 1396 .L120:
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1397 .loc 1 583 0
+ 1398 002e 0120 movs r0, #1
+ 1399 .LVL112:
+ 1400 0030 FCE7 b .L119
+ 1401 .cfi_endproc
+ 1402 .LFE41:
+ 1404 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits
+ 1405 .align 1
+ 1406 .global HAL_I2C_Master_Transmit
+ 1407 .syntax unified
+ 1408 .code 16
+ 1409 .thumb_func
+ 1410 .fpu softvfp
+ 1412 HAL_I2C_Master_Transmit:
+ ARM GAS /tmp/ccskJbbb.s page 142
+
+
+ 1413 .LFB44:
+1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 1414 .loc 1 1061 0
+ 1415 .cfi_startproc
+ 1416 @ args = 4, pretend = 0, frame = 8
+ 1417 @ frame_needed = 0, uses_anonymous_args = 0
+ 1418 .LVL113:
+ 1419 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 1420 .LCFI13:
+ 1421 .cfi_def_cfa_offset 20
+ 1422 .cfi_offset 4, -20
+ 1423 .cfi_offset 5, -16
+ 1424 .cfi_offset 6, -12
+ 1425 .cfi_offset 7, -8
+ 1426 .cfi_offset 14, -4
+ 1427 0002 85B0 sub sp, sp, #20
+ 1428 .LCFI14:
+ 1429 .cfi_def_cfa_offset 40
+ 1430 0004 0500 movs r5, r0
+ 1431 0006 0391 str r1, [sp, #12]
+ 1432 0008 1700 movs r7, r2
+ 1433 000a 1E00 movs r6, r3
+1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1434 .loc 1 1064 0
+ 1435 000c 4123 movs r3, #65
+ 1436 .LVL114:
+ 1437 000e C35C ldrb r3, [r0, r3]
+ 1438 0010 202B cmp r3, #32
+ 1439 0012 00D0 beq .LCB1427
+ 1440 0014 99E0 b .L129 @long jump
+ 1441 .LCB1427:
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1442 .loc 1 1067 0
+ 1443 0016 2033 adds r3, r3, #32
+ 1444 0018 C35C ldrb r3, [r0, r3]
+ 1445 001a 012B cmp r3, #1
+ 1446 001c 00D1 bne .LCB1431
+ 1447 001e 97E0 b .L130 @long jump
+ 1448 .LCB1431:
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1449 .loc 1 1067 0 is_stmt 0 discriminator 2
+ 1450 0020 4023 movs r3, #64
+ 1451 0022 0122 movs r2, #1
+ 1452 .LVL115:
+ 1453 0024 C254 strb r2, [r0, r3]
+1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1454 .loc 1 1070 0 is_stmt 1 discriminator 2
+ 1455 0026 FFF7FEFF bl HAL_GetTick
+ 1456 .LVL116:
+ 1457 002a 0400 movs r4, r0
+ 1458 .LVL117:
+1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1459 .loc 1 1072 0 discriminator 2
+ 1460 002c 8021 movs r1, #128
+ 1461 002e 0090 str r0, [sp]
+ 1462 0030 1923 movs r3, #25
+ 1463 0032 0122 movs r2, #1
+ ARM GAS /tmp/ccskJbbb.s page 143
+
+
+ 1464 0034 0902 lsls r1, r1, #8
+ 1465 0036 2800 movs r0, r5
+ 1466 .LVL118:
+ 1467 0038 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 1468 .LVL119:
+ 1469 003c 0028 cmp r0, #0
+ 1470 003e 00D0 beq .LCB1452
+ 1471 0040 88E0 b .L131 @long jump
+ 1472 .LCB1452:
+1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 1473 .loc 1 1077 0
+ 1474 0042 4123 movs r3, #65
+ 1475 0044 2122 movs r2, #33
+ 1476 0046 EA54 strb r2, [r5, r3]
+1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 1477 .loc 1 1078 0
+ 1478 0048 0133 adds r3, r3, #1
+ 1479 004a 113A subs r2, r2, #17
+ 1480 004c EA54 strb r2, [r5, r3]
+1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1481 .loc 1 1079 0
+ 1482 004e 0023 movs r3, #0
+ 1483 0050 6B64 str r3, [r5, #68]
+1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 1484 .loc 1 1082 0
+ 1485 0052 6F62 str r7, [r5, #36]
+1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 1486 .loc 1 1083 0
+ 1487 0054 6E85 strh r6, [r5, #42]
+1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1488 .loc 1 1084 0
+ 1489 0056 6B63 str r3, [r5, #52]
+1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1490 .loc 1 1088 0
+ 1491 0058 6B8D ldrh r3, [r5, #42]
+ 1492 005a 9BB2 uxth r3, r3
+ 1493 005c FF2B cmp r3, #255
+ 1494 005e 0BD9 bls .L123
+1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+ 1495 .loc 1 1090 0
+ 1496 0060 FF23 movs r3, #255
+ 1497 0062 2B85 strh r3, [r5, #40]
+1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1498 .loc 1 1091 0
+ 1499 0064 7F3B subs r3, r3, #127
+ 1500 0066 3F4A ldr r2, .L136
+ 1501 0068 0092 str r2, [sp]
+ 1502 006a 5B04 lsls r3, r3, #17
+ 1503 006c FF22 movs r2, #255
+ 1504 006e 0399 ldr r1, [sp, #12]
+ 1505 0070 2800 movs r0, r5
+ 1506 0072 FFF7FEFF bl I2C_TransferConfig
+ 1507 .LVL120:
+ 1508 0076 18E0 b .L125
+ 1509 .L123:
+1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+ 1510 .loc 1 1095 0
+ ARM GAS /tmp/ccskJbbb.s page 144
+
+
+ 1511 0078 6A8D ldrh r2, [r5, #42]
+ 1512 007a 92B2 uxth r2, r2
+ 1513 007c 2A85 strh r2, [r5, #40]
+1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1514 .loc 1 1096 0
+ 1515 007e 8023 movs r3, #128
+ 1516 0080 D2B2 uxtb r2, r2
+ 1517 0082 3849 ldr r1, .L136
+ 1518 0084 0091 str r1, [sp]
+ 1519 0086 9B04 lsls r3, r3, #18
+ 1520 0088 0399 ldr r1, [sp, #12]
+ 1521 008a 2800 movs r0, r5
+ 1522 008c FFF7FEFF bl I2C_TransferConfig
+ 1523 .LVL121:
+ 1524 0090 0BE0 b .L125
+ 1525 .L127:
+1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+ 1526 .loc 1 1130 0
+ 1527 0092 6A8D ldrh r2, [r5, #42]
+ 1528 0094 92B2 uxth r2, r2
+ 1529 0096 2A85 strh r2, [r5, #40]
+1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1530 .loc 1 1131 0
+ 1531 0098 8023 movs r3, #128
+ 1532 009a D2B2 uxtb r2, r2
+ 1533 009c 0021 movs r1, #0
+ 1534 009e 0091 str r1, [sp]
+ 1535 00a0 9B04 lsls r3, r3, #18
+ 1536 00a2 0399 ldr r1, [sp, #12]
+ 1537 00a4 2800 movs r0, r5
+ 1538 00a6 FFF7FEFF bl I2C_TransferConfig
+ 1539 .LVL122:
+ 1540 .L125:
+1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1541 .loc 1 1099 0
+ 1542 00aa 6B8D ldrh r3, [r5, #42]
+ 1543 00ac 9BB2 uxth r3, r3
+ 1544 00ae 002B cmp r3, #0
+ 1545 00b0 34D0 beq .L135
+1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1546 .loc 1 1102 0
+ 1547 00b2 2200 movs r2, r4
+ 1548 00b4 0A99 ldr r1, [sp, #40]
+ 1549 00b6 2800 movs r0, r5
+ 1550 00b8 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 1551 .LVL123:
+ 1552 00bc 0028 cmp r0, #0
+ 1553 00be 4BD1 bne .L132
+1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1554 .loc 1 1107 0
+ 1555 00c0 2B68 ldr r3, [r5]
+ 1556 00c2 6A6A ldr r2, [r5, #36]
+ 1557 00c4 1278 ldrb r2, [r2]
+ 1558 00c6 9A62 str r2, [r3, #40]
+1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1559 .loc 1 1110 0
+ 1560 00c8 6B6A ldr r3, [r5, #36]
+ ARM GAS /tmp/ccskJbbb.s page 145
+
+
+ 1561 00ca 0133 adds r3, r3, #1
+ 1562 00cc 6B62 str r3, [r5, #36]
+1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+ 1563 .loc 1 1112 0
+ 1564 00ce 6B8D ldrh r3, [r5, #42]
+ 1565 00d0 013B subs r3, r3, #1
+ 1566 00d2 9BB2 uxth r3, r3
+ 1567 00d4 6B85 strh r3, [r5, #42]
+1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1568 .loc 1 1113 0
+ 1569 00d6 2B8D ldrh r3, [r5, #40]
+ 1570 00d8 013B subs r3, r3, #1
+ 1571 00da 9BB2 uxth r3, r3
+ 1572 00dc 2B85 strh r3, [r5, #40]
+1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1573 .loc 1 1115 0
+ 1574 00de 6A8D ldrh r2, [r5, #42]
+ 1575 00e0 92B2 uxth r2, r2
+ 1576 00e2 002A cmp r2, #0
+ 1577 00e4 E1D0 beq .L125
+1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1578 .loc 1 1115 0 is_stmt 0 discriminator 1
+ 1579 00e6 002B cmp r3, #0
+ 1580 00e8 DFD1 bne .L125
+1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1581 .loc 1 1118 0 is_stmt 1
+ 1582 00ea 0094 str r4, [sp]
+ 1583 00ec 0A9B ldr r3, [sp, #40]
+ 1584 00ee 0022 movs r2, #0
+ 1585 00f0 8021 movs r1, #128
+ 1586 00f2 2800 movs r0, r5
+ 1587 00f4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 1588 .LVL124:
+ 1589 00f8 0028 cmp r0, #0
+ 1590 00fa 2FD1 bne .L133
+1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1591 .loc 1 1123 0
+ 1592 00fc 6B8D ldrh r3, [r5, #42]
+ 1593 00fe 9BB2 uxth r3, r3
+ 1594 0100 FF2B cmp r3, #255
+ 1595 0102 C6D9 bls .L127
+1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+ 1596 .loc 1 1125 0
+ 1597 0104 FF23 movs r3, #255
+ 1598 0106 2B85 strh r3, [r5, #40]
+1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1599 .loc 1 1126 0
+ 1600 0108 7F3B subs r3, r3, #127
+ 1601 010a 0022 movs r2, #0
+ 1602 010c 0092 str r2, [sp]
+ 1603 010e 5B04 lsls r3, r3, #17
+ 1604 0110 FF32 adds r2, r2, #255
+ 1605 0112 0399 ldr r1, [sp, #12]
+ 1606 0114 2800 movs r0, r5
+ 1607 0116 FFF7FEFF bl I2C_TransferConfig
+ 1608 .LVL125:
+ 1609 011a C6E7 b .L125
+ ARM GAS /tmp/ccskJbbb.s page 146
+
+
+ 1610 .L135:
+1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1611 .loc 1 1138 0
+ 1612 011c 2200 movs r2, r4
+ 1613 011e 0A99 ldr r1, [sp, #40]
+ 1614 0120 2800 movs r0, r5
+ 1615 0122 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 1616 .LVL126:
+ 1617 0126 0028 cmp r0, #0
+ 1618 0128 1AD1 bne .L134
+1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1619 .loc 1 1144 0
+ 1620 012a 2B68 ldr r3, [r5]
+ 1621 012c 2022 movs r2, #32
+ 1622 012e DA61 str r2, [r3, #28]
+1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1623 .loc 1 1147 0
+ 1624 0130 2968 ldr r1, [r5]
+ 1625 0132 4B68 ldr r3, [r1, #4]
+ 1626 0134 0C4C ldr r4, .L136+4
+ 1627 .LVL127:
+ 1628 0136 2340 ands r3, r4
+ 1629 0138 4B60 str r3, [r1, #4]
+1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 1630 .loc 1 1149 0
+ 1631 013a 4123 movs r3, #65
+ 1632 013c EA54 strb r2, [r5, r3]
+1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1633 .loc 1 1150 0
+ 1634 013e 0023 movs r3, #0
+ 1635 0140 2232 adds r2, r2, #34
+ 1636 0142 AB54 strb r3, [r5, r2]
+1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1637 .loc 1 1153 0
+ 1638 0144 023A subs r2, r2, #2
+ 1639 0146 AB54 strb r3, [r5, r2]
+1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1640 .loc 1 1155 0
+ 1641 0148 00E0 b .L122
+ 1642 .LVL128:
+ 1643 .L129:
+1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1644 .loc 1 1159 0
+ 1645 014a 0220 movs r0, #2
+ 1646 .LVL129:
+ 1647 .L122:
+1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1648 .loc 1 1161 0
+ 1649 014c 05B0 add sp, sp, #20
+ 1650 @ sp needed
+ 1651 .LVL130:
+ 1652 .LVL131:
+ 1653 014e F0BD pop {r4, r5, r6, r7, pc}
+ 1654 .LVL132:
+ 1655 .L130:
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1656 .loc 1 1067 0
+ ARM GAS /tmp/ccskJbbb.s page 147
+
+
+ 1657 0150 0220 movs r0, #2
+ 1658 .LVL133:
+ 1659 0152 FBE7 b .L122
+ 1660 .LVL134:
+ 1661 .L131:
+1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1662 .loc 1 1074 0
+ 1663 0154 0120 movs r0, #1
+ 1664 0156 F9E7 b .L122
+ 1665 .L132:
+1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1666 .loc 1 1104 0
+ 1667 0158 0120 movs r0, #1
+ 1668 015a F7E7 b .L122
+ 1669 .L133:
+1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1670 .loc 1 1120 0
+ 1671 015c 0120 movs r0, #1
+ 1672 015e F5E7 b .L122
+ 1673 .L134:
+1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1674 .loc 1 1140 0
+ 1675 0160 0120 movs r0, #1
+ 1676 0162 F3E7 b .L122
+ 1677 .L137:
+ 1678 .align 2
+ 1679 .L136:
+ 1680 0164 00200080 .word -2147475456
+ 1681 0168 00E800FE .word -33495040
+ 1682 .cfi_endproc
+ 1683 .LFE44:
+ 1685 .section .text.HAL_I2C_Master_Receive,"ax",%progbits
+ 1686 .align 1
+ 1687 .global HAL_I2C_Master_Receive
+ 1688 .syntax unified
+ 1689 .code 16
+ 1690 .thumb_func
+ 1691 .fpu softvfp
+ 1693 HAL_I2C_Master_Receive:
+ 1694 .LFB45:
+1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 1695 .loc 1 1175 0
+ 1696 .cfi_startproc
+ 1697 @ args = 4, pretend = 0, frame = 8
+ 1698 @ frame_needed = 0, uses_anonymous_args = 0
+ 1699 .LVL135:
+ 1700 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 1701 .LCFI15:
+ 1702 .cfi_def_cfa_offset 20
+ 1703 .cfi_offset 4, -20
+ 1704 .cfi_offset 5, -16
+ 1705 .cfi_offset 6, -12
+ 1706 .cfi_offset 7, -8
+ 1707 .cfi_offset 14, -4
+ 1708 0002 85B0 sub sp, sp, #20
+ 1709 .LCFI16:
+ 1710 .cfi_def_cfa_offset 40
+ ARM GAS /tmp/ccskJbbb.s page 148
+
+
+ 1711 0004 0500 movs r5, r0
+ 1712 0006 0391 str r1, [sp, #12]
+ 1713 0008 1700 movs r7, r2
+ 1714 000a 1E00 movs r6, r3
+1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1715 .loc 1 1178 0
+ 1716 000c 4123 movs r3, #65
+ 1717 .LVL136:
+ 1718 000e C35C ldrb r3, [r0, r3]
+ 1719 0010 202B cmp r3, #32
+ 1720 0012 00D0 beq .LCB1712
+ 1721 0014 99E0 b .L146 @long jump
+ 1722 .LCB1712:
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1723 .loc 1 1181 0
+ 1724 0016 2033 adds r3, r3, #32
+ 1725 0018 C35C ldrb r3, [r0, r3]
+ 1726 001a 012B cmp r3, #1
+ 1727 001c 00D1 bne .LCB1716
+ 1728 001e 97E0 b .L147 @long jump
+ 1729 .LCB1716:
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1730 .loc 1 1181 0 is_stmt 0 discriminator 2
+ 1731 0020 4023 movs r3, #64
+ 1732 0022 0122 movs r2, #1
+ 1733 .LVL137:
+ 1734 0024 C254 strb r2, [r0, r3]
+1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1735 .loc 1 1184 0 is_stmt 1 discriminator 2
+ 1736 0026 FFF7FEFF bl HAL_GetTick
+ 1737 .LVL138:
+ 1738 002a 0400 movs r4, r0
+ 1739 .LVL139:
+1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1740 .loc 1 1186 0 discriminator 2
+ 1741 002c 8021 movs r1, #128
+ 1742 002e 0090 str r0, [sp]
+ 1743 0030 1923 movs r3, #25
+ 1744 0032 0122 movs r2, #1
+ 1745 0034 0902 lsls r1, r1, #8
+ 1746 0036 2800 movs r0, r5
+ 1747 .LVL140:
+ 1748 0038 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 1749 .LVL141:
+ 1750 003c 0028 cmp r0, #0
+ 1751 003e 00D0 beq .LCB1737
+ 1752 0040 88E0 b .L148 @long jump
+ 1753 .LCB1737:
+1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 1754 .loc 1 1191 0
+ 1755 0042 4123 movs r3, #65
+ 1756 0044 2222 movs r2, #34
+ 1757 0046 EA54 strb r2, [r5, r3]
+1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 1758 .loc 1 1192 0
+ 1759 0048 0133 adds r3, r3, #1
+ 1760 004a 123A subs r2, r2, #18
+ ARM GAS /tmp/ccskJbbb.s page 149
+
+
+ 1761 004c EA54 strb r2, [r5, r3]
+1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1762 .loc 1 1193 0
+ 1763 004e 0023 movs r3, #0
+ 1764 0050 6B64 str r3, [r5, #68]
+1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 1765 .loc 1 1196 0
+ 1766 0052 6F62 str r7, [r5, #36]
+1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 1767 .loc 1 1197 0
+ 1768 0054 6E85 strh r6, [r5, #42]
+1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1769 .loc 1 1198 0
+ 1770 0056 6B63 str r3, [r5, #52]
+1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1771 .loc 1 1202 0
+ 1772 0058 6B8D ldrh r3, [r5, #42]
+ 1773 005a 9BB2 uxth r3, r3
+ 1774 005c FF2B cmp r3, #255
+ 1775 005e 0BD9 bls .L140
+1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+ 1776 .loc 1 1204 0
+ 1777 0060 FF23 movs r3, #255
+ 1778 0062 2B85 strh r3, [r5, #40]
+1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1779 .loc 1 1205 0
+ 1780 0064 7F3B subs r3, r3, #127
+ 1781 0066 3F4A ldr r2, .L153
+ 1782 0068 0092 str r2, [sp]
+ 1783 006a 5B04 lsls r3, r3, #17
+ 1784 006c FF22 movs r2, #255
+ 1785 006e 0399 ldr r1, [sp, #12]
+ 1786 0070 2800 movs r0, r5
+ 1787 0072 FFF7FEFF bl I2C_TransferConfig
+ 1788 .LVL142:
+ 1789 0076 18E0 b .L142
+ 1790 .L140:
+1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+ 1791 .loc 1 1209 0
+ 1792 0078 6A8D ldrh r2, [r5, #42]
+ 1793 007a 92B2 uxth r2, r2
+ 1794 007c 2A85 strh r2, [r5, #40]
+1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1795 .loc 1 1210 0
+ 1796 007e 8023 movs r3, #128
+ 1797 0080 D2B2 uxtb r2, r2
+ 1798 0082 3849 ldr r1, .L153
+ 1799 0084 0091 str r1, [sp]
+ 1800 0086 9B04 lsls r3, r3, #18
+ 1801 0088 0399 ldr r1, [sp, #12]
+ 1802 008a 2800 movs r0, r5
+ 1803 008c FFF7FEFF bl I2C_TransferConfig
+ 1804 .LVL143:
+ 1805 0090 0BE0 b .L142
+ 1806 .L144:
+1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+ 1807 .loc 1 1245 0
+ ARM GAS /tmp/ccskJbbb.s page 150
+
+
+ 1808 0092 6A8D ldrh r2, [r5, #42]
+ 1809 0094 92B2 uxth r2, r2
+ 1810 0096 2A85 strh r2, [r5, #40]
+1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1811 .loc 1 1246 0
+ 1812 0098 8023 movs r3, #128
+ 1813 009a D2B2 uxtb r2, r2
+ 1814 009c 0021 movs r1, #0
+ 1815 009e 0091 str r1, [sp]
+ 1816 00a0 9B04 lsls r3, r3, #18
+ 1817 00a2 0399 ldr r1, [sp, #12]
+ 1818 00a4 2800 movs r0, r5
+ 1819 00a6 FFF7FEFF bl I2C_TransferConfig
+ 1820 .LVL144:
+ 1821 .L142:
+1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1822 .loc 1 1213 0
+ 1823 00aa 6B8D ldrh r3, [r5, #42]
+ 1824 00ac 9BB2 uxth r3, r3
+ 1825 00ae 002B cmp r3, #0
+ 1826 00b0 34D0 beq .L152
+1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1827 .loc 1 1216 0
+ 1828 00b2 2200 movs r2, r4
+ 1829 00b4 0A99 ldr r1, [sp, #40]
+ 1830 00b6 2800 movs r0, r5
+ 1831 00b8 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
+ 1832 .LVL145:
+ 1833 00bc 0028 cmp r0, #0
+ 1834 00be 4BD1 bne .L149
+1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1835 .loc 1 1222 0
+ 1836 00c0 2B68 ldr r3, [r5]
+ 1837 00c2 5B6A ldr r3, [r3, #36]
+ 1838 00c4 6A6A ldr r2, [r5, #36]
+ 1839 00c6 1370 strb r3, [r2]
+1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1840 .loc 1 1225 0
+ 1841 00c8 6B6A ldr r3, [r5, #36]
+ 1842 00ca 0133 adds r3, r3, #1
+ 1843 00cc 6B62 str r3, [r5, #36]
+1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 1844 .loc 1 1227 0
+ 1845 00ce 2B8D ldrh r3, [r5, #40]
+ 1846 00d0 013B subs r3, r3, #1
+ 1847 00d2 9BB2 uxth r3, r3
+ 1848 00d4 2B85 strh r3, [r5, #40]
+1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1849 .loc 1 1228 0
+ 1850 00d6 6A8D ldrh r2, [r5, #42]
+ 1851 00d8 013A subs r2, r2, #1
+ 1852 00da 92B2 uxth r2, r2
+ 1853 00dc 6A85 strh r2, [r5, #42]
+1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1854 .loc 1 1230 0
+ 1855 00de 6A8D ldrh r2, [r5, #42]
+ 1856 00e0 92B2 uxth r2, r2
+ ARM GAS /tmp/ccskJbbb.s page 151
+
+
+ 1857 00e2 002A cmp r2, #0
+ 1858 00e4 E1D0 beq .L142
+1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1859 .loc 1 1230 0 is_stmt 0 discriminator 1
+ 1860 00e6 002B cmp r3, #0
+ 1861 00e8 DFD1 bne .L142
+1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1862 .loc 1 1233 0 is_stmt 1
+ 1863 00ea 0094 str r4, [sp]
+ 1864 00ec 0A9B ldr r3, [sp, #40]
+ 1865 00ee 0022 movs r2, #0
+ 1866 00f0 8021 movs r1, #128
+ 1867 00f2 2800 movs r0, r5
+ 1868 00f4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 1869 .LVL146:
+ 1870 00f8 0028 cmp r0, #0
+ 1871 00fa 2FD1 bne .L150
+1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1872 .loc 1 1238 0
+ 1873 00fc 6B8D ldrh r3, [r5, #42]
+ 1874 00fe 9BB2 uxth r3, r3
+ 1875 0100 FF2B cmp r3, #255
+ 1876 0102 C6D9 bls .L144
+1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+ 1877 .loc 1 1240 0
+ 1878 0104 FF23 movs r3, #255
+ 1879 0106 2B85 strh r3, [r5, #40]
+1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1880 .loc 1 1241 0
+ 1881 0108 7F3B subs r3, r3, #127
+ 1882 010a 0022 movs r2, #0
+ 1883 010c 0092 str r2, [sp]
+ 1884 010e 5B04 lsls r3, r3, #17
+ 1885 0110 FF32 adds r2, r2, #255
+ 1886 0112 0399 ldr r1, [sp, #12]
+ 1887 0114 2800 movs r0, r5
+ 1888 0116 FFF7FEFF bl I2C_TransferConfig
+ 1889 .LVL147:
+ 1890 011a C6E7 b .L142
+ 1891 .L152:
+1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1892 .loc 1 1253 0
+ 1893 011c 2200 movs r2, r4
+ 1894 011e 0A99 ldr r1, [sp, #40]
+ 1895 0120 2800 movs r0, r5
+ 1896 0122 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 1897 .LVL148:
+ 1898 0126 0028 cmp r0, #0
+ 1899 0128 1AD1 bne .L151
+1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1900 .loc 1 1259 0
+ 1901 012a 2B68 ldr r3, [r5]
+ 1902 012c 2022 movs r2, #32
+ 1903 012e DA61 str r2, [r3, #28]
+1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1904 .loc 1 1262 0
+ 1905 0130 2968 ldr r1, [r5]
+ ARM GAS /tmp/ccskJbbb.s page 152
+
+
+ 1906 0132 4B68 ldr r3, [r1, #4]
+ 1907 0134 0C4C ldr r4, .L153+4
+ 1908 .LVL149:
+ 1909 0136 2340 ands r3, r4
+ 1910 0138 4B60 str r3, [r1, #4]
+1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 1911 .loc 1 1264 0
+ 1912 013a 4123 movs r3, #65
+ 1913 013c EA54 strb r2, [r5, r3]
+1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1914 .loc 1 1265 0
+ 1915 013e 0023 movs r3, #0
+ 1916 0140 2232 adds r2, r2, #34
+ 1917 0142 AB54 strb r3, [r5, r2]
+1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1918 .loc 1 1268 0
+ 1919 0144 023A subs r2, r2, #2
+ 1920 0146 AB54 strb r3, [r5, r2]
+1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1921 .loc 1 1270 0
+ 1922 0148 00E0 b .L139
+ 1923 .LVL150:
+ 1924 .L146:
+1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1925 .loc 1 1274 0
+ 1926 014a 0220 movs r0, #2
+ 1927 .LVL151:
+ 1928 .L139:
+1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1929 .loc 1 1276 0
+ 1930 014c 05B0 add sp, sp, #20
+ 1931 @ sp needed
+ 1932 .LVL152:
+ 1933 .LVL153:
+ 1934 014e F0BD pop {r4, r5, r6, r7, pc}
+ 1935 .LVL154:
+ 1936 .L147:
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1937 .loc 1 1181 0
+ 1938 0150 0220 movs r0, #2
+ 1939 .LVL155:
+ 1940 0152 FBE7 b .L139
+ 1941 .LVL156:
+ 1942 .L148:
+1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1943 .loc 1 1188 0
+ 1944 0154 0120 movs r0, #1
+ 1945 0156 F9E7 b .L139
+ 1946 .L149:
+1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1947 .loc 1 1218 0
+ 1948 0158 0120 movs r0, #1
+ 1949 015a F7E7 b .L139
+ 1950 .L150:
+1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1951 .loc 1 1235 0
+ 1952 015c 0120 movs r0, #1
+ ARM GAS /tmp/ccskJbbb.s page 153
+
+
+ 1953 015e F5E7 b .L139
+ 1954 .L151:
+1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1955 .loc 1 1255 0
+ 1956 0160 0120 movs r0, #1
+ 1957 0162 F3E7 b .L139
+ 1958 .L154:
+ 1959 .align 2
+ 1960 .L153:
+ 1961 0164 00240080 .word -2147474432
+ 1962 0168 00E800FE .word -33495040
+ 1963 .cfi_endproc
+ 1964 .LFE45:
+ 1966 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits
+ 1967 .align 1
+ 1968 .global HAL_I2C_Slave_Transmit
+ 1969 .syntax unified
+ 1970 .code 16
+ 1971 .thumb_func
+ 1972 .fpu softvfp
+ 1974 HAL_I2C_Slave_Transmit:
+ 1975 .LFB46:
+1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 1976 .loc 1 1288 0
+ 1977 .cfi_startproc
+ 1978 @ args = 0, pretend = 0, frame = 8
+ 1979 @ frame_needed = 0, uses_anonymous_args = 0
+ 1980 .LVL157:
+ 1981 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 1982 .LCFI17:
+ 1983 .cfi_def_cfa_offset 20
+ 1984 .cfi_offset 4, -20
+ 1985 .cfi_offset 5, -16
+ 1986 .cfi_offset 6, -12
+ 1987 .cfi_offset 7, -8
+ 1988 .cfi_offset 14, -4
+ 1989 0002 85B0 sub sp, sp, #20
+ 1990 .LCFI18:
+ 1991 .cfi_def_cfa_offset 40
+ 1992 0004 0600 movs r6, r0
+ 1993 0006 0C00 movs r4, r1
+ 1994 0008 1500 movs r5, r2
+ 1995 000a 0393 str r3, [sp, #12]
+1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1996 .loc 1 1291 0
+ 1997 000c 4123 movs r3, #65
+ 1998 .LVL158:
+ 1999 000e C35C ldrb r3, [r0, r3]
+ 2000 0010 202B cmp r3, #32
+ 2001 0012 00D0 beq .LCB1995
+ 2002 0014 B8E0 b .L167 @long jump
+ 2003 .LCB1995:
+1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2004 .loc 1 1293 0
+ 2005 0016 0029 cmp r1, #0
+ 2006 0018 4CD0 beq .L157
+1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 154
+
+
+ 2007 .loc 1 1293 0 is_stmt 0 discriminator 1
+ 2008 001a 002A cmp r2, #0
+ 2009 001c 4AD0 beq .L157
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2010 .loc 1 1299 0 is_stmt 1
+ 2011 001e 4023 movs r3, #64
+ 2012 0020 C35C ldrb r3, [r0, r3]
+ 2013 0022 012B cmp r3, #1
+ 2014 0024 00D1 bne .LCB2003
+ 2015 0026 B2E0 b .L168 @long jump
+ 2016 .LCB2003:
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2017 .loc 1 1299 0 is_stmt 0 discriminator 2
+ 2018 0028 4023 movs r3, #64
+ 2019 002a 0122 movs r2, #1
+ 2020 .LVL159:
+ 2021 002c C254 strb r2, [r0, r3]
+1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2022 .loc 1 1302 0 is_stmt 1 discriminator 2
+ 2023 002e FFF7FEFF bl HAL_GetTick
+ 2024 .LVL160:
+ 2025 0032 0700 movs r7, r0
+ 2026 .LVL161:
+1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 2027 .loc 1 1304 0 discriminator 2
+ 2028 0034 4123 movs r3, #65
+ 2029 0036 2122 movs r2, #33
+ 2030 0038 F254 strb r2, [r6, r3]
+1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 2031 .loc 1 1305 0 discriminator 2
+ 2032 003a 0133 adds r3, r3, #1
+ 2033 003c 013A subs r2, r2, #1
+ 2034 003e F254 strb r2, [r6, r3]
+1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2035 .loc 1 1306 0 discriminator 2
+ 2036 0040 0023 movs r3, #0
+ 2037 0042 7364 str r3, [r6, #68]
+1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 2038 .loc 1 1309 0 discriminator 2
+ 2039 0044 7462 str r4, [r6, #36]
+1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 2040 .loc 1 1310 0 discriminator 2
+ 2041 0046 7585 strh r5, [r6, #42]
+1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2042 .loc 1 1311 0 discriminator 2
+ 2043 0048 7363 str r3, [r6, #52]
+1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2044 .loc 1 1314 0 discriminator 2
+ 2045 004a 3268 ldr r2, [r6]
+ 2046 004c 5368 ldr r3, [r2, #4]
+ 2047 004e 5149 ldr r1, .L178
+ 2048 0050 0B40 ands r3, r1
+ 2049 0052 5360 str r3, [r2, #4]
+1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2050 .loc 1 1317 0 discriminator 2
+ 2051 0054 0090 str r0, [sp]
+ 2052 0056 039B ldr r3, [sp, #12]
+ ARM GAS /tmp/ccskJbbb.s page 155
+
+
+ 2053 0058 0022 movs r2, #0
+ 2054 005a 0821 movs r1, #8
+ 2055 005c 3000 movs r0, r6
+ 2056 .LVL162:
+ 2057 005e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2058 .LVL163:
+ 2059 0062 0028 cmp r0, #0
+ 2060 0064 2BD1 bne .L170
+1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2061 .loc 1 1325 0
+ 2062 0066 3368 ldr r3, [r6]
+ 2063 0068 0822 movs r2, #8
+ 2064 006a DA61 str r2, [r3, #28]
+1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2065 .loc 1 1328 0
+ 2066 006c F368 ldr r3, [r6, #12]
+ 2067 006e 022B cmp r3, #2
+ 2068 0070 2DD0 beq .L171
+ 2069 .L160:
+1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2070 .loc 1 1343 0
+ 2071 0072 8021 movs r1, #128
+ 2072 0074 0097 str r7, [sp]
+ 2073 0076 039B ldr r3, [sp, #12]
+ 2074 0078 0022 movs r2, #0
+ 2075 007a 4902 lsls r1, r1, #9
+ 2076 007c 3000 movs r0, r6
+ 2077 007e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2078 .LVL164:
+ 2079 0082 0028 cmp r0, #0
+ 2080 0084 38D1 bne .L172
+ 2081 .L162:
+1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2082 .loc 1 1350 0
+ 2083 0086 738D ldrh r3, [r6, #42]
+ 2084 0088 9BB2 uxth r3, r3
+ 2085 008a 002B cmp r3, #0
+ 2086 008c 44D0 beq .L173
+1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2087 .loc 1 1353 0
+ 2088 008e 3A00 movs r2, r7
+ 2089 0090 0399 ldr r1, [sp, #12]
+ 2090 0092 3000 movs r0, r6
+ 2091 0094 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 2092 .LVL165:
+ 2093 0098 0028 cmp r0, #0
+ 2094 009a 35D1 bne .L174
+1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2095 .loc 1 1361 0
+ 2096 009c 3368 ldr r3, [r6]
+ 2097 009e 726A ldr r2, [r6, #36]
+ 2098 00a0 1278 ldrb r2, [r2]
+ 2099 00a2 9A62 str r2, [r3, #40]
+1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2100 .loc 1 1364 0
+ 2101 00a4 736A ldr r3, [r6, #36]
+ 2102 00a6 0133 adds r3, r3, #1
+ ARM GAS /tmp/ccskJbbb.s page 156
+
+
+ 2103 00a8 7362 str r3, [r6, #36]
+1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2104 .loc 1 1366 0
+ 2105 00aa 738D ldrh r3, [r6, #42]
+ 2106 00ac 013B subs r3, r3, #1
+ 2107 00ae 9BB2 uxth r3, r3
+ 2108 00b0 7385 strh r3, [r6, #42]
+ 2109 00b2 E8E7 b .L162
+ 2110 .LVL166:
+ 2111 .L157:
+1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2112 .loc 1 1295 0
+ 2113 00b4 8023 movs r3, #128
+ 2114 00b6 9B00 lsls r3, r3, #2
+ 2115 00b8 7364 str r3, [r6, #68]
+1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2116 .loc 1 1296 0
+ 2117 00ba 0120 movs r0, #1
+ 2118 .LVL167:
+ 2119 00bc 65E0 b .L156
+ 2120 .LVL168:
+ 2121 .L170:
+1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2122 .loc 1 1320 0
+ 2123 00be 3268 ldr r2, [r6]
+ 2124 00c0 5168 ldr r1, [r2, #4]
+ 2125 00c2 8023 movs r3, #128
+ 2126 00c4 1B02 lsls r3, r3, #8
+ 2127 00c6 0B43 orrs r3, r1
+ 2128 00c8 5360 str r3, [r2, #4]
+1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2129 .loc 1 1321 0
+ 2130 00ca 0120 movs r0, #1
+ 2131 00cc 5DE0 b .L156
+ 2132 .L171:
+1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2133 .loc 1 1331 0
+ 2134 00ce 0097 str r7, [sp]
+ 2135 00d0 039B ldr r3, [sp, #12]
+ 2136 00d2 0022 movs r2, #0
+ 2137 00d4 0821 movs r1, #8
+ 2138 00d6 3000 movs r0, r6
+ 2139 00d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2140 .LVL169:
+ 2141 00dc 0028 cmp r0, #0
+ 2142 00de 03D1 bne .L175
+1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2143 .loc 1 1339 0
+ 2144 00e0 3368 ldr r3, [r6]
+ 2145 00e2 0822 movs r2, #8
+ 2146 00e4 DA61 str r2, [r3, #28]
+ 2147 00e6 C4E7 b .L160
+ 2148 .L175:
+1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2149 .loc 1 1334 0
+ 2150 00e8 3268 ldr r2, [r6]
+ 2151 00ea 5168 ldr r1, [r2, #4]
+ ARM GAS /tmp/ccskJbbb.s page 157
+
+
+ 2152 00ec 8023 movs r3, #128
+ 2153 00ee 1B02 lsls r3, r3, #8
+ 2154 00f0 0B43 orrs r3, r1
+ 2155 00f2 5360 str r3, [r2, #4]
+1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2156 .loc 1 1335 0
+ 2157 00f4 0120 movs r0, #1
+ 2158 00f6 48E0 b .L156
+ 2159 .L172:
+1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2160 .loc 1 1346 0
+ 2161 00f8 3268 ldr r2, [r6]
+ 2162 00fa 5168 ldr r1, [r2, #4]
+ 2163 00fc 8023 movs r3, #128
+ 2164 00fe 1B02 lsls r3, r3, #8
+ 2165 0100 0B43 orrs r3, r1
+ 2166 0102 5360 str r3, [r2, #4]
+1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2167 .loc 1 1347 0
+ 2168 0104 0120 movs r0, #1
+ 2169 0106 40E0 b .L156
+ 2170 .L174:
+1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2171 .loc 1 1356 0
+ 2172 0108 3268 ldr r2, [r6]
+ 2173 010a 5168 ldr r1, [r2, #4]
+ 2174 010c 8023 movs r3, #128
+ 2175 010e 1B02 lsls r3, r3, #8
+ 2176 0110 0B43 orrs r3, r1
+ 2177 0112 5360 str r3, [r2, #4]
+1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2178 .loc 1 1357 0
+ 2179 0114 0120 movs r0, #1
+ 2180 0116 38E0 b .L156
+ 2181 .L173:
+1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2182 .loc 1 1370 0
+ 2183 0118 3A00 movs r2, r7
+ 2184 011a 0399 ldr r1, [sp, #12]
+ 2185 011c 3000 movs r0, r6
+ 2186 011e FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 2187 .LVL170:
+ 2188 0122 0028 cmp r0, #0
+ 2189 0124 0CD0 beq .L165
+1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2190 .loc 1 1373 0
+ 2191 0126 3268 ldr r2, [r6]
+ 2192 0128 5168 ldr r1, [r2, #4]
+ 2193 012a 8023 movs r3, #128
+ 2194 012c 1B02 lsls r3, r3, #8
+ 2195 012e 0B43 orrs r3, r1
+ 2196 0130 5360 str r3, [r2, #4]
+1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2197 .loc 1 1375 0
+ 2198 0132 736C ldr r3, [r6, #68]
+ 2199 0134 042B cmp r3, #4
+ 2200 0136 01D0 beq .L176
+ ARM GAS /tmp/ccskJbbb.s page 158
+
+
+1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2201 .loc 1 1383 0
+ 2202 0138 0120 movs r0, #1
+ 2203 013a 26E0 b .L156
+ 2204 .L176:
+1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2205 .loc 1 1379 0
+ 2206 013c 0023 movs r3, #0
+ 2207 013e 7364 str r3, [r6, #68]
+ 2208 .L165:
+1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2209 .loc 1 1388 0
+ 2210 0140 3368 ldr r3, [r6]
+ 2211 0142 2022 movs r2, #32
+ 2212 0144 DA61 str r2, [r3, #28]
+1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2213 .loc 1 1391 0
+ 2214 0146 8021 movs r1, #128
+ 2215 0148 0097 str r7, [sp]
+ 2216 014a 039B ldr r3, [sp, #12]
+ 2217 014c 1F3A subs r2, r2, #31
+ 2218 014e 0902 lsls r1, r1, #8
+ 2219 0150 3000 movs r0, r6
+ 2220 0152 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2221 .LVL171:
+ 2222 0156 0028 cmp r0, #0
+ 2223 0158 0ED1 bne .L177
+1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2224 .loc 1 1399 0
+ 2225 015a 3268 ldr r2, [r6]
+ 2226 015c 5168 ldr r1, [r2, #4]
+ 2227 015e 8023 movs r3, #128
+ 2228 0160 1B02 lsls r3, r3, #8
+ 2229 0162 0B43 orrs r3, r1
+ 2230 0164 5360 str r3, [r2, #4]
+1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 2231 .loc 1 1401 0
+ 2232 0166 4123 movs r3, #65
+ 2233 0168 2022 movs r2, #32
+ 2234 016a F254 strb r2, [r6, r3]
+1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2235 .loc 1 1402 0
+ 2236 016c 0023 movs r3, #0
+ 2237 016e 2232 adds r2, r2, #34
+ 2238 0170 B354 strb r3, [r6, r2]
+1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2239 .loc 1 1405 0
+ 2240 0172 023A subs r2, r2, #2
+ 2241 0174 B354 strb r3, [r6, r2]
+1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2242 .loc 1 1407 0
+ 2243 0176 08E0 b .L156
+ 2244 .L177:
+1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2245 .loc 1 1394 0
+ 2246 0178 3268 ldr r2, [r6]
+ 2247 017a 5168 ldr r1, [r2, #4]
+ ARM GAS /tmp/ccskJbbb.s page 159
+
+
+ 2248 017c 8023 movs r3, #128
+ 2249 017e 1B02 lsls r3, r3, #8
+ 2250 0180 0B43 orrs r3, r1
+ 2251 0182 5360 str r3, [r2, #4]
+1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2252 .loc 1 1395 0
+ 2253 0184 0120 movs r0, #1
+ 2254 0186 00E0 b .L156
+ 2255 .LVL172:
+ 2256 .L167:
+1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2257 .loc 1 1411 0
+ 2258 0188 0220 movs r0, #2
+ 2259 .LVL173:
+ 2260 .L156:
+1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2261 .loc 1 1413 0
+ 2262 018a 05B0 add sp, sp, #20
+ 2263 @ sp needed
+ 2264 .LVL174:
+ 2265 .LVL175:
+ 2266 018c F0BD pop {r4, r5, r6, r7, pc}
+ 2267 .LVL176:
+ 2268 .L168:
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2269 .loc 1 1299 0
+ 2270 018e 0220 movs r0, #2
+ 2271 .LVL177:
+ 2272 0190 FBE7 b .L156
+ 2273 .L179:
+ 2274 0192 C046 .align 2
+ 2275 .L178:
+ 2276 0194 FF7FFFFF .word -32769
+ 2277 .cfi_endproc
+ 2278 .LFE46:
+ 2280 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits
+ 2281 .align 1
+ 2282 .global HAL_I2C_Slave_Receive
+ 2283 .syntax unified
+ 2284 .code 16
+ 2285 .thumb_func
+ 2286 .fpu softvfp
+ 2288 HAL_I2C_Slave_Receive:
+ 2289 .LFB47:
+1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 2290 .loc 1 1425 0
+ 2291 .cfi_startproc
+ 2292 @ args = 0, pretend = 0, frame = 8
+ 2293 @ frame_needed = 0, uses_anonymous_args = 0
+ 2294 .LVL178:
+ 2295 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 2296 .LCFI19:
+ 2297 .cfi_def_cfa_offset 20
+ 2298 .cfi_offset 4, -20
+ 2299 .cfi_offset 5, -16
+ 2300 .cfi_offset 6, -12
+ 2301 .cfi_offset 7, -8
+ ARM GAS /tmp/ccskJbbb.s page 160
+
+
+ 2302 .cfi_offset 14, -4
+ 2303 0002 85B0 sub sp, sp, #20
+ 2304 .LCFI20:
+ 2305 .cfi_def_cfa_offset 40
+ 2306 0004 0600 movs r6, r0
+ 2307 0006 0C00 movs r4, r1
+ 2308 0008 1500 movs r5, r2
+ 2309 000a 0393 str r3, [sp, #12]
+1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2310 .loc 1 1428 0
+ 2311 000c 4123 movs r3, #65
+ 2312 .LVL179:
+ 2313 000e C35C ldrb r3, [r0, r3]
+ 2314 0010 202B cmp r3, #32
+ 2315 0012 00D0 beq .LCB2307
+ 2316 0014 A8E0 b .L190 @long jump
+ 2317 .LCB2307:
+1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2318 .loc 1 1430 0
+ 2319 0016 0029 cmp r1, #0
+ 2320 0018 2DD0 beq .L182
+1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2321 .loc 1 1430 0 is_stmt 0 discriminator 1
+ 2322 001a 002A cmp r2, #0
+ 2323 001c 2BD0 beq .L182
+1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2324 .loc 1 1436 0 is_stmt 1
+ 2325 001e 4023 movs r3, #64
+ 2326 0020 C35C ldrb r3, [r0, r3]
+ 2327 0022 012B cmp r3, #1
+ 2328 0024 00D1 bne .LCB2315
+ 2329 0026 A2E0 b .L191 @long jump
+ 2330 .LCB2315:
+1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2331 .loc 1 1436 0 is_stmt 0 discriminator 2
+ 2332 0028 4023 movs r3, #64
+ 2333 002a 0122 movs r2, #1
+ 2334 .LVL180:
+ 2335 002c C254 strb r2, [r0, r3]
+1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2336 .loc 1 1439 0 is_stmt 1 discriminator 2
+ 2337 002e FFF7FEFF bl HAL_GetTick
+ 2338 .LVL181:
+ 2339 0032 0700 movs r7, r0
+ 2340 .LVL182:
+1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 2341 .loc 1 1441 0 discriminator 2
+ 2342 0034 4123 movs r3, #65
+ 2343 0036 2222 movs r2, #34
+ 2344 0038 F254 strb r2, [r6, r3]
+1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 2345 .loc 1 1442 0 discriminator 2
+ 2346 003a 0133 adds r3, r3, #1
+ 2347 003c 023A subs r2, r2, #2
+ 2348 003e F254 strb r2, [r6, r3]
+1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2349 .loc 1 1443 0 discriminator 2
+ ARM GAS /tmp/ccskJbbb.s page 161
+
+
+ 2350 0040 0023 movs r3, #0
+ 2351 0042 7364 str r3, [r6, #68]
+1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 2352 .loc 1 1446 0 discriminator 2
+ 2353 0044 7462 str r4, [r6, #36]
+1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 2354 .loc 1 1447 0 discriminator 2
+ 2355 0046 7585 strh r5, [r6, #42]
+1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2356 .loc 1 1448 0 discriminator 2
+ 2357 0048 7363 str r3, [r6, #52]
+1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2358 .loc 1 1451 0 discriminator 2
+ 2359 004a 3268 ldr r2, [r6]
+ 2360 004c 5368 ldr r3, [r2, #4]
+ 2361 004e 4A49 ldr r1, .L195
+ 2362 0050 0B40 ands r3, r1
+ 2363 0052 5360 str r3, [r2, #4]
+1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2364 .loc 1 1454 0 discriminator 2
+ 2365 0054 0090 str r0, [sp]
+ 2366 0056 039B ldr r3, [sp, #12]
+ 2367 0058 0022 movs r2, #0
+ 2368 005a 0821 movs r1, #8
+ 2369 005c 3000 movs r0, r6
+ 2370 .LVL183:
+ 2371 005e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2372 .LVL184:
+ 2373 0062 0028 cmp r0, #0
+ 2374 0064 0CD0 beq .L184
+1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2375 .loc 1 1457 0
+ 2376 0066 3268 ldr r2, [r6]
+ 2377 0068 5168 ldr r1, [r2, #4]
+ 2378 006a 8023 movs r3, #128
+ 2379 006c 1B02 lsls r3, r3, #8
+ 2380 006e 0B43 orrs r3, r1
+ 2381 0070 5360 str r3, [r2, #4]
+1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2382 .loc 1 1458 0
+ 2383 0072 0120 movs r0, #1
+ 2384 0074 79E0 b .L181
+ 2385 .LVL185:
+ 2386 .L182:
+1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2387 .loc 1 1432 0
+ 2388 0076 8023 movs r3, #128
+ 2389 0078 9B00 lsls r3, r3, #2
+ 2390 007a 7364 str r3, [r6, #68]
+1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2391 .loc 1 1433 0
+ 2392 007c 0120 movs r0, #1
+ 2393 .LVL186:
+ 2394 007e 74E0 b .L181
+ 2395 .LVL187:
+ 2396 .L184:
+1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 162
+
+
+ 2397 .loc 1 1462 0
+ 2398 0080 3368 ldr r3, [r6]
+ 2399 0082 0822 movs r2, #8
+ 2400 0084 DA61 str r2, [r3, #28]
+1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2401 .loc 1 1465 0
+ 2402 0086 8021 movs r1, #128
+ 2403 0088 0097 str r7, [sp]
+ 2404 008a 039B ldr r3, [sp, #12]
+ 2405 008c 073A subs r2, r2, #7
+ 2406 008e 4902 lsls r1, r1, #9
+ 2407 0090 3000 movs r0, r6
+ 2408 0092 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2409 .LVL188:
+ 2410 0096 0028 cmp r0, #0
+ 2411 0098 12D0 beq .L185
+1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2412 .loc 1 1468 0
+ 2413 009a 3268 ldr r2, [r6]
+ 2414 009c 5168 ldr r1, [r2, #4]
+ 2415 009e 8023 movs r3, #128
+ 2416 00a0 1B02 lsls r3, r3, #8
+ 2417 00a2 0B43 orrs r3, r1
+ 2418 00a4 5360 str r3, [r2, #4]
+1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2419 .loc 1 1469 0
+ 2420 00a6 0120 movs r0, #1
+ 2421 00a8 5FE0 b .L181
+ 2422 .L186:
+1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2423 .loc 1 1496 0
+ 2424 00aa 3368 ldr r3, [r6]
+ 2425 00ac 5B6A ldr r3, [r3, #36]
+ 2426 00ae 726A ldr r2, [r6, #36]
+ 2427 00b0 1370 strb r3, [r2]
+1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2428 .loc 1 1499 0
+ 2429 00b2 736A ldr r3, [r6, #36]
+ 2430 00b4 0133 adds r3, r3, #1
+ 2431 00b6 7362 str r3, [r6, #36]
+1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2432 .loc 1 1501 0
+ 2433 00b8 738D ldrh r3, [r6, #42]
+ 2434 00ba 013B subs r3, r3, #1
+ 2435 00bc 9BB2 uxth r3, r3
+ 2436 00be 7385 strh r3, [r6, #42]
+ 2437 .L185:
+1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2438 .loc 1 1472 0
+ 2439 00c0 738D ldrh r3, [r6, #42]
+ 2440 00c2 9BB2 uxth r3, r3
+ 2441 00c4 002B cmp r3, #0
+ 2442 00c6 1CD0 beq .L193
+1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2443 .loc 1 1475 0
+ 2444 00c8 3A00 movs r2, r7
+ 2445 00ca 0399 ldr r1, [sp, #12]
+ ARM GAS /tmp/ccskJbbb.s page 163
+
+
+ 2446 00cc 3000 movs r0, r6
+ 2447 00ce FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
+ 2448 .LVL189:
+ 2449 00d2 0028 cmp r0, #0
+ 2450 00d4 E9D0 beq .L186
+1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2451 .loc 1 1478 0
+ 2452 00d6 3268 ldr r2, [r6]
+ 2453 00d8 5168 ldr r1, [r2, #4]
+ 2454 00da 8023 movs r3, #128
+ 2455 00dc 1B02 lsls r3, r3, #8
+ 2456 00de 0B43 orrs r3, r1
+ 2457 00e0 5360 str r3, [r2, #4]
+1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2458 .loc 1 1481 0
+ 2459 00e2 3368 ldr r3, [r6]
+ 2460 00e4 9A69 ldr r2, [r3, #24]
+ 2461 00e6 5207 lsls r2, r2, #29
+ 2462 00e8 43D5 bpl .L192
+1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2463 .loc 1 1484 0
+ 2464 00ea 5B6A ldr r3, [r3, #36]
+ 2465 00ec 726A ldr r2, [r6, #36]
+ 2466 00ee 1370 strb r3, [r2]
+1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2467 .loc 1 1487 0
+ 2468 00f0 736A ldr r3, [r6, #36]
+ 2469 00f2 0133 adds r3, r3, #1
+ 2470 00f4 7362 str r3, [r6, #36]
+1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2471 .loc 1 1489 0
+ 2472 00f6 738D ldrh r3, [r6, #42]
+ 2473 00f8 013B subs r3, r3, #1
+ 2474 00fa 9BB2 uxth r3, r3
+ 2475 00fc 7385 strh r3, [r6, #42]
+1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2476 .loc 1 1492 0
+ 2477 00fe 0120 movs r0, #1
+ 2478 0100 33E0 b .L181
+ 2479 .L193:
+1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2480 .loc 1 1505 0
+ 2481 0102 3A00 movs r2, r7
+ 2482 0104 0399 ldr r1, [sp, #12]
+ 2483 0106 3000 movs r0, r6
+ 2484 0108 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 2485 .LVL190:
+ 2486 010c 0028 cmp r0, #0
+ 2487 010e 07D0 beq .L188
+1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2488 .loc 1 1508 0
+ 2489 0110 3268 ldr r2, [r6]
+ 2490 0112 5168 ldr r1, [r2, #4]
+ 2491 0114 8023 movs r3, #128
+ 2492 0116 1B02 lsls r3, r3, #8
+ 2493 0118 0B43 orrs r3, r1
+ 2494 011a 5360 str r3, [r2, #4]
+ ARM GAS /tmp/ccskJbbb.s page 164
+
+
+1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2495 .loc 1 1509 0
+ 2496 011c 0120 movs r0, #1
+ 2497 011e 24E0 b .L181
+ 2498 .L188:
+1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2499 .loc 1 1513 0
+ 2500 0120 3368 ldr r3, [r6]
+ 2501 0122 2022 movs r2, #32
+ 2502 0124 DA61 str r2, [r3, #28]
+1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2503 .loc 1 1516 0
+ 2504 0126 8021 movs r1, #128
+ 2505 0128 0097 str r7, [sp]
+ 2506 012a 039B ldr r3, [sp, #12]
+ 2507 012c 1F3A subs r2, r2, #31
+ 2508 012e 0902 lsls r1, r1, #8
+ 2509 0130 3000 movs r0, r6
+ 2510 0132 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2511 .LVL191:
+ 2512 0136 0028 cmp r0, #0
+ 2513 0138 0ED1 bne .L194
+1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2514 .loc 1 1524 0
+ 2515 013a 3268 ldr r2, [r6]
+ 2516 013c 5168 ldr r1, [r2, #4]
+ 2517 013e 8023 movs r3, #128
+ 2518 0140 1B02 lsls r3, r3, #8
+ 2519 0142 0B43 orrs r3, r1
+ 2520 0144 5360 str r3, [r2, #4]
+1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 2521 .loc 1 1526 0
+ 2522 0146 4123 movs r3, #65
+ 2523 0148 2022 movs r2, #32
+ 2524 014a F254 strb r2, [r6, r3]
+1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2525 .loc 1 1527 0
+ 2526 014c 0023 movs r3, #0
+ 2527 014e 2232 adds r2, r2, #34
+ 2528 0150 B354 strb r3, [r6, r2]
+1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2529 .loc 1 1530 0
+ 2530 0152 023A subs r2, r2, #2
+ 2531 0154 B354 strb r3, [r6, r2]
+1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2532 .loc 1 1532 0
+ 2533 0156 08E0 b .L181
+ 2534 .L194:
+1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2535 .loc 1 1519 0
+ 2536 0158 3268 ldr r2, [r6]
+ 2537 015a 5168 ldr r1, [r2, #4]
+ 2538 015c 8023 movs r3, #128
+ 2539 015e 1B02 lsls r3, r3, #8
+ 2540 0160 0B43 orrs r3, r1
+ 2541 0162 5360 str r3, [r2, #4]
+1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 165
+
+
+ 2542 .loc 1 1520 0
+ 2543 0164 0120 movs r0, #1
+ 2544 0166 00E0 b .L181
+ 2545 .LVL192:
+ 2546 .L190:
+1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2547 .loc 1 1536 0
+ 2548 0168 0220 movs r0, #2
+ 2549 .LVL193:
+ 2550 .L181:
+1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2551 .loc 1 1538 0
+ 2552 016a 05B0 add sp, sp, #20
+ 2553 @ sp needed
+ 2554 .LVL194:
+ 2555 .LVL195:
+ 2556 016c F0BD pop {r4, r5, r6, r7, pc}
+ 2557 .LVL196:
+ 2558 .L191:
+1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2559 .loc 1 1436 0
+ 2560 016e 0220 movs r0, #2
+ 2561 .LVL197:
+ 2562 0170 FBE7 b .L181
+ 2563 .LVL198:
+ 2564 .L192:
+1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2565 .loc 1 1492 0
+ 2566 0172 0120 movs r0, #1
+ 2567 0174 F9E7 b .L181
+ 2568 .L196:
+ 2569 0176 C046 .align 2
+ 2570 .L195:
+ 2571 0178 FF7FFFFF .word -32769
+ 2572 .cfi_endproc
+ 2573 .LFE47:
+ 2575 .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
+ 2576 .align 1
+ 2577 .global HAL_I2C_Master_Transmit_IT
+ 2578 .syntax unified
+ 2579 .code 16
+ 2580 .thumb_func
+ 2581 .fpu softvfp
+ 2583 HAL_I2C_Master_Transmit_IT:
+ 2584 .LFB48:
+1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 2585 .loc 1 1551 0
+ 2586 .cfi_startproc
+ 2587 @ args = 0, pretend = 0, frame = 0
+ 2588 @ frame_needed = 0, uses_anonymous_args = 0
+ 2589 .LVL199:
+ 2590 0000 30B5 push {r4, r5, lr}
+ 2591 .LCFI21:
+ 2592 .cfi_def_cfa_offset 12
+ 2593 .cfi_offset 4, -12
+ 2594 .cfi_offset 5, -8
+ 2595 .cfi_offset 14, -4
+ ARM GAS /tmp/ccskJbbb.s page 166
+
+
+ 2596 0002 83B0 sub sp, sp, #12
+ 2597 .LCFI22:
+ 2598 .cfi_def_cfa_offset 24
+ 2599 0004 0400 movs r4, r0
+1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2600 .loc 1 1554 0
+ 2601 0006 4120 movs r0, #65
+ 2602 .LVL200:
+ 2603 0008 205C ldrb r0, [r4, r0]
+ 2604 000a 2028 cmp r0, #32
+ 2605 000c 35D1 bne .L201
+1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2606 .loc 1 1556 0
+ 2607 000e 2068 ldr r0, [r4]
+ 2608 0010 8069 ldr r0, [r0, #24]
+ 2609 0012 0004 lsls r0, r0, #16
+ 2610 0014 34D4 bmi .L202
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2611 .loc 1 1562 0
+ 2612 0016 4020 movs r0, #64
+ 2613 0018 205C ldrb r0, [r4, r0]
+ 2614 001a 0128 cmp r0, #1
+ 2615 001c 32D0 beq .L203
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2616 .loc 1 1562 0 is_stmt 0 discriminator 2
+ 2617 001e 4020 movs r0, #64
+ 2618 0020 0125 movs r5, #1
+ 2619 0022 2554 strb r5, [r4, r0]
+1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 2620 .loc 1 1564 0 is_stmt 1 discriminator 2
+ 2621 0024 0130 adds r0, r0, #1
+ 2622 0026 2035 adds r5, r5, #32
+ 2623 0028 2554 strb r5, [r4, r0]
+1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 2624 .loc 1 1565 0 discriminator 2
+ 2625 002a 0130 adds r0, r0, #1
+ 2626 002c 113D subs r5, r5, #17
+ 2627 002e 2554 strb r5, [r4, r0]
+1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2628 .loc 1 1566 0 discriminator 2
+ 2629 0030 0020 movs r0, #0
+ 2630 0032 6064 str r0, [r4, #68]
+1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 2631 .loc 1 1569 0 discriminator 2
+ 2632 0034 6262 str r2, [r4, #36]
+1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 2633 .loc 1 1570 0 discriminator 2
+ 2634 0036 6385 strh r3, [r4, #42]
+1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 2635 .loc 1 1571 0 discriminator 2
+ 2636 0038 134B ldr r3, .L204
+ 2637 .LVL201:
+ 2638 003a E362 str r3, [r4, #44]
+ 2639 .LVL202:
+1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2640 .loc 1 1572 0 discriminator 2
+ 2641 003c 134B ldr r3, .L204+4
+ ARM GAS /tmp/ccskJbbb.s page 167
+
+
+ 2642 003e 6363 str r3, [r4, #52]
+1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2643 .loc 1 1574 0 discriminator 2
+ 2644 0040 638D ldrh r3, [r4, #42]
+ 2645 0042 9BB2 uxth r3, r3
+ 2646 0044 FF2B cmp r3, #255
+ 2647 0046 13D9 bls .L199
+1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 2648 .loc 1 1576 0
+ 2649 0048 FF23 movs r3, #255
+ 2650 004a 2385 strh r3, [r4, #40]
+ 2651 .LVL203:
+1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2652 .loc 1 1577 0
+ 2653 004c 8023 movs r3, #128
+ 2654 004e 5B04 lsls r3, r3, #17
+ 2655 .LVL204:
+ 2656 .L200:
+1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2657 .loc 1 1587 0
+ 2658 0050 228D ldrh r2, [r4, #40]
+ 2659 .LVL205:
+ 2660 0052 D2B2 uxtb r2, r2
+ 2661 0054 0E48 ldr r0, .L204+8
+ 2662 0056 0090 str r0, [sp]
+ 2663 .LVL206:
+ 2664 0058 2000 movs r0, r4
+ 2665 005a FFF7FEFF bl I2C_TransferConfig
+ 2666 .LVL207:
+1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2667 .loc 1 1590 0
+ 2668 005e 4023 movs r3, #64
+ 2669 0060 0022 movs r2, #0
+ 2670 0062 E254 strb r2, [r4, r3]
+1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2671 .loc 1 1599 0
+ 2672 0064 0121 movs r1, #1
+ 2673 0066 2000 movs r0, r4
+ 2674 0068 FFF7FEFF bl I2C_Enable_IRQ
+ 2675 .LVL208:
+1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2676 .loc 1 1601 0
+ 2677 006c 0020 movs r0, #0
+ 2678 006e 05E0 b .L198
+ 2679 .LVL209:
+ 2680 .L199:
+1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 2681 .loc 1 1581 0
+ 2682 0070 638D ldrh r3, [r4, #42]
+ 2683 0072 2385 strh r3, [r4, #40]
+ 2684 .LVL210:
+1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2685 .loc 1 1582 0
+ 2686 0074 8023 movs r3, #128
+ 2687 0076 9B04 lsls r3, r3, #18
+ 2688 0078 EAE7 b .L200
+ 2689 .LVL211:
+ ARM GAS /tmp/ccskJbbb.s page 168
+
+
+ 2690 .L201:
+1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2691 .loc 1 1605 0
+ 2692 007a 0220 movs r0, #2
+ 2693 .LVL212:
+ 2694 .L198:
+1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2695 .loc 1 1607 0
+ 2696 007c 03B0 add sp, sp, #12
+ 2697 @ sp needed
+ 2698 .LVL213:
+ 2699 007e 30BD pop {r4, r5, pc}
+ 2700 .LVL214:
+ 2701 .L202:
+1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2702 .loc 1 1558 0
+ 2703 0080 0220 movs r0, #2
+ 2704 0082 FBE7 b .L198
+ 2705 .L203:
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2706 .loc 1 1562 0
+ 2707 0084 0220 movs r0, #2
+ 2708 0086 F9E7 b .L198
+ 2709 .L205:
+ 2710 .align 2
+ 2711 .L204:
+ 2712 0088 0000FFFF .word -65536
+ 2713 008c 00000000 .word I2C_Master_ISR_IT
+ 2714 0090 00200080 .word -2147475456
+ 2715 .cfi_endproc
+ 2716 .LFE48:
+ 2718 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits
+ 2719 .align 1
+ 2720 .global HAL_I2C_Master_Receive_IT
+ 2721 .syntax unified
+ 2722 .code 16
+ 2723 .thumb_func
+ 2724 .fpu softvfp
+ 2726 HAL_I2C_Master_Receive_IT:
+ 2727 .LFB49:
+1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 2728 .loc 1 1620 0
+ 2729 .cfi_startproc
+ 2730 @ args = 0, pretend = 0, frame = 0
+ 2731 @ frame_needed = 0, uses_anonymous_args = 0
+ 2732 .LVL215:
+ 2733 0000 30B5 push {r4, r5, lr}
+ 2734 .LCFI23:
+ 2735 .cfi_def_cfa_offset 12
+ 2736 .cfi_offset 4, -12
+ 2737 .cfi_offset 5, -8
+ 2738 .cfi_offset 14, -4
+ 2739 0002 83B0 sub sp, sp, #12
+ 2740 .LCFI24:
+ 2741 .cfi_def_cfa_offset 24
+ 2742 0004 0400 movs r4, r0
+1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 169
+
+
+ 2743 .loc 1 1623 0
+ 2744 0006 4120 movs r0, #65
+ 2745 .LVL216:
+ 2746 0008 205C ldrb r0, [r4, r0]
+ 2747 000a 2028 cmp r0, #32
+ 2748 000c 35D1 bne .L210
+1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2749 .loc 1 1625 0
+ 2750 000e 2068 ldr r0, [r4]
+ 2751 0010 8069 ldr r0, [r0, #24]
+ 2752 0012 0004 lsls r0, r0, #16
+ 2753 0014 34D4 bmi .L211
+1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2754 .loc 1 1631 0
+ 2755 0016 4020 movs r0, #64
+ 2756 0018 205C ldrb r0, [r4, r0]
+ 2757 001a 0128 cmp r0, #1
+ 2758 001c 32D0 beq .L212
+1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2759 .loc 1 1631 0 is_stmt 0 discriminator 2
+ 2760 001e 4020 movs r0, #64
+ 2761 0020 0125 movs r5, #1
+ 2762 0022 2554 strb r5, [r4, r0]
+1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 2763 .loc 1 1633 0 is_stmt 1 discriminator 2
+ 2764 0024 0130 adds r0, r0, #1
+ 2765 0026 2135 adds r5, r5, #33
+ 2766 0028 2554 strb r5, [r4, r0]
+1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 2767 .loc 1 1634 0 discriminator 2
+ 2768 002a 0130 adds r0, r0, #1
+ 2769 002c 123D subs r5, r5, #18
+ 2770 002e 2554 strb r5, [r4, r0]
+1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2771 .loc 1 1635 0 discriminator 2
+ 2772 0030 0020 movs r0, #0
+ 2773 0032 6064 str r0, [r4, #68]
+1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 2774 .loc 1 1638 0 discriminator 2
+ 2775 0034 6262 str r2, [r4, #36]
+1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 2776 .loc 1 1639 0 discriminator 2
+ 2777 0036 6385 strh r3, [r4, #42]
+1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 2778 .loc 1 1640 0 discriminator 2
+ 2779 0038 134B ldr r3, .L213
+ 2780 .LVL217:
+ 2781 003a E362 str r3, [r4, #44]
+ 2782 .LVL218:
+1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2783 .loc 1 1641 0 discriminator 2
+ 2784 003c 134B ldr r3, .L213+4
+ 2785 003e 6363 str r3, [r4, #52]
+1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2786 .loc 1 1643 0 discriminator 2
+ 2787 0040 638D ldrh r3, [r4, #42]
+ 2788 0042 9BB2 uxth r3, r3
+ ARM GAS /tmp/ccskJbbb.s page 170
+
+
+ 2789 0044 FF2B cmp r3, #255
+ 2790 0046 13D9 bls .L208
+1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 2791 .loc 1 1645 0
+ 2792 0048 FF23 movs r3, #255
+ 2793 004a 2385 strh r3, [r4, #40]
+ 2794 .LVL219:
+1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2795 .loc 1 1646 0
+ 2796 004c 8023 movs r3, #128
+ 2797 004e 5B04 lsls r3, r3, #17
+ 2798 .LVL220:
+ 2799 .L209:
+1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2800 .loc 1 1656 0
+ 2801 0050 228D ldrh r2, [r4, #40]
+ 2802 .LVL221:
+ 2803 0052 D2B2 uxtb r2, r2
+ 2804 0054 0E48 ldr r0, .L213+8
+ 2805 0056 0090 str r0, [sp]
+ 2806 .LVL222:
+ 2807 0058 2000 movs r0, r4
+ 2808 005a FFF7FEFF bl I2C_TransferConfig
+ 2809 .LVL223:
+1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2810 .loc 1 1659 0
+ 2811 005e 4023 movs r3, #64
+ 2812 0060 0022 movs r2, #0
+ 2813 0062 E254 strb r2, [r4, r3]
+1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2814 .loc 1 1668 0
+ 2815 0064 0221 movs r1, #2
+ 2816 0066 2000 movs r0, r4
+ 2817 0068 FFF7FEFF bl I2C_Enable_IRQ
+ 2818 .LVL224:
+1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2819 .loc 1 1670 0
+ 2820 006c 0020 movs r0, #0
+ 2821 006e 05E0 b .L207
+ 2822 .LVL225:
+ 2823 .L208:
+1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 2824 .loc 1 1650 0
+ 2825 0070 638D ldrh r3, [r4, #42]
+ 2826 0072 2385 strh r3, [r4, #40]
+ 2827 .LVL226:
+1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2828 .loc 1 1651 0
+ 2829 0074 8023 movs r3, #128
+ 2830 0076 9B04 lsls r3, r3, #18
+ 2831 0078 EAE7 b .L209
+ 2832 .LVL227:
+ 2833 .L210:
+1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2834 .loc 1 1674 0
+ 2835 007a 0220 movs r0, #2
+ 2836 .LVL228:
+ ARM GAS /tmp/ccskJbbb.s page 171
+
+
+ 2837 .L207:
+1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2838 .loc 1 1676 0
+ 2839 007c 03B0 add sp, sp, #12
+ 2840 @ sp needed
+ 2841 .LVL229:
+ 2842 007e 30BD pop {r4, r5, pc}
+ 2843 .LVL230:
+ 2844 .L211:
+1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2845 .loc 1 1627 0
+ 2846 0080 0220 movs r0, #2
+ 2847 0082 FBE7 b .L207
+ 2848 .L212:
+1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2849 .loc 1 1631 0
+ 2850 0084 0220 movs r0, #2
+ 2851 0086 F9E7 b .L207
+ 2852 .L214:
+ 2853 .align 2
+ 2854 .L213:
+ 2855 0088 0000FFFF .word -65536
+ 2856 008c 00000000 .word I2C_Master_ISR_IT
+ 2857 0090 00240080 .word -2147474432
+ 2858 .cfi_endproc
+ 2859 .LFE49:
+ 2861 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
+ 2862 .align 1
+ 2863 .global HAL_I2C_Slave_Transmit_IT
+ 2864 .syntax unified
+ 2865 .code 16
+ 2866 .thumb_func
+ 2867 .fpu softvfp
+ 2869 HAL_I2C_Slave_Transmit_IT:
+ 2870 .LFB50:
+1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+ 2871 .loc 1 1687 0
+ 2872 .cfi_startproc
+ 2873 @ args = 0, pretend = 0, frame = 0
+ 2874 @ frame_needed = 0, uses_anonymous_args = 0
+ 2875 .LVL231:
+ 2876 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 2877 .LCFI25:
+ 2878 .cfi_def_cfa_offset 24
+ 2879 .cfi_offset 3, -24
+ 2880 .cfi_offset 4, -20
+ 2881 .cfi_offset 5, -16
+ 2882 .cfi_offset 6, -12
+ 2883 .cfi_offset 7, -8
+ 2884 .cfi_offset 14, -4
+1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2885 .loc 1 1688 0
+ 2886 0002 4123 movs r3, #65
+ 2887 0004 C35C ldrb r3, [r0, r3]
+ 2888 0006 202B cmp r3, #32
+ 2889 0008 21D1 bne .L217
+1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 172
+
+
+ 2890 .loc 1 1691 0
+ 2891 000a 2033 adds r3, r3, #32
+ 2892 000c C35C ldrb r3, [r0, r3]
+ 2893 000e 012B cmp r3, #1
+ 2894 0010 1FD0 beq .L218
+1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2895 .loc 1 1691 0 is_stmt 0 discriminator 2
+ 2896 0012 4024 movs r4, #64
+ 2897 0014 0123 movs r3, #1
+ 2898 0016 0355 strb r3, [r0, r4]
+1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 2899 .loc 1 1693 0 is_stmt 1 discriminator 2
+ 2900 0018 4033 adds r3, r3, #64
+ 2901 001a 2125 movs r5, #33
+ 2902 001c C554 strb r5, [r0, r3]
+1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 2903 .loc 1 1694 0 discriminator 2
+ 2904 001e 0133 adds r3, r3, #1
+ 2905 0020 013D subs r5, r5, #1
+ 2906 0022 C554 strb r5, [r0, r3]
+1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2907 .loc 1 1695 0 discriminator 2
+ 2908 0024 0025 movs r5, #0
+ 2909 0026 4564 str r5, [r0, #68]
+1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2910 .loc 1 1698 0 discriminator 2
+ 2911 0028 0668 ldr r6, [r0]
+ 2912 002a 7368 ldr r3, [r6, #4]
+ 2913 002c 0A4F ldr r7, .L219
+ 2914 002e 3B40 ands r3, r7
+ 2915 0030 7360 str r3, [r6, #4]
+1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 2916 .loc 1 1701 0 discriminator 2
+ 2917 0032 4162 str r1, [r0, #36]
+1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 2918 .loc 1 1702 0 discriminator 2
+ 2919 0034 4285 strh r2, [r0, #42]
+1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 2920 .loc 1 1703 0 discriminator 2
+ 2921 0036 438D ldrh r3, [r0, #42]
+ 2922 0038 0385 strh r3, [r0, #40]
+1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 2923 .loc 1 1704 0 discriminator 2
+ 2924 003a 084B ldr r3, .L219+4
+ 2925 003c C362 str r3, [r0, #44]
+1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2926 .loc 1 1705 0 discriminator 2
+ 2927 003e 084B ldr r3, .L219+8
+ 2928 0040 4363 str r3, [r0, #52]
+1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2929 .loc 1 1708 0 discriminator 2
+ 2930 0042 0555 strb r5, [r0, r4]
+1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2931 .loc 1 1717 0 discriminator 2
+ 2932 0044 0521 movs r1, #5
+ 2933 .LVL232:
+ 2934 0046 FFF7FEFF bl I2C_Enable_IRQ
+ ARM GAS /tmp/ccskJbbb.s page 173
+
+
+ 2935 .LVL233:
+1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2936 .loc 1 1719 0 discriminator 2
+ 2937 004a 0020 movs r0, #0
+ 2938 004c 00E0 b .L216
+ 2939 .LVL234:
+ 2940 .L217:
+1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2941 .loc 1 1723 0
+ 2942 004e 0220 movs r0, #2
+ 2943 .LVL235:
+ 2944 .L216:
+1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2945 .loc 1 1725 0
+ 2946 @ sp needed
+ 2947 0050 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 2948 .LVL236:
+ 2949 .L218:
+1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2950 .loc 1 1691 0
+ 2951 0052 0220 movs r0, #2
+ 2952 .LVL237:
+ 2953 0054 FCE7 b .L216
+ 2954 .L220:
+ 2955 0056 C046 .align 2
+ 2956 .L219:
+ 2957 0058 FF7FFFFF .word -32769
+ 2958 005c 0000FFFF .word -65536
+ 2959 0060 00000000 .word I2C_Slave_ISR_IT
+ 2960 .cfi_endproc
+ 2961 .LFE50:
+ 2963 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
+ 2964 .align 1
+ 2965 .global HAL_I2C_Slave_Receive_IT
+ 2966 .syntax unified
+ 2967 .code 16
+ 2968 .thumb_func
+ 2969 .fpu softvfp
+ 2971 HAL_I2C_Slave_Receive_IT:
+ 2972 .LFB51:
+1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+ 2973 .loc 1 1736 0
+ 2974 .cfi_startproc
+ 2975 @ args = 0, pretend = 0, frame = 0
+ 2976 @ frame_needed = 0, uses_anonymous_args = 0
+ 2977 .LVL238:
+ 2978 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 2979 .LCFI26:
+ 2980 .cfi_def_cfa_offset 24
+ 2981 .cfi_offset 3, -24
+ 2982 .cfi_offset 4, -20
+ 2983 .cfi_offset 5, -16
+ 2984 .cfi_offset 6, -12
+ 2985 .cfi_offset 7, -8
+ 2986 .cfi_offset 14, -4
+1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2987 .loc 1 1737 0
+ ARM GAS /tmp/ccskJbbb.s page 174
+
+
+ 2988 0002 4123 movs r3, #65
+ 2989 0004 C35C ldrb r3, [r0, r3]
+ 2990 0006 202B cmp r3, #32
+ 2991 0008 21D1 bne .L223
+1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2992 .loc 1 1740 0
+ 2993 000a 2033 adds r3, r3, #32
+ 2994 000c C35C ldrb r3, [r0, r3]
+ 2995 000e 012B cmp r3, #1
+ 2996 0010 1FD0 beq .L224
+1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2997 .loc 1 1740 0 is_stmt 0 discriminator 2
+ 2998 0012 4024 movs r4, #64
+ 2999 0014 0123 movs r3, #1
+ 3000 0016 0355 strb r3, [r0, r4]
+1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 3001 .loc 1 1742 0 is_stmt 1 discriminator 2
+ 3002 0018 4033 adds r3, r3, #64
+ 3003 001a 2225 movs r5, #34
+ 3004 001c C554 strb r5, [r0, r3]
+1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 3005 .loc 1 1743 0 discriminator 2
+ 3006 001e 0133 adds r3, r3, #1
+ 3007 0020 023D subs r5, r5, #2
+ 3008 0022 C554 strb r5, [r0, r3]
+1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3009 .loc 1 1744 0 discriminator 2
+ 3010 0024 0025 movs r5, #0
+ 3011 0026 4564 str r5, [r0, #68]
+1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3012 .loc 1 1747 0 discriminator 2
+ 3013 0028 0668 ldr r6, [r0]
+ 3014 002a 7368 ldr r3, [r6, #4]
+ 3015 002c 0A4F ldr r7, .L225
+ 3016 002e 3B40 ands r3, r7
+ 3017 0030 7360 str r3, [r6, #4]
+1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 3018 .loc 1 1750 0 discriminator 2
+ 3019 0032 4162 str r1, [r0, #36]
+1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 3020 .loc 1 1751 0 discriminator 2
+ 3021 0034 4285 strh r2, [r0, #42]
+1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 3022 .loc 1 1752 0 discriminator 2
+ 3023 0036 438D ldrh r3, [r0, #42]
+ 3024 0038 0385 strh r3, [r0, #40]
+1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 3025 .loc 1 1753 0 discriminator 2
+ 3026 003a 084B ldr r3, .L225+4
+ 3027 003c C362 str r3, [r0, #44]
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3028 .loc 1 1754 0 discriminator 2
+ 3029 003e 084B ldr r3, .L225+8
+ 3030 0040 4363 str r3, [r0, #52]
+1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3031 .loc 1 1757 0 discriminator 2
+ 3032 0042 0555 strb r5, [r0, r4]
+ ARM GAS /tmp/ccskJbbb.s page 175
+
+
+1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3033 .loc 1 1766 0 discriminator 2
+ 3034 0044 0621 movs r1, #6
+ 3035 .LVL239:
+ 3036 0046 FFF7FEFF bl I2C_Enable_IRQ
+ 3037 .LVL240:
+1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3038 .loc 1 1768 0 discriminator 2
+ 3039 004a 0020 movs r0, #0
+ 3040 004c 00E0 b .L222
+ 3041 .LVL241:
+ 3042 .L223:
+1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3043 .loc 1 1772 0
+ 3044 004e 0220 movs r0, #2
+ 3045 .LVL242:
+ 3046 .L222:
+1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3047 .loc 1 1774 0
+ 3048 @ sp needed
+ 3049 0050 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 3050 .LVL243:
+ 3051 .L224:
+1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3052 .loc 1 1740 0
+ 3053 0052 0220 movs r0, #2
+ 3054 .LVL244:
+ 3055 0054 FCE7 b .L222
+ 3056 .L226:
+ 3057 0056 C046 .align 2
+ 3058 .L225:
+ 3059 0058 FF7FFFFF .word -32769
+ 3060 005c 0000FFFF .word -65536
+ 3061 0060 00000000 .word I2C_Slave_ISR_IT
+ 3062 .cfi_endproc
+ 3063 .LFE51:
+ 3065 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
+ 3066 .align 1
+ 3067 .global HAL_I2C_Master_Transmit_DMA
+ 3068 .syntax unified
+ 3069 .code 16
+ 3070 .thumb_func
+ 3071 .fpu softvfp
+ 3073 HAL_I2C_Master_Transmit_DMA:
+ 3074 .LFB52:
+1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 3075 .loc 1 1787 0
+ 3076 .cfi_startproc
+ 3077 @ args = 0, pretend = 0, frame = 0
+ 3078 @ frame_needed = 0, uses_anonymous_args = 0
+ 3079 .LVL245:
+ 3080 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 3081 .LCFI27:
+ 3082 .cfi_def_cfa_offset 20
+ 3083 .cfi_offset 4, -20
+ 3084 .cfi_offset 5, -16
+ 3085 .cfi_offset 6, -12
+ ARM GAS /tmp/ccskJbbb.s page 176
+
+
+ 3086 .cfi_offset 7, -8
+ 3087 .cfi_offset 14, -4
+ 3088 0002 83B0 sub sp, sp, #12
+ 3089 .LCFI28:
+ 3090 .cfi_def_cfa_offset 32
+ 3091 0004 0400 movs r4, r0
+ 3092 0006 0E00 movs r6, r1
+ 3093 0008 1100 movs r1, r2
+ 3094 .LVL246:
+1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3095 .loc 1 1791 0
+ 3096 000a 4122 movs r2, #65
+ 3097 .LVL247:
+ 3098 000c 825C ldrb r2, [r0, r2]
+ 3099 000e 202A cmp r2, #32
+ 3100 0010 00D0 beq .LCB3093
+ 3101 0012 8BE0 b .L235 @long jump
+ 3102 .LCB3093:
+1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3103 .loc 1 1793 0
+ 3104 0014 0268 ldr r2, [r0]
+ 3105 0016 9269 ldr r2, [r2, #24]
+ 3106 0018 1204 lsls r2, r2, #16
+ 3107 001a 00D5 bpl .LCB3099
+ 3108 001c 8AE0 b .L236 @long jump
+ 3109 .LCB3099:
+1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3110 .loc 1 1799 0
+ 3111 001e 4022 movs r2, #64
+ 3112 0020 825C ldrb r2, [r0, r2]
+ 3113 0022 012A cmp r2, #1
+ 3114 0024 00D1 bne .LCB3103
+ 3115 0026 87E0 b .L237 @long jump
+ 3116 .LCB3103:
+1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3117 .loc 1 1799 0 is_stmt 0 discriminator 2
+ 3118 0028 4022 movs r2, #64
+ 3119 002a 0120 movs r0, #1
+ 3120 .LVL248:
+ 3121 002c A054 strb r0, [r4, r2]
+1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 3122 .loc 1 1801 0 is_stmt 1 discriminator 2
+ 3123 002e 0132 adds r2, r2, #1
+ 3124 0030 2030 adds r0, r0, #32
+ 3125 0032 A054 strb r0, [r4, r2]
+1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 3126 .loc 1 1802 0 discriminator 2
+ 3127 0034 0132 adds r2, r2, #1
+ 3128 0036 1138 subs r0, r0, #17
+ 3129 0038 A054 strb r0, [r4, r2]
+1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3130 .loc 1 1803 0 discriminator 2
+ 3131 003a 0022 movs r2, #0
+ 3132 003c 6264 str r2, [r4, #68]
+1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 3133 .loc 1 1806 0 discriminator 2
+ 3134 003e 6162 str r1, [r4, #36]
+ ARM GAS /tmp/ccskJbbb.s page 177
+
+
+1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 3135 .loc 1 1807 0 discriminator 2
+ 3136 0040 6385 strh r3, [r4, #42]
+1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ 3137 .loc 1 1808 0 discriminator 2
+ 3138 0042 3E4B ldr r3, .L240
+ 3139 .LVL249:
+ 3140 0044 E362 str r3, [r4, #44]
+ 3141 .LVL250:
+1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3142 .loc 1 1809 0 discriminator 2
+ 3143 0046 3E4B ldr r3, .L240+4
+ 3144 0048 6363 str r3, [r4, #52]
+1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3145 .loc 1 1811 0 discriminator 2
+ 3146 004a 638D ldrh r3, [r4, #42]
+ 3147 004c 9BB2 uxth r3, r3
+ 3148 004e FF2B cmp r3, #255
+ 3149 0050 29D9 bls .L229
+1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 3150 .loc 1 1813 0
+ 3151 0052 FF23 movs r3, #255
+ 3152 0054 2385 strh r3, [r4, #40]
+ 3153 .LVL251:
+1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3154 .loc 1 1814 0
+ 3155 0056 8027 movs r7, #128
+ 3156 0058 7F04 lsls r7, r7, #17
+ 3157 .LVL252:
+ 3158 .L230:
+1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3159 .loc 1 1822 0
+ 3160 005a 228D ldrh r2, [r4, #40]
+ 3161 005c 002A cmp r2, #0
+ 3162 005e 51D0 beq .L231
+1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3163 .loc 1 1824 0
+ 3164 0060 A36B ldr r3, [r4, #56]
+ 3165 0062 002B cmp r3, #0
+ 3166 0064 24D0 beq .L232
+1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3167 .loc 1 1827 0
+ 3168 0066 374A ldr r2, .L240+8
+ 3169 0068 9A62 str r2, [r3, #40]
+1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3170 .loc 1 1830 0
+ 3171 006a A36B ldr r3, [r4, #56]
+ 3172 006c 364A ldr r2, .L240+12
+ 3173 006e 1A63 str r2, [r3, #48]
+1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+ 3174 .loc 1 1833 0
+ 3175 0070 A26B ldr r2, [r4, #56]
+ 3176 0072 0023 movs r3, #0
+ 3177 0074 D362 str r3, [r2, #44]
+1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3178 .loc 1 1834 0
+ 3179 0076 A26B ldr r2, [r4, #56]
+ ARM GAS /tmp/ccskJbbb.s page 178
+
+
+ 3180 0078 5363 str r3, [r2, #52]
+1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3181 .loc 1 1837 0
+ 3182 007a 2268 ldr r2, [r4]
+ 3183 007c 2832 adds r2, r2, #40
+ 3184 007e 238D ldrh r3, [r4, #40]
+ 3185 0080 A06B ldr r0, [r4, #56]
+ 3186 0082 FFF7FEFF bl HAL_DMA_Start_IT
+ 3187 .LVL253:
+ 3188 0086 051E subs r5, r0, #0
+ 3189 .LVL254:
+1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3190 .loc 1 1854 0
+ 3191 0088 20D0 beq .L239
+1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3192 .loc 1 1878 0
+ 3193 008a 4123 movs r3, #65
+ 3194 008c 2022 movs r2, #32
+ 3195 008e E254 strb r2, [r4, r3]
+1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3196 .loc 1 1879 0
+ 3197 0090 0022 movs r2, #0
+ 3198 0092 0133 adds r3, r3, #1
+ 3199 0094 E254 strb r2, [r4, r3]
+1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3200 .loc 1 1882 0
+ 3201 0096 636C ldr r3, [r4, #68]
+ 3202 0098 1021 movs r1, #16
+ 3203 009a 0B43 orrs r3, r1
+ 3204 009c 6364 str r3, [r4, #68]
+1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3205 .loc 1 1885 0
+ 3206 009e 4023 movs r3, #64
+ 3207 00a0 E254 strb r2, [r4, r3]
+1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3208 .loc 1 1887 0
+ 3209 00a2 0125 movs r5, #1
+ 3210 00a4 43E0 b .L228
+ 3211 .LVL255:
+ 3212 .L229:
+1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 3213 .loc 1 1818 0
+ 3214 00a6 638D ldrh r3, [r4, #42]
+ 3215 00a8 2385 strh r3, [r4, #40]
+ 3216 .LVL256:
+1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3217 .loc 1 1819 0
+ 3218 00aa 8027 movs r7, #128
+ 3219 00ac BF04 lsls r7, r7, #18
+ 3220 00ae D4E7 b .L230
+ 3221 .LVL257:
+ 3222 .L232:
+1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3223 .loc 1 1842 0
+ 3224 00b0 4123 movs r3, #65
+ 3225 00b2 2022 movs r2, #32
+ 3226 00b4 E254 strb r2, [r4, r3]
+ ARM GAS /tmp/ccskJbbb.s page 179
+
+
+1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3227 .loc 1 1843 0
+ 3228 00b6 0022 movs r2, #0
+ 3229 00b8 0133 adds r3, r3, #1
+ 3230 00ba E254 strb r2, [r4, r3]
+1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3231 .loc 1 1846 0
+ 3232 00bc 636C ldr r3, [r4, #68]
+ 3233 00be 8021 movs r1, #128
+ 3234 .LVL258:
+ 3235 00c0 0B43 orrs r3, r1
+ 3236 00c2 6364 str r3, [r4, #68]
+1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3237 .loc 1 1849 0
+ 3238 00c4 4023 movs r3, #64
+ 3239 00c6 E254 strb r2, [r4, r3]
+1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3240 .loc 1 1851 0
+ 3241 00c8 0125 movs r5, #1
+ 3242 00ca 30E0 b .L228
+ 3243 .LVL259:
+ 3244 .L239:
+1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3245 .loc 1 1858 0
+ 3246 00cc 228D ldrh r2, [r4, #40]
+ 3247 00ce D2B2 uxtb r2, r2
+ 3248 00d0 1E4B ldr r3, .L240+16
+ 3249 00d2 0093 str r3, [sp]
+ 3250 00d4 3B00 movs r3, r7
+ 3251 00d6 3100 movs r1, r6
+ 3252 00d8 2000 movs r0, r4
+ 3253 .LVL260:
+ 3254 00da FFF7FEFF bl I2C_TransferConfig
+ 3255 .LVL261:
+1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3256 .loc 1 1861 0
+ 3257 00de 638D ldrh r3, [r4, #42]
+ 3258 00e0 228D ldrh r2, [r4, #40]
+ 3259 00e2 9B1A subs r3, r3, r2
+ 3260 00e4 9BB2 uxth r3, r3
+ 3261 00e6 6385 strh r3, [r4, #42]
+1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3262 .loc 1 1864 0
+ 3263 00e8 4023 movs r3, #64
+ 3264 00ea 0022 movs r2, #0
+ 3265 00ec E254 strb r2, [r4, r3]
+1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3266 .loc 1 1870 0
+ 3267 00ee 1121 movs r1, #17
+ 3268 00f0 2000 movs r0, r4
+ 3269 00f2 FFF7FEFF bl I2C_Enable_IRQ
+ 3270 .LVL262:
+1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3271 .loc 1 1873 0
+ 3272 00f6 2268 ldr r2, [r4]
+ 3273 00f8 1168 ldr r1, [r2]
+ 3274 00fa 8023 movs r3, #128
+ ARM GAS /tmp/ccskJbbb.s page 180
+
+
+ 3275 00fc DB01 lsls r3, r3, #7
+ 3276 00fe 0B43 orrs r3, r1
+ 3277 0100 1360 str r3, [r2]
+ 3278 0102 14E0 b .L228
+ 3279 .LVL263:
+ 3280 .L231:
+1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3281 .loc 1 1893 0
+ 3282 0104 124B ldr r3, .L240+20
+ 3283 0106 6363 str r3, [r4, #52]
+1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3284 .loc 1 1897 0
+ 3285 0108 8023 movs r3, #128
+ 3286 010a D2B2 uxtb r2, r2
+ 3287 010c 0F49 ldr r1, .L240+16
+ 3288 .LVL264:
+ 3289 010e 0091 str r1, [sp]
+ 3290 .LVL265:
+ 3291 0110 9B04 lsls r3, r3, #18
+ 3292 0112 3100 movs r1, r6
+ 3293 0114 2000 movs r0, r4
+ 3294 0116 FFF7FEFF bl I2C_TransferConfig
+ 3295 .LVL266:
+1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3296 .loc 1 1900 0
+ 3297 011a 4023 movs r3, #64
+ 3298 011c 0022 movs r2, #0
+ 3299 011e E254 strb r2, [r4, r3]
+1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3300 .loc 1 1908 0
+ 3301 0120 0121 movs r1, #1
+ 3302 0122 2000 movs r0, r4
+ 3303 0124 FFF7FEFF bl I2C_Enable_IRQ
+ 3304 .LVL267:
+1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3305 .loc 1 1911 0
+ 3306 0128 0025 movs r5, #0
+ 3307 012a 00E0 b .L228
+ 3308 .LVL268:
+ 3309 .L235:
+1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3310 .loc 1 1915 0
+ 3311 012c 0225 movs r5, #2
+ 3312 .LVL269:
+ 3313 .L228:
+1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3314 .loc 1 1917 0
+ 3315 012e 2800 movs r0, r5
+ 3316 0130 03B0 add sp, sp, #12
+ 3317 @ sp needed
+ 3318 .LVL270:
+ 3319 0132 F0BD pop {r4, r5, r6, r7, pc}
+ 3320 .LVL271:
+ 3321 .L236:
+1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3322 .loc 1 1795 0
+ 3323 0134 0225 movs r5, #2
+ ARM GAS /tmp/ccskJbbb.s page 181
+
+
+ 3324 0136 FAE7 b .L228
+ 3325 .L237:
+1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3326 .loc 1 1799 0
+ 3327 0138 0225 movs r5, #2
+ 3328 013a F8E7 b .L228
+ 3329 .L241:
+ 3330 .align 2
+ 3331 .L240:
+ 3332 013c 0000FFFF .word -65536
+ 3333 0140 00000000 .word I2C_Master_ISR_DMA
+ 3334 0144 00000000 .word I2C_DMAMasterTransmitCplt
+ 3335 0148 00000000 .word I2C_DMAError
+ 3336 014c 00200080 .word -2147475456
+ 3337 0150 00000000 .word I2C_Master_ISR_IT
+ 3338 .cfi_endproc
+ 3339 .LFE52:
+ 3341 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
+ 3342 .align 1
+ 3343 .global HAL_I2C_Master_Receive_DMA
+ 3344 .syntax unified
+ 3345 .code 16
+ 3346 .thumb_func
+ 3347 .fpu softvfp
+ 3349 HAL_I2C_Master_Receive_DMA:
+ 3350 .LFB53:
+1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 3351 .loc 1 1930 0
+ 3352 .cfi_startproc
+ 3353 @ args = 0, pretend = 0, frame = 0
+ 3354 @ frame_needed = 0, uses_anonymous_args = 0
+ 3355 .LVL272:
+ 3356 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 3357 .LCFI29:
+ 3358 .cfi_def_cfa_offset 20
+ 3359 .cfi_offset 4, -20
+ 3360 .cfi_offset 5, -16
+ 3361 .cfi_offset 6, -12
+ 3362 .cfi_offset 7, -8
+ 3363 .cfi_offset 14, -4
+ 3364 0002 83B0 sub sp, sp, #12
+ 3365 .LCFI30:
+ 3366 .cfi_def_cfa_offset 32
+ 3367 0004 0400 movs r4, r0
+ 3368 0006 0E00 movs r6, r1
+1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3369 .loc 1 1934 0
+ 3370 0008 4121 movs r1, #65
+ 3371 .LVL273:
+ 3372 000a 415C ldrb r1, [r0, r1]
+ 3373 000c 2029 cmp r1, #32
+ 3374 000e 00D0 beq .LCB3355
+ 3375 0010 8BE0 b .L250 @long jump
+ 3376 .LCB3355:
+1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3377 .loc 1 1936 0
+ 3378 0012 0168 ldr r1, [r0]
+ ARM GAS /tmp/ccskJbbb.s page 182
+
+
+ 3379 0014 8969 ldr r1, [r1, #24]
+ 3380 0016 0904 lsls r1, r1, #16
+ 3381 0018 00D5 bpl .LCB3361
+ 3382 001a 8AE0 b .L251 @long jump
+ 3383 .LCB3361:
+1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3384 .loc 1 1942 0
+ 3385 001c 4021 movs r1, #64
+ 3386 001e 415C ldrb r1, [r0, r1]
+ 3387 0020 0129 cmp r1, #1
+ 3388 0022 00D1 bne .LCB3365
+ 3389 0024 87E0 b .L252 @long jump
+ 3390 .LCB3365:
+1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3391 .loc 1 1942 0 is_stmt 0 discriminator 2
+ 3392 0026 4021 movs r1, #64
+ 3393 0028 0120 movs r0, #1
+ 3394 .LVL274:
+ 3395 002a 6054 strb r0, [r4, r1]
+1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 3396 .loc 1 1944 0 is_stmt 1 discriminator 2
+ 3397 002c 0131 adds r1, r1, #1
+ 3398 002e 2130 adds r0, r0, #33
+ 3399 0030 6054 strb r0, [r4, r1]
+1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 3400 .loc 1 1945 0 discriminator 2
+ 3401 0032 0131 adds r1, r1, #1
+ 3402 0034 1238 subs r0, r0, #18
+ 3403 0036 6054 strb r0, [r4, r1]
+1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3404 .loc 1 1946 0 discriminator 2
+ 3405 0038 0021 movs r1, #0
+ 3406 003a 6164 str r1, [r4, #68]
+1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 3407 .loc 1 1949 0 discriminator 2
+ 3408 003c 6262 str r2, [r4, #36]
+1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 3409 .loc 1 1950 0 discriminator 2
+ 3410 003e 6385 strh r3, [r4, #42]
+1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ 3411 .loc 1 1951 0 discriminator 2
+ 3412 0040 3E4B ldr r3, .L255
+ 3413 .LVL275:
+ 3414 0042 E362 str r3, [r4, #44]
+ 3415 .LVL276:
+1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3416 .loc 1 1952 0 discriminator 2
+ 3417 0044 3E4B ldr r3, .L255+4
+ 3418 0046 6363 str r3, [r4, #52]
+1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3419 .loc 1 1954 0 discriminator 2
+ 3420 0048 638D ldrh r3, [r4, #42]
+ 3421 004a 9BB2 uxth r3, r3
+ 3422 004c FF2B cmp r3, #255
+ 3423 004e 29D9 bls .L244
+1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 3424 .loc 1 1956 0
+ ARM GAS /tmp/ccskJbbb.s page 183
+
+
+ 3425 0050 FF23 movs r3, #255
+ 3426 0052 2385 strh r3, [r4, #40]
+ 3427 .LVL277:
+1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3428 .loc 1 1957 0
+ 3429 0054 8027 movs r7, #128
+ 3430 0056 7F04 lsls r7, r7, #17
+ 3431 .LVL278:
+ 3432 .L245:
+1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3433 .loc 1 1965 0
+ 3434 0058 218D ldrh r1, [r4, #40]
+ 3435 005a 0029 cmp r1, #0
+ 3436 005c 51D0 beq .L246
+1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3437 .loc 1 1967 0
+ 3438 005e E36B ldr r3, [r4, #60]
+ 3439 0060 002B cmp r3, #0
+ 3440 0062 24D0 beq .L247
+1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3441 .loc 1 1970 0
+ 3442 0064 3749 ldr r1, .L255+8
+ 3443 0066 9962 str r1, [r3, #40]
+1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3444 .loc 1 1973 0
+ 3445 0068 E36B ldr r3, [r4, #60]
+ 3446 006a 3749 ldr r1, .L255+12
+ 3447 006c 1963 str r1, [r3, #48]
+1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 3448 .loc 1 1976 0
+ 3449 006e E16B ldr r1, [r4, #60]
+ 3450 0070 0023 movs r3, #0
+ 3451 0072 CB62 str r3, [r1, #44]
+1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3452 .loc 1 1977 0
+ 3453 0074 E16B ldr r1, [r4, #60]
+ 3454 0076 4B63 str r3, [r1, #52]
+1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3455 .loc 1 1980 0
+ 3456 0078 2168 ldr r1, [r4]
+ 3457 007a 2431 adds r1, r1, #36
+ 3458 007c 238D ldrh r3, [r4, #40]
+ 3459 007e E06B ldr r0, [r4, #60]
+ 3460 0080 FFF7FEFF bl HAL_DMA_Start_IT
+ 3461 .LVL279:
+ 3462 0084 051E subs r5, r0, #0
+ 3463 .LVL280:
+1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3464 .loc 1 1997 0
+ 3465 0086 20D0 beq .L254
+2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3466 .loc 1 2021 0
+ 3467 0088 4123 movs r3, #65
+ 3468 008a 2022 movs r2, #32
+ 3469 008c E254 strb r2, [r4, r3]
+2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3470 .loc 1 2022 0
+ ARM GAS /tmp/ccskJbbb.s page 184
+
+
+ 3471 008e 0022 movs r2, #0
+ 3472 0090 0133 adds r3, r3, #1
+ 3473 0092 E254 strb r2, [r4, r3]
+2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3474 .loc 1 2025 0
+ 3475 0094 636C ldr r3, [r4, #68]
+ 3476 0096 1021 movs r1, #16
+ 3477 0098 0B43 orrs r3, r1
+ 3478 009a 6364 str r3, [r4, #68]
+2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3479 .loc 1 2028 0
+ 3480 009c 4023 movs r3, #64
+ 3481 009e E254 strb r2, [r4, r3]
+2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3482 .loc 1 2030 0
+ 3483 00a0 0125 movs r5, #1
+ 3484 00a2 43E0 b .L243
+ 3485 .LVL281:
+ 3486 .L244:
+1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 3487 .loc 1 1961 0
+ 3488 00a4 638D ldrh r3, [r4, #42]
+ 3489 00a6 2385 strh r3, [r4, #40]
+ 3490 .LVL282:
+1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3491 .loc 1 1962 0
+ 3492 00a8 8027 movs r7, #128
+ 3493 00aa BF04 lsls r7, r7, #18
+ 3494 00ac D4E7 b .L245
+ 3495 .LVL283:
+ 3496 .L247:
+1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3497 .loc 1 1985 0
+ 3498 00ae 4123 movs r3, #65
+ 3499 00b0 2022 movs r2, #32
+ 3500 .LVL284:
+ 3501 00b2 E254 strb r2, [r4, r3]
+ 3502 .LVL285:
+1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3503 .loc 1 1986 0
+ 3504 00b4 0022 movs r2, #0
+ 3505 00b6 0133 adds r3, r3, #1
+ 3506 00b8 E254 strb r2, [r4, r3]
+1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3507 .loc 1 1989 0
+ 3508 00ba 636C ldr r3, [r4, #68]
+ 3509 00bc 8021 movs r1, #128
+ 3510 00be 0B43 orrs r3, r1
+ 3511 00c0 6364 str r3, [r4, #68]
+1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3512 .loc 1 1992 0
+ 3513 00c2 4023 movs r3, #64
+ 3514 00c4 E254 strb r2, [r4, r3]
+1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3515 .loc 1 1994 0
+ 3516 00c6 0125 movs r5, #1
+ 3517 00c8 30E0 b .L243
+ ARM GAS /tmp/ccskJbbb.s page 185
+
+
+ 3518 .LVL286:
+ 3519 .L254:
+2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3520 .loc 1 2001 0
+ 3521 00ca 228D ldrh r2, [r4, #40]
+ 3522 00cc D2B2 uxtb r2, r2
+ 3523 00ce 1F4B ldr r3, .L255+16
+ 3524 00d0 0093 str r3, [sp]
+ 3525 00d2 3B00 movs r3, r7
+ 3526 00d4 3100 movs r1, r6
+ 3527 00d6 2000 movs r0, r4
+ 3528 .LVL287:
+ 3529 00d8 FFF7FEFF bl I2C_TransferConfig
+ 3530 .LVL288:
+2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3531 .loc 1 2004 0
+ 3532 00dc 638D ldrh r3, [r4, #42]
+ 3533 00de 228D ldrh r2, [r4, #40]
+ 3534 00e0 9B1A subs r3, r3, r2
+ 3535 00e2 9BB2 uxth r3, r3
+ 3536 00e4 6385 strh r3, [r4, #42]
+2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3537 .loc 1 2007 0
+ 3538 00e6 4023 movs r3, #64
+ 3539 00e8 0022 movs r2, #0
+ 3540 00ea E254 strb r2, [r4, r3]
+2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3541 .loc 1 2013 0
+ 3542 00ec 1121 movs r1, #17
+ 3543 00ee 2000 movs r0, r4
+ 3544 00f0 FFF7FEFF bl I2C_Enable_IRQ
+ 3545 .LVL289:
+2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3546 .loc 1 2016 0
+ 3547 00f4 2268 ldr r2, [r4]
+ 3548 00f6 1168 ldr r1, [r2]
+ 3549 00f8 8023 movs r3, #128
+ 3550 00fa 1B02 lsls r3, r3, #8
+ 3551 00fc 0B43 orrs r3, r1
+ 3552 00fe 1360 str r3, [r2]
+ 3553 0100 14E0 b .L243
+ 3554 .LVL290:
+ 3555 .L246:
+2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3556 .loc 1 2036 0
+ 3557 0102 134B ldr r3, .L255+20
+ 3558 0104 6363 str r3, [r4, #52]
+2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3559 .loc 1 2040 0
+ 3560 0106 8023 movs r3, #128
+ 3561 0108 CAB2 uxtb r2, r1
+ 3562 .LVL291:
+ 3563 010a 1049 ldr r1, .L255+16
+ 3564 010c 0091 str r1, [sp]
+ 3565 .LVL292:
+ 3566 010e 9B04 lsls r3, r3, #18
+ 3567 0110 3100 movs r1, r6
+ ARM GAS /tmp/ccskJbbb.s page 186
+
+
+ 3568 0112 2000 movs r0, r4
+ 3569 0114 FFF7FEFF bl I2C_TransferConfig
+ 3570 .LVL293:
+2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3571 .loc 1 2043 0
+ 3572 0118 4023 movs r3, #64
+ 3573 011a 0022 movs r2, #0
+ 3574 011c E254 strb r2, [r4, r3]
+2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3575 .loc 1 2051 0
+ 3576 011e 0121 movs r1, #1
+ 3577 0120 2000 movs r0, r4
+ 3578 0122 FFF7FEFF bl I2C_Enable_IRQ
+ 3579 .LVL294:
+2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3580 .loc 1 2054 0
+ 3581 0126 0025 movs r5, #0
+ 3582 0128 00E0 b .L243
+ 3583 .LVL295:
+ 3584 .L250:
+2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3585 .loc 1 2058 0
+ 3586 012a 0225 movs r5, #2
+ 3587 .LVL296:
+ 3588 .L243:
+2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3589 .loc 1 2060 0
+ 3590 012c 2800 movs r0, r5
+ 3591 012e 03B0 add sp, sp, #12
+ 3592 @ sp needed
+ 3593 .LVL297:
+ 3594 0130 F0BD pop {r4, r5, r6, r7, pc}
+ 3595 .LVL298:
+ 3596 .L251:
+1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3597 .loc 1 1938 0
+ 3598 0132 0225 movs r5, #2
+ 3599 0134 FAE7 b .L243
+ 3600 .L252:
+1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3601 .loc 1 1942 0
+ 3602 0136 0225 movs r5, #2
+ 3603 0138 F8E7 b .L243
+ 3604 .L256:
+ 3605 013a C046 .align 2
+ 3606 .L255:
+ 3607 013c 0000FFFF .word -65536
+ 3608 0140 00000000 .word I2C_Master_ISR_DMA
+ 3609 0144 00000000 .word I2C_DMAMasterReceiveCplt
+ 3610 0148 00000000 .word I2C_DMAError
+ 3611 014c 00240080 .word -2147474432
+ 3612 0150 00000000 .word I2C_Master_ISR_IT
+ 3613 .cfi_endproc
+ 3614 .LFE53:
+ 3616 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
+ 3617 .align 1
+ 3618 .global HAL_I2C_Slave_Transmit_DMA
+ ARM GAS /tmp/ccskJbbb.s page 187
+
+
+ 3619 .syntax unified
+ 3620 .code 16
+ 3621 .thumb_func
+ 3622 .fpu softvfp
+ 3624 HAL_I2C_Slave_Transmit_DMA:
+ 3625 .LFB54:
+2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 3626 .loc 1 2071 0
+ 3627 .cfi_startproc
+ 3628 @ args = 0, pretend = 0, frame = 0
+ 3629 @ frame_needed = 0, uses_anonymous_args = 0
+ 3630 .LVL299:
+ 3631 0000 70B5 push {r4, r5, r6, lr}
+ 3632 .LCFI31:
+ 3633 .cfi_def_cfa_offset 16
+ 3634 .cfi_offset 4, -16
+ 3635 .cfi_offset 5, -12
+ 3636 .cfi_offset 6, -8
+ 3637 .cfi_offset 14, -4
+ 3638 0002 0400 movs r4, r0
+2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3639 .loc 1 2074 0
+ 3640 0004 4123 movs r3, #65
+ 3641 0006 C35C ldrb r3, [r0, r3]
+ 3642 0008 202B cmp r3, #32
+ 3643 000a 63D1 bne .L264
+2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3644 .loc 1 2076 0
+ 3645 000c 0029 cmp r1, #0
+ 3646 000e 3BD0 beq .L259
+2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3647 .loc 1 2076 0 is_stmt 0 discriminator 1
+ 3648 0010 002A cmp r2, #0
+ 3649 0012 39D0 beq .L259
+2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3650 .loc 1 2082 0 is_stmt 1
+ 3651 0014 4023 movs r3, #64
+ 3652 0016 C35C ldrb r3, [r0, r3]
+ 3653 0018 012B cmp r3, #1
+ 3654 001a 5ED0 beq .L265
+2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3655 .loc 1 2082 0 is_stmt 0 discriminator 2
+ 3656 001c 4023 movs r3, #64
+ 3657 001e 0120 movs r0, #1
+ 3658 .LVL300:
+ 3659 0020 E054 strb r0, [r4, r3]
+2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 3660 .loc 1 2084 0 is_stmt 1 discriminator 2
+ 3661 0022 0133 adds r3, r3, #1
+ 3662 0024 2030 adds r0, r0, #32
+ 3663 0026 E054 strb r0, [r4, r3]
+2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 3664 .loc 1 2085 0 discriminator 2
+ 3665 0028 0133 adds r3, r3, #1
+ 3666 002a 0138 subs r0, r0, #1
+ 3667 002c E054 strb r0, [r4, r3]
+2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 188
+
+
+ 3668 .loc 1 2086 0 discriminator 2
+ 3669 002e 0023 movs r3, #0
+ 3670 0030 6364 str r3, [r4, #68]
+2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 3671 .loc 1 2089 0 discriminator 2
+ 3672 0032 6162 str r1, [r4, #36]
+2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 3673 .loc 1 2090 0 discriminator 2
+ 3674 0034 6285 strh r2, [r4, #42]
+2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 3675 .loc 1 2091 0 discriminator 2
+ 3676 0036 638D ldrh r3, [r4, #42]
+ 3677 0038 2385 strh r3, [r4, #40]
+2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+ 3678 .loc 1 2092 0 discriminator 2
+ 3679 003a 294B ldr r3, .L268
+ 3680 003c E362 str r3, [r4, #44]
+2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3681 .loc 1 2093 0 discriminator 2
+ 3682 003e 294B ldr r3, .L268+4
+ 3683 0040 6363 str r3, [r4, #52]
+2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3684 .loc 1 2095 0 discriminator 2
+ 3685 0042 A36B ldr r3, [r4, #56]
+ 3686 0044 002B cmp r3, #0
+ 3687 0046 24D0 beq .L261
+2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3688 .loc 1 2098 0
+ 3689 0048 274A ldr r2, .L268+8
+ 3690 .LVL301:
+ 3691 004a 9A62 str r2, [r3, #40]
+2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3692 .loc 1 2101 0
+ 3693 004c A36B ldr r3, [r4, #56]
+ 3694 004e 274A ldr r2, .L268+12
+ 3695 0050 1A63 str r2, [r3, #48]
+2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+ 3696 .loc 1 2104 0
+ 3697 0052 A26B ldr r2, [r4, #56]
+ 3698 0054 0023 movs r3, #0
+ 3699 0056 D362 str r3, [r2, #44]
+2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3700 .loc 1 2105 0
+ 3701 0058 A26B ldr r2, [r4, #56]
+ 3702 005a 5363 str r3, [r2, #52]
+2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3703 .loc 1 2108 0
+ 3704 005c 2268 ldr r2, [r4]
+ 3705 005e 2832 adds r2, r2, #40
+ 3706 0060 238D ldrh r3, [r4, #40]
+ 3707 0062 A06B ldr r0, [r4, #56]
+ 3708 0064 FFF7FEFF bl HAL_DMA_Start_IT
+ 3709 .LVL302:
+ 3710 0068 051E subs r5, r0, #0
+ 3711 .LVL303:
+2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3712 .loc 1 2125 0
+ ARM GAS /tmp/ccskJbbb.s page 189
+
+
+ 3713 006a 20D0 beq .L267
+2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3714 .loc 1 2145 0
+ 3715 006c 4123 movs r3, #65
+ 3716 006e 2822 movs r2, #40
+ 3717 0070 E254 strb r2, [r4, r3]
+2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3718 .loc 1 2146 0
+ 3719 0072 0022 movs r2, #0
+ 3720 0074 0133 adds r3, r3, #1
+ 3721 0076 E254 strb r2, [r4, r3]
+2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3722 .loc 1 2149 0
+ 3723 0078 636C ldr r3, [r4, #68]
+ 3724 007a 1021 movs r1, #16
+ 3725 007c 0B43 orrs r3, r1
+ 3726 007e 6364 str r3, [r4, #68]
+2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3727 .loc 1 2152 0
+ 3728 0080 4023 movs r3, #64
+ 3729 0082 E254 strb r2, [r4, r3]
+2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3730 .loc 1 2154 0
+ 3731 0084 0125 movs r5, #1
+ 3732 0086 26E0 b .L258
+ 3733 .LVL304:
+ 3734 .L259:
+2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 3735 .loc 1 2078 0
+ 3736 0088 8023 movs r3, #128
+ 3737 008a 9B00 lsls r3, r3, #2
+ 3738 008c 6364 str r3, [r4, #68]
+2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3739 .loc 1 2079 0
+ 3740 008e 0125 movs r5, #1
+ 3741 0090 21E0 b .L258
+ 3742 .LVL305:
+ 3743 .L261:
+2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3744 .loc 1 2113 0
+ 3745 0092 4123 movs r3, #65
+ 3746 0094 2822 movs r2, #40
+ 3747 .LVL306:
+ 3748 0096 E254 strb r2, [r4, r3]
+2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3749 .loc 1 2114 0
+ 3750 0098 0022 movs r2, #0
+ 3751 009a 0133 adds r3, r3, #1
+ 3752 009c E254 strb r2, [r4, r3]
+2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3753 .loc 1 2117 0
+ 3754 009e 636C ldr r3, [r4, #68]
+ 3755 00a0 8021 movs r1, #128
+ 3756 .LVL307:
+ 3757 00a2 0B43 orrs r3, r1
+ 3758 00a4 6364 str r3, [r4, #68]
+2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 190
+
+
+ 3759 .loc 1 2120 0
+ 3760 00a6 4023 movs r3, #64
+ 3761 00a8 E254 strb r2, [r4, r3]
+2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3762 .loc 1 2122 0
+ 3763 00aa 0125 movs r5, #1
+ 3764 00ac 13E0 b .L258
+ 3765 .LVL308:
+ 3766 .L267:
+2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3767 .loc 1 2128 0
+ 3768 00ae 2268 ldr r2, [r4]
+ 3769 00b0 5368 ldr r3, [r2, #4]
+ 3770 00b2 0F49 ldr r1, .L268+16
+ 3771 00b4 0B40 ands r3, r1
+ 3772 00b6 5360 str r3, [r2, #4]
+2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3773 .loc 1 2131 0
+ 3774 00b8 4023 movs r3, #64
+ 3775 00ba 0022 movs r2, #0
+ 3776 00bc E254 strb r2, [r4, r3]
+2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3777 .loc 1 2137 0
+ 3778 00be 0421 movs r1, #4
+ 3779 00c0 2000 movs r0, r4
+ 3780 .LVL309:
+ 3781 00c2 FFF7FEFF bl I2C_Enable_IRQ
+ 3782 .LVL310:
+2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3783 .loc 1 2140 0
+ 3784 00c6 2268 ldr r2, [r4]
+ 3785 00c8 1168 ldr r1, [r2]
+ 3786 00ca 8023 movs r3, #128
+ 3787 00cc DB01 lsls r3, r3, #7
+ 3788 00ce 0B43 orrs r3, r1
+ 3789 00d0 1360 str r3, [r2]
+2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3790 .loc 1 2157 0
+ 3791 00d2 00E0 b .L258
+ 3792 .LVL311:
+ 3793 .L264:
+2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3794 .loc 1 2161 0
+ 3795 00d4 0225 movs r5, #2
+ 3796 .LVL312:
+ 3797 .L258:
+2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3798 .loc 1 2163 0
+ 3799 00d6 2800 movs r0, r5
+ 3800 @ sp needed
+ 3801 .LVL313:
+ 3802 00d8 70BD pop {r4, r5, r6, pc}
+ 3803 .LVL314:
+ 3804 .L265:
+2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3805 .loc 1 2082 0
+ 3806 00da 0225 movs r5, #2
+ ARM GAS /tmp/ccskJbbb.s page 191
+
+
+ 3807 00dc FBE7 b .L258
+ 3808 .L269:
+ 3809 00de C046 .align 2
+ 3810 .L268:
+ 3811 00e0 0000FFFF .word -65536
+ 3812 00e4 00000000 .word I2C_Slave_ISR_DMA
+ 3813 00e8 00000000 .word I2C_DMASlaveTransmitCplt
+ 3814 00ec 00000000 .word I2C_DMAError
+ 3815 00f0 FF7FFFFF .word -32769
+ 3816 .cfi_endproc
+ 3817 .LFE54:
+ 3819 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
+ 3820 .align 1
+ 3821 .global HAL_I2C_Slave_Receive_DMA
+ 3822 .syntax unified
+ 3823 .code 16
+ 3824 .thumb_func
+ 3825 .fpu softvfp
+ 3827 HAL_I2C_Slave_Receive_DMA:
+ 3828 .LFB55:
+2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 3829 .loc 1 2174 0
+ 3830 .cfi_startproc
+ 3831 @ args = 0, pretend = 0, frame = 0
+ 3832 @ frame_needed = 0, uses_anonymous_args = 0
+ 3833 .LVL315:
+ 3834 0000 70B5 push {r4, r5, r6, lr}
+ 3835 .LCFI32:
+ 3836 .cfi_def_cfa_offset 16
+ 3837 .cfi_offset 4, -16
+ 3838 .cfi_offset 5, -12
+ 3839 .cfi_offset 6, -8
+ 3840 .cfi_offset 14, -4
+ 3841 0002 0400 movs r4, r0
+2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3842 .loc 1 2177 0
+ 3843 0004 4123 movs r3, #65
+ 3844 0006 C35C ldrb r3, [r0, r3]
+ 3845 0008 202B cmp r3, #32
+ 3846 000a 65D1 bne .L277
+2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3847 .loc 1 2179 0
+ 3848 000c 0029 cmp r1, #0
+ 3849 000e 3DD0 beq .L272
+2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3850 .loc 1 2179 0 is_stmt 0 discriminator 1
+ 3851 0010 002A cmp r2, #0
+ 3852 0012 3BD0 beq .L272
+2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3853 .loc 1 2185 0 is_stmt 1
+ 3854 0014 4023 movs r3, #64
+ 3855 0016 C35C ldrb r3, [r0, r3]
+ 3856 0018 012B cmp r3, #1
+ 3857 001a 60D0 beq .L278
+2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3858 .loc 1 2185 0 is_stmt 0 discriminator 2
+ 3859 001c 4023 movs r3, #64
+ ARM GAS /tmp/ccskJbbb.s page 192
+
+
+ 3860 001e 0120 movs r0, #1
+ 3861 .LVL316:
+ 3862 0020 E054 strb r0, [r4, r3]
+2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 3863 .loc 1 2187 0 is_stmt 1 discriminator 2
+ 3864 0022 0133 adds r3, r3, #1
+ 3865 0024 2130 adds r0, r0, #33
+ 3866 0026 E054 strb r0, [r4, r3]
+2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 3867 .loc 1 2188 0 discriminator 2
+ 3868 0028 0133 adds r3, r3, #1
+ 3869 002a 0238 subs r0, r0, #2
+ 3870 002c E054 strb r0, [r4, r3]
+2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3871 .loc 1 2189 0 discriminator 2
+ 3872 002e 0023 movs r3, #0
+ 3873 0030 6364 str r3, [r4, #68]
+2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 3874 .loc 1 2192 0 discriminator 2
+ 3875 0032 6162 str r1, [r4, #36]
+2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 3876 .loc 1 2193 0 discriminator 2
+ 3877 0034 6285 strh r2, [r4, #42]
+2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 3878 .loc 1 2194 0 discriminator 2
+ 3879 0036 638D ldrh r3, [r4, #42]
+ 3880 0038 2385 strh r3, [r4, #40]
+2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+ 3881 .loc 1 2195 0 discriminator 2
+ 3882 003a 2A4B ldr r3, .L281
+ 3883 003c E362 str r3, [r4, #44]
+2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3884 .loc 1 2196 0 discriminator 2
+ 3885 003e 2A4B ldr r3, .L281+4
+ 3886 0040 6363 str r3, [r4, #52]
+2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3887 .loc 1 2198 0 discriminator 2
+ 3888 0042 E36B ldr r3, [r4, #60]
+ 3889 0044 002B cmp r3, #0
+ 3890 0046 26D0 beq .L274
+2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3891 .loc 1 2201 0
+ 3892 0048 284A ldr r2, .L281+8
+ 3893 .LVL317:
+ 3894 004a 9A62 str r2, [r3, #40]
+2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3895 .loc 1 2204 0
+ 3896 004c E36B ldr r3, [r4, #60]
+ 3897 004e 284A ldr r2, .L281+12
+ 3898 0050 1A63 str r2, [r3, #48]
+2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 3899 .loc 1 2207 0
+ 3900 0052 E26B ldr r2, [r4, #60]
+ 3901 0054 0023 movs r3, #0
+ 3902 0056 D362 str r3, [r2, #44]
+2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3903 .loc 1 2208 0
+ ARM GAS /tmp/ccskJbbb.s page 193
+
+
+ 3904 0058 E26B ldr r2, [r4, #60]
+ 3905 005a 5363 str r3, [r2, #52]
+2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3906 .loc 1 2211 0
+ 3907 005c 2068 ldr r0, [r4]
+ 3908 005e 2430 adds r0, r0, #36
+ 3909 0060 238D ldrh r3, [r4, #40]
+ 3910 0062 0A00 movs r2, r1
+ 3911 0064 0100 movs r1, r0
+ 3912 .LVL318:
+ 3913 0066 E06B ldr r0, [r4, #60]
+ 3914 0068 FFF7FEFF bl HAL_DMA_Start_IT
+ 3915 .LVL319:
+ 3916 006c 051E subs r5, r0, #0
+ 3917 .LVL320:
+2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3918 .loc 1 2228 0
+ 3919 006e 20D0 beq .L280
+2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3920 .loc 1 2248 0
+ 3921 0070 4123 movs r3, #65
+ 3922 0072 2822 movs r2, #40
+ 3923 0074 E254 strb r2, [r4, r3]
+2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3924 .loc 1 2249 0
+ 3925 0076 0022 movs r2, #0
+ 3926 0078 0133 adds r3, r3, #1
+ 3927 007a E254 strb r2, [r4, r3]
+2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3928 .loc 1 2252 0
+ 3929 007c 636C ldr r3, [r4, #68]
+ 3930 007e 1021 movs r1, #16
+ 3931 0080 0B43 orrs r3, r1
+ 3932 0082 6364 str r3, [r4, #68]
+2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3933 .loc 1 2255 0
+ 3934 0084 4023 movs r3, #64
+ 3935 0086 E254 strb r2, [r4, r3]
+2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3936 .loc 1 2257 0
+ 3937 0088 0125 movs r5, #1
+ 3938 008a 26E0 b .L271
+ 3939 .LVL321:
+ 3940 .L272:
+2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 3941 .loc 1 2181 0
+ 3942 008c 8023 movs r3, #128
+ 3943 008e 9B00 lsls r3, r3, #2
+ 3944 0090 6364 str r3, [r4, #68]
+2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3945 .loc 1 2182 0
+ 3946 0092 0125 movs r5, #1
+ 3947 0094 21E0 b .L271
+ 3948 .LVL322:
+ 3949 .L274:
+2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3950 .loc 1 2216 0
+ ARM GAS /tmp/ccskJbbb.s page 194
+
+
+ 3951 0096 4123 movs r3, #65
+ 3952 0098 2822 movs r2, #40
+ 3953 .LVL323:
+ 3954 009a E254 strb r2, [r4, r3]
+2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3955 .loc 1 2217 0
+ 3956 009c 0022 movs r2, #0
+ 3957 009e 0133 adds r3, r3, #1
+ 3958 00a0 E254 strb r2, [r4, r3]
+2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3959 .loc 1 2220 0
+ 3960 00a2 636C ldr r3, [r4, #68]
+ 3961 00a4 8021 movs r1, #128
+ 3962 .LVL324:
+ 3963 00a6 0B43 orrs r3, r1
+ 3964 00a8 6364 str r3, [r4, #68]
+2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3965 .loc 1 2223 0
+ 3966 00aa 4023 movs r3, #64
+ 3967 00ac E254 strb r2, [r4, r3]
+2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3968 .loc 1 2225 0
+ 3969 00ae 0125 movs r5, #1
+ 3970 00b0 13E0 b .L271
+ 3971 .LVL325:
+ 3972 .L280:
+2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3973 .loc 1 2231 0
+ 3974 00b2 2268 ldr r2, [r4]
+ 3975 00b4 5368 ldr r3, [r2, #4]
+ 3976 00b6 0F49 ldr r1, .L281+16
+ 3977 00b8 0B40 ands r3, r1
+ 3978 00ba 5360 str r3, [r2, #4]
+2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3979 .loc 1 2234 0
+ 3980 00bc 4023 movs r3, #64
+ 3981 00be 0022 movs r2, #0
+ 3982 00c0 E254 strb r2, [r4, r3]
+2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3983 .loc 1 2240 0
+ 3984 00c2 0421 movs r1, #4
+ 3985 00c4 2000 movs r0, r4
+ 3986 .LVL326:
+ 3987 00c6 FFF7FEFF bl I2C_Enable_IRQ
+ 3988 .LVL327:
+2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3989 .loc 1 2243 0
+ 3990 00ca 2268 ldr r2, [r4]
+ 3991 00cc 1168 ldr r1, [r2]
+ 3992 00ce 8023 movs r3, #128
+ 3993 00d0 1B02 lsls r3, r3, #8
+ 3994 00d2 0B43 orrs r3, r1
+ 3995 00d4 1360 str r3, [r2]
+2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3996 .loc 1 2260 0
+ 3997 00d6 00E0 b .L271
+ 3998 .LVL328:
+ ARM GAS /tmp/ccskJbbb.s page 195
+
+
+ 3999 .L277:
+2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4000 .loc 1 2264 0
+ 4001 00d8 0225 movs r5, #2
+ 4002 .LVL329:
+ 4003 .L271:
+2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 4004 .loc 1 2266 0
+ 4005 00da 2800 movs r0, r5
+ 4006 @ sp needed
+ 4007 .LVL330:
+ 4008 00dc 70BD pop {r4, r5, r6, pc}
+ 4009 .LVL331:
+ 4010 .L278:
+2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4011 .loc 1 2185 0
+ 4012 00de 0225 movs r5, #2
+ 4013 00e0 FBE7 b .L271
+ 4014 .L282:
+ 4015 00e2 C046 .align 2
+ 4016 .L281:
+ 4017 00e4 0000FFFF .word -65536
+ 4018 00e8 00000000 .word I2C_Slave_ISR_DMA
+ 4019 00ec 00000000 .word I2C_DMASlaveReceiveCplt
+ 4020 00f0 00000000 .word I2C_DMAError
+ 4021 00f4 FF7FFFFF .word -32769
+ 4022 .cfi_endproc
+ 4023 .LFE55:
+ 4025 .section .text.HAL_I2C_Mem_Write,"ax",%progbits
+ 4026 .align 1
+ 4027 .global HAL_I2C_Mem_Write
+ 4028 .syntax unified
+ 4029 .code 16
+ 4030 .thumb_func
+ 4031 .fpu softvfp
+ 4033 HAL_I2C_Mem_Write:
+ 4034 .LFB56:
+2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 4035 .loc 1 2281 0
+ 4036 .cfi_startproc
+ 4037 @ args = 12, pretend = 0, frame = 16
+ 4038 @ frame_needed = 0, uses_anonymous_args = 0
+ 4039 .LVL332:
+ 4040 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 4041 .LCFI33:
+ 4042 .cfi_def_cfa_offset 20
+ 4043 .cfi_offset 4, -20
+ 4044 .cfi_offset 5, -16
+ 4045 .cfi_offset 6, -12
+ 4046 .cfi_offset 7, -8
+ 4047 .cfi_offset 14, -4
+ 4048 0002 87B0 sub sp, sp, #28
+ 4049 .LCFI34:
+ 4050 .cfi_def_cfa_offset 48
+ 4051 0004 0500 movs r5, r0
+ 4052 0006 0391 str r1, [sp, #12]
+ 4053 0008 0492 str r2, [sp, #16]
+ ARM GAS /tmp/ccskJbbb.s page 196
+
+
+ 4054 000a 0593 str r3, [sp, #20]
+ 4055 000c 0CAB add r3, sp, #48
+ 4056 .LVL333:
+ 4057 000e 10CB ldmia r3!, {r4}
+ 4058 .LVL334:
+ 4059 0010 1E88 ldrh r6, [r3]
+2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4060 .loc 1 2287 0
+ 4061 0012 4123 movs r3, #65
+ 4062 .LVL335:
+ 4063 0014 C35C ldrb r3, [r0, r3]
+ 4064 0016 202B cmp r3, #32
+ 4065 0018 00D0 beq .LCB4017
+ 4066 001a B3E0 b .L293 @long jump
+ 4067 .LCB4017:
+2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4068 .loc 1 2289 0
+ 4069 001c 002C cmp r4, #0
+ 4070 001e 18D0 beq .L285
+2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4071 .loc 1 2289 0 is_stmt 0 discriminator 1
+ 4072 0020 002E cmp r6, #0
+ 4073 0022 16D0 beq .L285
+2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4074 .loc 1 2296 0 is_stmt 1
+ 4075 0024 4023 movs r3, #64
+ 4076 0026 C35C ldrb r3, [r0, r3]
+ 4077 0028 012B cmp r3, #1
+ 4078 002a 00D1 bne .LCB4025
+ 4079 002c ADE0 b .L294 @long jump
+ 4080 .LCB4025:
+2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4081 .loc 1 2296 0 is_stmt 0 discriminator 2
+ 4082 002e 4023 movs r3, #64
+ 4083 0030 0122 movs r2, #1
+ 4084 .LVL336:
+ 4085 0032 C254 strb r2, [r0, r3]
+2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4086 .loc 1 2299 0 is_stmt 1 discriminator 2
+ 4087 0034 FFF7FEFF bl HAL_GetTick
+ 4088 .LVL337:
+ 4089 0038 0700 movs r7, r0
+ 4090 .LVL338:
+2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4091 .loc 1 2301 0 discriminator 2
+ 4092 003a 8021 movs r1, #128
+ 4093 003c 0090 str r0, [sp]
+ 4094 003e 1923 movs r3, #25
+ 4095 0040 0122 movs r2, #1
+ 4096 0042 0902 lsls r1, r1, #8
+ 4097 0044 2800 movs r0, r5
+ 4098 .LVL339:
+ 4099 0046 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 4100 .LVL340:
+ 4101 004a 0028 cmp r0, #0
+ 4102 004c 06D0 beq .L299
+2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 197
+
+
+ 4103 .loc 1 2303 0
+ 4104 004e 0120 movs r0, #1
+ 4105 0050 99E0 b .L284
+ 4106 .LVL341:
+ 4107 .L285:
+2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4108 .loc 1 2291 0
+ 4109 0052 8023 movs r3, #128
+ 4110 0054 9B00 lsls r3, r3, #2
+ 4111 0056 6B64 str r3, [r5, #68]
+2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4112 .loc 1 2292 0
+ 4113 0058 0120 movs r0, #1
+ 4114 .LVL342:
+ 4115 005a 94E0 b .L284
+ 4116 .LVL343:
+ 4117 .L299:
+2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 4118 .loc 1 2306 0
+ 4119 005c 4123 movs r3, #65
+ 4120 005e 2122 movs r2, #33
+ 4121 0060 EA54 strb r2, [r5, r3]
+2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 4122 .loc 1 2307 0
+ 4123 0062 0133 adds r3, r3, #1
+ 4124 0064 1F32 adds r2, r2, #31
+ 4125 0066 EA54 strb r2, [r5, r3]
+2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4126 .loc 1 2308 0
+ 4127 0068 0023 movs r3, #0
+ 4128 006a 6B64 str r3, [r5, #68]
+2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 4129 .loc 1 2311 0
+ 4130 006c 6C62 str r4, [r5, #36]
+2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 4131 .loc 1 2312 0
+ 4132 006e 6E85 strh r6, [r5, #42]
+2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4133 .loc 1 2313 0
+ 4134 0070 6B63 str r3, [r5, #52]
+2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4135 .loc 1 2316 0
+ 4136 0072 0197 str r7, [sp, #4]
+ 4137 0074 0E9B ldr r3, [sp, #56]
+ 4138 0076 0093 str r3, [sp]
+ 4139 0078 059B ldr r3, [sp, #20]
+ 4140 007a 049A ldr r2, [sp, #16]
+ 4141 007c 0399 ldr r1, [sp, #12]
+ 4142 007e 2800 movs r0, r5
+ 4143 0080 FFF7FEFF bl I2C_RequestMemoryWrite
+ 4144 .LVL344:
+ 4145 0084 0028 cmp r0, #0
+ 4146 0086 0FD1 bne .L300
+2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4147 .loc 1 2324 0
+ 4148 0088 6B8D ldrh r3, [r5, #42]
+ 4149 008a 9BB2 uxth r3, r3
+ ARM GAS /tmp/ccskJbbb.s page 198
+
+
+ 4150 008c FF2B cmp r3, #255
+ 4151 008e 10D9 bls .L288
+2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
+ 4152 .loc 1 2326 0
+ 4153 0090 FF23 movs r3, #255
+ 4154 0092 2B85 strh r3, [r5, #40]
+2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4155 .loc 1 2327 0
+ 4156 0094 7F3B subs r3, r3, #127
+ 4157 0096 0022 movs r2, #0
+ 4158 0098 0092 str r2, [sp]
+ 4159 009a 5B04 lsls r3, r3, #17
+ 4160 009c FF32 adds r2, r2, #255
+ 4161 009e 0399 ldr r1, [sp, #12]
+ 4162 00a0 2800 movs r0, r5
+ 4163 00a2 FFF7FEFF bl I2C_TransferConfig
+ 4164 .LVL345:
+ 4165 00a6 21E0 b .L292
+ 4166 .L300:
+2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4167 .loc 1 2319 0
+ 4168 00a8 4023 movs r3, #64
+ 4169 00aa 0022 movs r2, #0
+ 4170 00ac EA54 strb r2, [r5, r3]
+2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4171 .loc 1 2320 0
+ 4172 00ae 0120 movs r0, #1
+ 4173 00b0 69E0 b .L284
+ 4174 .L288:
+2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
+ 4175 .loc 1 2331 0
+ 4176 00b2 6A8D ldrh r2, [r5, #42]
+ 4177 00b4 92B2 uxth r2, r2
+ 4178 00b6 2A85 strh r2, [r5, #40]
+2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4179 .loc 1 2332 0
+ 4180 00b8 8023 movs r3, #128
+ 4181 00ba D2B2 uxtb r2, r2
+ 4182 00bc 0021 movs r1, #0
+ 4183 00be 0091 str r1, [sp]
+ 4184 00c0 9B04 lsls r3, r3, #18
+ 4185 00c2 0399 ldr r1, [sp, #12]
+ 4186 00c4 2800 movs r0, r5
+ 4187 00c6 FFF7FEFF bl I2C_TransferConfig
+ 4188 .LVL346:
+ 4189 00ca 0FE0 b .L292
+ 4190 .L291:
+2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+ 4191 .loc 1 2367 0
+ 4192 00cc 6A8D ldrh r2, [r5, #42]
+ 4193 00ce 92B2 uxth r2, r2
+ 4194 00d0 2A85 strh r2, [r5, #40]
+2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4195 .loc 1 2368 0
+ 4196 00d2 8023 movs r3, #128
+ 4197 00d4 D2B2 uxtb r2, r2
+ 4198 00d6 0021 movs r1, #0
+ ARM GAS /tmp/ccskJbbb.s page 199
+
+
+ 4199 00d8 0091 str r1, [sp]
+ 4200 00da 9B04 lsls r3, r3, #18
+ 4201 00dc 0399 ldr r1, [sp, #12]
+ 4202 00de 2800 movs r0, r5
+ 4203 00e0 FFF7FEFF bl I2C_TransferConfig
+ 4204 .LVL347:
+ 4205 .L290:
+2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4206 .loc 1 2373 0
+ 4207 00e4 6B8D ldrh r3, [r5, #42]
+ 4208 00e6 9BB2 uxth r3, r3
+ 4209 00e8 002B cmp r3, #0
+ 4210 00ea 34D0 beq .L301
+ 4211 .L292:
+2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4212 .loc 1 2338 0
+ 4213 00ec 3A00 movs r2, r7
+ 4214 00ee 0E99 ldr r1, [sp, #56]
+ 4215 00f0 2800 movs r0, r5
+ 4216 00f2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 4217 .LVL348:
+ 4218 00f6 0028 cmp r0, #0
+ 4219 00f8 49D1 bne .L296
+2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4220 .loc 1 2344 0
+ 4221 00fa 2B68 ldr r3, [r5]
+ 4222 00fc 6A6A ldr r2, [r5, #36]
+ 4223 00fe 1278 ldrb r2, [r2]
+ 4224 0100 9A62 str r2, [r3, #40]
+2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4225 .loc 1 2347 0
+ 4226 0102 6B6A ldr r3, [r5, #36]
+ 4227 0104 0133 adds r3, r3, #1
+ 4228 0106 6B62 str r3, [r5, #36]
+2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+ 4229 .loc 1 2349 0
+ 4230 0108 6B8D ldrh r3, [r5, #42]
+ 4231 010a 013B subs r3, r3, #1
+ 4232 010c 9BB2 uxth r3, r3
+ 4233 010e 6B85 strh r3, [r5, #42]
+2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4234 .loc 1 2350 0
+ 4235 0110 2B8D ldrh r3, [r5, #40]
+ 4236 0112 013B subs r3, r3, #1
+ 4237 0114 9BB2 uxth r3, r3
+ 4238 0116 2B85 strh r3, [r5, #40]
+2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4239 .loc 1 2352 0
+ 4240 0118 6A8D ldrh r2, [r5, #42]
+ 4241 011a 92B2 uxth r2, r2
+ 4242 011c 002A cmp r2, #0
+ 4243 011e E1D0 beq .L290
+2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4244 .loc 1 2352 0 is_stmt 0 discriminator 1
+ 4245 0120 002B cmp r3, #0
+ 4246 0122 DFD1 bne .L290
+2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 200
+
+
+ 4247 .loc 1 2355 0 is_stmt 1
+ 4248 0124 0097 str r7, [sp]
+ 4249 0126 0E9B ldr r3, [sp, #56]
+ 4250 0128 0022 movs r2, #0
+ 4251 012a 8021 movs r1, #128
+ 4252 012c 2800 movs r0, r5
+ 4253 012e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 4254 .LVL349:
+ 4255 0132 0028 cmp r0, #0
+ 4256 0134 2DD1 bne .L297
+2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4257 .loc 1 2360 0
+ 4258 0136 6B8D ldrh r3, [r5, #42]
+ 4259 0138 9BB2 uxth r3, r3
+ 4260 013a FF2B cmp r3, #255
+ 4261 013c C6D9 bls .L291
+2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+ 4262 .loc 1 2362 0
+ 4263 013e FF23 movs r3, #255
+ 4264 0140 2B85 strh r3, [r5, #40]
+2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4265 .loc 1 2363 0
+ 4266 0142 7F3B subs r3, r3, #127
+ 4267 0144 0022 movs r2, #0
+ 4268 0146 0092 str r2, [sp]
+ 4269 0148 5B04 lsls r3, r3, #17
+ 4270 014a FF32 adds r2, r2, #255
+ 4271 014c 0399 ldr r1, [sp, #12]
+ 4272 014e 2800 movs r0, r5
+ 4273 0150 FFF7FEFF bl I2C_TransferConfig
+ 4274 .LVL350:
+ 4275 0154 C6E7 b .L290
+ 4276 .L301:
+2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4277 .loc 1 2377 0
+ 4278 0156 3A00 movs r2, r7
+ 4279 0158 0E99 ldr r1, [sp, #56]
+ 4280 015a 2800 movs r0, r5
+ 4281 015c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 4282 .LVL351:
+ 4283 0160 0028 cmp r0, #0
+ 4284 0162 18D1 bne .L298
+2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4285 .loc 1 2383 0
+ 4286 0164 2B68 ldr r3, [r5]
+ 4287 0166 2022 movs r2, #32
+ 4288 0168 DA61 str r2, [r3, #28]
+2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4289 .loc 1 2386 0
+ 4290 016a 2968 ldr r1, [r5]
+ 4291 016c 4B68 ldr r3, [r1, #4]
+ 4292 016e 0B4C ldr r4, .L302
+ 4293 0170 2340 ands r3, r4
+ 4294 0172 4B60 str r3, [r1, #4]
+2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 4295 .loc 1 2388 0
+ 4296 0174 4123 movs r3, #65
+ ARM GAS /tmp/ccskJbbb.s page 201
+
+
+ 4297 0176 EA54 strb r2, [r5, r3]
+2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4298 .loc 1 2389 0
+ 4299 0178 0023 movs r3, #0
+ 4300 017a 2232 adds r2, r2, #34
+ 4301 017c AB54 strb r3, [r5, r2]
+2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4302 .loc 1 2392 0
+ 4303 017e 023A subs r2, r2, #2
+ 4304 0180 AB54 strb r3, [r5, r2]
+2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4305 .loc 1 2394 0
+ 4306 0182 00E0 b .L284
+ 4307 .LVL352:
+ 4308 .L293:
+2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4309 .loc 1 2398 0
+ 4310 0184 0220 movs r0, #2
+ 4311 .LVL353:
+ 4312 .L284:
+2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4313 .loc 1 2400 0
+ 4314 0186 07B0 add sp, sp, #28
+ 4315 @ sp needed
+ 4316 .LVL354:
+ 4317 0188 F0BD pop {r4, r5, r6, r7, pc}
+ 4318 .LVL355:
+ 4319 .L294:
+2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4320 .loc 1 2296 0
+ 4321 018a 0220 movs r0, #2
+ 4322 .LVL356:
+ 4323 018c FBE7 b .L284
+ 4324 .LVL357:
+ 4325 .L296:
+2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4326 .loc 1 2340 0
+ 4327 018e 0120 movs r0, #1
+ 4328 0190 F9E7 b .L284
+ 4329 .L297:
+2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4330 .loc 1 2357 0
+ 4331 0192 0120 movs r0, #1
+ 4332 0194 F7E7 b .L284
+ 4333 .L298:
+2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4334 .loc 1 2379 0
+ 4335 0196 0120 movs r0, #1
+ 4336 0198 F5E7 b .L284
+ 4337 .L303:
+ 4338 019a C046 .align 2
+ 4339 .L302:
+ 4340 019c 00E800FE .word -33495040
+ 4341 .cfi_endproc
+ 4342 .LFE56:
+ 4344 .section .text.HAL_I2C_Mem_Read,"ax",%progbits
+ 4345 .align 1
+ ARM GAS /tmp/ccskJbbb.s page 202
+
+
+ 4346 .global HAL_I2C_Mem_Read
+ 4347 .syntax unified
+ 4348 .code 16
+ 4349 .thumb_func
+ 4350 .fpu softvfp
+ 4352 HAL_I2C_Mem_Read:
+ 4353 .LFB57:
+2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 4354 .loc 1 2416 0
+ 4355 .cfi_startproc
+ 4356 @ args = 12, pretend = 0, frame = 16
+ 4357 @ frame_needed = 0, uses_anonymous_args = 0
+ 4358 .LVL358:
+ 4359 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 4360 .LCFI35:
+ 4361 .cfi_def_cfa_offset 20
+ 4362 .cfi_offset 4, -20
+ 4363 .cfi_offset 5, -16
+ 4364 .cfi_offset 6, -12
+ 4365 .cfi_offset 7, -8
+ 4366 .cfi_offset 14, -4
+ 4367 0002 87B0 sub sp, sp, #28
+ 4368 .LCFI36:
+ 4369 .cfi_def_cfa_offset 48
+ 4370 0004 0400 movs r4, r0
+ 4371 0006 0391 str r1, [sp, #12]
+ 4372 0008 0492 str r2, [sp, #16]
+ 4373 000a 0593 str r3, [sp, #20]
+ 4374 000c 0CAB add r3, sp, #48
+ 4375 .LVL359:
+ 4376 000e 20CB ldmia r3!, {r5}
+ 4377 .LVL360:
+ 4378 0010 1F88 ldrh r7, [r3]
+2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4379 .loc 1 2422 0
+ 4380 0012 4123 movs r3, #65
+ 4381 .LVL361:
+ 4382 0014 C35C ldrb r3, [r0, r3]
+ 4383 0016 202B cmp r3, #32
+ 4384 0018 00D0 beq .LCB4365
+ 4385 001a B5E0 b .L314 @long jump
+ 4386 .LCB4365:
+2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4387 .loc 1 2424 0
+ 4388 001c 002D cmp r5, #0
+ 4389 001e 18D0 beq .L306
+2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4390 .loc 1 2424 0 is_stmt 0 discriminator 1
+ 4391 0020 002F cmp r7, #0
+ 4392 0022 16D0 beq .L306
+2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4393 .loc 1 2431 0 is_stmt 1
+ 4394 0024 4023 movs r3, #64
+ 4395 0026 C35C ldrb r3, [r0, r3]
+ 4396 0028 012B cmp r3, #1
+ 4397 002a 00D1 bne .LCB4373
+ 4398 002c AFE0 b .L315 @long jump
+ ARM GAS /tmp/ccskJbbb.s page 203
+
+
+ 4399 .LCB4373:
+2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4400 .loc 1 2431 0 is_stmt 0 discriminator 2
+ 4401 002e 4023 movs r3, #64
+ 4402 0030 0122 movs r2, #1
+ 4403 .LVL362:
+ 4404 0032 C254 strb r2, [r0, r3]
+2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4405 .loc 1 2434 0 is_stmt 1 discriminator 2
+ 4406 0034 FFF7FEFF bl HAL_GetTick
+ 4407 .LVL363:
+ 4408 0038 0600 movs r6, r0
+ 4409 .LVL364:
+2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4410 .loc 1 2436 0 discriminator 2
+ 4411 003a 8021 movs r1, #128
+ 4412 003c 0090 str r0, [sp]
+ 4413 003e 1923 movs r3, #25
+ 4414 0040 0122 movs r2, #1
+ 4415 0042 0902 lsls r1, r1, #8
+ 4416 0044 2000 movs r0, r4
+ 4417 .LVL365:
+ 4418 0046 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 4419 .LVL366:
+ 4420 004a 0028 cmp r0, #0
+ 4421 004c 06D0 beq .L320
+2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4422 .loc 1 2438 0
+ 4423 004e 0120 movs r0, #1
+ 4424 0050 9BE0 b .L305
+ 4425 .LVL367:
+ 4426 .L306:
+2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4427 .loc 1 2426 0
+ 4428 0052 8023 movs r3, #128
+ 4429 0054 9B00 lsls r3, r3, #2
+ 4430 0056 6364 str r3, [r4, #68]
+2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4431 .loc 1 2427 0
+ 4432 0058 0120 movs r0, #1
+ 4433 .LVL368:
+ 4434 005a 96E0 b .L305
+ 4435 .LVL369:
+ 4436 .L320:
+2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 4437 .loc 1 2441 0
+ 4438 005c 4123 movs r3, #65
+ 4439 005e 2222 movs r2, #34
+ 4440 0060 E254 strb r2, [r4, r3]
+2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 4441 .loc 1 2442 0
+ 4442 0062 0133 adds r3, r3, #1
+ 4443 0064 1E32 adds r2, r2, #30
+ 4444 0066 E254 strb r2, [r4, r3]
+2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4445 .loc 1 2443 0
+ 4446 0068 0023 movs r3, #0
+ ARM GAS /tmp/ccskJbbb.s page 204
+
+
+ 4447 006a 6364 str r3, [r4, #68]
+2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 4448 .loc 1 2446 0
+ 4449 006c 6562 str r5, [r4, #36]
+2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 4450 .loc 1 2447 0
+ 4451 006e 6785 strh r7, [r4, #42]
+2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4452 .loc 1 2448 0
+ 4453 0070 6363 str r3, [r4, #52]
+2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4454 .loc 1 2451 0
+ 4455 0072 0196 str r6, [sp, #4]
+ 4456 0074 0E9B ldr r3, [sp, #56]
+ 4457 0076 0093 str r3, [sp]
+ 4458 0078 059B ldr r3, [sp, #20]
+ 4459 007a 049A ldr r2, [sp, #16]
+ 4460 007c 0399 ldr r1, [sp, #12]
+ 4461 007e 2000 movs r0, r4
+ 4462 0080 FFF7FEFF bl I2C_RequestMemoryRead
+ 4463 .LVL370:
+ 4464 0084 0028 cmp r0, #0
+ 4465 0086 0FD1 bne .L321
+2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4466 .loc 1 2460 0
+ 4467 0088 638D ldrh r3, [r4, #42]
+ 4468 008a 9BB2 uxth r3, r3
+ 4469 008c FF2B cmp r3, #255
+ 4470 008e 10D9 bls .L309
+2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+ 4471 .loc 1 2462 0
+ 4472 0090 FF23 movs r3, #255
+ 4473 0092 2385 strh r3, [r4, #40]
+2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4474 .loc 1 2463 0
+ 4475 0094 7F3B subs r3, r3, #127
+ 4476 0096 424A ldr r2, .L323
+ 4477 0098 0092 str r2, [sp]
+ 4478 009a 5B04 lsls r3, r3, #17
+ 4479 009c FF22 movs r2, #255
+ 4480 009e 0399 ldr r1, [sp, #12]
+ 4481 00a0 2000 movs r0, r4
+ 4482 00a2 FFF7FEFF bl I2C_TransferConfig
+ 4483 .LVL371:
+ 4484 00a6 21E0 b .L313
+ 4485 .L321:
+2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4486 .loc 1 2454 0
+ 4487 00a8 4023 movs r3, #64
+ 4488 00aa 0022 movs r2, #0
+ 4489 00ac E254 strb r2, [r4, r3]
+2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4490 .loc 1 2455 0
+ 4491 00ae 0120 movs r0, #1
+ 4492 00b0 6BE0 b .L305
+ 4493 .L309:
+2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+ ARM GAS /tmp/ccskJbbb.s page 205
+
+
+ 4494 .loc 1 2467 0
+ 4495 00b2 628D ldrh r2, [r4, #42]
+ 4496 00b4 92B2 uxth r2, r2
+ 4497 00b6 2285 strh r2, [r4, #40]
+2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4498 .loc 1 2468 0
+ 4499 00b8 8023 movs r3, #128
+ 4500 00ba D2B2 uxtb r2, r2
+ 4501 00bc 3849 ldr r1, .L323
+ 4502 00be 0091 str r1, [sp]
+ 4503 00c0 9B04 lsls r3, r3, #18
+ 4504 00c2 0399 ldr r1, [sp, #12]
+ 4505 00c4 2000 movs r0, r4
+ 4506 00c6 FFF7FEFF bl I2C_TransferConfig
+ 4507 .LVL372:
+ 4508 00ca 0FE0 b .L313
+ 4509 .L312:
+2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+ 4510 .loc 1 2503 0
+ 4511 00cc 628D ldrh r2, [r4, #42]
+ 4512 00ce 92B2 uxth r2, r2
+ 4513 00d0 2285 strh r2, [r4, #40]
+2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4514 .loc 1 2504 0
+ 4515 00d2 8023 movs r3, #128
+ 4516 00d4 D2B2 uxtb r2, r2
+ 4517 00d6 0021 movs r1, #0
+ 4518 00d8 0091 str r1, [sp]
+ 4519 00da 9B04 lsls r3, r3, #18
+ 4520 00dc 0399 ldr r1, [sp, #12]
+ 4521 00de 2000 movs r0, r4
+ 4522 00e0 FFF7FEFF bl I2C_TransferConfig
+ 4523 .LVL373:
+ 4524 .L311:
+2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4525 .loc 1 2508 0
+ 4526 00e4 638D ldrh r3, [r4, #42]
+ 4527 00e6 9BB2 uxth r3, r3
+ 4528 00e8 002B cmp r3, #0
+ 4529 00ea 36D0 beq .L322
+ 4530 .L313:
+2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4531 .loc 1 2474 0
+ 4532 00ec 0096 str r6, [sp]
+ 4533 00ee 0E9B ldr r3, [sp, #56]
+ 4534 00f0 0022 movs r2, #0
+ 4535 00f2 0421 movs r1, #4
+ 4536 00f4 2000 movs r0, r4
+ 4537 00f6 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 4538 .LVL374:
+ 4539 00fa 0028 cmp r0, #0
+ 4540 00fc 49D1 bne .L317
+2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4541 .loc 1 2480 0
+ 4542 00fe 2368 ldr r3, [r4]
+ 4543 0100 5B6A ldr r3, [r3, #36]
+ 4544 0102 626A ldr r2, [r4, #36]
+ ARM GAS /tmp/ccskJbbb.s page 206
+
+
+ 4545 0104 1370 strb r3, [r2]
+2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4546 .loc 1 2483 0
+ 4547 0106 636A ldr r3, [r4, #36]
+ 4548 0108 0133 adds r3, r3, #1
+ 4549 010a 6362 str r3, [r4, #36]
+2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 4550 .loc 1 2485 0
+ 4551 010c 238D ldrh r3, [r4, #40]
+ 4552 010e 013B subs r3, r3, #1
+ 4553 0110 9BB2 uxth r3, r3
+ 4554 0112 2385 strh r3, [r4, #40]
+2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4555 .loc 1 2486 0
+ 4556 0114 628D ldrh r2, [r4, #42]
+ 4557 0116 013A subs r2, r2, #1
+ 4558 0118 92B2 uxth r2, r2
+ 4559 011a 6285 strh r2, [r4, #42]
+2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4560 .loc 1 2488 0
+ 4561 011c 628D ldrh r2, [r4, #42]
+ 4562 011e 92B2 uxth r2, r2
+ 4563 0120 002A cmp r2, #0
+ 4564 0122 DFD0 beq .L311
+2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4565 .loc 1 2488 0 is_stmt 0 discriminator 1
+ 4566 0124 002B cmp r3, #0
+ 4567 0126 DDD1 bne .L311
+2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4568 .loc 1 2491 0 is_stmt 1
+ 4569 0128 0096 str r6, [sp]
+ 4570 012a 0E9B ldr r3, [sp, #56]
+ 4571 012c 0022 movs r2, #0
+ 4572 012e 8021 movs r1, #128
+ 4573 0130 2000 movs r0, r4
+ 4574 0132 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 4575 .LVL375:
+ 4576 0136 0028 cmp r0, #0
+ 4577 0138 2DD1 bne .L318
+2496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4578 .loc 1 2496 0
+ 4579 013a 638D ldrh r3, [r4, #42]
+ 4580 013c 9BB2 uxth r3, r3
+ 4581 013e FF2B cmp r3, #255
+ 4582 0140 C4D9 bls .L312
+2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_ST
+ 4583 .loc 1 2498 0
+ 4584 0142 FF23 movs r3, #255
+ 4585 0144 2385 strh r3, [r4, #40]
+2499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4586 .loc 1 2499 0
+ 4587 0146 7F3B subs r3, r3, #127
+ 4588 0148 0022 movs r2, #0
+ 4589 014a 0092 str r2, [sp]
+ 4590 014c 5B04 lsls r3, r3, #17
+ 4591 014e FF32 adds r2, r2, #255
+ 4592 0150 0399 ldr r1, [sp, #12]
+ ARM GAS /tmp/ccskJbbb.s page 207
+
+
+ 4593 0152 2000 movs r0, r4
+ 4594 0154 FFF7FEFF bl I2C_TransferConfig
+ 4595 .LVL376:
+ 4596 0158 C4E7 b .L311
+ 4597 .L322:
+2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4598 .loc 1 2512 0
+ 4599 015a 3200 movs r2, r6
+ 4600 015c 0E99 ldr r1, [sp, #56]
+ 4601 015e 2000 movs r0, r4
+ 4602 0160 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 4603 .LVL377:
+ 4604 0164 0028 cmp r0, #0
+ 4605 0166 18D1 bne .L319
+2518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4606 .loc 1 2518 0
+ 4607 0168 2368 ldr r3, [r4]
+ 4608 016a 2022 movs r2, #32
+ 4609 016c DA61 str r2, [r3, #28]
+2521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4610 .loc 1 2521 0
+ 4611 016e 2168 ldr r1, [r4]
+ 4612 0170 4B68 ldr r3, [r1, #4]
+ 4613 0172 0C4D ldr r5, .L323+4
+ 4614 0174 2B40 ands r3, r5
+ 4615 0176 4B60 str r3, [r1, #4]
+2523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 4616 .loc 1 2523 0
+ 4617 0178 4123 movs r3, #65
+ 4618 017a E254 strb r2, [r4, r3]
+2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4619 .loc 1 2524 0
+ 4620 017c 0023 movs r3, #0
+ 4621 017e 2232 adds r2, r2, #34
+ 4622 0180 A354 strb r3, [r4, r2]
+2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4623 .loc 1 2527 0
+ 4624 0182 023A subs r2, r2, #2
+ 4625 0184 A354 strb r3, [r4, r2]
+2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4626 .loc 1 2529 0
+ 4627 0186 00E0 b .L305
+ 4628 .LVL378:
+ 4629 .L314:
+2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4630 .loc 1 2533 0
+ 4631 0188 0220 movs r0, #2
+ 4632 .LVL379:
+ 4633 .L305:
+2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 4634 .loc 1 2535 0
+ 4635 018a 07B0 add sp, sp, #28
+ 4636 @ sp needed
+ 4637 .LVL380:
+ 4638 018c F0BD pop {r4, r5, r6, r7, pc}
+ 4639 .LVL381:
+ 4640 .L315:
+ ARM GAS /tmp/ccskJbbb.s page 208
+
+
+2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4641 .loc 1 2431 0
+ 4642 018e 0220 movs r0, #2
+ 4643 .LVL382:
+ 4644 0190 FBE7 b .L305
+ 4645 .LVL383:
+ 4646 .L317:
+2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4647 .loc 1 2476 0
+ 4648 0192 0120 movs r0, #1
+ 4649 0194 F9E7 b .L305
+ 4650 .L318:
+2493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4651 .loc 1 2493 0
+ 4652 0196 0120 movs r0, #1
+ 4653 0198 F7E7 b .L305
+ 4654 .L319:
+2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4655 .loc 1 2514 0
+ 4656 019a 0120 movs r0, #1
+ 4657 019c F5E7 b .L305
+ 4658 .L324:
+ 4659 019e C046 .align 2
+ 4660 .L323:
+ 4661 01a0 00240080 .word -2147474432
+ 4662 01a4 00E800FE .word -33495040
+ 4663 .cfi_endproc
+ 4664 .LFE57:
+ 4666 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits
+ 4667 .align 1
+ 4668 .global HAL_I2C_Mem_Write_IT
+ 4669 .syntax unified
+ 4670 .code 16
+ 4671 .thumb_func
+ 4672 .fpu softvfp
+ 4674 HAL_I2C_Mem_Write_IT:
+ 4675 .LFB58:
+2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 4676 .loc 1 2549 0
+ 4677 .cfi_startproc
+ 4678 @ args = 8, pretend = 0, frame = 16
+ 4679 @ frame_needed = 0, uses_anonymous_args = 0
+ 4680 .LVL384:
+ 4681 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 4682 .LCFI37:
+ 4683 .cfi_def_cfa_offset 20
+ 4684 .cfi_offset 4, -20
+ 4685 .cfi_offset 5, -16
+ 4686 .cfi_offset 6, -12
+ 4687 .cfi_offset 7, -8
+ 4688 .cfi_offset 14, -4
+ 4689 0002 87B0 sub sp, sp, #28
+ 4690 .LCFI38:
+ 4691 .cfi_def_cfa_offset 48
+ 4692 0004 0400 movs r4, r0
+ 4693 0006 0391 str r1, [sp, #12]
+ 4694 0008 0492 str r2, [sp, #16]
+ ARM GAS /tmp/ccskJbbb.s page 209
+
+
+ 4695 000a 0593 str r3, [sp, #20]
+ 4696 000c 0CAB add r3, sp, #48
+ 4697 .LVL385:
+ 4698 000e 80CB ldmia r3!, {r7}
+ 4699 .LVL386:
+ 4700 0010 1D88 ldrh r5, [r3]
+2556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4701 .loc 1 2556 0
+ 4702 0012 4123 movs r3, #65
+ 4703 .LVL387:
+ 4704 0014 C35C ldrb r3, [r0, r3]
+ 4705 0016 202B cmp r3, #32
+ 4706 0018 4FD1 bne .L332
+2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4707 .loc 1 2558 0
+ 4708 001a 002F cmp r7, #0
+ 4709 001c 33D0 beq .L327
+2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4710 .loc 1 2558 0 is_stmt 0 discriminator 1
+ 4711 001e 002D cmp r5, #0
+ 4712 0020 31D0 beq .L327
+2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4713 .loc 1 2564 0 is_stmt 1
+ 4714 0022 0368 ldr r3, [r0]
+ 4715 0024 9B69 ldr r3, [r3, #24]
+ 4716 0026 1B04 lsls r3, r3, #16
+ 4717 0028 4BD4 bmi .L333
+2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4718 .loc 1 2570 0
+ 4719 002a 4023 movs r3, #64
+ 4720 002c C35C ldrb r3, [r0, r3]
+ 4721 002e 012B cmp r3, #1
+ 4722 0030 49D0 beq .L334
+2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4723 .loc 1 2570 0 is_stmt 0 discriminator 2
+ 4724 0032 4026 movs r6, #64
+ 4725 0034 0123 movs r3, #1
+ 4726 0036 8355 strb r3, [r0, r6]
+2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4727 .loc 1 2573 0 is_stmt 1 discriminator 2
+ 4728 0038 FFF7FEFF bl HAL_GetTick
+ 4729 .LVL388:
+2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 4730 .loc 1 2575 0 discriminator 2
+ 4731 003c 4123 movs r3, #65
+ 4732 003e 2122 movs r2, #33
+ 4733 0040 E254 strb r2, [r4, r3]
+2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 4734 .loc 1 2576 0 discriminator 2
+ 4735 0042 0133 adds r3, r3, #1
+ 4736 0044 E654 strb r6, [r4, r3]
+2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4737 .loc 1 2577 0 discriminator 2
+ 4738 0046 0023 movs r3, #0
+ 4739 0048 6364 str r3, [r4, #68]
+2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 4740 .loc 1 2580 0 discriminator 2
+ ARM GAS /tmp/ccskJbbb.s page 210
+
+
+ 4741 004a 6762 str r7, [r4, #36]
+2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 4742 .loc 1 2581 0 discriminator 2
+ 4743 004c 6585 strh r5, [r4, #42]
+2582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 4744 .loc 1 2582 0 discriminator 2
+ 4745 004e 1F4B ldr r3, .L335
+ 4746 0050 E362 str r3, [r4, #44]
+2583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4747 .loc 1 2583 0 discriminator 2
+ 4748 0052 1F4B ldr r3, .L335+4
+ 4749 0054 6363 str r3, [r4, #52]
+2585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4750 .loc 1 2585 0 discriminator 2
+ 4751 0056 638D ldrh r3, [r4, #42]
+ 4752 0058 9BB2 uxth r3, r3
+ 4753 005a FF2B cmp r3, #255
+ 4754 005c 18D9 bls .L329
+2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 4755 .loc 1 2587 0
+ 4756 005e FF23 movs r3, #255
+ 4757 0060 2385 strh r3, [r4, #40]
+ 4758 .LVL389:
+2588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4759 .loc 1 2588 0
+ 4760 0062 8027 movs r7, #128
+ 4761 0064 7F04 lsls r7, r7, #17
+ 4762 .LVL390:
+ 4763 .L330:
+2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4764 .loc 1 2597 0
+ 4765 0066 0190 str r0, [sp, #4]
+ 4766 0068 1923 movs r3, #25
+ 4767 006a 0093 str r3, [sp]
+ 4768 006c 059B ldr r3, [sp, #20]
+ 4769 006e 049A ldr r2, [sp, #16]
+ 4770 0070 0399 ldr r1, [sp, #12]
+ 4771 0072 2000 movs r0, r4
+ 4772 .LVL391:
+ 4773 0074 FFF7FEFF bl I2C_RequestMemoryWrite
+ 4774 .LVL392:
+ 4775 0078 051E subs r5, r0, #0
+ 4776 007a 0ED0 beq .L331
+2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4777 .loc 1 2600 0
+ 4778 007c 4023 movs r3, #64
+ 4779 007e 0022 movs r2, #0
+ 4780 0080 E254 strb r2, [r4, r3]
+2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4781 .loc 1 2601 0
+ 4782 0082 0125 movs r5, #1
+ 4783 0084 1AE0 b .L326
+ 4784 .LVL393:
+ 4785 .L327:
+2560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4786 .loc 1 2560 0
+ 4787 0086 8023 movs r3, #128
+ ARM GAS /tmp/ccskJbbb.s page 211
+
+
+ 4788 0088 9B00 lsls r3, r3, #2
+ 4789 008a 6364 str r3, [r4, #68]
+2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4790 .loc 1 2561 0
+ 4791 008c 0125 movs r5, #1
+ 4792 008e 15E0 b .L326
+ 4793 .LVL394:
+ 4794 .L329:
+2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 4795 .loc 1 2592 0
+ 4796 0090 638D ldrh r3, [r4, #42]
+ 4797 0092 2385 strh r3, [r4, #40]
+ 4798 .LVL395:
+2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4799 .loc 1 2593 0
+ 4800 0094 8027 movs r7, #128
+ 4801 0096 BF04 lsls r7, r7, #18
+ 4802 0098 E5E7 b .L330
+ 4803 .LVL396:
+ 4804 .L331:
+2605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4805 .loc 1 2605 0
+ 4806 009a 228D ldrh r2, [r4, #40]
+ 4807 009c D2B2 uxtb r2, r2
+ 4808 009e 0026 movs r6, #0
+ 4809 00a0 0096 str r6, [sp]
+ 4810 00a2 3B00 movs r3, r7
+ 4811 00a4 0399 ldr r1, [sp, #12]
+ 4812 00a6 2000 movs r0, r4
+ 4813 00a8 FFF7FEFF bl I2C_TransferConfig
+ 4814 .LVL397:
+2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4815 .loc 1 2608 0
+ 4816 00ac 4023 movs r3, #64
+ 4817 00ae E654 strb r6, [r4, r3]
+2617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4818 .loc 1 2617 0
+ 4819 00b0 0121 movs r1, #1
+ 4820 00b2 2000 movs r0, r4
+ 4821 00b4 FFF7FEFF bl I2C_Enable_IRQ
+ 4822 .LVL398:
+2619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4823 .loc 1 2619 0
+ 4824 00b8 00E0 b .L326
+ 4825 .LVL399:
+ 4826 .L332:
+2623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4827 .loc 1 2623 0
+ 4828 00ba 0225 movs r5, #2
+ 4829 .LVL400:
+ 4830 .L326:
+2625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4831 .loc 1 2625 0
+ 4832 00bc 2800 movs r0, r5
+ 4833 00be 07B0 add sp, sp, #28
+ 4834 @ sp needed
+ 4835 .LVL401:
+ ARM GAS /tmp/ccskJbbb.s page 212
+
+
+ 4836 00c0 F0BD pop {r4, r5, r6, r7, pc}
+ 4837 .LVL402:
+ 4838 .L333:
+2566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4839 .loc 1 2566 0
+ 4840 00c2 0225 movs r5, #2
+ 4841 00c4 FAE7 b .L326
+ 4842 .L334:
+2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4843 .loc 1 2570 0
+ 4844 00c6 0225 movs r5, #2
+ 4845 00c8 F8E7 b .L326
+ 4846 .L336:
+ 4847 00ca C046 .align 2
+ 4848 .L335:
+ 4849 00cc 0000FFFF .word -65536
+ 4850 00d0 00000000 .word I2C_Master_ISR_IT
+ 4851 .cfi_endproc
+ 4852 .LFE58:
+ 4854 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits
+ 4855 .align 1
+ 4856 .global HAL_I2C_Mem_Read_IT
+ 4857 .syntax unified
+ 4858 .code 16
+ 4859 .thumb_func
+ 4860 .fpu softvfp
+ 4862 HAL_I2C_Mem_Read_IT:
+ 4863 .LFB59:
+2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 4864 .loc 1 2640 0
+ 4865 .cfi_startproc
+ 4866 @ args = 8, pretend = 0, frame = 16
+ 4867 @ frame_needed = 0, uses_anonymous_args = 0
+ 4868 .LVL403:
+ 4869 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 4870 .LCFI39:
+ 4871 .cfi_def_cfa_offset 20
+ 4872 .cfi_offset 4, -20
+ 4873 .cfi_offset 5, -16
+ 4874 .cfi_offset 6, -12
+ 4875 .cfi_offset 7, -8
+ 4876 .cfi_offset 14, -4
+ 4877 0002 87B0 sub sp, sp, #28
+ 4878 .LCFI40:
+ 4879 .cfi_def_cfa_offset 48
+ 4880 0004 0600 movs r6, r0
+ 4881 0006 0391 str r1, [sp, #12]
+ 4882 0008 0492 str r2, [sp, #16]
+ 4883 000a 0593 str r3, [sp, #20]
+ 4884 000c 0CAB add r3, sp, #48
+ 4885 .LVL404:
+ 4886 000e 80CB ldmia r3!, {r7}
+ 4887 .LVL405:
+ 4888 0010 1D88 ldrh r5, [r3]
+2647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4889 .loc 1 2647 0
+ 4890 0012 4123 movs r3, #65
+ ARM GAS /tmp/ccskJbbb.s page 213
+
+
+ 4891 .LVL406:
+ 4892 0014 C35C ldrb r3, [r0, r3]
+ 4893 0016 202B cmp r3, #32
+ 4894 0018 50D1 bne .L344
+2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4895 .loc 1 2649 0
+ 4896 001a 002F cmp r7, #0
+ 4897 001c 33D0 beq .L339
+2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4898 .loc 1 2649 0 is_stmt 0 discriminator 1
+ 4899 001e 002D cmp r5, #0
+ 4900 0020 31D0 beq .L339
+2655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4901 .loc 1 2655 0 is_stmt 1
+ 4902 0022 0368 ldr r3, [r0]
+ 4903 0024 9B69 ldr r3, [r3, #24]
+ 4904 0026 1B04 lsls r3, r3, #16
+ 4905 0028 4CD4 bmi .L345
+2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4906 .loc 1 2661 0
+ 4907 002a 4023 movs r3, #64
+ 4908 002c C35C ldrb r3, [r0, r3]
+ 4909 002e 012B cmp r3, #1
+ 4910 0030 4AD0 beq .L346
+2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4911 .loc 1 2661 0 is_stmt 0 discriminator 2
+ 4912 0032 4024 movs r4, #64
+ 4913 0034 0123 movs r3, #1
+ 4914 0036 0355 strb r3, [r0, r4]
+2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4915 .loc 1 2664 0 is_stmt 1 discriminator 2
+ 4916 0038 FFF7FEFF bl HAL_GetTick
+ 4917 .LVL407:
+2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 4918 .loc 1 2666 0 discriminator 2
+ 4919 003c 4123 movs r3, #65
+ 4920 003e 2222 movs r2, #34
+ 4921 0040 F254 strb r2, [r6, r3]
+2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 4922 .loc 1 2667 0 discriminator 2
+ 4923 0042 0133 adds r3, r3, #1
+ 4924 0044 F454 strb r4, [r6, r3]
+2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4925 .loc 1 2668 0 discriminator 2
+ 4926 0046 0023 movs r3, #0
+ 4927 0048 7364 str r3, [r6, #68]
+2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 4928 .loc 1 2671 0 discriminator 2
+ 4929 004a 7762 str r7, [r6, #36]
+2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 4930 .loc 1 2672 0 discriminator 2
+ 4931 004c 7585 strh r5, [r6, #42]
+2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 4932 .loc 1 2673 0 discriminator 2
+ 4933 004e 1F4B ldr r3, .L347
+ 4934 0050 F362 str r3, [r6, #44]
+2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 214
+
+
+ 4935 .loc 1 2674 0 discriminator 2
+ 4936 0052 1F4B ldr r3, .L347+4
+ 4937 0054 7363 str r3, [r6, #52]
+2676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4938 .loc 1 2676 0 discriminator 2
+ 4939 0056 738D ldrh r3, [r6, #42]
+ 4940 0058 9BB2 uxth r3, r3
+ 4941 005a FF2B cmp r3, #255
+ 4942 005c 18D9 bls .L341
+2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 4943 .loc 1 2678 0
+ 4944 005e FF23 movs r3, #255
+ 4945 0060 3385 strh r3, [r6, #40]
+ 4946 .LVL408:
+2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4947 .loc 1 2679 0
+ 4948 0062 8027 movs r7, #128
+ 4949 0064 7F04 lsls r7, r7, #17
+ 4950 .LVL409:
+ 4951 .L342:
+2688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4952 .loc 1 2688 0
+ 4953 0066 0190 str r0, [sp, #4]
+ 4954 0068 1923 movs r3, #25
+ 4955 006a 0093 str r3, [sp]
+ 4956 006c 059B ldr r3, [sp, #20]
+ 4957 006e 049A ldr r2, [sp, #16]
+ 4958 0070 0399 ldr r1, [sp, #12]
+ 4959 0072 3000 movs r0, r6
+ 4960 .LVL410:
+ 4961 0074 FFF7FEFF bl I2C_RequestMemoryRead
+ 4962 .LVL411:
+ 4963 0078 051E subs r5, r0, #0
+ 4964 007a 0ED0 beq .L343
+2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4965 .loc 1 2691 0
+ 4966 007c 4023 movs r3, #64
+ 4967 007e 0022 movs r2, #0
+ 4968 0080 F254 strb r2, [r6, r3]
+2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4969 .loc 1 2692 0
+ 4970 0082 0125 movs r5, #1
+ 4971 0084 1BE0 b .L338
+ 4972 .LVL412:
+ 4973 .L339:
+2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4974 .loc 1 2651 0
+ 4975 0086 8023 movs r3, #128
+ 4976 0088 9B00 lsls r3, r3, #2
+ 4977 008a 7364 str r3, [r6, #68]
+2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4978 .loc 1 2652 0
+ 4979 008c 0125 movs r5, #1
+ 4980 008e 16E0 b .L338
+ 4981 .LVL413:
+ 4982 .L341:
+2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ ARM GAS /tmp/ccskJbbb.s page 215
+
+
+ 4983 .loc 1 2683 0
+ 4984 0090 738D ldrh r3, [r6, #42]
+ 4985 0092 3385 strh r3, [r6, #40]
+ 4986 .LVL414:
+2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4987 .loc 1 2684 0
+ 4988 0094 8027 movs r7, #128
+ 4989 0096 BF04 lsls r7, r7, #18
+ 4990 0098 E5E7 b .L342
+ 4991 .LVL415:
+ 4992 .L343:
+2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4993 .loc 1 2696 0
+ 4994 009a 328D ldrh r2, [r6, #40]
+ 4995 009c D2B2 uxtb r2, r2
+ 4996 009e 0D4B ldr r3, .L347+8
+ 4997 00a0 0093 str r3, [sp]
+ 4998 00a2 3B00 movs r3, r7
+ 4999 00a4 0399 ldr r1, [sp, #12]
+ 5000 00a6 3000 movs r0, r6
+ 5001 00a8 FFF7FEFF bl I2C_TransferConfig
+ 5002 .LVL416:
+2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5003 .loc 1 2699 0
+ 5004 00ac 4023 movs r3, #64
+ 5005 00ae 0022 movs r2, #0
+ 5006 00b0 F254 strb r2, [r6, r3]
+2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5007 .loc 1 2708 0
+ 5008 00b2 0221 movs r1, #2
+ 5009 00b4 3000 movs r0, r6
+ 5010 00b6 FFF7FEFF bl I2C_Enable_IRQ
+ 5011 .LVL417:
+2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5012 .loc 1 2710 0
+ 5013 00ba 00E0 b .L338
+ 5014 .LVL418:
+ 5015 .L344:
+2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5016 .loc 1 2714 0
+ 5017 00bc 0225 movs r5, #2
+ 5018 .LVL419:
+ 5019 .L338:
+2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 5020 .loc 1 2716 0
+ 5021 00be 2800 movs r0, r5
+ 5022 00c0 07B0 add sp, sp, #28
+ 5023 @ sp needed
+ 5024 .LVL420:
+ 5025 00c2 F0BD pop {r4, r5, r6, r7, pc}
+ 5026 .LVL421:
+ 5027 .L345:
+2657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5028 .loc 1 2657 0
+ 5029 00c4 0225 movs r5, #2
+ 5030 00c6 FAE7 b .L338
+ 5031 .L346:
+ ARM GAS /tmp/ccskJbbb.s page 216
+
+
+2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5032 .loc 1 2661 0
+ 5033 00c8 0225 movs r5, #2
+ 5034 00ca F8E7 b .L338
+ 5035 .L348:
+ 5036 .align 2
+ 5037 .L347:
+ 5038 00cc 0000FFFF .word -65536
+ 5039 00d0 00000000 .word I2C_Master_ISR_IT
+ 5040 00d4 00240080 .word -2147474432
+ 5041 .cfi_endproc
+ 5042 .LFE59:
+ 5044 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
+ 5045 .align 1
+ 5046 .global HAL_I2C_Mem_Write_DMA
+ 5047 .syntax unified
+ 5048 .code 16
+ 5049 .thumb_func
+ 5050 .fpu softvfp
+ 5052 HAL_I2C_Mem_Write_DMA:
+ 5053 .LFB60:
+2730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 5054 .loc 1 2730 0
+ 5055 .cfi_startproc
+ 5056 @ args = 8, pretend = 0, frame = 16
+ 5057 @ frame_needed = 0, uses_anonymous_args = 0
+ 5058 .LVL422:
+ 5059 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 5060 .LCFI41:
+ 5061 .cfi_def_cfa_offset 20
+ 5062 .cfi_offset 4, -20
+ 5063 .cfi_offset 5, -16
+ 5064 .cfi_offset 6, -12
+ 5065 .cfi_offset 7, -8
+ 5066 .cfi_offset 14, -4
+ 5067 0002 CE46 mov lr, r9
+ 5068 0004 00B5 push {lr}
+ 5069 .LCFI42:
+ 5070 .cfi_def_cfa_offset 24
+ 5071 .cfi_offset 9, -24
+ 5072 0006 86B0 sub sp, sp, #24
+ 5073 .LCFI43:
+ 5074 .cfi_def_cfa_offset 48
+ 5075 0008 0400 movs r4, r0
+ 5076 000a 0391 str r1, [sp, #12]
+ 5077 000c 0492 str r2, [sp, #16]
+ 5078 000e 0593 str r3, [sp, #20]
+ 5079 0010 0CAB add r3, sp, #48
+ 5080 .LVL423:
+ 5081 0012 40CB ldmia r3!, {r6}
+ 5082 .LVL424:
+ 5083 0014 1F88 ldrh r7, [r3]
+2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5084 .loc 1 2738 0
+ 5085 0016 4123 movs r3, #65
+ 5086 .LVL425:
+ 5087 0018 C35C ldrb r3, [r0, r3]
+ ARM GAS /tmp/ccskJbbb.s page 217
+
+
+ 5088 001a 202B cmp r3, #32
+ 5089 001c 00D0 beq .LCB5149
+ 5090 001e 90E0 b .L359 @long jump
+ 5091 .LCB5149:
+2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5092 .loc 1 2740 0
+ 5093 0020 002E cmp r6, #0
+ 5094 0022 55D0 beq .L351
+2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5095 .loc 1 2740 0 is_stmt 0 discriminator 1
+ 5096 0024 002F cmp r7, #0
+ 5097 0026 53D0 beq .L351
+2746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5098 .loc 1 2746 0 is_stmt 1
+ 5099 0028 0368 ldr r3, [r0]
+ 5100 002a 9B69 ldr r3, [r3, #24]
+ 5101 002c 1B04 lsls r3, r3, #16
+ 5102 002e 00D5 bpl .LCB5159
+ 5103 0030 8DE0 b .L360 @long jump
+ 5104 .LCB5159:
+2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5105 .loc 1 2752 0
+ 5106 0032 4023 movs r3, #64
+ 5107 0034 C35C ldrb r3, [r0, r3]
+ 5108 0036 012B cmp r3, #1
+ 5109 0038 00D1 bne .LCB5163
+ 5110 003a 8AE0 b .L361 @long jump
+ 5111 .LCB5163:
+2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5112 .loc 1 2752 0 is_stmt 0 discriminator 2
+ 5113 003c 4025 movs r5, #64
+ 5114 003e 0123 movs r3, #1
+ 5115 0040 4355 strb r3, [r0, r5]
+2755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5116 .loc 1 2755 0 is_stmt 1 discriminator 2
+ 5117 0042 FFF7FEFF bl HAL_GetTick
+ 5118 .LVL426:
+2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 5119 .loc 1 2757 0 discriminator 2
+ 5120 0046 4123 movs r3, #65
+ 5121 0048 2122 movs r2, #33
+ 5122 004a E254 strb r2, [r4, r3]
+2758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 5123 .loc 1 2758 0 discriminator 2
+ 5124 004c 0133 adds r3, r3, #1
+ 5125 004e E554 strb r5, [r4, r3]
+2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5126 .loc 1 2759 0 discriminator 2
+ 5127 0050 0023 movs r3, #0
+ 5128 0052 6364 str r3, [r4, #68]
+2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 5129 .loc 1 2762 0 discriminator 2
+ 5130 0054 6662 str r6, [r4, #36]
+2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 5131 .loc 1 2763 0 discriminator 2
+ 5132 0056 6785 strh r7, [r4, #42]
+2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ ARM GAS /tmp/ccskJbbb.s page 218
+
+
+ 5133 .loc 1 2764 0 discriminator 2
+ 5134 0058 3F4B ldr r3, .L365
+ 5135 005a E362 str r3, [r4, #44]
+2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5136 .loc 1 2765 0 discriminator 2
+ 5137 005c 3F4B ldr r3, .L365+4
+ 5138 005e 6363 str r3, [r4, #52]
+2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5139 .loc 1 2767 0 discriminator 2
+ 5140 0060 638D ldrh r3, [r4, #42]
+ 5141 0062 9BB2 uxth r3, r3
+ 5142 0064 FF2B cmp r3, #255
+ 5143 0066 38D9 bls .L353
+2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 5144 .loc 1 2769 0
+ 5145 0068 FF23 movs r3, #255
+ 5146 006a 2385 strh r3, [r4, #40]
+ 5147 .LVL427:
+2770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5148 .loc 1 2770 0
+ 5149 006c 8023 movs r3, #128
+ 5150 006e 5B04 lsls r3, r3, #17
+ 5151 0070 9946 mov r9, r3
+ 5152 .LVL428:
+ 5153 .L354:
+2779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5154 .loc 1 2779 0
+ 5155 0072 0190 str r0, [sp, #4]
+ 5156 0074 1923 movs r3, #25
+ 5157 0076 0093 str r3, [sp]
+ 5158 0078 059B ldr r3, [sp, #20]
+ 5159 007a 049A ldr r2, [sp, #16]
+ 5160 007c 0399 ldr r1, [sp, #12]
+ 5161 007e 2000 movs r0, r4
+ 5162 .LVL429:
+ 5163 0080 FFF7FEFF bl I2C_RequestMemoryWrite
+ 5164 .LVL430:
+ 5165 0084 0028 cmp r0, #0
+ 5166 0086 2ED1 bne .L363
+2787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5167 .loc 1 2787 0
+ 5168 0088 A36B ldr r3, [r4, #56]
+ 5169 008a 002B cmp r3, #0
+ 5170 008c 30D0 beq .L356
+2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5171 .loc 1 2790 0
+ 5172 008e 344A ldr r2, .L365+8
+ 5173 0090 9A62 str r2, [r3, #40]
+2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5174 .loc 1 2793 0
+ 5175 0092 A36B ldr r3, [r4, #56]
+ 5176 0094 334A ldr r2, .L365+12
+ 5177 0096 1A63 str r2, [r3, #48]
+2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+ 5178 .loc 1 2796 0
+ 5179 0098 A26B ldr r2, [r4, #56]
+ 5180 009a 0023 movs r3, #0
+ ARM GAS /tmp/ccskJbbb.s page 219
+
+
+ 5181 009c D362 str r3, [r2, #44]
+2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5182 .loc 1 2797 0
+ 5183 009e A26B ldr r2, [r4, #56]
+ 5184 00a0 5363 str r3, [r2, #52]
+2800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5185 .loc 1 2800 0
+ 5186 00a2 2268 ldr r2, [r4]
+ 5187 00a4 2832 adds r2, r2, #40
+ 5188 00a6 238D ldrh r3, [r4, #40]
+ 5189 00a8 3100 movs r1, r6
+ 5190 00aa A06B ldr r0, [r4, #56]
+ 5191 00ac FFF7FEFF bl HAL_DMA_Start_IT
+ 5192 .LVL431:
+ 5193 00b0 061E subs r6, r0, #0
+ 5194 .LVL432:
+2817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5195 .loc 1 2817 0
+ 5196 00b2 2BD0 beq .L364
+2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 5197 .loc 1 2841 0
+ 5198 00b4 4123 movs r3, #65
+ 5199 00b6 2022 movs r2, #32
+ 5200 00b8 E254 strb r2, [r4, r3]
+2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5201 .loc 1 2842 0
+ 5202 00ba 0022 movs r2, #0
+ 5203 00bc 0133 adds r3, r3, #1
+ 5204 00be E254 strb r2, [r4, r3]
+2845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5205 .loc 1 2845 0
+ 5206 00c0 636C ldr r3, [r4, #68]
+ 5207 00c2 1021 movs r1, #16
+ 5208 00c4 0B43 orrs r3, r1
+ 5209 00c6 6364 str r3, [r4, #68]
+2848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5210 .loc 1 2848 0
+ 5211 00c8 4023 movs r3, #64
+ 5212 00ca E254 strb r2, [r4, r3]
+2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5213 .loc 1 2850 0
+ 5214 00cc 0126 movs r6, #1
+ 5215 00ce 39E0 b .L350
+ 5216 .LVL433:
+ 5217 .L351:
+2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 5218 .loc 1 2742 0
+ 5219 00d0 8023 movs r3, #128
+ 5220 00d2 9B00 lsls r3, r3, #2
+ 5221 00d4 6364 str r3, [r4, #68]
+2743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5222 .loc 1 2743 0
+ 5223 00d6 0126 movs r6, #1
+ 5224 00d8 34E0 b .L350
+ 5225 .LVL434:
+ 5226 .L353:
+2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ ARM GAS /tmp/ccskJbbb.s page 220
+
+
+ 5227 .loc 1 2774 0
+ 5228 00da 638D ldrh r3, [r4, #42]
+ 5229 00dc 2385 strh r3, [r4, #40]
+ 5230 .LVL435:
+2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5231 .loc 1 2775 0
+ 5232 00de 8023 movs r3, #128
+ 5233 00e0 9B04 lsls r3, r3, #18
+ 5234 00e2 9946 mov r9, r3
+ 5235 00e4 C5E7 b .L354
+ 5236 .LVL436:
+ 5237 .L363:
+2782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 5238 .loc 1 2782 0
+ 5239 00e6 4023 movs r3, #64
+ 5240 00e8 0022 movs r2, #0
+ 5241 00ea E254 strb r2, [r4, r3]
+2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5242 .loc 1 2783 0
+ 5243 00ec 0126 movs r6, #1
+ 5244 00ee 29E0 b .L350
+ 5245 .L356:
+2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 5246 .loc 1 2805 0
+ 5247 00f0 4123 movs r3, #65
+ 5248 00f2 2022 movs r2, #32
+ 5249 00f4 E254 strb r2, [r4, r3]
+2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5250 .loc 1 2806 0
+ 5251 00f6 0022 movs r2, #0
+ 5252 00f8 0133 adds r3, r3, #1
+ 5253 00fa E254 strb r2, [r4, r3]
+2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5254 .loc 1 2809 0
+ 5255 00fc 636C ldr r3, [r4, #68]
+ 5256 00fe 8021 movs r1, #128
+ 5257 0100 0B43 orrs r3, r1
+ 5258 0102 6364 str r3, [r4, #68]
+2812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5259 .loc 1 2812 0
+ 5260 0104 4023 movs r3, #64
+ 5261 0106 E254 strb r2, [r4, r3]
+2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5262 .loc 1 2814 0
+ 5263 0108 0126 movs r6, #1
+ 5264 010a 1BE0 b .L350
+ 5265 .LVL437:
+ 5266 .L364:
+2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5267 .loc 1 2821 0
+ 5268 010c 228D ldrh r2, [r4, #40]
+ 5269 010e D2B2 uxtb r2, r2
+ 5270 0110 0027 movs r7, #0
+ 5271 0112 0097 str r7, [sp]
+ 5272 0114 4B46 mov r3, r9
+ 5273 0116 0399 ldr r1, [sp, #12]
+ 5274 0118 2000 movs r0, r4
+ ARM GAS /tmp/ccskJbbb.s page 221
+
+
+ 5275 .LVL438:
+ 5276 011a FFF7FEFF bl I2C_TransferConfig
+ 5277 .LVL439:
+2824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5278 .loc 1 2824 0
+ 5279 011e 638D ldrh r3, [r4, #42]
+ 5280 0120 228D ldrh r2, [r4, #40]
+ 5281 0122 9B1A subs r3, r3, r2
+ 5282 0124 9BB2 uxth r3, r3
+ 5283 0126 6385 strh r3, [r4, #42]
+2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5284 .loc 1 2827 0
+ 5285 0128 4023 movs r3, #64
+ 5286 012a E754 strb r7, [r4, r3]
+2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5287 .loc 1 2833 0
+ 5288 012c 1121 movs r1, #17
+ 5289 012e 2000 movs r0, r4
+ 5290 0130 FFF7FEFF bl I2C_Enable_IRQ
+ 5291 .LVL440:
+2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5292 .loc 1 2836 0
+ 5293 0134 2268 ldr r2, [r4]
+ 5294 0136 1168 ldr r1, [r2]
+ 5295 0138 8023 movs r3, #128
+ 5296 013a DB01 lsls r3, r3, #7
+ 5297 013c 0B43 orrs r3, r1
+ 5298 013e 1360 str r3, [r2]
+2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5299 .loc 1 2853 0
+ 5300 0140 00E0 b .L350
+ 5301 .LVL441:
+ 5302 .L359:
+2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5303 .loc 1 2857 0
+ 5304 0142 0226 movs r6, #2
+ 5305 .LVL442:
+ 5306 .L350:
+2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5307 .loc 1 2859 0
+ 5308 0144 3000 movs r0, r6
+ 5309 0146 06B0 add sp, sp, #24
+ 5310 @ sp needed
+ 5311 .LVL443:
+ 5312 0148 04BC pop {r2}
+ 5313 014a 9146 mov r9, r2
+ 5314 014c F0BD pop {r4, r5, r6, r7, pc}
+ 5315 .LVL444:
+ 5316 .L360:
+2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5317 .loc 1 2748 0
+ 5318 014e 0226 movs r6, #2
+ 5319 0150 F8E7 b .L350
+ 5320 .L361:
+2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5321 .loc 1 2752 0
+ 5322 0152 0226 movs r6, #2
+ ARM GAS /tmp/ccskJbbb.s page 222
+
+
+ 5323 0154 F6E7 b .L350
+ 5324 .L366:
+ 5325 0156 C046 .align 2
+ 5326 .L365:
+ 5327 0158 0000FFFF .word -65536
+ 5328 015c 00000000 .word I2C_Master_ISR_DMA
+ 5329 0160 00000000 .word I2C_DMAMasterTransmitCplt
+ 5330 0164 00000000 .word I2C_DMAError
+ 5331 .cfi_endproc
+ 5332 .LFE60:
+ 5334 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
+ 5335 .align 1
+ 5336 .global HAL_I2C_Mem_Read_DMA
+ 5337 .syntax unified
+ 5338 .code 16
+ 5339 .thumb_func
+ 5340 .fpu softvfp
+ 5342 HAL_I2C_Mem_Read_DMA:
+ 5343 .LFB61:
+2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 5344 .loc 1 2874 0
+ 5345 .cfi_startproc
+ 5346 @ args = 8, pretend = 0, frame = 16
+ 5347 @ frame_needed = 0, uses_anonymous_args = 0
+ 5348 .LVL445:
+ 5349 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 5350 .LCFI44:
+ 5351 .cfi_def_cfa_offset 20
+ 5352 .cfi_offset 4, -20
+ 5353 .cfi_offset 5, -16
+ 5354 .cfi_offset 6, -12
+ 5355 .cfi_offset 7, -8
+ 5356 .cfi_offset 14, -4
+ 5357 0002 CE46 mov lr, r9
+ 5358 0004 00B5 push {lr}
+ 5359 .LCFI45:
+ 5360 .cfi_def_cfa_offset 24
+ 5361 .cfi_offset 9, -24
+ 5362 0006 86B0 sub sp, sp, #24
+ 5363 .LCFI46:
+ 5364 .cfi_def_cfa_offset 48
+ 5365 0008 0400 movs r4, r0
+ 5366 000a 0391 str r1, [sp, #12]
+ 5367 000c 0492 str r2, [sp, #16]
+ 5368 000e 0593 str r3, [sp, #20]
+ 5369 0010 0CAB add r3, sp, #48
+ 5370 .LVL446:
+ 5371 0012 40CB ldmia r3!, {r6}
+ 5372 .LVL447:
+ 5373 0014 1F88 ldrh r7, [r3]
+2882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5374 .loc 1 2882 0
+ 5375 0016 4123 movs r3, #65
+ 5376 .LVL448:
+ 5377 0018 C35C ldrb r3, [r0, r3]
+ 5378 001a 202B cmp r3, #32
+ 5379 001c 00D0 beq .LCB5451
+ ARM GAS /tmp/ccskJbbb.s page 223
+
+
+ 5380 001e 91E0 b .L377 @long jump
+ 5381 .LCB5451:
+2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5382 .loc 1 2884 0
+ 5383 0020 002E cmp r6, #0
+ 5384 0022 55D0 beq .L369
+2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5385 .loc 1 2884 0 is_stmt 0 discriminator 1
+ 5386 0024 002F cmp r7, #0
+ 5387 0026 53D0 beq .L369
+2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5388 .loc 1 2890 0 is_stmt 1
+ 5389 0028 0368 ldr r3, [r0]
+ 5390 002a 9B69 ldr r3, [r3, #24]
+ 5391 002c 1B04 lsls r3, r3, #16
+ 5392 002e 00D5 bpl .LCB5461
+ 5393 0030 8EE0 b .L378 @long jump
+ 5394 .LCB5461:
+2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5395 .loc 1 2896 0
+ 5396 0032 4023 movs r3, #64
+ 5397 0034 C35C ldrb r3, [r0, r3]
+ 5398 0036 012B cmp r3, #1
+ 5399 0038 00D1 bne .LCB5465
+ 5400 003a 8BE0 b .L379 @long jump
+ 5401 .LCB5465:
+2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5402 .loc 1 2896 0 is_stmt 0 discriminator 2
+ 5403 003c 4025 movs r5, #64
+ 5404 003e 0123 movs r3, #1
+ 5405 0040 4355 strb r3, [r0, r5]
+2899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5406 .loc 1 2899 0 is_stmt 1 discriminator 2
+ 5407 0042 FFF7FEFF bl HAL_GetTick
+ 5408 .LVL449:
+2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 5409 .loc 1 2901 0 discriminator 2
+ 5410 0046 4123 movs r3, #65
+ 5411 0048 2222 movs r2, #34
+ 5412 004a E254 strb r2, [r4, r3]
+2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 5413 .loc 1 2902 0 discriminator 2
+ 5414 004c 0133 adds r3, r3, #1
+ 5415 004e E554 strb r5, [r4, r3]
+2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5416 .loc 1 2903 0 discriminator 2
+ 5417 0050 0023 movs r3, #0
+ 5418 0052 6364 str r3, [r4, #68]
+2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 5419 .loc 1 2906 0 discriminator 2
+ 5420 0054 6662 str r6, [r4, #36]
+2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 5421 .loc 1 2907 0 discriminator 2
+ 5422 0056 6785 strh r7, [r4, #42]
+2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ 5423 .loc 1 2908 0 discriminator 2
+ 5424 0058 3F4B ldr r3, .L383
+ ARM GAS /tmp/ccskJbbb.s page 224
+
+
+ 5425 005a E362 str r3, [r4, #44]
+2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5426 .loc 1 2909 0 discriminator 2
+ 5427 005c 3F4B ldr r3, .L383+4
+ 5428 005e 6363 str r3, [r4, #52]
+2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5429 .loc 1 2911 0 discriminator 2
+ 5430 0060 638D ldrh r3, [r4, #42]
+ 5431 0062 9BB2 uxth r3, r3
+ 5432 0064 FF2B cmp r3, #255
+ 5433 0066 38D9 bls .L371
+2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 5434 .loc 1 2913 0
+ 5435 0068 FF23 movs r3, #255
+ 5436 006a 2385 strh r3, [r4, #40]
+ 5437 .LVL450:
+2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5438 .loc 1 2914 0
+ 5439 006c 8023 movs r3, #128
+ 5440 006e 5B04 lsls r3, r3, #17
+ 5441 0070 9946 mov r9, r3
+ 5442 .LVL451:
+ 5443 .L372:
+2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5444 .loc 1 2923 0
+ 5445 0072 0190 str r0, [sp, #4]
+ 5446 0074 1923 movs r3, #25
+ 5447 0076 0093 str r3, [sp]
+ 5448 0078 059B ldr r3, [sp, #20]
+ 5449 007a 049A ldr r2, [sp, #16]
+ 5450 007c 0399 ldr r1, [sp, #12]
+ 5451 007e 2000 movs r0, r4
+ 5452 .LVL452:
+ 5453 0080 FFF7FEFF bl I2C_RequestMemoryRead
+ 5454 .LVL453:
+ 5455 0084 0028 cmp r0, #0
+ 5456 0086 2ED1 bne .L381
+2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5457 .loc 1 2930 0
+ 5458 0088 E36B ldr r3, [r4, #60]
+ 5459 008a 002B cmp r3, #0
+ 5460 008c 30D0 beq .L374
+2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5461 .loc 1 2933 0
+ 5462 008e 344A ldr r2, .L383+8
+ 5463 0090 9A62 str r2, [r3, #40]
+2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5464 .loc 1 2936 0
+ 5465 0092 E36B ldr r3, [r4, #60]
+ 5466 0094 334A ldr r2, .L383+12
+ 5467 0096 1A63 str r2, [r3, #48]
+2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 5468 .loc 1 2939 0
+ 5469 0098 E26B ldr r2, [r4, #60]
+ 5470 009a 0023 movs r3, #0
+ 5471 009c D362 str r3, [r2, #44]
+2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 225
+
+
+ 5472 .loc 1 2940 0
+ 5473 009e E26B ldr r2, [r4, #60]
+ 5474 00a0 5363 str r3, [r2, #52]
+2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5475 .loc 1 2943 0
+ 5476 00a2 2168 ldr r1, [r4]
+ 5477 00a4 2431 adds r1, r1, #36
+ 5478 00a6 238D ldrh r3, [r4, #40]
+ 5479 00a8 3200 movs r2, r6
+ 5480 00aa E06B ldr r0, [r4, #60]
+ 5481 00ac FFF7FEFF bl HAL_DMA_Start_IT
+ 5482 .LVL454:
+ 5483 00b0 061E subs r6, r0, #0
+ 5484 .LVL455:
+2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5485 .loc 1 2960 0
+ 5486 00b2 2BD0 beq .L382
+2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 5487 .loc 1 2983 0
+ 5488 00b4 4123 movs r3, #65
+ 5489 00b6 2022 movs r2, #32
+ 5490 00b8 E254 strb r2, [r4, r3]
+2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5491 .loc 1 2984 0
+ 5492 00ba 0022 movs r2, #0
+ 5493 00bc 0133 adds r3, r3, #1
+ 5494 00be E254 strb r2, [r4, r3]
+2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5495 .loc 1 2987 0
+ 5496 00c0 636C ldr r3, [r4, #68]
+ 5497 00c2 1021 movs r1, #16
+ 5498 00c4 0B43 orrs r3, r1
+ 5499 00c6 6364 str r3, [r4, #68]
+2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5500 .loc 1 2990 0
+ 5501 00c8 4023 movs r3, #64
+ 5502 00ca E254 strb r2, [r4, r3]
+2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5503 .loc 1 2992 0
+ 5504 00cc 0126 movs r6, #1
+ 5505 00ce 3AE0 b .L368
+ 5506 .LVL456:
+ 5507 .L369:
+2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 5508 .loc 1 2886 0
+ 5509 00d0 8023 movs r3, #128
+ 5510 00d2 9B00 lsls r3, r3, #2
+ 5511 00d4 6364 str r3, [r4, #68]
+2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5512 .loc 1 2887 0
+ 5513 00d6 0126 movs r6, #1
+ 5514 00d8 35E0 b .L368
+ 5515 .LVL457:
+ 5516 .L371:
+2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 5517 .loc 1 2918 0
+ 5518 00da 638D ldrh r3, [r4, #42]
+ ARM GAS /tmp/ccskJbbb.s page 226
+
+
+ 5519 00dc 2385 strh r3, [r4, #40]
+ 5520 .LVL458:
+2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5521 .loc 1 2919 0
+ 5522 00de 8023 movs r3, #128
+ 5523 00e0 9B04 lsls r3, r3, #18
+ 5524 00e2 9946 mov r9, r3
+ 5525 00e4 C5E7 b .L372
+ 5526 .LVL459:
+ 5527 .L381:
+2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 5528 .loc 1 2926 0
+ 5529 00e6 4023 movs r3, #64
+ 5530 00e8 0022 movs r2, #0
+ 5531 00ea E254 strb r2, [r4, r3]
+2927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5532 .loc 1 2927 0
+ 5533 00ec 0126 movs r6, #1
+ 5534 00ee 2AE0 b .L368
+ 5535 .L374:
+2948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 5536 .loc 1 2948 0
+ 5537 00f0 4123 movs r3, #65
+ 5538 00f2 2022 movs r2, #32
+ 5539 00f4 E254 strb r2, [r4, r3]
+2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5540 .loc 1 2949 0
+ 5541 00f6 0022 movs r2, #0
+ 5542 00f8 0133 adds r3, r3, #1
+ 5543 00fa E254 strb r2, [r4, r3]
+2952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5544 .loc 1 2952 0
+ 5545 00fc 636C ldr r3, [r4, #68]
+ 5546 00fe 8021 movs r1, #128
+ 5547 0100 0B43 orrs r3, r1
+ 5548 0102 6364 str r3, [r4, #68]
+2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5549 .loc 1 2955 0
+ 5550 0104 4023 movs r3, #64
+ 5551 0106 E254 strb r2, [r4, r3]
+2957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5552 .loc 1 2957 0
+ 5553 0108 0126 movs r6, #1
+ 5554 010a 1CE0 b .L368
+ 5555 .LVL460:
+ 5556 .L382:
+2963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5557 .loc 1 2963 0
+ 5558 010c 228D ldrh r2, [r4, #40]
+ 5559 010e D2B2 uxtb r2, r2
+ 5560 0110 154B ldr r3, .L383+16
+ 5561 0112 0093 str r3, [sp]
+ 5562 0114 4B46 mov r3, r9
+ 5563 0116 0399 ldr r1, [sp, #12]
+ 5564 0118 2000 movs r0, r4
+ 5565 .LVL461:
+ 5566 011a FFF7FEFF bl I2C_TransferConfig
+ ARM GAS /tmp/ccskJbbb.s page 227
+
+
+ 5567 .LVL462:
+2966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5568 .loc 1 2966 0
+ 5569 011e 638D ldrh r3, [r4, #42]
+ 5570 0120 228D ldrh r2, [r4, #40]
+ 5571 0122 9B1A subs r3, r3, r2
+ 5572 0124 9BB2 uxth r3, r3
+ 5573 0126 6385 strh r3, [r4, #42]
+2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5574 .loc 1 2969 0
+ 5575 0128 4023 movs r3, #64
+ 5576 012a 0022 movs r2, #0
+ 5577 012c E254 strb r2, [r4, r3]
+2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5578 .loc 1 2975 0
+ 5579 012e 1121 movs r1, #17
+ 5580 0130 2000 movs r0, r4
+ 5581 0132 FFF7FEFF bl I2C_Enable_IRQ
+ 5582 .LVL463:
+2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5583 .loc 1 2978 0
+ 5584 0136 2268 ldr r2, [r4]
+ 5585 0138 1168 ldr r1, [r2]
+ 5586 013a 8023 movs r3, #128
+ 5587 013c 1B02 lsls r3, r3, #8
+ 5588 013e 0B43 orrs r3, r1
+ 5589 0140 1360 str r3, [r2]
+2995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5590 .loc 1 2995 0
+ 5591 0142 00E0 b .L368
+ 5592 .LVL464:
+ 5593 .L377:
+2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5594 .loc 1 2999 0
+ 5595 0144 0226 movs r6, #2
+ 5596 .LVL465:
+ 5597 .L368:
+3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5598 .loc 1 3001 0
+ 5599 0146 3000 movs r0, r6
+ 5600 0148 06B0 add sp, sp, #24
+ 5601 @ sp needed
+ 5602 .LVL466:
+ 5603 014a 04BC pop {r2}
+ 5604 014c 9146 mov r9, r2
+ 5605 014e F0BD pop {r4, r5, r6, r7, pc}
+ 5606 .LVL467:
+ 5607 .L378:
+2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5608 .loc 1 2892 0
+ 5609 0150 0226 movs r6, #2
+ 5610 0152 F8E7 b .L368
+ 5611 .L379:
+2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5612 .loc 1 2896 0
+ 5613 0154 0226 movs r6, #2
+ 5614 0156 F6E7 b .L368
+ ARM GAS /tmp/ccskJbbb.s page 228
+
+
+ 5615 .L384:
+ 5616 .align 2
+ 5617 .L383:
+ 5618 0158 0000FFFF .word -65536
+ 5619 015c 00000000 .word I2C_Master_ISR_DMA
+ 5620 0160 00000000 .word I2C_DMAMasterReceiveCplt
+ 5621 0164 00000000 .word I2C_DMAError
+ 5622 0168 00240080 .word -2147474432
+ 5623 .cfi_endproc
+ 5624 .LFE61:
+ 5626 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits
+ 5627 .align 1
+ 5628 .global HAL_I2C_IsDeviceReady
+ 5629 .syntax unified
+ 5630 .code 16
+ 5631 .thumb_func
+ 5632 .fpu softvfp
+ 5634 HAL_I2C_IsDeviceReady:
+ 5635 .LFB62:
+3015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 5636 .loc 1 3015 0
+ 5637 .cfi_startproc
+ 5638 @ args = 0, pretend = 0, frame = 16
+ 5639 @ frame_needed = 0, uses_anonymous_args = 0
+ 5640 .LVL468:
+ 5641 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 5642 .LCFI47:
+ 5643 .cfi_def_cfa_offset 20
+ 5644 .cfi_offset 4, -20
+ 5645 .cfi_offset 5, -16
+ 5646 .cfi_offset 6, -12
+ 5647 .cfi_offset 7, -8
+ 5648 .cfi_offset 14, -4
+ 5649 0002 87B0 sub sp, sp, #28
+ 5650 .LCFI48:
+ 5651 .cfi_def_cfa_offset 48
+ 5652 0004 0600 movs r6, r0
+ 5653 0006 0391 str r1, [sp, #12]
+ 5654 0008 1500 movs r5, r2
+ 5655 000a 1F00 movs r7, r3
+3018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5656 .loc 1 3018 0
+ 5657 000c 0023 movs r3, #0
+ 5658 .LVL469:
+ 5659 000e 0593 str r3, [sp, #20]
+3023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5660 .loc 1 3023 0
+ 5661 0010 4133 adds r3, r3, #65
+ 5662 0012 C35C ldrb r3, [r0, r3]
+ 5663 0014 202B cmp r3, #32
+ 5664 0016 00D0 beq .LCB5741
+ 5665 0018 A2E0 b .L396 @long jump
+ 5666 .LCB5741:
+3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5667 .loc 1 3025 0
+ 5668 001a 0368 ldr r3, [r0]
+ 5669 001c 9B69 ldr r3, [r3, #24]
+ ARM GAS /tmp/ccskJbbb.s page 229
+
+
+ 5670 001e 1B04 lsls r3, r3, #16
+ 5671 0020 00D5 bpl .LCB5747
+ 5672 0022 A0E0 b .L397 @long jump
+ 5673 .LCB5747:
+3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5674 .loc 1 3031 0
+ 5675 0024 4023 movs r3, #64
+ 5676 0026 C35C ldrb r3, [r0, r3]
+ 5677 0028 012B cmp r3, #1
+ 5678 002a 00D1 bne .LCB5751
+ 5679 002c 9DE0 b .L398 @long jump
+ 5680 .LCB5751:
+3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5681 .loc 1 3031 0 is_stmt 0 discriminator 2
+ 5682 002e 4023 movs r3, #64
+ 5683 0030 0122 movs r2, #1
+ 5684 .LVL470:
+ 5685 0032 C254 strb r2, [r0, r3]
+3033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 5686 .loc 1 3033 0 is_stmt 1 discriminator 2
+ 5687 0034 0133 adds r3, r3, #1
+ 5688 0036 2332 adds r2, r2, #35
+ 5689 0038 C254 strb r2, [r0, r3]
+3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5690 .loc 1 3034 0 discriminator 2
+ 5691 003a 0023 movs r3, #0
+ 5692 003c 4364 str r3, [r0, #68]
+ 5693 .LVL471:
+ 5694 .L395:
+3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5695 .loc 1 3039 0
+ 5696 003e F368 ldr r3, [r6, #12]
+ 5697 0040 012B cmp r3, #1
+ 5698 0042 18D0 beq .L402
+3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5699 .loc 1 3039 0 is_stmt 0 discriminator 2
+ 5700 0044 039B ldr r3, [sp, #12]
+ 5701 0046 9A05 lsls r2, r3, #22
+ 5702 0048 920D lsrs r2, r2, #22
+ 5703 004a A023 movs r3, #160
+ 5704 004c 9B01 lsls r3, r3, #6
+ 5705 004e 1343 orrs r3, r2
+ 5706 .L388:
+3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5707 .loc 1 3039 0 discriminator 4
+ 5708 0050 3268 ldr r2, [r6]
+ 5709 0052 5360 str r3, [r2, #4]
+3043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5710 .loc 1 3043 0 is_stmt 1 discriminator 4
+ 5711 0054 FFF7FEFF bl HAL_GetTick
+ 5712 .LVL472:
+ 5713 0058 0400 movs r4, r0
+ 5714 .LVL473:
+3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
+ 5715 .loc 1 3045 0 discriminator 4
+ 5716 005a 3268 ldr r2, [r6]
+ 5717 005c 9169 ldr r1, [r2, #24]
+ ARM GAS /tmp/ccskJbbb.s page 230
+
+
+ 5718 005e 2023 movs r3, #32
+ 5719 0060 0B40 ands r3, r1
+ 5720 0062 591E subs r1, r3, #1
+ 5721 0064 8B41 sbcs r3, r3, r1
+ 5722 0066 D9B2 uxtb r1, r3
+ 5723 .LVL474:
+3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5724 .loc 1 3046 0 discriminator 4
+ 5725 0068 9369 ldr r3, [r2, #24]
+ 5726 006a 1022 movs r2, #16
+ 5727 006c 1A40 ands r2, r3
+ 5728 006e 531E subs r3, r2, #1
+ 5729 0070 9A41 sbcs r2, r2, r3
+ 5730 0072 D3B2 uxtb r3, r2
+ 5731 .LVL475:
+3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5732 .loc 1 3048 0 discriminator 4
+ 5733 0074 12E0 b .L389
+ 5734 .LVL476:
+ 5735 .L402:
+3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5736 .loc 1 3039 0 discriminator 1
+ 5737 0076 039B ldr r3, [sp, #12]
+ 5738 0078 9A05 lsls r2, r3, #22
+ 5739 007a 920D lsrs r2, r2, #22
+ 5740 007c 3F4B ldr r3, .L406
+ 5741 007e 1343 orrs r3, r2
+ 5742 0080 E6E7 b .L388
+ 5743 .LVL477:
+ 5744 .L390:
+3067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
+ 5745 .loc 1 3067 0
+ 5746 0082 3268 ldr r2, [r6]
+ 5747 0084 9169 ldr r1, [r2, #24]
+ 5748 0086 2023 movs r3, #32
+ 5749 0088 0B40 ands r3, r1
+ 5750 008a 591E subs r1, r3, #1
+ 5751 008c 8B41 sbcs r3, r3, r1
+ 5752 008e D9B2 uxtb r1, r3
+ 5753 .LVL478:
+3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5754 .loc 1 3068 0
+ 5755 0090 9269 ldr r2, [r2, #24]
+ 5756 0092 1023 movs r3, #16
+ 5757 0094 1340 ands r3, r2
+ 5758 0096 5A1E subs r2, r3, #1
+ 5759 0098 9341 sbcs r3, r3, r2
+ 5760 009a DBB2 uxtb r3, r3
+ 5761 .LVL479:
+ 5762 .L389:
+3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5763 .loc 1 3048 0
+ 5764 009c 0B43 orrs r3, r1
+ 5765 .LVL480:
+ 5766 009e 13D1 bne .L403
+3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5767 .loc 1 3050 0
+ ARM GAS /tmp/ccskJbbb.s page 231
+
+
+ 5768 00a0 7B1C adds r3, r7, #1
+ 5769 00a2 EED0 beq .L390
+3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5770 .loc 1 3052 0
+ 5771 00a4 FFF7FEFF bl HAL_GetTick
+ 5772 .LVL481:
+ 5773 00a8 001B subs r0, r0, r4
+ 5774 00aa B842 cmp r0, r7
+ 5775 00ac 01D8 bhi .L391
+3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5776 .loc 1 3052 0 is_stmt 0 discriminator 1
+ 5777 00ae 002F cmp r7, #0
+ 5778 00b0 E7D1 bne .L390
+ 5779 .L391:
+3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5780 .loc 1 3055 0 is_stmt 1
+ 5781 00b2 2022 movs r2, #32
+ 5782 00b4 4123 movs r3, #65
+ 5783 00b6 F254 strb r2, [r6, r3]
+3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5784 .loc 1 3058 0
+ 5785 00b8 736C ldr r3, [r6, #68]
+ 5786 00ba 1343 orrs r3, r2
+ 5787 00bc 7364 str r3, [r6, #68]
+3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5788 .loc 1 3061 0
+ 5789 00be 4023 movs r3, #64
+ 5790 00c0 0022 movs r2, #0
+ 5791 00c2 F254 strb r2, [r6, r3]
+3063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5792 .loc 1 3063 0
+ 5793 00c4 0120 movs r0, #1
+ 5794 00c6 4CE0 b .L386
+ 5795 .LVL482:
+ 5796 .L403:
+3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5797 .loc 1 3072 0
+ 5798 00c8 3368 ldr r3, [r6]
+ 5799 00ca 9B69 ldr r3, [r3, #24]
+ 5800 00cc DB06 lsls r3, r3, #27
+ 5801 00ce 22D5 bpl .L404
+3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5802 .loc 1 3094 0
+ 5803 00d0 0094 str r4, [sp]
+ 5804 00d2 3B00 movs r3, r7
+ 5805 00d4 0022 movs r2, #0
+ 5806 00d6 2021 movs r1, #32
+ 5807 .LVL483:
+ 5808 00d8 3000 movs r0, r6
+ 5809 00da FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 5810 .LVL484:
+ 5811 00de 0028 cmp r0, #0
+ 5812 00e0 47D1 bne .L400
+3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5813 .loc 1 3100 0
+ 5814 00e2 3368 ldr r3, [r6]
+ 5815 00e4 1022 movs r2, #16
+ ARM GAS /tmp/ccskJbbb.s page 232
+
+
+ 5816 00e6 DA61 str r2, [r3, #28]
+3103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5817 .loc 1 3103 0
+ 5818 00e8 3368 ldr r3, [r6]
+ 5819 00ea 1032 adds r2, r2, #16
+ 5820 00ec DA61 str r2, [r3, #28]
+3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5821 .loc 1 3107 0
+ 5822 00ee 059B ldr r3, [sp, #20]
+ 5823 00f0 AB42 cmp r3, r5
+ 5824 00f2 22D0 beq .L405
+ 5825 .L394:
+3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5826 .loc 1 3123 0
+ 5827 00f4 059B ldr r3, [sp, #20]
+ 5828 00f6 0133 adds r3, r3, #1
+ 5829 00f8 0593 str r3, [sp, #20]
+3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5830 .loc 1 3125 0
+ 5831 00fa 059B ldr r3, [sp, #20]
+ 5832 00fc AB42 cmp r3, r5
+ 5833 00fe 9ED3 bcc .L395
+3128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5834 .loc 1 3128 0
+ 5835 0100 2022 movs r2, #32
+ 5836 0102 4123 movs r3, #65
+ 5837 0104 F254 strb r2, [r6, r3]
+3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5838 .loc 1 3131 0
+ 5839 0106 736C ldr r3, [r6, #68]
+ 5840 0108 1343 orrs r3, r2
+ 5841 010a 7364 str r3, [r6, #68]
+3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5842 .loc 1 3134 0
+ 5843 010c 4023 movs r3, #64
+ 5844 010e 0022 movs r2, #0
+ 5845 0110 F254 strb r2, [r6, r3]
+3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5846 .loc 1 3136 0
+ 5847 0112 0120 movs r0, #1
+ 5848 0114 25E0 b .L386
+ 5849 .LVL485:
+ 5850 .L404:
+3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5851 .loc 1 3075 0
+ 5852 0116 0094 str r4, [sp]
+ 5853 0118 3B00 movs r3, r7
+ 5854 011a 0022 movs r2, #0
+ 5855 011c 2021 movs r1, #32
+ 5856 .LVL486:
+ 5857 011e 3000 movs r0, r6
+ 5858 0120 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 5859 .LVL487:
+ 5860 0124 0028 cmp r0, #0
+ 5861 0126 22D1 bne .L399
+3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5862 .loc 1 3081 0
+ ARM GAS /tmp/ccskJbbb.s page 233
+
+
+ 5863 0128 3268 ldr r2, [r6]
+ 5864 012a 2023 movs r3, #32
+ 5865 012c D361 str r3, [r2, #28]
+3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5866 .loc 1 3084 0
+ 5867 012e 4122 movs r2, #65
+ 5868 0130 B354 strb r3, [r6, r2]
+3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5869 .loc 1 3087 0
+ 5870 0132 2033 adds r3, r3, #32
+ 5871 0134 0022 movs r2, #0
+ 5872 0136 F254 strb r2, [r6, r3]
+3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5873 .loc 1 3089 0
+ 5874 0138 13E0 b .L386
+ 5875 .L405:
+3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5876 .loc 1 3110 0
+ 5877 013a 3268 ldr r2, [r6]
+ 5878 013c 5168 ldr r1, [r2, #4]
+ 5879 013e 8023 movs r3, #128
+ 5880 0140 DB01 lsls r3, r3, #7
+ 5881 0142 0B43 orrs r3, r1
+ 5882 0144 5360 str r3, [r2, #4]
+3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5883 .loc 1 3113 0
+ 5884 0146 0094 str r4, [sp]
+ 5885 0148 3B00 movs r3, r7
+ 5886 014a 0022 movs r2, #0
+ 5887 014c 2021 movs r1, #32
+ 5888 014e 3000 movs r0, r6
+ 5889 0150 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 5890 .LVL488:
+ 5891 0154 0028 cmp r0, #0
+ 5892 0156 0ED1 bne .L401
+3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5893 .loc 1 3119 0
+ 5894 0158 3368 ldr r3, [r6]
+ 5895 015a 2022 movs r2, #32
+ 5896 015c DA61 str r2, [r3, #28]
+ 5897 015e C9E7 b .L394
+ 5898 .LVL489:
+ 5899 .L396:
+3140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5900 .loc 1 3140 0
+ 5901 0160 0220 movs r0, #2
+ 5902 .LVL490:
+ 5903 .L386:
+3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5904 .loc 1 3142 0
+ 5905 0162 07B0 add sp, sp, #28
+ 5906 @ sp needed
+ 5907 .LVL491:
+ 5908 .LVL492:
+ 5909 .LVL493:
+ 5910 0164 F0BD pop {r4, r5, r6, r7, pc}
+ 5911 .LVL494:
+ ARM GAS /tmp/ccskJbbb.s page 234
+
+
+ 5912 .L397:
+3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5913 .loc 1 3027 0
+ 5914 0166 0220 movs r0, #2
+ 5915 .LVL495:
+ 5916 0168 FBE7 b .L386
+ 5917 .LVL496:
+ 5918 .L398:
+3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5919 .loc 1 3031 0
+ 5920 016a 0220 movs r0, #2
+ 5921 .LVL497:
+ 5922 016c F9E7 b .L386
+ 5923 .LVL498:
+ 5924 .L399:
+3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5925 .loc 1 3077 0
+ 5926 016e 0120 movs r0, #1
+ 5927 0170 F7E7 b .L386
+ 5928 .L400:
+3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5929 .loc 1 3096 0
+ 5930 0172 0120 movs r0, #1
+ 5931 0174 F5E7 b .L386
+ 5932 .L401:
+3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5933 .loc 1 3115 0
+ 5934 0176 0120 movs r0, #1
+ 5935 0178 F3E7 b .L386
+ 5936 .L407:
+ 5937 017a C046 .align 2
+ 5938 .L406:
+ 5939 017c 00200002 .word 33562624
+ 5940 .cfi_endproc
+ 5941 .LFE62:
+ 5943 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits
+ 5944 .align 1
+ 5945 .global HAL_I2C_Master_Seq_Transmit_IT
+ 5946 .syntax unified
+ 5947 .code 16
+ 5948 .thumb_func
+ 5949 .fpu softvfp
+ 5951 HAL_I2C_Master_Seq_Transmit_IT:
+ 5952 .LFB63:
+3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 5953 .loc 1 3157 0
+ 5954 .cfi_startproc
+ 5955 @ args = 4, pretend = 0, frame = 0
+ 5956 @ frame_needed = 0, uses_anonymous_args = 0
+ 5957 .LVL499:
+ 5958 0000 70B5 push {r4, r5, r6, lr}
+ 5959 .LCFI49:
+ 5960 .cfi_def_cfa_offset 16
+ 5961 .cfi_offset 4, -16
+ 5962 .cfi_offset 5, -12
+ 5963 .cfi_offset 6, -8
+ 5964 .cfi_offset 14, -4
+ ARM GAS /tmp/ccskJbbb.s page 235
+
+
+ 5965 0002 82B0 sub sp, sp, #8
+ 5966 .LCFI50:
+ 5967 .cfi_def_cfa_offset 24
+ 5968 0004 0400 movs r4, r0
+ 5969 0006 0D00 movs r5, r1
+ 5970 .LVL500:
+3164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5971 .loc 1 3164 0
+ 5972 0008 4121 movs r1, #65
+ 5973 .LVL501:
+ 5974 000a 415C ldrb r1, [r0, r1]
+ 5975 000c 2029 cmp r1, #32
+ 5976 000e 49D1 bne .L414
+3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5977 .loc 1 3167 0
+ 5978 0010 2031 adds r1, r1, #32
+ 5979 0012 415C ldrb r1, [r0, r1]
+ 5980 0014 0129 cmp r1, #1
+ 5981 0016 48D0 beq .L415
+3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5982 .loc 1 3167 0 is_stmt 0 discriminator 2
+ 5983 0018 4021 movs r1, #64
+ 5984 001a 0120 movs r0, #1
+ 5985 .LVL502:
+ 5986 001c 6054 strb r0, [r4, r1]
+3169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 5987 .loc 1 3169 0 is_stmt 1 discriminator 2
+ 5988 001e 0131 adds r1, r1, #1
+ 5989 0020 2030 adds r0, r0, #32
+ 5990 0022 6054 strb r0, [r4, r1]
+3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 5991 .loc 1 3170 0 discriminator 2
+ 5992 0024 0131 adds r1, r1, #1
+ 5993 0026 1138 subs r0, r0, #17
+ 5994 0028 6054 strb r0, [r4, r1]
+3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5995 .loc 1 3171 0 discriminator 2
+ 5996 002a 0021 movs r1, #0
+ 5997 002c 6164 str r1, [r4, #68]
+3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 5998 .loc 1 3174 0 discriminator 2
+ 5999 002e 6262 str r2, [r4, #36]
+3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 6000 .loc 1 3175 0 discriminator 2
+ 6001 0030 6385 strh r3, [r4, #42]
+3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 6002 .loc 1 3176 0 discriminator 2
+ 6003 0032 069B ldr r3, [sp, #24]
+ 6004 .LVL503:
+ 6005 0034 E362 str r3, [r4, #44]
+ 6006 .LVL504:
+3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6007 .loc 1 3177 0 discriminator 2
+ 6008 0036 1E4B ldr r3, .L418
+ 6009 0038 6363 str r3, [r4, #52]
+3180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6010 .loc 1 3180 0 discriminator 2
+ ARM GAS /tmp/ccskJbbb.s page 236
+
+
+ 6011 003a 638D ldrh r3, [r4, #42]
+ 6012 003c 9BB2 uxth r3, r3
+ 6013 003e FF2B cmp r3, #255
+ 6014 0040 10D9 bls .L410
+3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 6015 .loc 1 3182 0
+ 6016 0042 FF23 movs r3, #255
+ 6017 0044 2385 strh r3, [r4, #40]
+ 6018 .LVL505:
+3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6019 .loc 1 3183 0
+ 6020 0046 8026 movs r6, #128
+ 6021 0048 7604 lsls r6, r6, #17
+ 6022 .LVL506:
+ 6023 .L411:
+3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6024 .loc 1 3193 0
+ 6025 004a 236B ldr r3, [r4, #48]
+ 6026 004c 112B cmp r3, #17
+ 6027 004e 0DD1 bne .L412
+3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6028 .loc 1 3193 0 is_stmt 0 discriminator 1
+ 6029 0050 069B ldr r3, [sp, #24]
+ 6030 0052 AA2B cmp r3, #170
+ 6031 0054 0AD0 beq .L412
+3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6032 .loc 1 3193 0 discriminator 3
+ 6033 0056 AA23 movs r3, #170
+ 6034 0058 1B02 lsls r3, r3, #8
+ 6035 005a 069A ldr r2, [sp, #24]
+ 6036 .LVL507:
+ 6037 005c 9A42 cmp r2, r3
+ 6038 005e 05D0 beq .L412
+3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6039 .loc 1 3195 0 is_stmt 1
+ 6040 0060 0023 movs r3, #0
+ 6041 0062 0CE0 b .L413
+ 6042 .LVL508:
+ 6043 .L410:
+3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+ 6044 .loc 1 3187 0
+ 6045 0064 638D ldrh r3, [r4, #42]
+ 6046 0066 2385 strh r3, [r4, #40]
+3188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6047 .loc 1 3188 0
+ 6048 0068 E66A ldr r6, [r4, #44]
+ 6049 .LVL509:
+ 6050 006a EEE7 b .L411
+ 6051 .LVL510:
+ 6052 .L412:
+3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6053 .loc 1 3200 0
+ 6054 006c 2000 movs r0, r4
+ 6055 006e FFF7FEFF bl I2C_ConvertOtherXferOptions
+ 6056 .LVL511:
+3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6057 .loc 1 3203 0
+ ARM GAS /tmp/ccskJbbb.s page 237
+
+
+ 6058 0072 638D ldrh r3, [r4, #42]
+ 6059 0074 9BB2 uxth r3, r3
+ 6060 0076 FE2B cmp r3, #254
+ 6061 0078 12D8 bhi .L417
+3205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6062 .loc 1 3205 0
+ 6063 007a E66A ldr r6, [r4, #44]
+ 6064 .LVL512:
+3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6065 .loc 1 3159 0
+ 6066 007c 0D4B ldr r3, .L418+4
+ 6067 .L413:
+ 6068 .LVL513:
+3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6069 .loc 1 3210 0
+ 6070 007e 228D ldrh r2, [r4, #40]
+ 6071 0080 D2B2 uxtb r2, r2
+ 6072 0082 0093 str r3, [sp]
+ 6073 0084 3300 movs r3, r6
+ 6074 .LVL514:
+ 6075 0086 2900 movs r1, r5
+ 6076 0088 2000 movs r0, r4
+ 6077 008a FFF7FEFF bl I2C_TransferConfig
+ 6078 .LVL515:
+3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6079 .loc 1 3213 0
+ 6080 008e 4023 movs r3, #64
+ 6081 0090 0022 movs r2, #0
+ 6082 0092 E254 strb r2, [r4, r3]
+3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6083 .loc 1 3218 0
+ 6084 0094 0121 movs r1, #1
+ 6085 0096 2000 movs r0, r4
+ 6086 0098 FFF7FEFF bl I2C_Enable_IRQ
+ 6087 .LVL516:
+3220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6088 .loc 1 3220 0
+ 6089 009c 0020 movs r0, #0
+ 6090 009e 02E0 b .L409
+ 6091 .LVL517:
+ 6092 .L417:
+3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6093 .loc 1 3159 0
+ 6094 00a0 044B ldr r3, .L418+4
+ 6095 00a2 ECE7 b .L413
+ 6096 .LVL518:
+ 6097 .L414:
+3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6098 .loc 1 3224 0
+ 6099 00a4 0220 movs r0, #2
+ 6100 .LVL519:
+ 6101 .L409:
+3226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6102 .loc 1 3226 0
+ 6103 00a6 02B0 add sp, sp, #8
+ 6104 @ sp needed
+ 6105 .LVL520:
+ ARM GAS /tmp/ccskJbbb.s page 238
+
+
+ 6106 00a8 70BD pop {r4, r5, r6, pc}
+ 6107 .LVL521:
+ 6108 .L415:
+3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6109 .loc 1 3167 0
+ 6110 00aa 0220 movs r0, #2
+ 6111 .LVL522:
+ 6112 00ac FBE7 b .L409
+ 6113 .L419:
+ 6114 00ae C046 .align 2
+ 6115 .L418:
+ 6116 00b0 00000000 .word I2C_Master_ISR_IT
+ 6117 00b4 00200080 .word -2147475456
+ 6118 .cfi_endproc
+ 6119 .LFE63:
+ 6121 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits
+ 6122 .align 1
+ 6123 .global HAL_I2C_Master_Seq_Transmit_DMA
+ 6124 .syntax unified
+ 6125 .code 16
+ 6126 .thumb_func
+ 6127 .fpu softvfp
+ 6129 HAL_I2C_Master_Seq_Transmit_DMA:
+ 6130 .LFB64:
+3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 6131 .loc 1 3241 0
+ 6132 .cfi_startproc
+ 6133 @ args = 4, pretend = 0, frame = 8
+ 6134 @ frame_needed = 0, uses_anonymous_args = 0
+ 6135 .LVL523:
+ 6136 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 6137 .LCFI51:
+ 6138 .cfi_def_cfa_offset 20
+ 6139 .cfi_offset 4, -20
+ 6140 .cfi_offset 5, -16
+ 6141 .cfi_offset 6, -12
+ 6142 .cfi_offset 7, -8
+ 6143 .cfi_offset 14, -4
+ 6144 0002 85B0 sub sp, sp, #20
+ 6145 .LCFI52:
+ 6146 .cfi_def_cfa_offset 40
+ 6147 0004 0400 movs r4, r0
+ 6148 0006 0391 str r1, [sp, #12]
+ 6149 0008 1500 movs r5, r2
+ 6150 .LVL524:
+3249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6151 .loc 1 3249 0
+ 6152 000a 4122 movs r2, #65
+ 6153 .LVL525:
+ 6154 000c 825C ldrb r2, [r0, r2]
+ 6155 000e 202A cmp r2, #32
+ 6156 0010 00D0 beq .LCB6267
+ 6157 0012 9DE0 b .L430 @long jump
+ 6158 .LCB6267:
+3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6159 .loc 1 3252 0
+ 6160 0014 2032 adds r2, r2, #32
+ ARM GAS /tmp/ccskJbbb.s page 239
+
+
+ 6161 0016 825C ldrb r2, [r0, r2]
+ 6162 0018 012A cmp r2, #1
+ 6163 001a 00D1 bne .LCB6271
+ 6164 001c 9CE0 b .L431 @long jump
+ 6165 .LCB6271:
+3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6166 .loc 1 3252 0 is_stmt 0 discriminator 2
+ 6167 001e 4022 movs r2, #64
+ 6168 0020 0121 movs r1, #1
+ 6169 .LVL526:
+ 6170 0022 8154 strb r1, [r0, r2]
+3254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 6171 .loc 1 3254 0 is_stmt 1 discriminator 2
+ 6172 0024 0132 adds r2, r2, #1
+ 6173 0026 2031 adds r1, r1, #32
+ 6174 0028 8154 strb r1, [r0, r2]
+3255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 6175 .loc 1 3255 0 discriminator 2
+ 6176 002a 0132 adds r2, r2, #1
+ 6177 002c 1139 subs r1, r1, #17
+ 6178 002e 8154 strb r1, [r0, r2]
+3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6179 .loc 1 3256 0 discriminator 2
+ 6180 0030 0022 movs r2, #0
+ 6181 0032 4264 str r2, [r0, #68]
+3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 6182 .loc 1 3259 0 discriminator 2
+ 6183 0034 4562 str r5, [r0, #36]
+3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 6184 .loc 1 3260 0 discriminator 2
+ 6185 0036 4385 strh r3, [r0, #42]
+3261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ 6186 .loc 1 3261 0 discriminator 2
+ 6187 0038 0A9B ldr r3, [sp, #40]
+ 6188 .LVL527:
+ 6189 003a C362 str r3, [r0, #44]
+ 6190 .LVL528:
+3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6191 .loc 1 3262 0 discriminator 2
+ 6192 003c 474B ldr r3, .L436
+ 6193 003e 4363 str r3, [r0, #52]
+3265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6194 .loc 1 3265 0 discriminator 2
+ 6195 0040 438D ldrh r3, [r0, #42]
+ 6196 0042 9BB2 uxth r3, r3
+ 6197 0044 FF2B cmp r3, #255
+ 6198 0046 10D9 bls .L422
+3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 6199 .loc 1 3267 0
+ 6200 0048 FF23 movs r3, #255
+ 6201 004a 0385 strh r3, [r0, #40]
+ 6202 .LVL529:
+3268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6203 .loc 1 3268 0
+ 6204 004c 8027 movs r7, #128
+ 6205 004e 7F04 lsls r7, r7, #17
+ 6206 .LVL530:
+ ARM GAS /tmp/ccskJbbb.s page 240
+
+
+ 6207 .L423:
+3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6208 .loc 1 3278 0
+ 6209 0050 236B ldr r3, [r4, #48]
+ 6210 0052 112B cmp r3, #17
+ 6211 0054 0DD1 bne .L424
+3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6212 .loc 1 3278 0 is_stmt 0 discriminator 1
+ 6213 0056 0A9B ldr r3, [sp, #40]
+ 6214 0058 AA2B cmp r3, #170
+ 6215 005a 0AD0 beq .L424
+3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6216 .loc 1 3278 0 discriminator 3
+ 6217 005c AA23 movs r3, #170
+ 6218 005e 1B02 lsls r3, r3, #8
+ 6219 0060 0A9A ldr r2, [sp, #40]
+ 6220 0062 9A42 cmp r2, r3
+ 6221 0064 05D0 beq .L424
+3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6222 .loc 1 3280 0 is_stmt 1
+ 6223 0066 0026 movs r6, #0
+ 6224 0068 0CE0 b .L425
+ 6225 .LVL531:
+ 6226 .L422:
+3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+ 6227 .loc 1 3272 0
+ 6228 006a 438D ldrh r3, [r0, #42]
+ 6229 006c 0385 strh r3, [r0, #40]
+3273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6230 .loc 1 3273 0
+ 6231 006e C76A ldr r7, [r0, #44]
+ 6232 .LVL532:
+ 6233 0070 EEE7 b .L423
+ 6234 .L424:
+3285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6235 .loc 1 3285 0
+ 6236 0072 2000 movs r0, r4
+ 6237 .LVL533:
+ 6238 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
+ 6239 .LVL534:
+3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6240 .loc 1 3288 0
+ 6241 0078 638D ldrh r3, [r4, #42]
+ 6242 007a 9BB2 uxth r3, r3
+ 6243 007c FE2B cmp r3, #254
+ 6244 007e 28D8 bhi .L433
+3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6245 .loc 1 3290 0
+ 6246 0080 E76A ldr r7, [r4, #44]
+ 6247 .LVL535:
+3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 6248 .loc 1 3243 0
+ 6249 0082 374E ldr r6, .L436+4
+ 6250 .L425:
+ 6251 .LVL536:
+3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6252 .loc 1 3294 0
+ ARM GAS /tmp/ccskJbbb.s page 241
+
+
+ 6253 0084 228D ldrh r2, [r4, #40]
+ 6254 0086 002A cmp r2, #0
+ 6255 0088 4ED0 beq .L426
+3296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6256 .loc 1 3296 0
+ 6257 008a A36B ldr r3, [r4, #56]
+ 6258 008c 002B cmp r3, #0
+ 6259 008e 22D0 beq .L427
+3299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6260 .loc 1 3299 0
+ 6261 0090 344A ldr r2, .L436+8
+ 6262 0092 9A62 str r2, [r3, #40]
+3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6263 .loc 1 3302 0
+ 6264 0094 A36B ldr r3, [r4, #56]
+ 6265 0096 344A ldr r2, .L436+12
+ 6266 0098 1A63 str r2, [r3, #48]
+3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+ 6267 .loc 1 3305 0
+ 6268 009a A26B ldr r2, [r4, #56]
+ 6269 009c 0023 movs r3, #0
+ 6270 009e D362 str r3, [r2, #44]
+3306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6271 .loc 1 3306 0
+ 6272 00a0 A26B ldr r2, [r4, #56]
+ 6273 00a2 5363 str r3, [r2, #52]
+3309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6274 .loc 1 3309 0
+ 6275 00a4 2268 ldr r2, [r4]
+ 6276 00a6 2832 adds r2, r2, #40
+ 6277 00a8 238D ldrh r3, [r4, #40]
+ 6278 00aa 2900 movs r1, r5
+ 6279 00ac A06B ldr r0, [r4, #56]
+ 6280 00ae FFF7FEFF bl HAL_DMA_Start_IT
+ 6281 .LVL537:
+ 6282 00b2 051E subs r5, r0, #0
+ 6283 .LVL538:
+3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6284 .loc 1 3326 0
+ 6285 00b4 1DD0 beq .L435
+3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 6286 .loc 1 3349 0
+ 6287 00b6 4123 movs r3, #65
+ 6288 00b8 2022 movs r2, #32
+ 6289 00ba E254 strb r2, [r4, r3]
+3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6290 .loc 1 3350 0
+ 6291 00bc 0022 movs r2, #0
+ 6292 00be 0133 adds r3, r3, #1
+ 6293 00c0 E254 strb r2, [r4, r3]
+3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6294 .loc 1 3353 0
+ 6295 00c2 636C ldr r3, [r4, #68]
+ 6296 00c4 1021 movs r1, #16
+ 6297 00c6 0B43 orrs r3, r1
+ 6298 00c8 6364 str r3, [r4, #68]
+3356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 242
+
+
+ 6299 .loc 1 3356 0
+ 6300 00ca 4023 movs r3, #64
+ 6301 00cc E254 strb r2, [r4, r3]
+3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6302 .loc 1 3358 0
+ 6303 00ce 0125 movs r5, #1
+ 6304 00d0 3FE0 b .L421
+ 6305 .LVL539:
+ 6306 .L433:
+3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 6307 .loc 1 3243 0
+ 6308 00d2 234E ldr r6, .L436+4
+ 6309 00d4 D6E7 b .L425
+ 6310 .LVL540:
+ 6311 .L427:
+3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 6312 .loc 1 3314 0
+ 6313 00d6 4123 movs r3, #65
+ 6314 00d8 2022 movs r2, #32
+ 6315 00da E254 strb r2, [r4, r3]
+3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6316 .loc 1 3315 0
+ 6317 00dc 0022 movs r2, #0
+ 6318 00de 0133 adds r3, r3, #1
+ 6319 00e0 E254 strb r2, [r4, r3]
+3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6320 .loc 1 3318 0
+ 6321 00e2 636C ldr r3, [r4, #68]
+ 6322 00e4 8021 movs r1, #128
+ 6323 00e6 0B43 orrs r3, r1
+ 6324 00e8 6364 str r3, [r4, #68]
+3321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6325 .loc 1 3321 0
+ 6326 00ea 4023 movs r3, #64
+ 6327 00ec E254 strb r2, [r4, r3]
+3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6328 .loc 1 3323 0
+ 6329 00ee 0125 movs r5, #1
+ 6330 .LVL541:
+ 6331 00f0 2FE0 b .L421
+ 6332 .LVL542:
+ 6333 .L435:
+3329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6334 .loc 1 3329 0
+ 6335 00f2 228D ldrh r2, [r4, #40]
+ 6336 00f4 D2B2 uxtb r2, r2
+ 6337 00f6 0096 str r6, [sp]
+ 6338 00f8 3B00 movs r3, r7
+ 6339 00fa 0399 ldr r1, [sp, #12]
+ 6340 00fc 2000 movs r0, r4
+ 6341 .LVL543:
+ 6342 00fe FFF7FEFF bl I2C_TransferConfig
+ 6343 .LVL544:
+3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6344 .loc 1 3332 0
+ 6345 0102 638D ldrh r3, [r4, #42]
+ 6346 0104 228D ldrh r2, [r4, #40]
+ ARM GAS /tmp/ccskJbbb.s page 243
+
+
+ 6347 0106 9B1A subs r3, r3, r2
+ 6348 0108 9BB2 uxth r3, r3
+ 6349 010a 6385 strh r3, [r4, #42]
+3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6350 .loc 1 3335 0
+ 6351 010c 4023 movs r3, #64
+ 6352 010e 0022 movs r2, #0
+ 6353 0110 E254 strb r2, [r4, r3]
+3341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6354 .loc 1 3341 0
+ 6355 0112 1121 movs r1, #17
+ 6356 0114 2000 movs r0, r4
+ 6357 0116 FFF7FEFF bl I2C_Enable_IRQ
+ 6358 .LVL545:
+3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6359 .loc 1 3344 0
+ 6360 011a 2268 ldr r2, [r4]
+ 6361 011c 1168 ldr r1, [r2]
+ 6362 011e 8023 movs r3, #128
+ 6363 0120 DB01 lsls r3, r3, #7
+ 6364 0122 0B43 orrs r3, r1
+ 6365 0124 1360 str r3, [r2]
+ 6366 0126 14E0 b .L421
+ 6367 .LVL546:
+ 6368 .L426:
+3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6369 .loc 1 3364 0
+ 6370 0128 104B ldr r3, .L436+16
+ 6371 012a 6363 str r3, [r4, #52]
+3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6372 .loc 1 3368 0
+ 6373 012c 8023 movs r3, #128
+ 6374 012e D2B2 uxtb r2, r2
+ 6375 0130 0B49 ldr r1, .L436+4
+ 6376 0132 0091 str r1, [sp]
+ 6377 0134 9B04 lsls r3, r3, #18
+ 6378 0136 0399 ldr r1, [sp, #12]
+ 6379 0138 2000 movs r0, r4
+ 6380 013a FFF7FEFF bl I2C_TransferConfig
+ 6381 .LVL547:
+3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6382 .loc 1 3371 0
+ 6383 013e 4023 movs r3, #64
+ 6384 0140 0022 movs r2, #0
+ 6385 0142 E254 strb r2, [r4, r3]
+3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6386 .loc 1 3379 0
+ 6387 0144 0121 movs r1, #1
+ 6388 0146 2000 movs r0, r4
+ 6389 0148 FFF7FEFF bl I2C_Enable_IRQ
+ 6390 .LVL548:
+3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6391 .loc 1 3382 0
+ 6392 014c 0025 movs r5, #0
+ 6393 .LVL549:
+ 6394 014e 00E0 b .L421
+ 6395 .LVL550:
+ ARM GAS /tmp/ccskJbbb.s page 244
+
+
+ 6396 .L430:
+3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6397 .loc 1 3386 0
+ 6398 0150 0225 movs r5, #2
+ 6399 .LVL551:
+ 6400 .L421:
+3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6401 .loc 1 3388 0
+ 6402 0152 2800 movs r0, r5
+ 6403 0154 05B0 add sp, sp, #20
+ 6404 @ sp needed
+ 6405 .LVL552:
+ 6406 0156 F0BD pop {r4, r5, r6, r7, pc}
+ 6407 .LVL553:
+ 6408 .L431:
+3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6409 .loc 1 3252 0
+ 6410 0158 0225 movs r5, #2
+ 6411 .LVL554:
+ 6412 015a FAE7 b .L421
+ 6413 .L437:
+ 6414 .align 2
+ 6415 .L436:
+ 6416 015c 00000000 .word I2C_Master_ISR_DMA
+ 6417 0160 00200080 .word -2147475456
+ 6418 0164 00000000 .word I2C_DMAMasterTransmitCplt
+ 6419 0168 00000000 .word I2C_DMAError
+ 6420 016c 00000000 .word I2C_Master_ISR_IT
+ 6421 .cfi_endproc
+ 6422 .LFE64:
+ 6424 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits
+ 6425 .align 1
+ 6426 .global HAL_I2C_Master_Seq_Receive_IT
+ 6427 .syntax unified
+ 6428 .code 16
+ 6429 .thumb_func
+ 6430 .fpu softvfp
+ 6432 HAL_I2C_Master_Seq_Receive_IT:
+ 6433 .LFB65:
+3403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 6434 .loc 1 3403 0
+ 6435 .cfi_startproc
+ 6436 @ args = 4, pretend = 0, frame = 0
+ 6437 @ frame_needed = 0, uses_anonymous_args = 0
+ 6438 .LVL555:
+ 6439 0000 70B5 push {r4, r5, r6, lr}
+ 6440 .LCFI53:
+ 6441 .cfi_def_cfa_offset 16
+ 6442 .cfi_offset 4, -16
+ 6443 .cfi_offset 5, -12
+ 6444 .cfi_offset 6, -8
+ 6445 .cfi_offset 14, -4
+ 6446 0002 82B0 sub sp, sp, #8
+ 6447 .LCFI54:
+ 6448 .cfi_def_cfa_offset 24
+ 6449 0004 0400 movs r4, r0
+ 6450 0006 0D00 movs r5, r1
+ ARM GAS /tmp/ccskJbbb.s page 245
+
+
+ 6451 .LVL556:
+3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6452 .loc 1 3410 0
+ 6453 0008 4121 movs r1, #65
+ 6454 .LVL557:
+ 6455 000a 415C ldrb r1, [r0, r1]
+ 6456 000c 2029 cmp r1, #32
+ 6457 000e 49D1 bne .L444
+3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6458 .loc 1 3413 0
+ 6459 0010 2031 adds r1, r1, #32
+ 6460 0012 415C ldrb r1, [r0, r1]
+ 6461 0014 0129 cmp r1, #1
+ 6462 0016 48D0 beq .L445
+3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6463 .loc 1 3413 0 is_stmt 0 discriminator 2
+ 6464 0018 4021 movs r1, #64
+ 6465 001a 0120 movs r0, #1
+ 6466 .LVL558:
+ 6467 001c 6054 strb r0, [r4, r1]
+3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 6468 .loc 1 3415 0 is_stmt 1 discriminator 2
+ 6469 001e 0131 adds r1, r1, #1
+ 6470 0020 2130 adds r0, r0, #33
+ 6471 0022 6054 strb r0, [r4, r1]
+3416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 6472 .loc 1 3416 0 discriminator 2
+ 6473 0024 0131 adds r1, r1, #1
+ 6474 0026 1238 subs r0, r0, #18
+ 6475 0028 6054 strb r0, [r4, r1]
+3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6476 .loc 1 3417 0 discriminator 2
+ 6477 002a 0021 movs r1, #0
+ 6478 002c 6164 str r1, [r4, #68]
+3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 6479 .loc 1 3420 0 discriminator 2
+ 6480 002e 6262 str r2, [r4, #36]
+3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 6481 .loc 1 3421 0 discriminator 2
+ 6482 0030 6385 strh r3, [r4, #42]
+3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 6483 .loc 1 3422 0 discriminator 2
+ 6484 0032 069B ldr r3, [sp, #24]
+ 6485 .LVL559:
+ 6486 0034 E362 str r3, [r4, #44]
+ 6487 .LVL560:
+3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6488 .loc 1 3423 0 discriminator 2
+ 6489 0036 1E4B ldr r3, .L448
+ 6490 0038 6363 str r3, [r4, #52]
+3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6491 .loc 1 3426 0 discriminator 2
+ 6492 003a 638D ldrh r3, [r4, #42]
+ 6493 003c 9BB2 uxth r3, r3
+ 6494 003e FF2B cmp r3, #255
+ 6495 0040 10D9 bls .L440
+3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ ARM GAS /tmp/ccskJbbb.s page 246
+
+
+ 6496 .loc 1 3428 0
+ 6497 0042 FF23 movs r3, #255
+ 6498 0044 2385 strh r3, [r4, #40]
+ 6499 .LVL561:
+3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6500 .loc 1 3429 0
+ 6501 0046 8026 movs r6, #128
+ 6502 0048 7604 lsls r6, r6, #17
+ 6503 .LVL562:
+ 6504 .L441:
+3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6505 .loc 1 3439 0
+ 6506 004a 236B ldr r3, [r4, #48]
+ 6507 004c 122B cmp r3, #18
+ 6508 004e 0DD1 bne .L442
+3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6509 .loc 1 3439 0 is_stmt 0 discriminator 1
+ 6510 0050 069B ldr r3, [sp, #24]
+ 6511 0052 AA2B cmp r3, #170
+ 6512 0054 0AD0 beq .L442
+3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6513 .loc 1 3439 0 discriminator 3
+ 6514 0056 AA23 movs r3, #170
+ 6515 0058 1B02 lsls r3, r3, #8
+ 6516 005a 069A ldr r2, [sp, #24]
+ 6517 .LVL563:
+ 6518 005c 9A42 cmp r2, r3
+ 6519 005e 05D0 beq .L442
+3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6520 .loc 1 3441 0 is_stmt 1
+ 6521 0060 0023 movs r3, #0
+ 6522 0062 0CE0 b .L443
+ 6523 .LVL564:
+ 6524 .L440:
+3433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+ 6525 .loc 1 3433 0
+ 6526 0064 638D ldrh r3, [r4, #42]
+ 6527 0066 2385 strh r3, [r4, #40]
+3434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6528 .loc 1 3434 0
+ 6529 0068 E66A ldr r6, [r4, #44]
+ 6530 .LVL565:
+ 6531 006a EEE7 b .L441
+ 6532 .LVL566:
+ 6533 .L442:
+3446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6534 .loc 1 3446 0
+ 6535 006c 2000 movs r0, r4
+ 6536 006e FFF7FEFF bl I2C_ConvertOtherXferOptions
+ 6537 .LVL567:
+3449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6538 .loc 1 3449 0
+ 6539 0072 638D ldrh r3, [r4, #42]
+ 6540 0074 9BB2 uxth r3, r3
+ 6541 0076 FE2B cmp r3, #254
+ 6542 0078 12D8 bhi .L447
+3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 247
+
+
+ 6543 .loc 1 3451 0
+ 6544 007a E66A ldr r6, [r4, #44]
+ 6545 .LVL568:
+3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6546 .loc 1 3405 0
+ 6547 007c 0D4B ldr r3, .L448+4
+ 6548 .L443:
+ 6549 .LVL569:
+3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6550 .loc 1 3456 0
+ 6551 007e 228D ldrh r2, [r4, #40]
+ 6552 0080 D2B2 uxtb r2, r2
+ 6553 0082 0093 str r3, [sp]
+ 6554 0084 3300 movs r3, r6
+ 6555 .LVL570:
+ 6556 0086 2900 movs r1, r5
+ 6557 0088 2000 movs r0, r4
+ 6558 008a FFF7FEFF bl I2C_TransferConfig
+ 6559 .LVL571:
+3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6560 .loc 1 3459 0
+ 6561 008e 4023 movs r3, #64
+ 6562 0090 0022 movs r2, #0
+ 6563 0092 E254 strb r2, [r4, r3]
+3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6564 .loc 1 3464 0
+ 6565 0094 0221 movs r1, #2
+ 6566 0096 2000 movs r0, r4
+ 6567 0098 FFF7FEFF bl I2C_Enable_IRQ
+ 6568 .LVL572:
+3466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6569 .loc 1 3466 0
+ 6570 009c 0020 movs r0, #0
+ 6571 009e 02E0 b .L439
+ 6572 .LVL573:
+ 6573 .L447:
+3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6574 .loc 1 3405 0
+ 6575 00a0 044B ldr r3, .L448+4
+ 6576 00a2 ECE7 b .L443
+ 6577 .LVL574:
+ 6578 .L444:
+3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6579 .loc 1 3470 0
+ 6580 00a4 0220 movs r0, #2
+ 6581 .LVL575:
+ 6582 .L439:
+3472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6583 .loc 1 3472 0
+ 6584 00a6 02B0 add sp, sp, #8
+ 6585 @ sp needed
+ 6586 .LVL576:
+ 6587 00a8 70BD pop {r4, r5, r6, pc}
+ 6588 .LVL577:
+ 6589 .L445:
+3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6590 .loc 1 3413 0
+ ARM GAS /tmp/ccskJbbb.s page 248
+
+
+ 6591 00aa 0220 movs r0, #2
+ 6592 .LVL578:
+ 6593 00ac FBE7 b .L439
+ 6594 .L449:
+ 6595 00ae C046 .align 2
+ 6596 .L448:
+ 6597 00b0 00000000 .word I2C_Master_ISR_IT
+ 6598 00b4 00240080 .word -2147474432
+ 6599 .cfi_endproc
+ 6600 .LFE65:
+ 6602 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits
+ 6603 .align 1
+ 6604 .global HAL_I2C_Master_Seq_Receive_DMA
+ 6605 .syntax unified
+ 6606 .code 16
+ 6607 .thumb_func
+ 6608 .fpu softvfp
+ 6610 HAL_I2C_Master_Seq_Receive_DMA:
+ 6611 .LFB66:
+3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 6612 .loc 1 3487 0
+ 6613 .cfi_startproc
+ 6614 @ args = 4, pretend = 0, frame = 8
+ 6615 @ frame_needed = 0, uses_anonymous_args = 0
+ 6616 .LVL579:
+ 6617 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 6618 .LCFI55:
+ 6619 .cfi_def_cfa_offset 20
+ 6620 .cfi_offset 4, -20
+ 6621 .cfi_offset 5, -16
+ 6622 .cfi_offset 6, -12
+ 6623 .cfi_offset 7, -8
+ 6624 .cfi_offset 14, -4
+ 6625 0002 85B0 sub sp, sp, #20
+ 6626 .LCFI56:
+ 6627 .cfi_def_cfa_offset 40
+ 6628 0004 0400 movs r4, r0
+ 6629 0006 0391 str r1, [sp, #12]
+ 6630 0008 1500 movs r5, r2
+ 6631 .LVL580:
+3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6632 .loc 1 3495 0
+ 6633 000a 4122 movs r2, #65
+ 6634 .LVL581:
+ 6635 000c 825C ldrb r2, [r0, r2]
+ 6636 000e 202A cmp r2, #32
+ 6637 0010 00D0 beq .LCB6764
+ 6638 0012 9DE0 b .L460 @long jump
+ 6639 .LCB6764:
+3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6640 .loc 1 3498 0
+ 6641 0014 2032 adds r2, r2, #32
+ 6642 0016 825C ldrb r2, [r0, r2]
+ 6643 0018 012A cmp r2, #1
+ 6644 001a 00D1 bne .LCB6768
+ 6645 001c 9CE0 b .L461 @long jump
+ 6646 .LCB6768:
+ ARM GAS /tmp/ccskJbbb.s page 249
+
+
+3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6647 .loc 1 3498 0 is_stmt 0 discriminator 2
+ 6648 001e 4022 movs r2, #64
+ 6649 0020 0121 movs r1, #1
+ 6650 .LVL582:
+ 6651 0022 8154 strb r1, [r0, r2]
+3500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 6652 .loc 1 3500 0 is_stmt 1 discriminator 2
+ 6653 0024 0132 adds r2, r2, #1
+ 6654 0026 2131 adds r1, r1, #33
+ 6655 0028 8154 strb r1, [r0, r2]
+3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 6656 .loc 1 3501 0 discriminator 2
+ 6657 002a 0132 adds r2, r2, #1
+ 6658 002c 1239 subs r1, r1, #18
+ 6659 002e 8154 strb r1, [r0, r2]
+3502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6660 .loc 1 3502 0 discriminator 2
+ 6661 0030 0022 movs r2, #0
+ 6662 0032 4264 str r2, [r0, #68]
+3505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 6663 .loc 1 3505 0 discriminator 2
+ 6664 0034 4562 str r5, [r0, #36]
+3506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 6665 .loc 1 3506 0 discriminator 2
+ 6666 0036 4385 strh r3, [r0, #42]
+3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ 6667 .loc 1 3507 0 discriminator 2
+ 6668 0038 0A9B ldr r3, [sp, #40]
+ 6669 .LVL583:
+ 6670 003a C362 str r3, [r0, #44]
+ 6671 .LVL584:
+3508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6672 .loc 1 3508 0 discriminator 2
+ 6673 003c 474B ldr r3, .L466
+ 6674 003e 4363 str r3, [r0, #52]
+3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6675 .loc 1 3511 0 discriminator 2
+ 6676 0040 438D ldrh r3, [r0, #42]
+ 6677 0042 9BB2 uxth r3, r3
+ 6678 0044 FF2B cmp r3, #255
+ 6679 0046 10D9 bls .L452
+3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 6680 .loc 1 3513 0
+ 6681 0048 FF23 movs r3, #255
+ 6682 004a 0385 strh r3, [r0, #40]
+ 6683 .LVL585:
+3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6684 .loc 1 3514 0
+ 6685 004c 8027 movs r7, #128
+ 6686 004e 7F04 lsls r7, r7, #17
+ 6687 .LVL586:
+ 6688 .L453:
+3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6689 .loc 1 3524 0
+ 6690 0050 236B ldr r3, [r4, #48]
+ 6691 0052 122B cmp r3, #18
+ ARM GAS /tmp/ccskJbbb.s page 250
+
+
+ 6692 0054 0DD1 bne .L454
+3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6693 .loc 1 3524 0 is_stmt 0 discriminator 1
+ 6694 0056 0A9B ldr r3, [sp, #40]
+ 6695 0058 AA2B cmp r3, #170
+ 6696 005a 0AD0 beq .L454
+3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6697 .loc 1 3524 0 discriminator 3
+ 6698 005c AA23 movs r3, #170
+ 6699 005e 1B02 lsls r3, r3, #8
+ 6700 0060 0A9A ldr r2, [sp, #40]
+ 6701 0062 9A42 cmp r2, r3
+ 6702 0064 05D0 beq .L454
+3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6703 .loc 1 3526 0 is_stmt 1
+ 6704 0066 0026 movs r6, #0
+ 6705 0068 0CE0 b .L455
+ 6706 .LVL587:
+ 6707 .L452:
+3518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+ 6708 .loc 1 3518 0
+ 6709 006a 438D ldrh r3, [r0, #42]
+ 6710 006c 0385 strh r3, [r0, #40]
+3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6711 .loc 1 3519 0
+ 6712 006e C76A ldr r7, [r0, #44]
+ 6713 .LVL588:
+ 6714 0070 EEE7 b .L453
+ 6715 .L454:
+3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6716 .loc 1 3531 0
+ 6717 0072 2000 movs r0, r4
+ 6718 .LVL589:
+ 6719 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
+ 6720 .LVL590:
+3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6721 .loc 1 3534 0
+ 6722 0078 638D ldrh r3, [r4, #42]
+ 6723 007a 9BB2 uxth r3, r3
+ 6724 007c FE2B cmp r3, #254
+ 6725 007e 28D8 bhi .L463
+3536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6726 .loc 1 3536 0
+ 6727 0080 E76A ldr r7, [r4, #44]
+ 6728 .LVL591:
+3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 6729 .loc 1 3489 0
+ 6730 0082 374E ldr r6, .L466+4
+ 6731 .L455:
+ 6732 .LVL592:
+3540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6733 .loc 1 3540 0
+ 6734 0084 228D ldrh r2, [r4, #40]
+ 6735 0086 002A cmp r2, #0
+ 6736 0088 4ED0 beq .L456
+3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6737 .loc 1 3542 0
+ ARM GAS /tmp/ccskJbbb.s page 251
+
+
+ 6738 008a E36B ldr r3, [r4, #60]
+ 6739 008c 002B cmp r3, #0
+ 6740 008e 22D0 beq .L457
+3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6741 .loc 1 3545 0
+ 6742 0090 344A ldr r2, .L466+8
+ 6743 0092 9A62 str r2, [r3, #40]
+3548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6744 .loc 1 3548 0
+ 6745 0094 E36B ldr r3, [r4, #60]
+ 6746 0096 344A ldr r2, .L466+12
+ 6747 0098 1A63 str r2, [r3, #48]
+3551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 6748 .loc 1 3551 0
+ 6749 009a E26B ldr r2, [r4, #60]
+ 6750 009c 0023 movs r3, #0
+ 6751 009e D362 str r3, [r2, #44]
+3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6752 .loc 1 3552 0
+ 6753 00a0 E26B ldr r2, [r4, #60]
+ 6754 00a2 5363 str r3, [r2, #52]
+3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6755 .loc 1 3555 0
+ 6756 00a4 2168 ldr r1, [r4]
+ 6757 00a6 2431 adds r1, r1, #36
+ 6758 00a8 238D ldrh r3, [r4, #40]
+ 6759 00aa 2A00 movs r2, r5
+ 6760 00ac E06B ldr r0, [r4, #60]
+ 6761 00ae FFF7FEFF bl HAL_DMA_Start_IT
+ 6762 .LVL593:
+ 6763 00b2 051E subs r5, r0, #0
+ 6764 .LVL594:
+3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6765 .loc 1 3572 0
+ 6766 00b4 1DD0 beq .L465
+3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 6767 .loc 1 3595 0
+ 6768 00b6 4123 movs r3, #65
+ 6769 00b8 2022 movs r2, #32
+ 6770 00ba E254 strb r2, [r4, r3]
+3596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6771 .loc 1 3596 0
+ 6772 00bc 0022 movs r2, #0
+ 6773 00be 0133 adds r3, r3, #1
+ 6774 00c0 E254 strb r2, [r4, r3]
+3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6775 .loc 1 3599 0
+ 6776 00c2 636C ldr r3, [r4, #68]
+ 6777 00c4 1021 movs r1, #16
+ 6778 00c6 0B43 orrs r3, r1
+ 6779 00c8 6364 str r3, [r4, #68]
+3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6780 .loc 1 3602 0
+ 6781 00ca 4023 movs r3, #64
+ 6782 00cc E254 strb r2, [r4, r3]
+3604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6783 .loc 1 3604 0
+ ARM GAS /tmp/ccskJbbb.s page 252
+
+
+ 6784 00ce 0125 movs r5, #1
+ 6785 00d0 3FE0 b .L451
+ 6786 .LVL595:
+ 6787 .L463:
+3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 6788 .loc 1 3489 0
+ 6789 00d2 234E ldr r6, .L466+4
+ 6790 00d4 D6E7 b .L455
+ 6791 .LVL596:
+ 6792 .L457:
+3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 6793 .loc 1 3560 0
+ 6794 00d6 4123 movs r3, #65
+ 6795 00d8 2022 movs r2, #32
+ 6796 00da E254 strb r2, [r4, r3]
+3561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6797 .loc 1 3561 0
+ 6798 00dc 0022 movs r2, #0
+ 6799 00de 0133 adds r3, r3, #1
+ 6800 00e0 E254 strb r2, [r4, r3]
+3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6801 .loc 1 3564 0
+ 6802 00e2 636C ldr r3, [r4, #68]
+ 6803 00e4 8021 movs r1, #128
+ 6804 00e6 0B43 orrs r3, r1
+ 6805 00e8 6364 str r3, [r4, #68]
+3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6806 .loc 1 3567 0
+ 6807 00ea 4023 movs r3, #64
+ 6808 00ec E254 strb r2, [r4, r3]
+3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6809 .loc 1 3569 0
+ 6810 00ee 0125 movs r5, #1
+ 6811 .LVL597:
+ 6812 00f0 2FE0 b .L451
+ 6813 .LVL598:
+ 6814 .L465:
+3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6815 .loc 1 3575 0
+ 6816 00f2 228D ldrh r2, [r4, #40]
+ 6817 00f4 D2B2 uxtb r2, r2
+ 6818 00f6 0096 str r6, [sp]
+ 6819 00f8 3B00 movs r3, r7
+ 6820 00fa 0399 ldr r1, [sp, #12]
+ 6821 00fc 2000 movs r0, r4
+ 6822 .LVL599:
+ 6823 00fe FFF7FEFF bl I2C_TransferConfig
+ 6824 .LVL600:
+3578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6825 .loc 1 3578 0
+ 6826 0102 638D ldrh r3, [r4, #42]
+ 6827 0104 228D ldrh r2, [r4, #40]
+ 6828 0106 9B1A subs r3, r3, r2
+ 6829 0108 9BB2 uxth r3, r3
+ 6830 010a 6385 strh r3, [r4, #42]
+3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6831 .loc 1 3581 0
+ ARM GAS /tmp/ccskJbbb.s page 253
+
+
+ 6832 010c 4023 movs r3, #64
+ 6833 010e 0022 movs r2, #0
+ 6834 0110 E254 strb r2, [r4, r3]
+3587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6835 .loc 1 3587 0
+ 6836 0112 1121 movs r1, #17
+ 6837 0114 2000 movs r0, r4
+ 6838 0116 FFF7FEFF bl I2C_Enable_IRQ
+ 6839 .LVL601:
+3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6840 .loc 1 3590 0
+ 6841 011a 2268 ldr r2, [r4]
+ 6842 011c 1168 ldr r1, [r2]
+ 6843 011e 8023 movs r3, #128
+ 6844 0120 1B02 lsls r3, r3, #8
+ 6845 0122 0B43 orrs r3, r1
+ 6846 0124 1360 str r3, [r2]
+ 6847 0126 14E0 b .L451
+ 6848 .LVL602:
+ 6849 .L456:
+3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6850 .loc 1 3610 0
+ 6851 0128 104B ldr r3, .L466+16
+ 6852 012a 6363 str r3, [r4, #52]
+3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6853 .loc 1 3614 0
+ 6854 012c 8023 movs r3, #128
+ 6855 012e D2B2 uxtb r2, r2
+ 6856 0130 0B49 ldr r1, .L466+4
+ 6857 0132 0091 str r1, [sp]
+ 6858 0134 9B04 lsls r3, r3, #18
+ 6859 0136 0399 ldr r1, [sp, #12]
+ 6860 0138 2000 movs r0, r4
+ 6861 013a FFF7FEFF bl I2C_TransferConfig
+ 6862 .LVL603:
+3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6863 .loc 1 3617 0
+ 6864 013e 4023 movs r3, #64
+ 6865 0140 0022 movs r2, #0
+ 6866 0142 E254 strb r2, [r4, r3]
+3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6867 .loc 1 3625 0
+ 6868 0144 0121 movs r1, #1
+ 6869 0146 2000 movs r0, r4
+ 6870 0148 FFF7FEFF bl I2C_Enable_IRQ
+ 6871 .LVL604:
+3628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6872 .loc 1 3628 0
+ 6873 014c 0025 movs r5, #0
+ 6874 .LVL605:
+ 6875 014e 00E0 b .L451
+ 6876 .LVL606:
+ 6877 .L460:
+3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6878 .loc 1 3632 0
+ 6879 0150 0225 movs r5, #2
+ 6880 .LVL607:
+ ARM GAS /tmp/ccskJbbb.s page 254
+
+
+ 6881 .L451:
+3634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6882 .loc 1 3634 0
+ 6883 0152 2800 movs r0, r5
+ 6884 0154 05B0 add sp, sp, #20
+ 6885 @ sp needed
+ 6886 .LVL608:
+ 6887 0156 F0BD pop {r4, r5, r6, r7, pc}
+ 6888 .LVL609:
+ 6889 .L461:
+3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6890 .loc 1 3498 0
+ 6891 0158 0225 movs r5, #2
+ 6892 .LVL610:
+ 6893 015a FAE7 b .L451
+ 6894 .L467:
+ 6895 .align 2
+ 6896 .L466:
+ 6897 015c 00000000 .word I2C_Master_ISR_DMA
+ 6898 0160 00240080 .word -2147474432
+ 6899 0164 00000000 .word I2C_DMAMasterReceiveCplt
+ 6900 0168 00000000 .word I2C_DMAError
+ 6901 016c 00000000 .word I2C_Master_ISR_IT
+ 6902 .cfi_endproc
+ 6903 .LFE66:
+ 6905 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits
+ 6906 .align 1
+ 6907 .global HAL_I2C_Slave_Seq_Transmit_IT
+ 6908 .syntax unified
+ 6909 .code 16
+ 6910 .thumb_func
+ 6911 .fpu softvfp
+ 6913 HAL_I2C_Slave_Seq_Transmit_IT:
+ 6914 .LFB67:
+3647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+ 6915 .loc 1 3647 0
+ 6916 .cfi_startproc
+ 6917 @ args = 0, pretend = 0, frame = 0
+ 6918 @ frame_needed = 0, uses_anonymous_args = 0
+ 6919 .LVL611:
+ 6920 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 6921 .LCFI57:
+ 6922 .cfi_def_cfa_offset 24
+ 6923 .cfi_offset 3, -24
+ 6924 .cfi_offset 4, -20
+ 6925 .cfi_offset 5, -16
+ 6926 .cfi_offset 6, -12
+ 6927 .cfi_offset 7, -8
+ 6928 .cfi_offset 14, -4
+ 6929 0002 0700 movs r7, r0
+ 6930 0004 0C00 movs r4, r1
+ 6931 0006 1500 movs r5, r2
+ 6932 0008 1E00 movs r6, r3
+3651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6933 .loc 1 3651 0
+ 6934 000a 4123 movs r3, #65
+ 6935 .LVL612:
+ ARM GAS /tmp/ccskJbbb.s page 255
+
+
+ 6936 000c C35C ldrb r3, [r0, r3]
+ 6937 000e 2822 movs r2, #40
+ 6938 .LVL613:
+ 6939 0010 1340 ands r3, r2
+ 6940 0012 282B cmp r3, #40
+ 6941 0014 01D0 beq .L476
+3727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6942 .loc 1 3727 0
+ 6943 0016 0120 movs r0, #1
+ 6944 .LVL614:
+ 6945 .L469:
+3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6946 .loc 1 3729 0
+ 6947 @ sp needed
+ 6948 .LVL615:
+ 6949 .LVL616:
+ 6950 .LVL617:
+ 6951 0018 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 6952 .LVL618:
+ 6953 .L476:
+3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6954 .loc 1 3653 0
+ 6955 001a 0029 cmp r1, #0
+ 6956 001c 01D0 beq .L470
+3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6957 .loc 1 3653 0 is_stmt 0 discriminator 1
+ 6958 001e 002D cmp r5, #0
+ 6959 0020 04D1 bne .L471
+ 6960 .L470:
+3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 6961 .loc 1 3655 0 is_stmt 1
+ 6962 0022 8023 movs r3, #128
+ 6963 0024 9B00 lsls r3, r3, #2
+ 6964 0026 7B64 str r3, [r7, #68]
+3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6965 .loc 1 3656 0
+ 6966 0028 0120 movs r0, #1
+ 6967 .LVL619:
+ 6968 002a F5E7 b .L469
+ 6969 .LVL620:
+ 6970 .L471:
+3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6971 .loc 1 3660 0
+ 6972 002c 0521 movs r1, #5
+ 6973 .LVL621:
+ 6974 002e FFF7FEFF bl I2C_Disable_IRQ
+ 6975 .LVL622:
+3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6976 .loc 1 3663 0
+ 6977 0032 4023 movs r3, #64
+ 6978 0034 FB5C ldrb r3, [r7, r3]
+ 6979 0036 012B cmp r3, #1
+ 6980 0038 43D0 beq .L475
+3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6981 .loc 1 3663 0 is_stmt 0 discriminator 2
+ 6982 003a 4023 movs r3, #64
+ 6983 003c 0122 movs r2, #1
+ ARM GAS /tmp/ccskJbbb.s page 256
+
+
+ 6984 003e FA54 strb r2, [r7, r3]
+3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6985 .loc 1 3667 0 is_stmt 1 discriminator 2
+ 6986 0040 0133 adds r3, r3, #1
+ 6987 0042 FB5C ldrb r3, [r7, r3]
+ 6988 0044 2A2B cmp r3, #42
+ 6989 0046 22D0 beq .L477
+ 6990 .L472:
+3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 6991 .loc 1 3693 0
+ 6992 0048 4123 movs r3, #65
+ 6993 004a 2922 movs r2, #41
+ 6994 004c FA54 strb r2, [r7, r3]
+3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 6995 .loc 1 3694 0
+ 6996 004e 0133 adds r3, r3, #1
+ 6997 0050 093A subs r2, r2, #9
+ 6998 0052 FA54 strb r2, [r7, r3]
+3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6999 .loc 1 3695 0
+ 7000 0054 0023 movs r3, #0
+ 7001 0056 7B64 str r3, [r7, #68]
+3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7002 .loc 1 3698 0
+ 7003 0058 3A68 ldr r2, [r7]
+ 7004 005a 5368 ldr r3, [r2, #4]
+ 7005 005c 1A49 ldr r1, .L478
+ 7006 005e 0B40 ands r3, r1
+ 7007 0060 5360 str r3, [r2, #4]
+3701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 7008 .loc 1 3701 0
+ 7009 0062 7C62 str r4, [r7, #36]
+3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 7010 .loc 1 3702 0
+ 7011 0064 7D85 strh r5, [r7, #42]
+3703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 7012 .loc 1 3703 0
+ 7013 0066 7B8D ldrh r3, [r7, #42]
+ 7014 0068 3B85 strh r3, [r7, #40]
+3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 7015 .loc 1 3704 0
+ 7016 006a FE62 str r6, [r7, #44]
+3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7017 .loc 1 3705 0
+ 7018 006c 174B ldr r3, .L478+4
+ 7019 006e 7B63 str r3, [r7, #52]
+3707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7020 .loc 1 3707 0
+ 7021 0070 3B68 ldr r3, [r7]
+ 7022 0072 9A69 ldr r2, [r3, #24]
+ 7023 0074 D203 lsls r2, r2, #15
+ 7024 0076 01D5 bpl .L473
+3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7025 .loc 1 3711 0
+ 7026 0078 0822 movs r2, #8
+ 7027 007a DA61 str r2, [r3, #28]
+ 7028 .L473:
+ ARM GAS /tmp/ccskJbbb.s page 257
+
+
+3715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7029 .loc 1 3715 0
+ 7030 007c 4023 movs r3, #64
+ 7031 007e 0022 movs r2, #0
+ 7032 0080 FA54 strb r2, [r7, r3]
+3721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7033 .loc 1 3721 0
+ 7034 0082 0521 movs r1, #5
+ 7035 0084 3800 movs r0, r7
+ 7036 0086 FFF7FEFF bl I2C_Enable_IRQ
+ 7037 .LVL623:
+3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7038 .loc 1 3723 0
+ 7039 008a 0020 movs r0, #0
+ 7040 008c C4E7 b .L469
+ 7041 .L477:
+3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7042 .loc 1 3670 0
+ 7043 008e 0221 movs r1, #2
+ 7044 0090 3800 movs r0, r7
+ 7045 0092 FFF7FEFF bl I2C_Disable_IRQ
+ 7046 .LVL624:
+3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7047 .loc 1 3673 0
+ 7048 0096 3B68 ldr r3, [r7]
+ 7049 0098 1A68 ldr r2, [r3]
+ 7050 009a 1204 lsls r2, r2, #16
+ 7051 009c D4D5 bpl .L472
+3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7052 .loc 1 3675 0
+ 7053 009e 1A68 ldr r2, [r3]
+ 7054 00a0 0949 ldr r1, .L478
+ 7055 00a2 0A40 ands r2, r1
+ 7056 00a4 1A60 str r2, [r3]
+3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7057 .loc 1 3677 0
+ 7058 00a6 FB6B ldr r3, [r7, #60]
+ 7059 00a8 002B cmp r3, #0
+ 7060 00aa CDD0 beq .L472
+3681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7061 .loc 1 3681 0
+ 7062 00ac 084A ldr r2, .L478+8
+ 7063 00ae 5A63 str r2, [r3, #52]
+3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7064 .loc 1 3684 0
+ 7065 00b0 F86B ldr r0, [r7, #60]
+ 7066 00b2 FFF7FEFF bl HAL_DMA_Abort_IT
+ 7067 .LVL625:
+ 7068 00b6 0028 cmp r0, #0
+ 7069 00b8 C6D0 beq .L472
+3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7070 .loc 1 3687 0
+ 7071 00ba F86B ldr r0, [r7, #60]
+ 7072 00bc 436B ldr r3, [r0, #52]
+ 7073 00be 9847 blx r3
+ 7074 .LVL626:
+ 7075 00c0 C2E7 b .L472
+ ARM GAS /tmp/ccskJbbb.s page 258
+
+
+ 7076 .L475:
+3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7077 .loc 1 3663 0
+ 7078 00c2 0220 movs r0, #2
+ 7079 00c4 A8E7 b .L469
+ 7080 .L479:
+ 7081 00c6 C046 .align 2
+ 7082 .L478:
+ 7083 00c8 FF7FFFFF .word -32769
+ 7084 00cc 00000000 .word I2C_Slave_ISR_IT
+ 7085 00d0 00000000 .word I2C_DMAAbort
+ 7086 .cfi_endproc
+ 7087 .LFE67:
+ 7089 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits
+ 7090 .align 1
+ 7091 .global HAL_I2C_Slave_Seq_Transmit_DMA
+ 7092 .syntax unified
+ 7093 .code 16
+ 7094 .thumb_func
+ 7095 .fpu softvfp
+ 7097 HAL_I2C_Slave_Seq_Transmit_DMA:
+ 7098 .LFB68:
+3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 7099 .loc 1 3742 0
+ 7100 .cfi_startproc
+ 7101 @ args = 0, pretend = 0, frame = 0
+ 7102 @ frame_needed = 0, uses_anonymous_args = 0
+ 7103 .LVL627:
+ 7104 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 7105 .LCFI58:
+ 7106 .cfi_def_cfa_offset 24
+ 7107 .cfi_offset 3, -24
+ 7108 .cfi_offset 4, -20
+ 7109 .cfi_offset 5, -16
+ 7110 .cfi_offset 6, -12
+ 7111 .cfi_offset 7, -8
+ 7112 .cfi_offset 14, -4
+ 7113 0002 0400 movs r4, r0
+ 7114 0004 0D00 movs r5, r1
+ 7115 0006 1600 movs r6, r2
+ 7116 0008 1F00 movs r7, r3
+3748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7117 .loc 1 3748 0
+ 7118 000a 4123 movs r3, #65
+ 7119 .LVL628:
+ 7120 000c C35C ldrb r3, [r0, r3]
+ 7121 000e 2822 movs r2, #40
+ 7122 .LVL629:
+ 7123 0010 1340 ands r3, r2
+ 7124 0012 282B cmp r3, #40
+ 7125 0014 02D0 beq .L494
+3906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7126 .loc 1 3906 0
+ 7127 0016 0125 movs r5, #1
+ 7128 .LVL630:
+ 7129 .L481:
+3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 259
+
+
+ 7130 .loc 1 3908 0
+ 7131 0018 2800 movs r0, r5
+ 7132 @ sp needed
+ 7133 .LVL631:
+ 7134 .LVL632:
+ 7135 001a F8BD pop {r3, r4, r5, r6, r7, pc}
+ 7136 .LVL633:
+ 7137 .L494:
+3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7138 .loc 1 3750 0
+ 7139 001c 0029 cmp r1, #0
+ 7140 001e 57D0 beq .L482
+3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7141 .loc 1 3750 0 is_stmt 0 discriminator 1
+ 7142 0020 002E cmp r6, #0
+ 7143 0022 55D0 beq .L482
+3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7144 .loc 1 3757 0 is_stmt 1
+ 7145 0024 4023 movs r3, #64
+ 7146 0026 C35C ldrb r3, [r0, r3]
+ 7147 0028 012B cmp r3, #1
+ 7148 002a 00D1 bne .LCB7285
+ 7149 002c A5E0 b .L492 @long jump
+ 7150 .LCB7285:
+3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7151 .loc 1 3757 0 is_stmt 0 discriminator 2
+ 7152 002e 4023 movs r3, #64
+ 7153 0030 0122 movs r2, #1
+ 7154 0032 C254 strb r2, [r0, r3]
+3760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7155 .loc 1 3760 0 is_stmt 1 discriminator 2
+ 7156 0034 0521 movs r1, #5
+ 7157 .LVL634:
+ 7158 0036 FFF7FEFF bl I2C_Disable_IRQ
+ 7159 .LVL635:
+3764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7160 .loc 1 3764 0 discriminator 2
+ 7161 003a 4123 movs r3, #65
+ 7162 003c E35C ldrb r3, [r4, r3]
+ 7163 003e 2A2B cmp r3, #42
+ 7164 0040 4BD0 beq .L495
+3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7165 .loc 1 3789 0
+ 7166 0042 4123 movs r3, #65
+ 7167 0044 E35C ldrb r3, [r4, r3]
+ 7168 0046 292B cmp r3, #41
+ 7169 0048 62D0 beq .L496
+ 7170 .L485:
+3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 7171 .loc 1 3816 0
+ 7172 004a 4123 movs r3, #65
+ 7173 004c 2922 movs r2, #41
+ 7174 004e E254 strb r2, [r4, r3]
+3817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 7175 .loc 1 3817 0
+ 7176 0050 0133 adds r3, r3, #1
+ 7177 0052 093A subs r2, r2, #9
+ ARM GAS /tmp/ccskJbbb.s page 260
+
+
+ 7178 0054 E254 strb r2, [r4, r3]
+3818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7179 .loc 1 3818 0
+ 7180 0056 0023 movs r3, #0
+ 7181 0058 6364 str r3, [r4, #68]
+3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7182 .loc 1 3821 0
+ 7183 005a 2268 ldr r2, [r4]
+ 7184 005c 5368 ldr r3, [r2, #4]
+ 7185 005e 4849 ldr r1, .L498
+ 7186 0060 0B40 ands r3, r1
+ 7187 0062 5360 str r3, [r2, #4]
+3824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 7188 .loc 1 3824 0
+ 7189 0064 6562 str r5, [r4, #36]
+3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 7190 .loc 1 3825 0
+ 7191 0066 6685 strh r6, [r4, #42]
+3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 7192 .loc 1 3826 0
+ 7193 0068 638D ldrh r3, [r4, #42]
+ 7194 006a 2385 strh r3, [r4, #40]
+3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+ 7195 .loc 1 3827 0
+ 7196 006c E762 str r7, [r4, #44]
+3828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7197 .loc 1 3828 0
+ 7198 006e 454B ldr r3, .L498+4
+ 7199 0070 6363 str r3, [r4, #52]
+3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7200 .loc 1 3830 0
+ 7201 0072 A36B ldr r3, [r4, #56]
+ 7202 0074 002B cmp r3, #0
+ 7203 0076 61D0 beq .L486
+3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7204 .loc 1 3833 0
+ 7205 0078 434A ldr r2, .L498+8
+ 7206 007a 9A62 str r2, [r3, #40]
+3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7207 .loc 1 3836 0
+ 7208 007c A36B ldr r3, [r4, #56]
+ 7209 007e 434A ldr r2, .L498+12
+ 7210 0080 1A63 str r2, [r3, #48]
+3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+ 7211 .loc 1 3839 0
+ 7212 0082 A26B ldr r2, [r4, #56]
+ 7213 0084 0023 movs r3, #0
+ 7214 0086 D362 str r3, [r2, #44]
+3840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7215 .loc 1 3840 0
+ 7216 0088 A26B ldr r2, [r4, #56]
+ 7217 008a 5363 str r3, [r2, #52]
+3843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7218 .loc 1 3843 0
+ 7219 008c 2268 ldr r2, [r4]
+ 7220 008e 2832 adds r2, r2, #40
+ 7221 0090 238D ldrh r3, [r4, #40]
+ ARM GAS /tmp/ccskJbbb.s page 261
+
+
+ 7222 0092 2900 movs r1, r5
+ 7223 0094 A06B ldr r0, [r4, #56]
+ 7224 0096 FFF7FEFF bl HAL_DMA_Start_IT
+ 7225 .LVL636:
+ 7226 009a 051E subs r5, r0, #0
+ 7227 .LVL637:
+3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7228 .loc 1 3860 0
+ 7229 009c 5CD1 bne .L497
+3863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7230 .loc 1 3863 0
+ 7231 009e 638D ldrh r3, [r4, #42]
+ 7232 00a0 228D ldrh r2, [r4, #40]
+ 7233 00a2 9B1A subs r3, r3, r2
+ 7234 00a4 9BB2 uxth r3, r3
+ 7235 00a6 6385 strh r3, [r4, #42]
+3866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7236 .loc 1 3866 0
+ 7237 00a8 0023 movs r3, #0
+ 7238 00aa 2385 strh r3, [r4, #40]
+3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7239 .loc 1 3883 0
+ 7240 00ac 2368 ldr r3, [r4]
+ 7241 00ae 9A69 ldr r2, [r3, #24]
+ 7242 00b0 D203 lsls r2, r2, #15
+ 7243 00b2 5FD4 bmi .L489
+ 7244 .L490:
+3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7245 .loc 1 3891 0
+ 7246 00b4 4023 movs r3, #64
+ 7247 00b6 0022 movs r2, #0
+ 7248 00b8 E254 strb r2, [r4, r3]
+3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7249 .loc 1 3897 0
+ 7250 00ba 0421 movs r1, #4
+ 7251 00bc 2000 movs r0, r4
+ 7252 .LVL638:
+ 7253 00be FFF7FEFF bl I2C_Enable_IRQ
+ 7254 .LVL639:
+3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7255 .loc 1 3900 0
+ 7256 00c2 2268 ldr r2, [r4]
+ 7257 00c4 1168 ldr r1, [r2]
+ 7258 00c6 8023 movs r3, #128
+ 7259 00c8 DB01 lsls r3, r3, #7
+ 7260 00ca 0B43 orrs r3, r1
+ 7261 00cc 1360 str r3, [r2]
+3902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7262 .loc 1 3902 0
+ 7263 00ce A3E7 b .L481
+ 7264 .LVL640:
+ 7265 .L482:
+3752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 7266 .loc 1 3752 0
+ 7267 00d0 8023 movs r3, #128
+ 7268 00d2 9B00 lsls r3, r3, #2
+ 7269 00d4 6364 str r3, [r4, #68]
+ ARM GAS /tmp/ccskJbbb.s page 262
+
+
+3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7270 .loc 1 3753 0
+ 7271 00d6 0125 movs r5, #1
+ 7272 00d8 9EE7 b .L481
+ 7273 .LVL641:
+ 7274 .L495:
+3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7275 .loc 1 3767 0
+ 7276 00da 0221 movs r1, #2
+ 7277 00dc 2000 movs r0, r4
+ 7278 00de FFF7FEFF bl I2C_Disable_IRQ
+ 7279 .LVL642:
+3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7280 .loc 1 3769 0
+ 7281 00e2 2368 ldr r3, [r4]
+ 7282 00e4 1A68 ldr r2, [r3]
+ 7283 00e6 1204 lsls r2, r2, #16
+ 7284 00e8 AFD5 bpl .L485
+3772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7285 .loc 1 3772 0
+ 7286 00ea E26B ldr r2, [r4, #60]
+ 7287 00ec 002A cmp r2, #0
+ 7288 00ee ACD0 beq .L485
+3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7289 .loc 1 3774 0
+ 7290 00f0 1A68 ldr r2, [r3]
+ 7291 00f2 2349 ldr r1, .L498
+ 7292 00f4 0A40 ands r2, r1
+ 7293 00f6 1A60 str r2, [r3]
+3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7294 .loc 1 3778 0
+ 7295 00f8 E36B ldr r3, [r4, #60]
+ 7296 00fa 254A ldr r2, .L498+16
+ 7297 00fc 5A63 str r2, [r3, #52]
+3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7298 .loc 1 3781 0
+ 7299 00fe E06B ldr r0, [r4, #60]
+ 7300 0100 FFF7FEFF bl HAL_DMA_Abort_IT
+ 7301 .LVL643:
+ 7302 0104 0028 cmp r0, #0
+ 7303 0106 A0D0 beq .L485
+3784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7304 .loc 1 3784 0
+ 7305 0108 E06B ldr r0, [r4, #60]
+ 7306 010a 436B ldr r3, [r0, #52]
+ 7307 010c 9847 blx r3
+ 7308 .LVL644:
+ 7309 010e 9CE7 b .L485
+ 7310 .L496:
+3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7311 .loc 1 3791 0
+ 7312 0110 2368 ldr r3, [r4]
+ 7313 0112 1A68 ldr r2, [r3]
+ 7314 0114 5204 lsls r2, r2, #17
+ 7315 0116 98D5 bpl .L485
+3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7316 .loc 1 3793 0
+ ARM GAS /tmp/ccskJbbb.s page 263
+
+
+ 7317 0118 1A68 ldr r2, [r3]
+ 7318 011a 1E49 ldr r1, .L498+20
+ 7319 011c 0A40 ands r2, r1
+ 7320 011e 1A60 str r2, [r3]
+3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7321 .loc 1 3796 0
+ 7322 0120 A36B ldr r3, [r4, #56]
+ 7323 0122 002B cmp r3, #0
+ 7324 0124 91D0 beq .L485
+3800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7325 .loc 1 3800 0
+ 7326 0126 1A4A ldr r2, .L498+16
+ 7327 0128 5A63 str r2, [r3, #52]
+3803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7328 .loc 1 3803 0
+ 7329 012a A06B ldr r0, [r4, #56]
+ 7330 012c FFF7FEFF bl HAL_DMA_Abort_IT
+ 7331 .LVL645:
+ 7332 0130 0028 cmp r0, #0
+ 7333 0132 8AD0 beq .L485
+3806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7334 .loc 1 3806 0
+ 7335 0134 A06B ldr r0, [r4, #56]
+ 7336 0136 436B ldr r3, [r0, #52]
+ 7337 0138 9847 blx r3
+ 7338 .LVL646:
+ 7339 013a 86E7 b .L485
+ 7340 .L486:
+3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 7341 .loc 1 3848 0
+ 7342 013c 4123 movs r3, #65
+ 7343 013e 2822 movs r2, #40
+ 7344 0140 E254 strb r2, [r4, r3]
+3849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7345 .loc 1 3849 0
+ 7346 0142 0022 movs r2, #0
+ 7347 0144 0133 adds r3, r3, #1
+ 7348 0146 E254 strb r2, [r4, r3]
+3852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7349 .loc 1 3852 0
+ 7350 0148 636C ldr r3, [r4, #68]
+ 7351 014a 8021 movs r1, #128
+ 7352 014c 0B43 orrs r3, r1
+ 7353 014e 6364 str r3, [r4, #68]
+3855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7354 .loc 1 3855 0
+ 7355 0150 4023 movs r3, #64
+ 7356 0152 E254 strb r2, [r4, r3]
+3857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7357 .loc 1 3857 0
+ 7358 0154 0125 movs r5, #1
+ 7359 .LVL647:
+ 7360 0156 5FE7 b .L481
+ 7361 .LVL648:
+ 7362 .L497:
+3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 7363 .loc 1 3871 0
+ ARM GAS /tmp/ccskJbbb.s page 264
+
+
+ 7364 0158 4123 movs r3, #65
+ 7365 015a 2822 movs r2, #40
+ 7366 015c E254 strb r2, [r4, r3]
+3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7367 .loc 1 3872 0
+ 7368 015e 0022 movs r2, #0
+ 7369 0160 0133 adds r3, r3, #1
+ 7370 0162 E254 strb r2, [r4, r3]
+3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7371 .loc 1 3875 0
+ 7372 0164 636C ldr r3, [r4, #68]
+ 7373 0166 1021 movs r1, #16
+ 7374 0168 0B43 orrs r3, r1
+ 7375 016a 6364 str r3, [r4, #68]
+3878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7376 .loc 1 3878 0
+ 7377 016c 4023 movs r3, #64
+ 7378 016e E254 strb r2, [r4, r3]
+3880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7379 .loc 1 3880 0
+ 7380 0170 0125 movs r5, #1
+ 7381 0172 51E7 b .L481
+ 7382 .L489:
+3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7383 .loc 1 3887 0
+ 7384 0174 0822 movs r2, #8
+ 7385 0176 DA61 str r2, [r3, #28]
+ 7386 0178 9CE7 b .L490
+ 7387 .LVL649:
+ 7388 .L492:
+3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7389 .loc 1 3757 0
+ 7390 017a 0225 movs r5, #2
+ 7391 017c 4CE7 b .L481
+ 7392 .L499:
+ 7393 017e C046 .align 2
+ 7394 .L498:
+ 7395 0180 FF7FFFFF .word -32769
+ 7396 0184 00000000 .word I2C_Slave_ISR_DMA
+ 7397 0188 00000000 .word I2C_DMASlaveTransmitCplt
+ 7398 018c 00000000 .word I2C_DMAError
+ 7399 0190 00000000 .word I2C_DMAAbort
+ 7400 0194 FFBFFFFF .word -16385
+ 7401 .cfi_endproc
+ 7402 .LFE68:
+ 7404 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits
+ 7405 .align 1
+ 7406 .global HAL_I2C_Slave_Seq_Receive_IT
+ 7407 .syntax unified
+ 7408 .code 16
+ 7409 .thumb_func
+ 7410 .fpu softvfp
+ 7412 HAL_I2C_Slave_Seq_Receive_IT:
+ 7413 .LFB69:
+3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+ 7414 .loc 1 3921 0
+ 7415 .cfi_startproc
+ ARM GAS /tmp/ccskJbbb.s page 265
+
+
+ 7416 @ args = 0, pretend = 0, frame = 0
+ 7417 @ frame_needed = 0, uses_anonymous_args = 0
+ 7418 .LVL650:
+ 7419 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 7420 .LCFI59:
+ 7421 .cfi_def_cfa_offset 24
+ 7422 .cfi_offset 3, -24
+ 7423 .cfi_offset 4, -20
+ 7424 .cfi_offset 5, -16
+ 7425 .cfi_offset 6, -12
+ 7426 .cfi_offset 7, -8
+ 7427 .cfi_offset 14, -4
+ 7428 0002 0700 movs r7, r0
+ 7429 0004 0C00 movs r4, r1
+ 7430 0006 1500 movs r5, r2
+ 7431 0008 1E00 movs r6, r3
+3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7432 .loc 1 3925 0
+ 7433 000a 4123 movs r3, #65
+ 7434 .LVL651:
+ 7435 000c C35C ldrb r3, [r0, r3]
+ 7436 000e 2822 movs r2, #40
+ 7437 .LVL652:
+ 7438 0010 1340 ands r3, r2
+ 7439 0012 282B cmp r3, #40
+ 7440 0014 01D0 beq .L508
+4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7441 .loc 1 4001 0
+ 7442 0016 0120 movs r0, #1
+ 7443 .LVL653:
+ 7444 .L501:
+4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7445 .loc 1 4003 0
+ 7446 @ sp needed
+ 7447 .LVL654:
+ 7448 .LVL655:
+ 7449 .LVL656:
+ 7450 0018 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 7451 .LVL657:
+ 7452 .L508:
+3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7453 .loc 1 3927 0
+ 7454 001a 0029 cmp r1, #0
+ 7455 001c 01D0 beq .L502
+3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7456 .loc 1 3927 0 is_stmt 0 discriminator 1
+ 7457 001e 002D cmp r5, #0
+ 7458 0020 04D1 bne .L503
+ 7459 .L502:
+3929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 7460 .loc 1 3929 0 is_stmt 1
+ 7461 0022 8023 movs r3, #128
+ 7462 0024 9B00 lsls r3, r3, #2
+ 7463 0026 7B64 str r3, [r7, #68]
+3930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7464 .loc 1 3930 0
+ 7465 0028 0120 movs r0, #1
+ ARM GAS /tmp/ccskJbbb.s page 266
+
+
+ 7466 .LVL658:
+ 7467 002a F5E7 b .L501
+ 7468 .LVL659:
+ 7469 .L503:
+3934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7470 .loc 1 3934 0
+ 7471 002c 0621 movs r1, #6
+ 7472 .LVL660:
+ 7473 002e FFF7FEFF bl I2C_Disable_IRQ
+ 7474 .LVL661:
+3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7475 .loc 1 3937 0
+ 7476 0032 4023 movs r3, #64
+ 7477 0034 FB5C ldrb r3, [r7, r3]
+ 7478 0036 012B cmp r3, #1
+ 7479 0038 43D0 beq .L507
+3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7480 .loc 1 3937 0 is_stmt 0 discriminator 2
+ 7481 003a 4023 movs r3, #64
+ 7482 003c 0122 movs r2, #1
+ 7483 003e FA54 strb r2, [r7, r3]
+3941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7484 .loc 1 3941 0 is_stmt 1 discriminator 2
+ 7485 0040 0133 adds r3, r3, #1
+ 7486 0042 FB5C ldrb r3, [r7, r3]
+ 7487 0044 292B cmp r3, #41
+ 7488 0046 22D0 beq .L509
+ 7489 .L504:
+3967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 7490 .loc 1 3967 0
+ 7491 0048 4123 movs r3, #65
+ 7492 004a 2A22 movs r2, #42
+ 7493 004c FA54 strb r2, [r7, r3]
+3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 7494 .loc 1 3968 0
+ 7495 004e 0133 adds r3, r3, #1
+ 7496 0050 0A3A subs r2, r2, #10
+ 7497 0052 FA54 strb r2, [r7, r3]
+3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7498 .loc 1 3969 0
+ 7499 0054 0023 movs r3, #0
+ 7500 0056 7B64 str r3, [r7, #68]
+3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7501 .loc 1 3972 0
+ 7502 0058 3A68 ldr r2, [r7]
+ 7503 005a 5368 ldr r3, [r2, #4]
+ 7504 005c 1A49 ldr r1, .L510
+ 7505 005e 0B40 ands r3, r1
+ 7506 0060 5360 str r3, [r2, #4]
+3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 7507 .loc 1 3975 0
+ 7508 0062 7C62 str r4, [r7, #36]
+3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 7509 .loc 1 3976 0
+ 7510 0064 7D85 strh r5, [r7, #42]
+3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 7511 .loc 1 3977 0
+ ARM GAS /tmp/ccskJbbb.s page 267
+
+
+ 7512 0066 7B8D ldrh r3, [r7, #42]
+ 7513 0068 3B85 strh r3, [r7, #40]
+3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 7514 .loc 1 3978 0
+ 7515 006a FE62 str r6, [r7, #44]
+3979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7516 .loc 1 3979 0
+ 7517 006c 174B ldr r3, .L510+4
+ 7518 006e 7B63 str r3, [r7, #52]
+3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7519 .loc 1 3981 0
+ 7520 0070 3B68 ldr r3, [r7]
+ 7521 0072 9A69 ldr r2, [r3, #24]
+ 7522 0074 D203 lsls r2, r2, #15
+ 7523 0076 01D4 bmi .L505
+3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7524 .loc 1 3985 0
+ 7525 0078 0822 movs r2, #8
+ 7526 007a DA61 str r2, [r3, #28]
+ 7527 .L505:
+3989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7528 .loc 1 3989 0
+ 7529 007c 4023 movs r3, #64
+ 7530 007e 0022 movs r2, #0
+ 7531 0080 FA54 strb r2, [r7, r3]
+3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7532 .loc 1 3995 0
+ 7533 0082 0621 movs r1, #6
+ 7534 0084 3800 movs r0, r7
+ 7535 0086 FFF7FEFF bl I2C_Enable_IRQ
+ 7536 .LVL662:
+3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7537 .loc 1 3997 0
+ 7538 008a 0020 movs r0, #0
+ 7539 008c C4E7 b .L501
+ 7540 .L509:
+3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7541 .loc 1 3944 0
+ 7542 008e 0121 movs r1, #1
+ 7543 0090 3800 movs r0, r7
+ 7544 0092 FFF7FEFF bl I2C_Disable_IRQ
+ 7545 .LVL663:
+3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7546 .loc 1 3946 0
+ 7547 0096 3B68 ldr r3, [r7]
+ 7548 0098 1A68 ldr r2, [r3]
+ 7549 009a 5204 lsls r2, r2, #17
+ 7550 009c D4D5 bpl .L504
+3948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7551 .loc 1 3948 0
+ 7552 009e 1A68 ldr r2, [r3]
+ 7553 00a0 0B49 ldr r1, .L510+8
+ 7554 00a2 0A40 ands r2, r1
+ 7555 00a4 1A60 str r2, [r3]
+3951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7556 .loc 1 3951 0
+ 7557 00a6 BB6B ldr r3, [r7, #56]
+ ARM GAS /tmp/ccskJbbb.s page 268
+
+
+ 7558 00a8 002B cmp r3, #0
+ 7559 00aa CDD0 beq .L504
+3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7560 .loc 1 3955 0
+ 7561 00ac 094A ldr r2, .L510+12
+ 7562 00ae 5A63 str r2, [r3, #52]
+3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7563 .loc 1 3958 0
+ 7564 00b0 B86B ldr r0, [r7, #56]
+ 7565 00b2 FFF7FEFF bl HAL_DMA_Abort_IT
+ 7566 .LVL664:
+ 7567 00b6 0028 cmp r0, #0
+ 7568 00b8 C6D0 beq .L504
+3961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7569 .loc 1 3961 0
+ 7570 00ba B86B ldr r0, [r7, #56]
+ 7571 00bc 436B ldr r3, [r0, #52]
+ 7572 00be 9847 blx r3
+ 7573 .LVL665:
+ 7574 00c0 C2E7 b .L504
+ 7575 .L507:
+3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7576 .loc 1 3937 0
+ 7577 00c2 0220 movs r0, #2
+ 7578 00c4 A8E7 b .L501
+ 7579 .L511:
+ 7580 00c6 C046 .align 2
+ 7581 .L510:
+ 7582 00c8 FF7FFFFF .word -32769
+ 7583 00cc 00000000 .word I2C_Slave_ISR_IT
+ 7584 00d0 FFBFFFFF .word -16385
+ 7585 00d4 00000000 .word I2C_DMAAbort
+ 7586 .cfi_endproc
+ 7587 .LFE69:
+ 7589 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits
+ 7590 .align 1
+ 7591 .global HAL_I2C_Slave_Seq_Receive_DMA
+ 7592 .syntax unified
+ 7593 .code 16
+ 7594 .thumb_func
+ 7595 .fpu softvfp
+ 7597 HAL_I2C_Slave_Seq_Receive_DMA:
+ 7598 .LFB70:
+4016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 7599 .loc 1 4016 0
+ 7600 .cfi_startproc
+ 7601 @ args = 0, pretend = 0, frame = 0
+ 7602 @ frame_needed = 0, uses_anonymous_args = 0
+ 7603 .LVL666:
+ 7604 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 7605 .LCFI60:
+ 7606 .cfi_def_cfa_offset 24
+ 7607 .cfi_offset 3, -24
+ 7608 .cfi_offset 4, -20
+ 7609 .cfi_offset 5, -16
+ 7610 .cfi_offset 6, -12
+ 7611 .cfi_offset 7, -8
+ ARM GAS /tmp/ccskJbbb.s page 269
+
+
+ 7612 .cfi_offset 14, -4
+ 7613 0002 0400 movs r4, r0
+ 7614 0004 0D00 movs r5, r1
+ 7615 0006 1600 movs r6, r2
+ 7616 0008 1F00 movs r7, r3
+4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7617 .loc 1 4022 0
+ 7618 000a 4123 movs r3, #65
+ 7619 .LVL667:
+ 7620 000c C35C ldrb r3, [r0, r3]
+ 7621 000e 2822 movs r2, #40
+ 7622 .LVL668:
+ 7623 0010 1340 ands r3, r2
+ 7624 0012 282B cmp r3, #40
+ 7625 0014 02D0 beq .L526
+4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7626 .loc 1 4180 0
+ 7627 0016 0125 movs r5, #1
+ 7628 .LVL669:
+ 7629 .L513:
+4182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7630 .loc 1 4182 0
+ 7631 0018 2800 movs r0, r5
+ 7632 @ sp needed
+ 7633 .LVL670:
+ 7634 .LVL671:
+ 7635 001a F8BD pop {r3, r4, r5, r6, r7, pc}
+ 7636 .LVL672:
+ 7637 .L526:
+4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7638 .loc 1 4024 0
+ 7639 001c 0029 cmp r1, #0
+ 7640 001e 01D0 beq .L514
+4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7641 .loc 1 4024 0 is_stmt 0 discriminator 1
+ 7642 0020 002E cmp r6, #0
+ 7643 0022 04D1 bne .L515
+ 7644 .L514:
+4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 7645 .loc 1 4026 0 is_stmt 1
+ 7646 0024 8023 movs r3, #128
+ 7647 0026 9B00 lsls r3, r3, #2
+ 7648 0028 6364 str r3, [r4, #68]
+4027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7649 .loc 1 4027 0
+ 7650 002a 0125 movs r5, #1
+ 7651 002c F4E7 b .L513
+ 7652 .L515:
+4031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7653 .loc 1 4031 0
+ 7654 002e 0621 movs r1, #6
+ 7655 .LVL673:
+ 7656 0030 FFF7FEFF bl I2C_Disable_IRQ
+ 7657 .LVL674:
+4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7658 .loc 1 4034 0
+ 7659 0034 4023 movs r3, #64
+ ARM GAS /tmp/ccskJbbb.s page 270
+
+
+ 7660 0036 E35C ldrb r3, [r4, r3]
+ 7661 0038 012B cmp r3, #1
+ 7662 003a 00D1 bne .LCB7795
+ 7663 003c 9DE0 b .L524 @long jump
+ 7664 .LCB7795:
+4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7665 .loc 1 4034 0 is_stmt 0 discriminator 2
+ 7666 003e 4023 movs r3, #64
+ 7667 0040 0122 movs r2, #1
+ 7668 0042 E254 strb r2, [r4, r3]
+4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7669 .loc 1 4038 0 is_stmt 1 discriminator 2
+ 7670 0044 0133 adds r3, r3, #1
+ 7671 0046 E35C ldrb r3, [r4, r3]
+ 7672 0048 292B cmp r3, #41
+ 7673 004a 46D0 beq .L527
+4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7674 .loc 1 4063 0
+ 7675 004c 4123 movs r3, #65
+ 7676 004e E35C ldrb r3, [r4, r3]
+ 7677 0050 2A2B cmp r3, #42
+ 7678 0052 5DD0 beq .L528
+ 7679 .L517:
+4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 7680 .loc 1 4090 0
+ 7681 0054 4123 movs r3, #65
+ 7682 0056 2A22 movs r2, #42
+ 7683 0058 E254 strb r2, [r4, r3]
+4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 7684 .loc 1 4091 0
+ 7685 005a 0133 adds r3, r3, #1
+ 7686 005c 0A3A subs r2, r2, #10
+ 7687 005e E254 strb r2, [r4, r3]
+4092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7688 .loc 1 4092 0
+ 7689 0060 0023 movs r3, #0
+ 7690 0062 6364 str r3, [r4, #68]
+4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7691 .loc 1 4095 0
+ 7692 0064 2268 ldr r2, [r4]
+ 7693 0066 5368 ldr r3, [r2, #4]
+ 7694 0068 4549 ldr r1, .L530
+ 7695 006a 0B40 ands r3, r1
+ 7696 006c 5360 str r3, [r2, #4]
+4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 7697 .loc 1 4098 0
+ 7698 006e 6562 str r5, [r4, #36]
+4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 7699 .loc 1 4099 0
+ 7700 0070 6685 strh r6, [r4, #42]
+4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 7701 .loc 1 4100 0
+ 7702 0072 638D ldrh r3, [r4, #42]
+ 7703 0074 2385 strh r3, [r4, #40]
+4101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+ 7704 .loc 1 4101 0
+ 7705 0076 E762 str r7, [r4, #44]
+ ARM GAS /tmp/ccskJbbb.s page 271
+
+
+4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7706 .loc 1 4102 0
+ 7707 0078 424B ldr r3, .L530+4
+ 7708 007a 6363 str r3, [r4, #52]
+4104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7709 .loc 1 4104 0
+ 7710 007c E36B ldr r3, [r4, #60]
+ 7711 007e 002B cmp r3, #0
+ 7712 0080 5CD0 beq .L518
+4107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7713 .loc 1 4107 0
+ 7714 0082 414A ldr r2, .L530+8
+ 7715 0084 9A62 str r2, [r3, #40]
+4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7716 .loc 1 4110 0
+ 7717 0086 E36B ldr r3, [r4, #60]
+ 7718 0088 404A ldr r2, .L530+12
+ 7719 008a 1A63 str r2, [r3, #48]
+4113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 7720 .loc 1 4113 0
+ 7721 008c E26B ldr r2, [r4, #60]
+ 7722 008e 0023 movs r3, #0
+ 7723 0090 D362 str r3, [r2, #44]
+4114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7724 .loc 1 4114 0
+ 7725 0092 E26B ldr r2, [r4, #60]
+ 7726 0094 5363 str r3, [r2, #52]
+4117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7727 .loc 1 4117 0
+ 7728 0096 2168 ldr r1, [r4]
+ 7729 0098 2431 adds r1, r1, #36
+ 7730 009a 238D ldrh r3, [r4, #40]
+ 7731 009c 2A00 movs r2, r5
+ 7732 009e E06B ldr r0, [r4, #60]
+ 7733 00a0 FFF7FEFF bl HAL_DMA_Start_IT
+ 7734 .LVL675:
+ 7735 00a4 051E subs r5, r0, #0
+ 7736 .LVL676:
+4134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7737 .loc 1 4134 0
+ 7738 00a6 57D1 bne .L529
+4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7739 .loc 1 4137 0
+ 7740 00a8 638D ldrh r3, [r4, #42]
+ 7741 00aa 228D ldrh r2, [r4, #40]
+ 7742 00ac 9B1A subs r3, r3, r2
+ 7743 00ae 9BB2 uxth r3, r3
+ 7744 00b0 6385 strh r3, [r4, #42]
+4140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7745 .loc 1 4140 0
+ 7746 00b2 0023 movs r3, #0
+ 7747 00b4 2385 strh r3, [r4, #40]
+4157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7748 .loc 1 4157 0
+ 7749 00b6 2368 ldr r3, [r4]
+ 7750 00b8 9A69 ldr r2, [r3, #24]
+ 7751 00ba D203 lsls r2, r2, #15
+ ARM GAS /tmp/ccskJbbb.s page 272
+
+
+ 7752 00bc 5AD5 bpl .L521
+ 7753 .L522:
+4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7754 .loc 1 4165 0
+ 7755 00be 4023 movs r3, #64
+ 7756 00c0 0022 movs r2, #0
+ 7757 00c2 E254 strb r2, [r4, r3]
+4171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7758 .loc 1 4171 0
+ 7759 00c4 0621 movs r1, #6
+ 7760 00c6 2000 movs r0, r4
+ 7761 .LVL677:
+ 7762 00c8 FFF7FEFF bl I2C_Enable_IRQ
+ 7763 .LVL678:
+4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7764 .loc 1 4174 0
+ 7765 00cc 2268 ldr r2, [r4]
+ 7766 00ce 1168 ldr r1, [r2]
+ 7767 00d0 8023 movs r3, #128
+ 7768 00d2 1B02 lsls r3, r3, #8
+ 7769 00d4 0B43 orrs r3, r1
+ 7770 00d6 1360 str r3, [r2]
+4176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7771 .loc 1 4176 0
+ 7772 00d8 9EE7 b .L513
+ 7773 .LVL679:
+ 7774 .L527:
+4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7775 .loc 1 4041 0
+ 7776 00da 0121 movs r1, #1
+ 7777 00dc 2000 movs r0, r4
+ 7778 00de FFF7FEFF bl I2C_Disable_IRQ
+ 7779 .LVL680:
+4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7780 .loc 1 4043 0
+ 7781 00e2 2368 ldr r3, [r4]
+ 7782 00e4 1A68 ldr r2, [r3]
+ 7783 00e6 5204 lsls r2, r2, #17
+ 7784 00e8 B4D5 bpl .L517
+4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7785 .loc 1 4046 0
+ 7786 00ea A26B ldr r2, [r4, #56]
+ 7787 00ec 002A cmp r2, #0
+ 7788 00ee B1D0 beq .L517
+4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7789 .loc 1 4048 0
+ 7790 00f0 1A68 ldr r2, [r3]
+ 7791 00f2 2749 ldr r1, .L530+16
+ 7792 00f4 0A40 ands r2, r1
+ 7793 00f6 1A60 str r2, [r3]
+4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7794 .loc 1 4052 0
+ 7795 00f8 A36B ldr r3, [r4, #56]
+ 7796 00fa 264A ldr r2, .L530+20
+ 7797 00fc 5A63 str r2, [r3, #52]
+4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7798 .loc 1 4055 0
+ ARM GAS /tmp/ccskJbbb.s page 273
+
+
+ 7799 00fe A06B ldr r0, [r4, #56]
+ 7800 0100 FFF7FEFF bl HAL_DMA_Abort_IT
+ 7801 .LVL681:
+ 7802 0104 0028 cmp r0, #0
+ 7803 0106 A5D0 beq .L517
+4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7804 .loc 1 4058 0
+ 7805 0108 A06B ldr r0, [r4, #56]
+ 7806 010a 436B ldr r3, [r0, #52]
+ 7807 010c 9847 blx r3
+ 7808 .LVL682:
+ 7809 010e A1E7 b .L517
+ 7810 .L528:
+4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7811 .loc 1 4065 0
+ 7812 0110 2368 ldr r3, [r4]
+ 7813 0112 1A68 ldr r2, [r3]
+ 7814 0114 1204 lsls r2, r2, #16
+ 7815 0116 9DD5 bpl .L517
+4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7816 .loc 1 4067 0
+ 7817 0118 1A68 ldr r2, [r3]
+ 7818 011a 1949 ldr r1, .L530
+ 7819 011c 0A40 ands r2, r1
+ 7820 011e 1A60 str r2, [r3]
+4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7821 .loc 1 4070 0
+ 7822 0120 E36B ldr r3, [r4, #60]
+ 7823 0122 002B cmp r3, #0
+ 7824 0124 96D0 beq .L517
+4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7825 .loc 1 4074 0
+ 7826 0126 1B4A ldr r2, .L530+20
+ 7827 0128 5A63 str r2, [r3, #52]
+4077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7828 .loc 1 4077 0
+ 7829 012a E06B ldr r0, [r4, #60]
+ 7830 012c FFF7FEFF bl HAL_DMA_Abort_IT
+ 7831 .LVL683:
+ 7832 0130 0028 cmp r0, #0
+ 7833 0132 8FD0 beq .L517
+4080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7834 .loc 1 4080 0
+ 7835 0134 E06B ldr r0, [r4, #60]
+ 7836 0136 436B ldr r3, [r0, #52]
+ 7837 0138 9847 blx r3
+ 7838 .LVL684:
+ 7839 013a 8BE7 b .L517
+ 7840 .L518:
+4122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 7841 .loc 1 4122 0
+ 7842 013c 4123 movs r3, #65
+ 7843 013e 2822 movs r2, #40
+ 7844 0140 E254 strb r2, [r4, r3]
+4123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7845 .loc 1 4123 0
+ 7846 0142 0022 movs r2, #0
+ ARM GAS /tmp/ccskJbbb.s page 274
+
+
+ 7847 0144 0133 adds r3, r3, #1
+ 7848 0146 E254 strb r2, [r4, r3]
+4126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7849 .loc 1 4126 0
+ 7850 0148 636C ldr r3, [r4, #68]
+ 7851 014a 8021 movs r1, #128
+ 7852 014c 0B43 orrs r3, r1
+ 7853 014e 6364 str r3, [r4, #68]
+4129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7854 .loc 1 4129 0
+ 7855 0150 4023 movs r3, #64
+ 7856 0152 E254 strb r2, [r4, r3]
+4131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7857 .loc 1 4131 0
+ 7858 0154 0125 movs r5, #1
+ 7859 .LVL685:
+ 7860 0156 5FE7 b .L513
+ 7861 .LVL686:
+ 7862 .L529:
+4145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 7863 .loc 1 4145 0
+ 7864 0158 4123 movs r3, #65
+ 7865 015a 2822 movs r2, #40
+ 7866 015c E254 strb r2, [r4, r3]
+4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7867 .loc 1 4146 0
+ 7868 015e 0022 movs r2, #0
+ 7869 0160 0133 adds r3, r3, #1
+ 7870 0162 E254 strb r2, [r4, r3]
+4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7871 .loc 1 4149 0
+ 7872 0164 636C ldr r3, [r4, #68]
+ 7873 0166 1021 movs r1, #16
+ 7874 0168 0B43 orrs r3, r1
+ 7875 016a 6364 str r3, [r4, #68]
+4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7876 .loc 1 4152 0
+ 7877 016c 4023 movs r3, #64
+ 7878 016e E254 strb r2, [r4, r3]
+4154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7879 .loc 1 4154 0
+ 7880 0170 0125 movs r5, #1
+ 7881 0172 51E7 b .L513
+ 7882 .L521:
+4161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7883 .loc 1 4161 0
+ 7884 0174 0822 movs r2, #8
+ 7885 0176 DA61 str r2, [r3, #28]
+ 7886 0178 A1E7 b .L522
+ 7887 .LVL687:
+ 7888 .L524:
+4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7889 .loc 1 4034 0
+ 7890 017a 0225 movs r5, #2
+ 7891 .LVL688:
+ 7892 017c 4CE7 b .L513
+ 7893 .L531:
+ ARM GAS /tmp/ccskJbbb.s page 275
+
+
+ 7894 017e C046 .align 2
+ 7895 .L530:
+ 7896 0180 FF7FFFFF .word -32769
+ 7897 0184 00000000 .word I2C_Slave_ISR_DMA
+ 7898 0188 00000000 .word I2C_DMASlaveReceiveCplt
+ 7899 018c 00000000 .word I2C_DMAError
+ 7900 0190 FFBFFFFF .word -16385
+ 7901 0194 00000000 .word I2C_DMAAbort
+ 7902 .cfi_endproc
+ 7903 .LFE70:
+ 7905 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits
+ 7906 .align 1
+ 7907 .global HAL_I2C_EnableListen_IT
+ 7908 .syntax unified
+ 7909 .code 16
+ 7910 .thumb_func
+ 7911 .fpu softvfp
+ 7913 HAL_I2C_EnableListen_IT:
+ 7914 .LFB71:
+4191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+ 7915 .loc 1 4191 0
+ 7916 .cfi_startproc
+ 7917 @ args = 0, pretend = 0, frame = 0
+ 7918 @ frame_needed = 0, uses_anonymous_args = 0
+ 7919 .LVL689:
+ 7920 0000 10B5 push {r4, lr}
+ 7921 .LCFI61:
+ 7922 .cfi_def_cfa_offset 8
+ 7923 .cfi_offset 4, -8
+ 7924 .cfi_offset 14, -4
+4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7925 .loc 1 4192 0
+ 7926 0002 4123 movs r3, #65
+ 7927 0004 C35C ldrb r3, [r0, r3]
+ 7928 0006 202B cmp r3, #32
+ 7929 0008 01D0 beq .L535
+4204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7930 .loc 1 4204 0
+ 7931 000a 0220 movs r0, #2
+ 7932 .LVL690:
+ 7933 .L533:
+4206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7934 .loc 1 4206 0
+ 7935 @ sp needed
+ 7936 000c 10BD pop {r4, pc}
+ 7937 .LVL691:
+ 7938 .L535:
+4194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 7939 .loc 1 4194 0
+ 7940 000e 2133 adds r3, r3, #33
+ 7941 0010 2822 movs r2, #40
+ 7942 0012 C254 strb r2, [r0, r3]
+4195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7943 .loc 1 4195 0
+ 7944 0014 034B ldr r3, .L536
+ 7945 0016 4363 str r3, [r0, #52]
+4198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 276
+
+
+ 7946 .loc 1 4198 0
+ 7947 0018 0421 movs r1, #4
+ 7948 001a FFF7FEFF bl I2C_Enable_IRQ
+ 7949 .LVL692:
+4200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7950 .loc 1 4200 0
+ 7951 001e 0020 movs r0, #0
+ 7952 0020 F4E7 b .L533
+ 7953 .L537:
+ 7954 0022 C046 .align 2
+ 7955 .L536:
+ 7956 0024 00000000 .word I2C_Slave_ISR_IT
+ 7957 .cfi_endproc
+ 7958 .LFE71:
+ 7960 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits
+ 7961 .align 1
+ 7962 .global HAL_I2C_DisableListen_IT
+ 7963 .syntax unified
+ 7964 .code 16
+ 7965 .thumb_func
+ 7966 .fpu softvfp
+ 7968 HAL_I2C_DisableListen_IT:
+ 7969 .LFB72:
+4215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
+ 7970 .loc 1 4215 0
+ 7971 .cfi_startproc
+ 7972 @ args = 0, pretend = 0, frame = 0
+ 7973 @ frame_needed = 0, uses_anonymous_args = 0
+ 7974 .LVL693:
+ 7975 0000 70B5 push {r4, r5, r6, lr}
+ 7976 .LCFI62:
+ 7977 .cfi_def_cfa_offset 16
+ 7978 .cfi_offset 4, -16
+ 7979 .cfi_offset 5, -12
+ 7980 .cfi_offset 6, -8
+ 7981 .cfi_offset 14, -4
+4220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7982 .loc 1 4220 0
+ 7983 0002 4123 movs r3, #65
+ 7984 0004 C35C ldrb r3, [r0, r3]
+ 7985 0006 282B cmp r3, #40
+ 7986 0008 01D0 beq .L541
+4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7987 .loc 1 4235 0
+ 7988 000a 0220 movs r0, #2
+ 7989 .LVL694:
+ 7990 .L539:
+4237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7991 .loc 1 4237 0
+ 7992 @ sp needed
+ 7993 000c 70BD pop {r4, r5, r6, pc}
+ 7994 .LVL695:
+ 7995 .L541:
+4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
+ 7996 .loc 1 4222 0
+ 7997 000e 4124 movs r4, #65
+ 7998 0010 025D ldrb r2, [r0, r4]
+ ARM GAS /tmp/ccskJbbb.s page 277
+
+
+ 7999 .LVL696:
+4223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 8000 .loc 1 4223 0
+ 8001 0012 4221 movs r1, #66
+ 8002 0014 435C ldrb r3, [r0, r1]
+ 8003 0016 0325 movs r5, #3
+ 8004 0018 2A40 ands r2, r5
+ 8005 .LVL697:
+ 8006 001a 1343 orrs r3, r2
+ 8007 001c 0363 str r3, [r0, #48]
+4224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 8008 .loc 1 4224 0
+ 8009 001e 2023 movs r3, #32
+ 8010 0020 0355 strb r3, [r0, r4]
+4225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 8011 .loc 1 4225 0
+ 8012 0022 0023 movs r3, #0
+ 8013 0024 4354 strb r3, [r0, r1]
+4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8014 .loc 1 4226 0
+ 8015 0026 4363 str r3, [r0, #52]
+4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8016 .loc 1 4229 0
+ 8017 0028 3E39 subs r1, r1, #62
+ 8018 002a FFF7FEFF bl I2C_Disable_IRQ
+ 8019 .LVL698:
+4231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8020 .loc 1 4231 0
+ 8021 002e 0020 movs r0, #0
+ 8022 0030 ECE7 b .L539
+ 8023 .cfi_endproc
+ 8024 .LFE72:
+ 8026 .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits
+ 8027 .align 1
+ 8028 .global HAL_I2C_Master_Abort_IT
+ 8029 .syntax unified
+ 8030 .code 16
+ 8031 .thumb_func
+ 8032 .fpu softvfp
+ 8034 HAL_I2C_Master_Abort_IT:
+ 8035 .LFB73:
+4248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
+ 8036 .loc 1 4248 0
+ 8037 .cfi_startproc
+ 8038 @ args = 0, pretend = 0, frame = 0
+ 8039 @ frame_needed = 0, uses_anonymous_args = 0
+ 8040 .LVL699:
+ 8041 0000 70B5 push {r4, r5, r6, lr}
+ 8042 .LCFI63:
+ 8043 .cfi_def_cfa_offset 16
+ 8044 .cfi_offset 4, -16
+ 8045 .cfi_offset 5, -12
+ 8046 .cfi_offset 6, -8
+ 8047 .cfi_offset 14, -4
+ 8048 0002 82B0 sub sp, sp, #8
+ 8049 .LCFI64:
+ 8050 .cfi_def_cfa_offset 24
+ ARM GAS /tmp/ccskJbbb.s page 278
+
+
+ 8051 0004 0400 movs r4, r0
+ 8052 0006 0D00 movs r5, r1
+4249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8053 .loc 1 4249 0
+ 8054 0008 4223 movs r3, #66
+ 8055 000a C35C ldrb r3, [r0, r3]
+ 8056 000c 102B cmp r3, #16
+ 8057 000e 02D0 beq .L546
+4279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8058 .loc 1 4279 0
+ 8059 0010 0120 movs r0, #1
+ 8060 .LVL700:
+ 8061 .L543:
+4281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8062 .loc 1 4281 0
+ 8063 0012 02B0 add sp, sp, #8
+ 8064 @ sp needed
+ 8065 .LVL701:
+ 8066 0014 70BD pop {r4, r5, r6, pc}
+ 8067 .LVL702:
+ 8068 .L546:
+4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8069 .loc 1 4252 0
+ 8070 0016 3033 adds r3, r3, #48
+ 8071 0018 C35C ldrb r3, [r0, r3]
+ 8072 001a 012B cmp r3, #1
+ 8073 001c 1DD0 beq .L545
+4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8074 .loc 1 4252 0 is_stmt 0 discriminator 2
+ 8075 001e 4026 movs r6, #64
+ 8076 0020 0123 movs r3, #1
+ 8077 0022 8355 strb r3, [r0, r6]
+4255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+ 8078 .loc 1 4255 0 is_stmt 1 discriminator 2
+ 8079 0024 0221 movs r1, #2
+ 8080 .LVL703:
+ 8081 0026 FFF7FEFF bl I2C_Disable_IRQ
+ 8082 .LVL704:
+4256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8083 .loc 1 4256 0 discriminator 2
+ 8084 002a 0121 movs r1, #1
+ 8085 002c 2000 movs r0, r4
+ 8086 002e FFF7FEFF bl I2C_Disable_IRQ
+ 8087 .LVL705:
+4259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8088 .loc 1 4259 0 discriminator 2
+ 8089 0032 4123 movs r3, #65
+ 8090 0034 6022 movs r2, #96
+ 8091 0036 E254 strb r2, [r4, r3]
+4263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8092 .loc 1 4263 0 discriminator 2
+ 8093 0038 3F33 adds r3, r3, #63
+ 8094 003a 094A ldr r2, .L547
+ 8095 003c 0092 str r2, [sp]
+ 8096 003e 9B04 lsls r3, r3, #18
+ 8097 0040 0122 movs r2, #1
+ 8098 0042 2900 movs r1, r5
+ ARM GAS /tmp/ccskJbbb.s page 279
+
+
+ 8099 0044 2000 movs r0, r4
+ 8100 0046 FFF7FEFF bl I2C_TransferConfig
+ 8101 .LVL706:
+4266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8102 .loc 1 4266 0 discriminator 2
+ 8103 004a 0023 movs r3, #0
+ 8104 004c A355 strb r3, [r4, r6]
+4271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8105 .loc 1 4271 0 discriminator 2
+ 8106 004e 1221 movs r1, #18
+ 8107 0050 2000 movs r0, r4
+ 8108 0052 FFF7FEFF bl I2C_Enable_IRQ
+ 8109 .LVL707:
+4273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8110 .loc 1 4273 0 discriminator 2
+ 8111 0056 0020 movs r0, #0
+ 8112 0058 DBE7 b .L543
+ 8113 .LVL708:
+ 8114 .L545:
+4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8115 .loc 1 4252 0
+ 8116 005a 0220 movs r0, #2
+ 8117 .LVL709:
+ 8118 005c D9E7 b .L543
+ 8119 .L548:
+ 8120 005e C046 .align 2
+ 8121 .L547:
+ 8122 0060 00400080 .word -2147467264
+ 8123 .cfi_endproc
+ 8124 .LFE73:
+ 8126 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits
+ 8127 .align 1
+ 8128 .global HAL_I2C_EV_IRQHandler
+ 8129 .syntax unified
+ 8130 .code 16
+ 8131 .thumb_func
+ 8132 .fpu softvfp
+ 8134 HAL_I2C_EV_IRQHandler:
+ 8135 .LFB74:
+4298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
+ 8136 .loc 1 4298 0
+ 8137 .cfi_startproc
+ 8138 @ args = 0, pretend = 0, frame = 0
+ 8139 @ frame_needed = 0, uses_anonymous_args = 0
+ 8140 .LVL710:
+ 8141 0000 10B5 push {r4, lr}
+ 8142 .LCFI65:
+ 8143 .cfi_def_cfa_offset 8
+ 8144 .cfi_offset 4, -8
+ 8145 .cfi_offset 14, -4
+4300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
+ 8146 .loc 1 4300 0
+ 8147 0002 0368 ldr r3, [r0]
+ 8148 0004 9969 ldr r1, [r3, #24]
+ 8149 .LVL711:
+4301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8150 .loc 1 4301 0
+ ARM GAS /tmp/ccskJbbb.s page 280
+
+
+ 8151 0006 1A68 ldr r2, [r3]
+ 8152 .LVL712:
+4304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8153 .loc 1 4304 0
+ 8154 0008 436B ldr r3, [r0, #52]
+ 8155 000a 002B cmp r3, #0
+ 8156 000c 00D0 beq .L549
+4306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8157 .loc 1 4306 0
+ 8158 000e 9847 blx r3
+ 8159 .LVL713:
+ 8160 .L549:
+4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8161 .loc 1 4308 0
+ 8162 @ sp needed
+ 8163 0010 10BD pop {r4, pc}
+ 8164 .cfi_endproc
+ 8165 .LFE74:
+ 8167 .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
+ 8168 .align 1
+ 8169 .weak HAL_I2C_MasterTxCpltCallback
+ 8170 .syntax unified
+ 8171 .code 16
+ 8172 .thumb_func
+ 8173 .fpu softvfp
+ 8175 HAL_I2C_MasterTxCpltCallback:
+ 8176 .LFB76:
+4366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8177 .loc 1 4366 0
+ 8178 .cfi_startproc
+ 8179 @ args = 0, pretend = 0, frame = 0
+ 8180 @ frame_needed = 0, uses_anonymous_args = 0
+ 8181 @ link register save eliminated.
+ 8182 .LVL714:
+4373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8183 .loc 1 4373 0
+ 8184 @ sp needed
+ 8185 0000 7047 bx lr
+ 8186 .cfi_endproc
+ 8187 .LFE76:
+ 8189 .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
+ 8190 .align 1
+ 8191 .weak HAL_I2C_MasterRxCpltCallback
+ 8192 .syntax unified
+ 8193 .code 16
+ 8194 .thumb_func
+ 8195 .fpu softvfp
+ 8197 HAL_I2C_MasterRxCpltCallback:
+ 8198 .LFB77:
+4382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8199 .loc 1 4382 0
+ 8200 .cfi_startproc
+ 8201 @ args = 0, pretend = 0, frame = 0
+ 8202 @ frame_needed = 0, uses_anonymous_args = 0
+ 8203 @ link register save eliminated.
+ 8204 .LVL715:
+4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 281
+
+
+ 8205 .loc 1 4389 0
+ 8206 @ sp needed
+ 8207 0000 7047 bx lr
+ 8208 .cfi_endproc
+ 8209 .LFE77:
+ 8211 .section .text.I2C_ITMasterSeqCplt,"ax",%progbits
+ 8212 .align 1
+ 8213 .syntax unified
+ 8214 .code 16
+ 8215 .thumb_func
+ 8216 .fpu softvfp
+ 8218 I2C_ITMasterSeqCplt:
+ 8219 .LFB96:
+5318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
+ 8220 .loc 1 5318 0
+ 8221 .cfi_startproc
+ 8222 @ args = 0, pretend = 0, frame = 0
+ 8223 @ frame_needed = 0, uses_anonymous_args = 0
+ 8224 .LVL716:
+ 8225 0000 70B5 push {r4, r5, r6, lr}
+ 8226 .LCFI66:
+ 8227 .cfi_def_cfa_offset 16
+ 8228 .cfi_offset 4, -16
+ 8229 .cfi_offset 5, -12
+ 8230 .cfi_offset 6, -8
+ 8231 .cfi_offset 14, -4
+ 8232 0002 0400 movs r4, r0
+5320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8233 .loc 1 5320 0
+ 8234 0004 4223 movs r3, #66
+ 8235 0006 0022 movs r2, #0
+ 8236 0008 C254 strb r2, [r0, r3]
+5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8237 .loc 1 5324 0
+ 8238 000a 013B subs r3, r3, #1
+ 8239 000c C35C ldrb r3, [r0, r3]
+ 8240 000e 212B cmp r3, #33
+ 8241 0010 0FD0 beq .L556
+5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
+ 8242 .loc 1 5346 0
+ 8243 0012 4123 movs r3, #65
+ 8244 0014 2022 movs r2, #32
+ 8245 0016 C254 strb r2, [r0, r3]
+5347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 8246 .loc 1 5347 0
+ 8247 0018 2F3B subs r3, r3, #47
+ 8248 001a 0363 str r3, [r0, #48]
+5348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8249 .loc 1 5348 0
+ 8250 001c 0025 movs r5, #0
+ 8251 001e 4563 str r5, [r0, #52]
+5351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8252 .loc 1 5351 0
+ 8253 0020 0221 movs r1, #2
+ 8254 0022 FFF7FEFF bl I2C_Disable_IRQ
+ 8255 .LVL717:
+5354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 282
+
+
+ 8256 .loc 1 5354 0
+ 8257 0026 4023 movs r3, #64
+ 8258 0028 E554 strb r5, [r4, r3]
+5360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8259 .loc 1 5360 0
+ 8260 002a 2000 movs r0, r4
+ 8261 002c FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
+ 8262 .LVL718:
+ 8263 .L553:
+5363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8264 .loc 1 5363 0
+ 8265 @ sp needed
+ 8266 .LVL719:
+ 8267 0030 70BD pop {r4, r5, r6, pc}
+ 8268 .LVL720:
+ 8269 .L556:
+5326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
+ 8270 .loc 1 5326 0
+ 8271 0032 2033 adds r3, r3, #32
+ 8272 0034 2032 adds r2, r2, #32
+ 8273 0036 C254 strb r2, [r0, r3]
+5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 8274 .loc 1 5327 0
+ 8275 0038 303B subs r3, r3, #48
+ 8276 003a 0363 str r3, [r0, #48]
+5328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8277 .loc 1 5328 0
+ 8278 003c 0025 movs r5, #0
+ 8279 003e 4563 str r5, [r0, #52]
+5331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8280 .loc 1 5331 0
+ 8281 0040 0121 movs r1, #1
+ 8282 0042 FFF7FEFF bl I2C_Disable_IRQ
+ 8283 .LVL721:
+5334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8284 .loc 1 5334 0
+ 8285 0046 4023 movs r3, #64
+ 8286 0048 E554 strb r5, [r4, r3]
+5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8287 .loc 1 5340 0
+ 8288 004a 2000 movs r0, r4
+ 8289 004c FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
+ 8290 .LVL722:
+ 8291 0050 EEE7 b .L553
+ 8292 .cfi_endproc
+ 8293 .LFE96:
+ 8295 .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
+ 8296 .align 1
+ 8297 .weak HAL_I2C_SlaveTxCpltCallback
+ 8298 .syntax unified
+ 8299 .code 16
+ 8300 .thumb_func
+ 8301 .fpu softvfp
+ 8303 HAL_I2C_SlaveTxCpltCallback:
+ 8304 .LFB78:
+4397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8305 .loc 1 4397 0
+ ARM GAS /tmp/ccskJbbb.s page 283
+
+
+ 8306 .cfi_startproc
+ 8307 @ args = 0, pretend = 0, frame = 0
+ 8308 @ frame_needed = 0, uses_anonymous_args = 0
+ 8309 @ link register save eliminated.
+ 8310 .LVL723:
+4404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8311 .loc 1 4404 0
+ 8312 @ sp needed
+ 8313 0000 7047 bx lr
+ 8314 .cfi_endproc
+ 8315 .LFE78:
+ 8317 .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
+ 8318 .align 1
+ 8319 .weak HAL_I2C_SlaveRxCpltCallback
+ 8320 .syntax unified
+ 8321 .code 16
+ 8322 .thumb_func
+ 8323 .fpu softvfp
+ 8325 HAL_I2C_SlaveRxCpltCallback:
+ 8326 .LFB79:
+4413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8327 .loc 1 4413 0
+ 8328 .cfi_startproc
+ 8329 @ args = 0, pretend = 0, frame = 0
+ 8330 @ frame_needed = 0, uses_anonymous_args = 0
+ 8331 @ link register save eliminated.
+ 8332 .LVL724:
+4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8333 .loc 1 4420 0
+ 8334 @ sp needed
+ 8335 0000 7047 bx lr
+ 8336 .cfi_endproc
+ 8337 .LFE79:
+ 8339 .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits
+ 8340 .align 1
+ 8341 .syntax unified
+ 8342 .code 16
+ 8343 .thumb_func
+ 8344 .fpu softvfp
+ 8346 I2C_ITSlaveSeqCplt:
+ 8347 .LFB97:
+5371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
+ 8348 .loc 1 5371 0
+ 8349 .cfi_startproc
+ 8350 @ args = 0, pretend = 0, frame = 0
+ 8351 @ frame_needed = 0, uses_anonymous_args = 0
+ 8352 .LVL725:
+ 8353 0000 10B5 push {r4, lr}
+ 8354 .LCFI67:
+ 8355 .cfi_def_cfa_offset 8
+ 8356 .cfi_offset 4, -8
+ 8357 .cfi_offset 14, -4
+ 8358 0002 0400 movs r4, r0
+5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8359 .loc 1 5373 0
+ 8360 0004 4223 movs r3, #66
+ 8361 0006 0022 movs r2, #0
+ ARM GAS /tmp/ccskJbbb.s page 284
+
+
+ 8362 0008 C254 strb r2, [r0, r3]
+5375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8363 .loc 1 5375 0
+ 8364 000a 013B subs r3, r3, #1
+ 8365 000c C35C ldrb r3, [r0, r3]
+ 8366 000e 292B cmp r3, #41
+ 8367 0010 04D0 beq .L562
+5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8368 .loc 1 5395 0
+ 8369 0012 4123 movs r3, #65
+ 8370 0014 C35C ldrb r3, [r0, r3]
+ 8371 0016 2A2B cmp r3, #42
+ 8372 0018 0FD0 beq .L563
+ 8373 .LVL726:
+ 8374 .L559:
+5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8375 .loc 1 5418 0
+ 8376 @ sp needed
+ 8377 .LVL727:
+ 8378 001a 10BD pop {r4, pc}
+ 8379 .LVL728:
+ 8380 .L562:
+5378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
+ 8381 .loc 1 5378 0
+ 8382 001c 1833 adds r3, r3, #24
+ 8383 001e 2832 adds r2, r2, #40
+ 8384 0020 C254 strb r2, [r0, r3]
+5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8385 .loc 1 5379 0
+ 8386 0022 203B subs r3, r3, #32
+ 8387 0024 0363 str r3, [r0, #48]
+5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8388 .loc 1 5382 0
+ 8389 0026 0121 movs r1, #1
+ 8390 0028 FFF7FEFF bl I2C_Disable_IRQ
+ 8391 .LVL729:
+5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8392 .loc 1 5385 0
+ 8393 002c 4023 movs r3, #64
+ 8394 002e 0022 movs r2, #0
+ 8395 0030 E254 strb r2, [r4, r3]
+5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8396 .loc 1 5391 0
+ 8397 0032 2000 movs r0, r4
+ 8398 0034 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
+ 8399 .LVL730:
+ 8400 0038 EFE7 b .L559
+ 8401 .LVL731:
+ 8402 .L563:
+5398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
+ 8403 .loc 1 5398 0
+ 8404 003a 1733 adds r3, r3, #23
+ 8405 003c 2822 movs r2, #40
+ 8406 003e C254 strb r2, [r0, r3]
+5399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8407 .loc 1 5399 0
+ 8408 0040 1F3B subs r3, r3, #31
+ ARM GAS /tmp/ccskJbbb.s page 285
+
+
+ 8409 0042 0363 str r3, [r0, #48]
+5402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8410 .loc 1 5402 0
+ 8411 0044 0221 movs r1, #2
+ 8412 0046 FFF7FEFF bl I2C_Disable_IRQ
+ 8413 .LVL732:
+5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8414 .loc 1 5405 0
+ 8415 004a 4023 movs r3, #64
+ 8416 004c 0022 movs r2, #0
+ 8417 004e E254 strb r2, [r4, r3]
+5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8418 .loc 1 5411 0
+ 8419 0050 2000 movs r0, r4
+ 8420 0052 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
+ 8421 .LVL733:
+5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8422 .loc 1 5418 0
+ 8423 0056 E0E7 b .L559
+ 8424 .cfi_endproc
+ 8425 .LFE97:
+ 8427 .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits
+ 8428 .align 1
+ 8429 .syntax unified
+ 8430 .code 16
+ 8431 .thumb_func
+ 8432 .fpu softvfp
+ 8434 I2C_DMASlaveTransmitCplt:
+ 8435 .LFB104:
+5921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 8436 .loc 1 5921 0
+ 8437 .cfi_startproc
+ 8438 @ args = 0, pretend = 0, frame = 0
+ 8439 @ frame_needed = 0, uses_anonymous_args = 0
+ 8440 .LVL734:
+ 8441 0000 10B5 push {r4, lr}
+ 8442 .LCFI68:
+ 8443 .cfi_def_cfa_offset 8
+ 8444 .cfi_offset 4, -8
+ 8445 .cfi_offset 14, -4
+5922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+ 8446 .loc 1 5922 0
+ 8447 0002 406A ldr r0, [r0, #36]
+ 8448 .LVL735:
+5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8449 .loc 1 5923 0
+ 8450 0004 C36A ldr r3, [r0, #44]
+ 8451 .LVL736:
+5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8452 .loc 1 5925 0
+ 8453 0006 8022 movs r2, #128
+ 8454 0008 5204 lsls r2, r2, #17
+ 8455 000a 9342 cmp r3, r2
+ 8456 000c 01D0 beq .L565
+5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8457 .loc 1 5925 0 is_stmt 0 discriminator 1
+ 8458 000e 002B cmp r3, #0
+ ARM GAS /tmp/ccskJbbb.s page 286
+
+
+ 8459 0010 06D1 bne .L564
+ 8460 .L565:
+5928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8461 .loc 1 5928 0 is_stmt 1
+ 8462 0012 0268 ldr r2, [r0]
+ 8463 0014 1368 ldr r3, [r2]
+ 8464 .LVL737:
+ 8465 0016 0349 ldr r1, .L567
+ 8466 0018 0B40 ands r3, r1
+ 8467 001a 1360 str r3, [r2]
+5932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8468 .loc 1 5932 0
+ 8469 001c FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 8470 .LVL738:
+ 8471 .L564:
+5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8472 .loc 1 5940 0
+ 8473 @ sp needed
+ 8474 0020 10BD pop {r4, pc}
+ 8475 .L568:
+ 8476 0022 C046 .align 2
+ 8477 .L567:
+ 8478 0024 FFBFFFFF .word -16385
+ 8479 .cfi_endproc
+ 8480 .LFE104:
+ 8482 .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits
+ 8483 .align 1
+ 8484 .syntax unified
+ 8485 .code 16
+ 8486 .thumb_func
+ 8487 .fpu softvfp
+ 8489 I2C_DMASlaveReceiveCplt:
+ 8490 .LFB106:
+5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 8491 .loc 1 5996 0
+ 8492 .cfi_startproc
+ 8493 @ args = 0, pretend = 0, frame = 0
+ 8494 @ frame_needed = 0, uses_anonymous_args = 0
+ 8495 .LVL739:
+ 8496 0000 10B5 push {r4, lr}
+ 8497 .LCFI69:
+ 8498 .cfi_def_cfa_offset 8
+ 8499 .cfi_offset 4, -8
+ 8500 .cfi_offset 14, -4
+5997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+ 8501 .loc 1 5997 0
+ 8502 0002 406A ldr r0, [r0, #36]
+ 8503 .LVL740:
+5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8504 .loc 1 5998 0
+ 8505 0004 C26A ldr r2, [r0, #44]
+ 8506 .LVL741:
+6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+ 8507 .loc 1 6000 0
+ 8508 0006 C36B ldr r3, [r0, #60]
+ 8509 0008 1B68 ldr r3, [r3]
+ 8510 000a 5B68 ldr r3, [r3, #4]
+ ARM GAS /tmp/ccskJbbb.s page 287
+
+
+ 8511 000c 002B cmp r3, #0
+ 8512 000e 09D1 bne .L569
+6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+ 8513 .loc 1 6000 0 is_stmt 0 discriminator 1
+ 8514 0010 054B ldr r3, .L571
+ 8515 0012 9A42 cmp r2, r3
+ 8516 0014 06D0 beq .L569
+6004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8517 .loc 1 6004 0 is_stmt 1
+ 8518 0016 0268 ldr r2, [r0]
+ 8519 .LVL742:
+ 8520 0018 1368 ldr r3, [r2]
+ 8521 001a 0449 ldr r1, .L571+4
+ 8522 001c 0B40 ands r3, r1
+ 8523 001e 1360 str r3, [r2]
+6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8524 .loc 1 6007 0
+ 8525 0020 FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 8526 .LVL743:
+ 8527 .L569:
+6015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8528 .loc 1 6015 0
+ 8529 @ sp needed
+ 8530 0024 10BD pop {r4, pc}
+ 8531 .L572:
+ 8532 0026 C046 .align 2
+ 8533 .L571:
+ 8534 0028 0000FFFF .word -65536
+ 8535 002c FF7FFFFF .word -32769
+ 8536 .cfi_endproc
+ 8537 .LFE106:
+ 8539 .section .text.HAL_I2C_AddrCallback,"ax",%progbits
+ 8540 .align 1
+ 8541 .weak HAL_I2C_AddrCallback
+ 8542 .syntax unified
+ 8543 .code 16
+ 8544 .thumb_func
+ 8545 .fpu softvfp
+ 8547 HAL_I2C_AddrCallback:
+ 8548 .LFB80:
+4431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8549 .loc 1 4431 0
+ 8550 .cfi_startproc
+ 8551 @ args = 0, pretend = 0, frame = 0
+ 8552 @ frame_needed = 0, uses_anonymous_args = 0
+ 8553 @ link register save eliminated.
+ 8554 .LVL744:
+4440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8555 .loc 1 4440 0
+ 8556 @ sp needed
+ 8557 0000 7047 bx lr
+ 8558 .cfi_endproc
+ 8559 .LFE80:
+ 8561 .section .text.I2C_ITAddrCplt,"ax",%progbits
+ 8562 .align 1
+ 8563 .syntax unified
+ 8564 .code 16
+ ARM GAS /tmp/ccskJbbb.s page 288
+
+
+ 8565 .thumb_func
+ 8566 .fpu softvfp
+ 8568 I2C_ITAddrCplt:
+ 8569 .LFB95:
+5223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection;
+ 8570 .loc 1 5223 0
+ 8571 .cfi_startproc
+ 8572 @ args = 0, pretend = 0, frame = 0
+ 8573 @ frame_needed = 0, uses_anonymous_args = 0
+ 8574 .LVL745:
+ 8575 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 8576 .LCFI70:
+ 8577 .cfi_def_cfa_offset 24
+ 8578 .cfi_offset 3, -24
+ 8579 .cfi_offset 4, -20
+ 8580 .cfi_offset 5, -16
+ 8581 .cfi_offset 6, -12
+ 8582 .cfi_offset 7, -8
+ 8583 .cfi_offset 14, -4
+ 8584 0002 0400 movs r4, r0
+5233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8585 .loc 1 5233 0
+ 8586 0004 4123 movs r3, #65
+ 8587 0006 C35C ldrb r3, [r0, r3]
+ 8588 0008 2822 movs r2, #40
+ 8589 000a 1340 ands r3, r2
+ 8590 000c 282B cmp r3, #40
+ 8591 000e 06D0 beq .L579
+5305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8592 .loc 1 5305 0
+ 8593 0010 0368 ldr r3, [r0]
+ 8594 0012 0822 movs r2, #8
+ 8595 0014 DA61 str r2, [r3, #28]
+5308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8596 .loc 1 5308 0
+ 8597 0016 4023 movs r3, #64
+ 8598 0018 0022 movs r2, #0
+ 8599 001a C254 strb r2, [r0, r3]
+ 8600 .LVL746:
+ 8601 .L574:
+5310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8602 .loc 1 5310 0
+ 8603 @ sp needed
+ 8604 .LVL747:
+ 8605 001c F8BD pop {r3, r4, r5, r6, r7, pc}
+ 8606 .LVL748:
+ 8607 .L579:
+5235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
+ 8608 .loc 1 5235 0
+ 8609 001e 0368 ldr r3, [r0]
+ 8610 0020 9E69 ldr r6, [r3, #24]
+ 8611 0022 360C lsrs r6, r6, #16
+ 8612 0024 273A subs r2, r2, #39
+ 8613 0026 1640 ands r6, r2
+ 8614 .LVL749:
+5236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
+ 8615 .loc 1 5236 0
+ ARM GAS /tmp/ccskJbbb.s page 289
+
+
+ 8616 0028 9A69 ldr r2, [r3, #24]
+ 8617 002a 120C lsrs r2, r2, #16
+ 8618 002c FE27 movs r7, #254
+ 8619 002e 3A40 ands r2, r7
+ 8620 0030 1500 movs r5, r2
+ 8621 .LVL750:
+5237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
+ 8622 .loc 1 5237 0
+ 8623 0032 9A68 ldr r2, [r3, #8]
+ 8624 0034 9205 lsls r2, r2, #22
+ 8625 0036 920D lsrs r2, r2, #22
+ 8626 .LVL751:
+5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8627 .loc 1 5238 0
+ 8628 0038 D868 ldr r0, [r3, #12]
+ 8629 .LVL752:
+ 8630 003a 0740 ands r7, r0
+ 8631 .LVL753:
+5241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8632 .loc 1 5241 0
+ 8633 003c E168 ldr r1, [r4, #12]
+ 8634 .LVL754:
+ 8635 003e 0229 cmp r1, #2
+ 8636 0040 22D1 bne .L576
+5243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8637 .loc 1 5243 0
+ 8638 0042 D009 lsrs r0, r2, #7
+ 8639 0044 4540 eors r5, r0
+ 8640 .LVL755:
+ 8641 0046 0431 adds r1, r1, #4
+ 8642 0048 2942 tst r1, r5
+ 8643 004a 10D1 bne .L577
+ 8644 .LVL756:
+5246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
+ 8645 .loc 1 5246 0
+ 8646 004c A16C ldr r1, [r4, #72]
+ 8647 004e 0131 adds r1, r1, #1
+ 8648 0050 A164 str r1, [r4, #72]
+5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8649 .loc 1 5247 0
+ 8650 0052 A16C ldr r1, [r4, #72]
+ 8651 0054 0229 cmp r1, #2
+ 8652 0056 E1D1 bne .L574
+5250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8653 .loc 1 5250 0
+ 8654 0058 0021 movs r1, #0
+ 8655 005a A164 str r1, [r4, #72]
+5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8656 .loc 1 5253 0
+ 8657 005c 0820 movs r0, #8
+ 8658 005e D861 str r0, [r3, #28]
+5256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8659 .loc 1 5256 0
+ 8660 0060 4023 movs r3, #64
+ 8661 0062 E154 strb r1, [r4, r3]
+5262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8662 .loc 1 5262 0
+ ARM GAS /tmp/ccskJbbb.s page 290
+
+
+ 8663 0064 3100 movs r1, r6
+ 8664 0066 2000 movs r0, r4
+ 8665 0068 FFF7FEFF bl HAL_I2C_AddrCallback
+ 8666 .LVL757:
+ 8667 006c D6E7 b .L574
+ 8668 .LVL758:
+ 8669 .L577:
+5271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8670 .loc 1 5271 0
+ 8671 006e 0421 movs r1, #4
+ 8672 0070 2000 movs r0, r4
+ 8673 0072 FFF7FEFF bl I2C_Disable_IRQ
+ 8674 .LVL759:
+5274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8675 .loc 1 5274 0
+ 8676 0076 4023 movs r3, #64
+ 8677 0078 0022 movs r2, #0
+ 8678 007a E254 strb r2, [r4, r3]
+5280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8679 .loc 1 5280 0
+ 8680 007c 3A00 movs r2, r7
+ 8681 007e 3100 movs r1, r6
+ 8682 0080 2000 movs r0, r4
+ 8683 0082 FFF7FEFF bl HAL_I2C_AddrCallback
+ 8684 .LVL760:
+ 8685 0086 C9E7 b .L574
+ 8686 .LVL761:
+ 8687 .L576:
+5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8688 .loc 1 5288 0
+ 8689 0088 0421 movs r1, #4
+ 8690 008a 2000 movs r0, r4
+ 8691 008c FFF7FEFF bl I2C_Disable_IRQ
+ 8692 .LVL762:
+5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8693 .loc 1 5291 0
+ 8694 0090 4023 movs r3, #64
+ 8695 0092 0022 movs r2, #0
+ 8696 0094 E254 strb r2, [r4, r3]
+5297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8697 .loc 1 5297 0
+ 8698 0096 2A00 movs r2, r5
+ 8699 0098 3100 movs r1, r6
+ 8700 009a 2000 movs r0, r4
+ 8701 009c FFF7FEFF bl HAL_I2C_AddrCallback
+ 8702 .LVL763:
+ 8703 00a0 BCE7 b .L574
+ 8704 .cfi_endproc
+ 8705 .LFE95:
+ 8707 .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits
+ 8708 .align 1
+ 8709 .weak HAL_I2C_ListenCpltCallback
+ 8710 .syntax unified
+ 8711 .code 16
+ 8712 .thumb_func
+ 8713 .fpu softvfp
+ 8715 HAL_I2C_ListenCpltCallback:
+ ARM GAS /tmp/ccskJbbb.s page 291
+
+
+ 8716 .LFB81:
+4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8717 .loc 1 4449 0
+ 8718 .cfi_startproc
+ 8719 @ args = 0, pretend = 0, frame = 0
+ 8720 @ frame_needed = 0, uses_anonymous_args = 0
+ 8721 @ link register save eliminated.
+ 8722 .LVL764:
+4456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8723 .loc 1 4456 0
+ 8724 @ sp needed
+ 8725 0000 7047 bx lr
+ 8726 .cfi_endproc
+ 8727 .LFE81:
+ 8729 .section .text.I2C_ITListenCplt,"ax",%progbits
+ 8730 .align 1
+ 8731 .syntax unified
+ 8732 .code 16
+ 8733 .thumb_func
+ 8734 .fpu softvfp
+ 8736 I2C_ITListenCplt:
+ 8737 .LFB100:
+5683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
+ 8738 .loc 1 5683 0
+ 8739 .cfi_startproc
+ 8740 @ args = 0, pretend = 0, frame = 0
+ 8741 @ frame_needed = 0, uses_anonymous_args = 0
+ 8742 .LVL765:
+ 8743 0000 10B5 push {r4, lr}
+ 8744 .LCFI71:
+ 8745 .cfi_def_cfa_offset 8
+ 8746 .cfi_offset 4, -8
+ 8747 .cfi_offset 14, -4
+ 8748 0002 0400 movs r4, r0
+5685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 8749 .loc 1 5685 0
+ 8750 0004 164B ldr r3, .L583
+ 8751 0006 C362 str r3, [r0, #44]
+5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 8752 .loc 1 5686 0
+ 8753 0008 0023 movs r3, #0
+ 8754 000a 0363 str r3, [r0, #48]
+5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 8755 .loc 1 5687 0
+ 8756 000c 4122 movs r2, #65
+ 8757 000e 2020 movs r0, #32
+ 8758 .LVL766:
+ 8759 0010 A054 strb r0, [r4, r2]
+5688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 8760 .loc 1 5688 0
+ 8761 0012 0132 adds r2, r2, #1
+ 8762 0014 A354 strb r3, [r4, r2]
+5689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8763 .loc 1 5689 0
+ 8764 0016 6363 str r3, [r4, #52]
+5692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8765 .loc 1 5692 0
+ ARM GAS /tmp/ccskJbbb.s page 292
+
+
+ 8766 0018 4B07 lsls r3, r1, #29
+ 8767 001a 13D5 bpl .L582
+5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8768 .loc 1 5695 0
+ 8769 001c 2368 ldr r3, [r4]
+ 8770 001e 5B6A ldr r3, [r3, #36]
+ 8771 0020 626A ldr r2, [r4, #36]
+ 8772 0022 1370 strb r3, [r2]
+5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8773 .loc 1 5698 0
+ 8774 0024 636A ldr r3, [r4, #36]
+ 8775 0026 0133 adds r3, r3, #1
+ 8776 0028 6362 str r3, [r4, #36]
+5700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8777 .loc 1 5700 0
+ 8778 002a 238D ldrh r3, [r4, #40]
+ 8779 002c 002B cmp r3, #0
+ 8780 002e 09D0 beq .L582
+5702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 8781 .loc 1 5702 0
+ 8782 0030 013B subs r3, r3, #1
+ 8783 0032 2385 strh r3, [r4, #40]
+5703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8784 .loc 1 5703 0
+ 8785 0034 638D ldrh r3, [r4, #42]
+ 8786 0036 013B subs r3, r3, #1
+ 8787 0038 9BB2 uxth r3, r3
+ 8788 003a 6385 strh r3, [r4, #42]
+5706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8789 .loc 1 5706 0
+ 8790 003c 636C ldr r3, [r4, #68]
+ 8791 003e 0422 movs r2, #4
+ 8792 0040 1343 orrs r3, r2
+ 8793 0042 6364 str r3, [r4, #68]
+ 8794 .L582:
+5711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8795 .loc 1 5711 0
+ 8796 0044 0721 movs r1, #7
+ 8797 .LVL767:
+ 8798 0046 2000 movs r0, r4
+ 8799 0048 FFF7FEFF bl I2C_Disable_IRQ
+ 8800 .LVL768:
+5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8801 .loc 1 5714 0
+ 8802 004c 2368 ldr r3, [r4]
+ 8803 004e 1022 movs r2, #16
+ 8804 0050 DA61 str r2, [r3, #28]
+5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8805 .loc 1 5717 0
+ 8806 0052 4023 movs r3, #64
+ 8807 0054 0022 movs r2, #0
+ 8808 0056 E254 strb r2, [r4, r3]
+5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8809 .loc 1 5723 0
+ 8810 0058 2000 movs r0, r4
+ 8811 005a FFF7FEFF bl HAL_I2C_ListenCpltCallback
+ 8812 .LVL769:
+ ARM GAS /tmp/ccskJbbb.s page 293
+
+
+5725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8813 .loc 1 5725 0
+ 8814 @ sp needed
+ 8815 .LVL770:
+ 8816 005e 10BD pop {r4, pc}
+ 8817 .L584:
+ 8818 .align 2
+ 8819 .L583:
+ 8820 0060 0000FFFF .word -65536
+ 8821 .cfi_endproc
+ 8822 .LFE100:
+ 8824 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
+ 8825 .align 1
+ 8826 .weak HAL_I2C_MemTxCpltCallback
+ 8827 .syntax unified
+ 8828 .code 16
+ 8829 .thumb_func
+ 8830 .fpu softvfp
+ 8832 HAL_I2C_MemTxCpltCallback:
+ 8833 .LFB82:
+4465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8834 .loc 1 4465 0
+ 8835 .cfi_startproc
+ 8836 @ args = 0, pretend = 0, frame = 0
+ 8837 @ frame_needed = 0, uses_anonymous_args = 0
+ 8838 @ link register save eliminated.
+ 8839 .LVL771:
+4472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8840 .loc 1 4472 0
+ 8841 @ sp needed
+ 8842 0000 7047 bx lr
+ 8843 .cfi_endproc
+ 8844 .LFE82:
+ 8846 .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
+ 8847 .align 1
+ 8848 .weak HAL_I2C_MemRxCpltCallback
+ 8849 .syntax unified
+ 8850 .code 16
+ 8851 .thumb_func
+ 8852 .fpu softvfp
+ 8854 HAL_I2C_MemRxCpltCallback:
+ 8855 .LFB83:
+4481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8856 .loc 1 4481 0
+ 8857 .cfi_startproc
+ 8858 @ args = 0, pretend = 0, frame = 0
+ 8859 @ frame_needed = 0, uses_anonymous_args = 0
+ 8860 @ link register save eliminated.
+ 8861 .LVL772:
+4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8862 .loc 1 4488 0
+ 8863 @ sp needed
+ 8864 0000 7047 bx lr
+ 8865 .cfi_endproc
+ 8866 .LFE83:
+ 8868 .section .text.HAL_I2C_ErrorCallback,"ax",%progbits
+ 8869 .align 1
+ ARM GAS /tmp/ccskJbbb.s page 294
+
+
+ 8870 .weak HAL_I2C_ErrorCallback
+ 8871 .syntax unified
+ 8872 .code 16
+ 8873 .thumb_func
+ 8874 .fpu softvfp
+ 8876 HAL_I2C_ErrorCallback:
+ 8877 .LFB84:
+4497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8878 .loc 1 4497 0
+ 8879 .cfi_startproc
+ 8880 @ args = 0, pretend = 0, frame = 0
+ 8881 @ frame_needed = 0, uses_anonymous_args = 0
+ 8882 @ link register save eliminated.
+ 8883 .LVL773:
+4504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8884 .loc 1 4504 0
+ 8885 @ sp needed
+ 8886 0000 7047 bx lr
+ 8887 .cfi_endproc
+ 8888 .LFE84:
+ 8890 .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits
+ 8891 .align 1
+ 8892 .weak HAL_I2C_AbortCpltCallback
+ 8893 .syntax unified
+ 8894 .code 16
+ 8895 .thumb_func
+ 8896 .fpu softvfp
+ 8898 HAL_I2C_AbortCpltCallback:
+ 8899 .LFB85:
+4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8900 .loc 1 4513 0
+ 8901 .cfi_startproc
+ 8902 @ args = 0, pretend = 0, frame = 0
+ 8903 @ frame_needed = 0, uses_anonymous_args = 0
+ 8904 @ link register save eliminated.
+ 8905 .LVL774:
+4520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8906 .loc 1 4520 0
+ 8907 @ sp needed
+ 8908 0000 7047 bx lr
+ 8909 .cfi_endproc
+ 8910 .LFE85:
+ 8912 .section .text.I2C_ITError,"ax",%progbits
+ 8913 .align 1
+ 8914 .syntax unified
+ 8915 .code 16
+ 8916 .thumb_func
+ 8917 .fpu softvfp
+ 8919 I2C_ITError:
+ 8920 .LFB101:
+5734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
+ 8921 .loc 1 5734 0
+ 8922 .cfi_startproc
+ 8923 @ args = 0, pretend = 0, frame = 0
+ 8924 @ frame_needed = 0, uses_anonymous_args = 0
+ 8925 .LVL775:
+ 8926 0000 10B5 push {r4, lr}
+ ARM GAS /tmp/ccskJbbb.s page 295
+
+
+ 8927 .LCFI72:
+ 8928 .cfi_def_cfa_offset 8
+ 8929 .cfi_offset 4, -8
+ 8930 .cfi_offset 14, -4
+ 8931 0002 0400 movs r4, r0
+5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8932 .loc 1 5735 0
+ 8933 0004 4123 movs r3, #65
+ 8934 0006 C35C ldrb r3, [r0, r3]
+ 8935 .LVL776:
+5738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 8936 .loc 1 5738 0
+ 8937 0008 0022 movs r2, #0
+ 8938 000a 4220 movs r0, #66
+ 8939 .LVL777:
+ 8940 000c 2254 strb r2, [r4, r0]
+5739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U;
+ 8941 .loc 1 5739 0
+ 8942 000e 3548 ldr r0, .L598
+ 8943 0010 E062 str r0, [r4, #44]
+5740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8944 .loc 1 5740 0
+ 8945 0012 6285 strh r2, [r4, #42]
+5743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8946 .loc 1 5743 0
+ 8947 0014 626C ldr r2, [r4, #68]
+ 8948 0016 1143 orrs r1, r2
+ 8949 .LVL778:
+ 8950 0018 6164 str r1, [r4, #68]
+5747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
+ 8951 .loc 1 5747 0
+ 8952 001a 283B subs r3, r3, #40
+ 8953 .LVL779:
+ 8954 001c DBB2 uxtb r3, r3
+5746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
+ 8955 .loc 1 5746 0
+ 8956 001e 022B cmp r3, #2
+ 8957 0020 23D8 bhi .L590
+5751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8958 .loc 1 5751 0
+ 8959 0022 0321 movs r1, #3
+ 8960 0024 2000 movs r0, r4
+ 8961 0026 FFF7FEFF bl I2C_Disable_IRQ
+ 8962 .LVL780:
+5754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 8963 .loc 1 5754 0
+ 8964 002a 4123 movs r3, #65
+ 8965 002c 2822 movs r2, #40
+ 8966 002e E254 strb r2, [r4, r3]
+5755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 8967 .loc 1 5755 0
+ 8968 0030 0023 movs r3, #0
+ 8969 0032 2363 str r3, [r4, #48]
+5756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8970 .loc 1 5756 0
+ 8971 0034 2C4B ldr r3, .L598+4
+ 8972 0036 6363 str r3, [r4, #52]
+ ARM GAS /tmp/ccskJbbb.s page 296
+
+
+ 8973 .L591:
+5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8974 .loc 1 5775 0
+ 8975 0038 2368 ldr r3, [r4]
+ 8976 003a 1A68 ldr r2, [r3]
+ 8977 003c 5204 lsls r2, r2, #17
+ 8978 003e 23D5 bpl .L593
+5777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8979 .loc 1 5777 0
+ 8980 0040 1A68 ldr r2, [r3]
+ 8981 0042 2A49 ldr r1, .L598+8
+ 8982 0044 0A40 ands r2, r1
+ 8983 0046 1A60 str r2, [r3]
+5779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8984 .loc 1 5779 0
+ 8985 0048 A36B ldr r3, [r4, #56]
+ 8986 004a 002B cmp r3, #0
+ 8987 004c 0CD0 beq .L589
+5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8988 .loc 1 5783 0
+ 8989 004e 284A ldr r2, .L598+12
+ 8990 0050 5A63 str r2, [r3, #52]
+5786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8991 .loc 1 5786 0
+ 8992 0052 4023 movs r3, #64
+ 8993 0054 0022 movs r2, #0
+ 8994 0056 E254 strb r2, [r4, r3]
+5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8995 .loc 1 5789 0
+ 8996 0058 A06B ldr r0, [r4, #56]
+ 8997 005a FFF7FEFF bl HAL_DMA_Abort_IT
+ 8998 .LVL781:
+ 8999 005e 0028 cmp r0, #0
+ 9000 0060 02D0 beq .L589
+5792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9001 .loc 1 5792 0
+ 9002 0062 A06B ldr r0, [r4, #56]
+ 9003 0064 436B ldr r3, [r0, #52]
+ 9004 0066 9847 blx r3
+ 9005 .LVL782:
+ 9006 .L589:
+5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9007 .loc 1 5844 0
+ 9008 @ sp needed
+ 9009 .LVL783:
+ 9010 0068 10BD pop {r4, pc}
+ 9011 .LVL784:
+ 9012 .L590:
+5761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9013 .loc 1 5761 0
+ 9014 006a 0721 movs r1, #7
+ 9015 006c 2000 movs r0, r4
+ 9016 006e FFF7FEFF bl I2C_Disable_IRQ
+ 9017 .LVL785:
+5765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9018 .loc 1 5765 0
+ 9019 0072 4123 movs r3, #65
+ ARM GAS /tmp/ccskJbbb.s page 297
+
+
+ 9020 0074 E35C ldrb r3, [r4, r3]
+ 9021 0076 602B cmp r3, #96
+ 9022 0078 02D0 beq .L592
+5768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9023 .loc 1 5768 0
+ 9024 007a 4123 movs r3, #65
+ 9025 007c 2022 movs r2, #32
+ 9026 007e E254 strb r2, [r4, r3]
+ 9027 .L592:
+5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 9028 .loc 1 5770 0
+ 9029 0080 0023 movs r3, #0
+ 9030 0082 2363 str r3, [r4, #48]
+5771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9031 .loc 1 5771 0
+ 9032 0084 6363 str r3, [r4, #52]
+ 9033 0086 D7E7 b .L591
+ 9034 .L593:
+5797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9035 .loc 1 5797 0
+ 9036 0088 1A68 ldr r2, [r3]
+ 9037 008a 1204 lsls r2, r2, #16
+ 9038 008c 14D5 bpl .L595
+5799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9039 .loc 1 5799 0
+ 9040 008e 1A68 ldr r2, [r3]
+ 9041 0090 1849 ldr r1, .L598+16
+ 9042 0092 0A40 ands r2, r1
+ 9043 0094 1A60 str r2, [r3]
+5801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9044 .loc 1 5801 0
+ 9045 0096 E36B ldr r3, [r4, #60]
+ 9046 0098 002B cmp r3, #0
+ 9047 009a E5D0 beq .L589
+5805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9048 .loc 1 5805 0
+ 9049 009c 144A ldr r2, .L598+12
+ 9050 009e 5A63 str r2, [r3, #52]
+5808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9051 .loc 1 5808 0
+ 9052 00a0 4023 movs r3, #64
+ 9053 00a2 0022 movs r2, #0
+ 9054 00a4 E254 strb r2, [r4, r3]
+5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9055 .loc 1 5811 0
+ 9056 00a6 E06B ldr r0, [r4, #60]
+ 9057 00a8 FFF7FEFF bl HAL_DMA_Abort_IT
+ 9058 .LVL786:
+ 9059 00ac 0028 cmp r0, #0
+ 9060 00ae DBD0 beq .L589
+5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9061 .loc 1 5814 0
+ 9062 00b0 E06B ldr r0, [r4, #60]
+ 9063 00b2 436B ldr r3, [r0, #52]
+ 9064 00b4 9847 blx r3
+ 9065 .LVL787:
+ 9066 00b6 D7E7 b .L589
+ ARM GAS /tmp/ccskJbbb.s page 298
+
+
+ 9067 .L595:
+5818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9068 .loc 1 5818 0
+ 9069 00b8 4123 movs r3, #65
+ 9070 00ba E35C ldrb r3, [r4, r3]
+ 9071 00bc 602B cmp r3, #96
+ 9072 00be 06D0 beq .L597
+5835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9073 .loc 1 5835 0
+ 9074 00c0 4023 movs r3, #64
+ 9075 00c2 0022 movs r2, #0
+ 9076 00c4 E254 strb r2, [r4, r3]
+5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9077 .loc 1 5841 0
+ 9078 00c6 2000 movs r0, r4
+ 9079 00c8 FFF7FEFF bl HAL_I2C_ErrorCallback
+ 9080 .LVL788:
+5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9081 .loc 1 5844 0
+ 9082 00cc CCE7 b .L589
+ 9083 .L597:
+5820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9084 .loc 1 5820 0
+ 9085 00ce 1F3B subs r3, r3, #31
+ 9086 00d0 2022 movs r2, #32
+ 9087 00d2 E254 strb r2, [r4, r3]
+5823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9088 .loc 1 5823 0
+ 9089 00d4 013B subs r3, r3, #1
+ 9090 00d6 0022 movs r2, #0
+ 9091 00d8 E254 strb r2, [r4, r3]
+5829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9092 .loc 1 5829 0
+ 9093 00da 2000 movs r0, r4
+ 9094 00dc FFF7FEFF bl HAL_I2C_AbortCpltCallback
+ 9095 .LVL789:
+ 9096 00e0 C2E7 b .L589
+ 9097 .L599:
+ 9098 00e2 C046 .align 2
+ 9099 .L598:
+ 9100 00e4 0000FFFF .word -65536
+ 9101 00e8 00000000 .word I2C_Slave_ISR_IT
+ 9102 00ec FFBFFFFF .word -16385
+ 9103 00f0 00000000 .word I2C_DMAAbort
+ 9104 00f4 FF7FFFFF .word -32769
+ 9105 .cfi_endproc
+ 9106 .LFE101:
+ 9108 .section .text.I2C_ITSlaveCplt,"ax",%progbits
+ 9109 .align 1
+ 9110 .syntax unified
+ 9111 .code 16
+ 9112 .thumb_func
+ 9113 .fpu softvfp
+ 9115 I2C_ITSlaveCplt:
+ 9116 .LFB99:
+5546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
+ 9117 .loc 1 5546 0
+ ARM GAS /tmp/ccskJbbb.s page 299
+
+
+ 9118 .cfi_startproc
+ 9119 @ args = 0, pretend = 0, frame = 0
+ 9120 @ frame_needed = 0, uses_anonymous_args = 0
+ 9121 .LVL790:
+ 9122 0000 70B5 push {r4, r5, r6, lr}
+ 9123 .LCFI73:
+ 9124 .cfi_def_cfa_offset 16
+ 9125 .cfi_offset 4, -16
+ 9126 .cfi_offset 5, -12
+ 9127 .cfi_offset 6, -8
+ 9128 .cfi_offset 14, -4
+ 9129 0002 0400 movs r4, r0
+ 9130 0004 0D00 movs r5, r1
+5547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
+ 9131 .loc 1 5547 0
+ 9132 0006 0368 ldr r3, [r0]
+ 9133 0008 1E68 ldr r6, [r3]
+ 9134 .LVL791:
+5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9135 .loc 1 5551 0
+ 9136 000a 2022 movs r2, #32
+ 9137 000c DA61 str r2, [r3, #28]
+5554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9138 .loc 1 5554 0
+ 9139 000e 0721 movs r1, #7
+ 9140 .LVL792:
+ 9141 0010 FFF7FEFF bl I2C_Disable_IRQ
+ 9142 .LVL793:
+5557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9143 .loc 1 5557 0
+ 9144 0014 2268 ldr r2, [r4]
+ 9145 0016 5168 ldr r1, [r2, #4]
+ 9146 0018 8023 movs r3, #128
+ 9147 001a 1B02 lsls r3, r3, #8
+ 9148 001c 0B43 orrs r3, r1
+ 9149 001e 5360 str r3, [r2, #4]
+5560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9150 .loc 1 5560 0
+ 9151 0020 2268 ldr r2, [r4]
+ 9152 0022 5368 ldr r3, [r2, #4]
+ 9153 0024 3A49 ldr r1, .L612
+ 9154 0026 0B40 ands r3, r1
+ 9155 0028 5360 str r3, [r2, #4]
+5563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9156 .loc 1 5563 0
+ 9157 002a 2000 movs r0, r4
+ 9158 002c FFF7FEFF bl I2C_Flush_TXDR
+ 9159 .LVL794:
+5566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9160 .loc 1 5566 0
+ 9161 0030 7304 lsls r3, r6, #17
+ 9162 0032 3CD5 bpl .L601
+5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9163 .loc 1 5568 0
+ 9164 0034 A36B ldr r3, [r4, #56]
+ 9165 0036 002B cmp r3, #0
+ 9166 0038 03D0 beq .L602
+ ARM GAS /tmp/ccskJbbb.s page 300
+
+
+5570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9167 .loc 1 5570 0
+ 9168 003a 1B68 ldr r3, [r3]
+ 9169 003c 5B68 ldr r3, [r3, #4]
+ 9170 003e 9BB2 uxth r3, r3
+ 9171 0040 6385 strh r3, [r4, #42]
+ 9172 .L602:
+5586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9173 .loc 1 5586 0
+ 9174 0042 6B07 lsls r3, r5, #29
+ 9175 0044 11D5 bpl .L603
+5589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9176 .loc 1 5589 0
+ 9177 0046 0423 movs r3, #4
+ 9178 0048 9D43 bics r5, r3
+ 9179 .LVL795:
+5592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9180 .loc 1 5592 0
+ 9181 004a 2368 ldr r3, [r4]
+ 9182 004c 5B6A ldr r3, [r3, #36]
+ 9183 004e 626A ldr r2, [r4, #36]
+ 9184 0050 1370 strb r3, [r2]
+5595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9185 .loc 1 5595 0
+ 9186 0052 636A ldr r3, [r4, #36]
+ 9187 0054 0133 adds r3, r3, #1
+ 9188 0056 6362 str r3, [r4, #36]
+5597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9189 .loc 1 5597 0
+ 9190 0058 238D ldrh r3, [r4, #40]
+ 9191 005a 002B cmp r3, #0
+ 9192 005c 05D0 beq .L603
+5599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 9193 .loc 1 5599 0
+ 9194 005e 013B subs r3, r3, #1
+ 9195 0060 2385 strh r3, [r4, #40]
+5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9196 .loc 1 5600 0
+ 9197 0062 638D ldrh r3, [r4, #42]
+ 9198 0064 013B subs r3, r3, #1
+ 9199 0066 9BB2 uxth r3, r3
+ 9200 0068 6385 strh r3, [r4, #42]
+ 9201 .L603:
+5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9202 .loc 1 5605 0
+ 9203 006a 638D ldrh r3, [r4, #42]
+ 9204 006c 9BB2 uxth r3, r3
+ 9205 006e 002B cmp r3, #0
+ 9206 0070 03D0 beq .L604
+5608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9207 .loc 1 5608 0
+ 9208 0072 636C ldr r3, [r4, #68]
+ 9209 0074 0422 movs r2, #4
+ 9210 0076 1343 orrs r3, r2
+ 9211 0078 6364 str r3, [r4, #68]
+ 9212 .L604:
+5611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ ARM GAS /tmp/ccskJbbb.s page 301
+
+
+ 9213 .loc 1 5611 0
+ 9214 007a 0023 movs r3, #0
+ 9215 007c 2363 str r3, [r4, #48]
+5612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 9216 .loc 1 5612 0
+ 9217 007e 4222 movs r2, #66
+ 9218 0080 A354 strb r3, [r4, r2]
+5613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9219 .loc 1 5613 0
+ 9220 0082 6363 str r3, [r4, #52]
+5615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9221 .loc 1 5615 0
+ 9222 0084 636C ldr r3, [r4, #68]
+ 9223 0086 002B cmp r3, #0
+ 9224 0088 1BD1 bne .L609
+5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9225 .loc 1 5627 0
+ 9226 008a E26A ldr r2, [r4, #44]
+ 9227 008c 214B ldr r3, .L612+4
+ 9228 008e 9A42 cmp r2, r3
+ 9229 0090 24D1 bne .L610
+5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9230 .loc 1 5646 0
+ 9231 0092 4123 movs r3, #65
+ 9232 0094 E35C ldrb r3, [r4, r3]
+ 9233 0096 222B cmp r3, #34
+ 9234 0098 2FD0 beq .L611
+5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9235 .loc 1 5662 0
+ 9236 009a 4123 movs r3, #65
+ 9237 009c 2022 movs r2, #32
+ 9238 009e E254 strb r2, [r4, r3]
+5665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9239 .loc 1 5665 0
+ 9240 00a0 013B subs r3, r3, #1
+ 9241 00a2 0022 movs r2, #0
+ 9242 00a4 E254 strb r2, [r4, r3]
+5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9243 .loc 1 5671 0
+ 9244 00a6 2000 movs r0, r4
+ 9245 00a8 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
+ 9246 .LVL796:
+5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9247 .loc 1 5674 0
+ 9248 00ac 24E0 b .L600
+ 9249 .LVL797:
+ 9250 .L601:
+5573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9251 .loc 1 5573 0
+ 9252 00ae 3304 lsls r3, r6, #16
+ 9253 00b0 C7D5 bpl .L602
+5575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9254 .loc 1 5575 0
+ 9255 00b2 E36B ldr r3, [r4, #60]
+ 9256 00b4 002B cmp r3, #0
+ 9257 00b6 C4D0 beq .L602
+5577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 302
+
+
+ 9258 .loc 1 5577 0
+ 9259 00b8 1B68 ldr r3, [r3]
+ 9260 00ba 5B68 ldr r3, [r3, #4]
+ 9261 00bc 9BB2 uxth r3, r3
+ 9262 00be 6385 strh r3, [r4, #42]
+ 9263 00c0 BFE7 b .L602
+ 9264 .LVL798:
+ 9265 .L609:
+5618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9266 .loc 1 5618 0
+ 9267 00c2 616C ldr r1, [r4, #68]
+ 9268 00c4 2000 movs r0, r4
+ 9269 00c6 FFF7FEFF bl I2C_ITError
+ 9270 .LVL799:
+5621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9271 .loc 1 5621 0
+ 9272 00ca 4123 movs r3, #65
+ 9273 00cc E35C ldrb r3, [r4, r3]
+ 9274 00ce 282B cmp r3, #40
+ 9275 00d0 12D1 bne .L600
+5624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9276 .loc 1 5624 0
+ 9277 00d2 2900 movs r1, r5
+ 9278 00d4 2000 movs r0, r4
+ 9279 00d6 FFF7FEFF bl I2C_ITListenCplt
+ 9280 .LVL800:
+ 9281 00da 0DE0 b .L600
+ 9282 .L610:
+5630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9283 .loc 1 5630 0
+ 9284 00dc 2000 movs r0, r4
+ 9285 00de FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 9286 .LVL801:
+5632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 9287 .loc 1 5632 0
+ 9288 00e2 0C4B ldr r3, .L612+4
+ 9289 00e4 E362 str r3, [r4, #44]
+5633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9290 .loc 1 5633 0
+ 9291 00e6 4123 movs r3, #65
+ 9292 00e8 2022 movs r2, #32
+ 9293 00ea E254 strb r2, [r4, r3]
+5636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9294 .loc 1 5636 0
+ 9295 00ec 013B subs r3, r3, #1
+ 9296 00ee 0022 movs r2, #0
+ 9297 00f0 E254 strb r2, [r4, r3]
+5642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9298 .loc 1 5642 0
+ 9299 00f2 2000 movs r0, r4
+ 9300 00f4 FFF7FEFF bl HAL_I2C_ListenCpltCallback
+ 9301 .LVL802:
+ 9302 .L600:
+5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9303 .loc 1 5674 0
+ 9304 @ sp needed
+ 9305 .LVL803:
+ ARM GAS /tmp/ccskJbbb.s page 303
+
+
+ 9306 .LVL804:
+ 9307 .LVL805:
+ 9308 00f8 70BD pop {r4, r5, r6, pc}
+ 9309 .LVL806:
+ 9310 .L611:
+5648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9311 .loc 1 5648 0
+ 9312 00fa 1F33 adds r3, r3, #31
+ 9313 00fc 2022 movs r2, #32
+ 9314 00fe E254 strb r2, [r4, r3]
+5651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9315 .loc 1 5651 0
+ 9316 0100 013B subs r3, r3, #1
+ 9317 0102 0022 movs r2, #0
+ 9318 0104 E254 strb r2, [r4, r3]
+5657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9319 .loc 1 5657 0
+ 9320 0106 2000 movs r0, r4
+ 9321 0108 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
+ 9322 .LVL807:
+ 9323 010c F4E7 b .L600
+ 9324 .L613:
+ 9325 010e C046 .align 2
+ 9326 .L612:
+ 9327 0110 00E800FE .word -33495040
+ 9328 0114 0000FFFF .word -65536
+ 9329 .cfi_endproc
+ 9330 .LFE99:
+ 9332 .section .text.I2C_Slave_ISR_IT,"ax",%progbits
+ 9333 .align 1
+ 9334 .syntax unified
+ 9335 .code 16
+ 9336 .thumb_func
+ 9337 .fpu softvfp
+ 9339 I2C_Slave_ISR_IT:
+ 9340 .LFB90:
+4733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+ 9341 .loc 1 4733 0
+ 9342 .cfi_startproc
+ 9343 @ args = 0, pretend = 0, frame = 0
+ 9344 @ frame_needed = 0, uses_anonymous_args = 0
+ 9345 .LVL808:
+ 9346 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 9347 .LCFI74:
+ 9348 .cfi_def_cfa_offset 24
+ 9349 .cfi_offset 3, -24
+ 9350 .cfi_offset 4, -20
+ 9351 .cfi_offset 5, -16
+ 9352 .cfi_offset 6, -12
+ 9353 .cfi_offset 7, -8
+ 9354 .cfi_offset 14, -4
+ 9355 0002 0400 movs r4, r0
+ 9356 0004 0D00 movs r5, r1
+ 9357 0006 1600 movs r6, r2
+4734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
+ 9358 .loc 1 4734 0
+ 9359 0008 C76A ldr r7, [r0, #44]
+ ARM GAS /tmp/ccskJbbb.s page 304
+
+
+ 9360 .LVL809:
+4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9361 .loc 1 4738 0
+ 9362 000a 4023 movs r3, #64
+ 9363 000c C35C ldrb r3, [r0, r3]
+ 9364 000e 012B cmp r3, #1
+ 9365 0010 00D1 bne .LCB9263
+ 9366 0012 96E0 b .L628 @long jump
+ 9367 .LCB9263:
+4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9368 .loc 1 4738 0 is_stmt 0 discriminator 2
+ 9369 0014 0123 movs r3, #1
+ 9370 0016 4022 movs r2, #64
+ 9371 .LVL810:
+ 9372 0018 8354 strb r3, [r0, r2]
+4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9373 .loc 1 4741 0 is_stmt 1 discriminator 2
+ 9374 001a 4A09 lsrs r2, r1, #5
+ 9375 001c 1342 tst r3, r2
+ 9376 001e 01D0 beq .L616
+4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9377 .loc 1 4741 0 is_stmt 0 discriminator 1
+ 9378 0020 B306 lsls r3, r6, #26
+ 9379 0022 17D4 bmi .L629
+ 9380 .LVL811:
+ 9381 .L616:
+4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9382 .loc 1 4747 0 is_stmt 1
+ 9383 0024 EB06 lsls r3, r5, #27
+ 9384 0026 40D5 bpl .L617
+4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9385 .loc 1 4747 0 is_stmt 0 discriminator 1
+ 9386 0028 F306 lsls r3, r6, #27
+ 9387 002a 3ED5 bpl .L617
+4753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9388 .loc 1 4753 0 is_stmt 1
+ 9389 002c 638D ldrh r3, [r4, #42]
+ 9390 002e 9BB2 uxth r3, r3
+ 9391 0030 002B cmp r3, #0
+ 9392 0032 28D1 bne .L618
+4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9393 .loc 1 4755 0
+ 9394 0034 4133 adds r3, r3, #65
+ 9395 0036 E35C ldrb r3, [r4, r3]
+ 9396 0038 282B cmp r3, #40
+ 9397 003a 0ED0 beq .L630
+ 9398 .L619:
+4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9399 .loc 1 4760 0
+ 9400 003c 4123 movs r3, #65
+ 9401 003e E35C ldrb r3, [r4, r3]
+ 9402 0040 292B cmp r3, #41
+ 9403 0042 13D0 beq .L631
+ 9404 .L621:
+4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9405 .loc 1 4775 0
+ 9406 0044 2368 ldr r3, [r4]
+ ARM GAS /tmp/ccskJbbb.s page 305
+
+
+ 9407 0046 1022 movs r2, #16
+ 9408 0048 DA61 str r2, [r3, #28]
+ 9409 .L620:
+4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9410 .loc 1 4852 0
+ 9411 004a 4023 movs r3, #64
+ 9412 004c 0022 movs r2, #0
+ 9413 004e E254 strb r2, [r4, r3]
+4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9414 .loc 1 4854 0
+ 9415 0050 0020 movs r0, #0
+ 9416 .L615:
+4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9417 .loc 1 4855 0
+ 9418 @ sp needed
+ 9419 .LVL812:
+ 9420 .LVL813:
+ 9421 .LVL814:
+ 9422 .LVL815:
+ 9423 0052 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 9424 .LVL816:
+ 9425 .L629:
+4744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9426 .loc 1 4744 0
+ 9427 0054 FFF7FEFF bl I2C_ITSlaveCplt
+ 9428 .LVL817:
+ 9429 0058 E4E7 b .L616
+ 9430 .L630:
+4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9431 .loc 1 4755 0 discriminator 1
+ 9432 005a 8023 movs r3, #128
+ 9433 005c 9B04 lsls r3, r3, #18
+ 9434 005e 9F42 cmp r7, r3
+ 9435 0060 ECD1 bne .L619
+4758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9436 .loc 1 4758 0
+ 9437 0062 2900 movs r1, r5
+ 9438 0064 2000 movs r0, r4
+ 9439 0066 FFF7FEFF bl I2C_ITListenCplt
+ 9440 .LVL818:
+ 9441 006a EEE7 b .L620
+ 9442 .L631:
+4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9443 .loc 1 4760 0 discriminator 1
+ 9444 006c 364B ldr r3, .L633
+ 9445 006e 9F42 cmp r7, r3
+ 9446 0070 E8D0 beq .L621
+4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9447 .loc 1 4763 0
+ 9448 0072 2368 ldr r3, [r4]
+ 9449 0074 1022 movs r2, #16
+ 9450 0076 DA61 str r2, [r3, #28]
+4766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9451 .loc 1 4766 0
+ 9452 0078 2000 movs r0, r4
+ 9453 007a FFF7FEFF bl I2C_Flush_TXDR
+ 9454 .LVL819:
+ ARM GAS /tmp/ccskJbbb.s page 306
+
+
+4770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9455 .loc 1 4770 0
+ 9456 007e 2000 movs r0, r4
+ 9457 0080 FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 9458 .LVL820:
+ 9459 0084 E1E7 b .L620
+ 9460 .L618:
+4782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9461 .loc 1 4782 0
+ 9462 0086 2368 ldr r3, [r4]
+ 9463 0088 1022 movs r2, #16
+ 9464 008a DA61 str r2, [r3, #28]
+4785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9465 .loc 1 4785 0
+ 9466 008c 636C ldr r3, [r4, #68]
+ 9467 008e 0C3A subs r2, r2, #12
+ 9468 0090 1343 orrs r3, r2
+ 9469 0092 6364 str r3, [r4, #68]
+4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9470 .loc 1 4787 0
+ 9471 0094 002F cmp r7, #0
+ 9472 0096 03D0 beq .L622
+4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9473 .loc 1 4787 0 is_stmt 0 discriminator 1
+ 9474 0098 8023 movs r3, #128
+ 9475 009a 5B04 lsls r3, r3, #17
+ 9476 009c 9F42 cmp r7, r3
+ 9477 009e D4D1 bne .L620
+ 9478 .L622:
+4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9479 .loc 1 4790 0 is_stmt 1
+ 9480 00a0 616C ldr r1, [r4, #68]
+ 9481 00a2 2000 movs r0, r4
+ 9482 00a4 FFF7FEFF bl I2C_ITError
+ 9483 .LVL821:
+ 9484 00a8 CFE7 b .L620
+ 9485 .L617:
+4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9486 .loc 1 4794 0
+ 9487 00aa 6B07 lsls r3, r5, #29
+ 9488 00ac 1ED5 bpl .L623
+4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9489 .loc 1 4794 0 is_stmt 0 discriminator 1
+ 9490 00ae 7307 lsls r3, r6, #29
+ 9491 00b0 1CD5 bpl .L623
+4796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9492 .loc 1 4796 0 is_stmt 1
+ 9493 00b2 638D ldrh r3, [r4, #42]
+ 9494 00b4 9BB2 uxth r3, r3
+ 9495 00b6 002B cmp r3, #0
+ 9496 00b8 0DD0 beq .L624
+4799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9497 .loc 1 4799 0
+ 9498 00ba 2368 ldr r3, [r4]
+ 9499 00bc 5B6A ldr r3, [r3, #36]
+ 9500 00be 626A ldr r2, [r4, #36]
+ 9501 00c0 1370 strb r3, [r2]
+ ARM GAS /tmp/ccskJbbb.s page 307
+
+
+4802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9502 .loc 1 4802 0
+ 9503 00c2 636A ldr r3, [r4, #36]
+ 9504 00c4 0133 adds r3, r3, #1
+ 9505 00c6 6362 str r3, [r4, #36]
+4804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 9506 .loc 1 4804 0
+ 9507 00c8 238D ldrh r3, [r4, #40]
+ 9508 00ca 013B subs r3, r3, #1
+ 9509 00cc 2385 strh r3, [r4, #40]
+4805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9510 .loc 1 4805 0
+ 9511 00ce 638D ldrh r3, [r4, #42]
+ 9512 00d0 013B subs r3, r3, #1
+ 9513 00d2 9BB2 uxth r3, r3
+ 9514 00d4 6385 strh r3, [r4, #42]
+ 9515 .L624:
+4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+ 9516 .loc 1 4808 0
+ 9517 00d6 638D ldrh r3, [r4, #42]
+ 9518 00d8 9BB2 uxth r3, r3
+ 9519 00da 002B cmp r3, #0
+ 9520 00dc B5D1 bne .L620
+4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+ 9521 .loc 1 4808 0 is_stmt 0 discriminator 1
+ 9522 00de 1A4B ldr r3, .L633
+ 9523 00e0 9F42 cmp r7, r3
+ 9524 00e2 B2D0 beq .L620
+4812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9525 .loc 1 4812 0 is_stmt 1
+ 9526 00e4 2000 movs r0, r4
+ 9527 00e6 FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 9528 .LVL822:
+ 9529 00ea AEE7 b .L620
+ 9530 .L623:
+4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9531 .loc 1 4815 0
+ 9532 00ec 2B07 lsls r3, r5, #28
+ 9533 00ee 01D5 bpl .L625
+4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9534 .loc 1 4815 0 is_stmt 0 discriminator 1
+ 9535 00f0 3307 lsls r3, r6, #28
+ 9536 00f2 16D4 bmi .L632
+ 9537 .L625:
+4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9538 .loc 1 4819 0 is_stmt 1
+ 9539 00f4 AB07 lsls r3, r5, #30
+ 9540 00f6 A8D5 bpl .L620
+4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9541 .loc 1 4819 0 is_stmt 0 discriminator 1
+ 9542 00f8 B307 lsls r3, r6, #30
+ 9543 00fa A6D5 bpl .L620
+4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9544 .loc 1 4825 0 is_stmt 1
+ 9545 00fc 638D ldrh r3, [r4, #42]
+ 9546 00fe 9BB2 uxth r3, r3
+ 9547 0100 002B cmp r3, #0
+ ARM GAS /tmp/ccskJbbb.s page 308
+
+
+ 9548 0102 13D0 beq .L626
+4828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9549 .loc 1 4828 0
+ 9550 0104 2368 ldr r3, [r4]
+ 9551 0106 626A ldr r2, [r4, #36]
+ 9552 0108 1278 ldrb r2, [r2]
+ 9553 010a 9A62 str r2, [r3, #40]
+4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9554 .loc 1 4831 0
+ 9555 010c 636A ldr r3, [r4, #36]
+ 9556 010e 0133 adds r3, r3, #1
+ 9557 0110 6362 str r3, [r4, #36]
+4833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+ 9558 .loc 1 4833 0
+ 9559 0112 638D ldrh r3, [r4, #42]
+ 9560 0114 013B subs r3, r3, #1
+ 9561 0116 9BB2 uxth r3, r3
+ 9562 0118 6385 strh r3, [r4, #42]
+4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9563 .loc 1 4834 0
+ 9564 011a 238D ldrh r3, [r4, #40]
+ 9565 011c 013B subs r3, r3, #1
+ 9566 011e 2385 strh r3, [r4, #40]
+ 9567 0120 93E7 b .L620
+ 9568 .L632:
+4817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9569 .loc 1 4817 0
+ 9570 0122 2900 movs r1, r5
+ 9571 0124 2000 movs r0, r4
+ 9572 0126 FFF7FEFF bl I2C_ITAddrCplt
+ 9573 .LVL823:
+ 9574 012a 8EE7 b .L620
+ 9575 .L626:
+4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9576 .loc 1 4838 0
+ 9577 012c 8023 movs r3, #128
+ 9578 012e 5B04 lsls r3, r3, #17
+ 9579 0130 9F42 cmp r7, r3
+ 9580 0132 02D0 beq .L627
+4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9581 .loc 1 4838 0 is_stmt 0 discriminator 1
+ 9582 0134 002F cmp r7, #0
+ 9583 0136 00D0 beq .LCB9518
+ 9584 0138 87E7 b .L620 @long jump
+ 9585 .LCB9518:
+ 9586 .L627:
+4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9587 .loc 1 4842 0 is_stmt 1
+ 9588 013a 2000 movs r0, r4
+ 9589 013c FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 9590 .LVL824:
+ 9591 0140 83E7 b .L620
+ 9592 .LVL825:
+ 9593 .L628:
+4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9594 .loc 1 4738 0
+ 9595 0142 0220 movs r0, #2
+ ARM GAS /tmp/ccskJbbb.s page 309
+
+
+ 9596 .LVL826:
+ 9597 0144 85E7 b .L615
+ 9598 .L634:
+ 9599 0146 C046 .align 2
+ 9600 .L633:
+ 9601 0148 0000FFFF .word -65536
+ 9602 .cfi_endproc
+ 9603 .LFE90:
+ 9605 .section .text.I2C_ITMasterCplt,"ax",%progbits
+ 9606 .align 1
+ 9607 .syntax unified
+ 9608 .code 16
+ 9609 .thumb_func
+ 9610 .fpu softvfp
+ 9612 I2C_ITMasterCplt:
+ 9613 .LFB98:
+5427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
+ 9614 .loc 1 5427 0
+ 9615 .cfi_startproc
+ 9616 @ args = 0, pretend = 0, frame = 0
+ 9617 @ frame_needed = 0, uses_anonymous_args = 0
+ 9618 .LVL827:
+ 9619 0000 10B5 push {r4, lr}
+ 9620 .LCFI75:
+ 9621 .cfi_def_cfa_offset 8
+ 9622 .cfi_offset 4, -8
+ 9623 .cfi_offset 14, -4
+ 9624 0002 0400 movs r4, r0
+5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9625 .loc 1 5431 0
+ 9626 0004 0368 ldr r3, [r0]
+ 9627 0006 2022 movs r2, #32
+ 9628 0008 DA61 str r2, [r3, #28]
+5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9629 .loc 1 5434 0
+ 9630 000a 0268 ldr r2, [r0]
+ 9631 000c 5368 ldr r3, [r2, #4]
+ 9632 000e 2F48 ldr r0, .L646
+ 9633 .LVL828:
+ 9634 0010 0340 ands r3, r0
+ 9635 0012 5360 str r3, [r2, #4]
+5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 9636 .loc 1 5437 0
+ 9637 0014 0023 movs r3, #0
+ 9638 0016 2363 str r3, [r4, #48]
+5438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 9639 .loc 1 5438 0
+ 9640 0018 6363 str r3, [r4, #52]
+5439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9641 .loc 1 5439 0
+ 9642 001a 2D4B ldr r3, .L646+4
+ 9643 001c E362 str r3, [r4, #44]
+5441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9644 .loc 1 5441 0
+ 9645 001e CB06 lsls r3, r1, #27
+ 9646 0020 06D5 bpl .L636
+5444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 310
+
+
+ 9647 .loc 1 5444 0
+ 9648 0022 2368 ldr r3, [r4]
+ 9649 0024 1022 movs r2, #16
+ 9650 0026 DA61 str r2, [r3, #28]
+5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9651 .loc 1 5447 0
+ 9652 0028 636C ldr r3, [r4, #68]
+ 9653 002a 0C3A subs r2, r2, #12
+ 9654 002c 1343 orrs r3, r2
+ 9655 002e 6364 str r3, [r4, #68]
+ 9656 .L636:
+5451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9657 .loc 1 5451 0
+ 9658 0030 2000 movs r0, r4
+ 9659 0032 FFF7FEFF bl I2C_Flush_TXDR
+ 9660 .LVL829:
+5454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9661 .loc 1 5454 0
+ 9662 0036 0321 movs r1, #3
+ 9663 0038 2000 movs r0, r4
+ 9664 003a FFF7FEFF bl I2C_Disable_IRQ
+ 9665 .LVL830:
+5457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9666 .loc 1 5457 0
+ 9667 003e 626C ldr r2, [r4, #68]
+ 9668 .LVL831:
+5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9669 .loc 1 5460 0
+ 9670 0040 4123 movs r3, #65
+ 9671 0042 E35C ldrb r3, [r4, r3]
+ 9672 0044 602B cmp r3, #96
+ 9673 0046 19D0 beq .L637
+5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9674 .loc 1 5460 0 is_stmt 0 discriminator 1
+ 9675 0048 002A cmp r2, #0
+ 9676 004a 17D1 bne .L637
+5466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9677 .loc 1 5466 0 is_stmt 1
+ 9678 004c 4123 movs r3, #65
+ 9679 004e E35C ldrb r3, [r4, r3]
+ 9680 0050 212B cmp r3, #33
+ 9681 0052 18D0 beq .L643
+5500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9682 .loc 1 5500 0
+ 9683 0054 4123 movs r3, #65
+ 9684 0056 E35C ldrb r3, [r4, r3]
+ 9685 0058 222B cmp r3, #34
+ 9686 005a 13D1 bne .L635
+5502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9687 .loc 1 5502 0
+ 9688 005c 1F33 adds r3, r3, #31
+ 9689 005e 2022 movs r2, #32
+ 9690 .LVL832:
+ 9691 0060 E254 strb r2, [r4, r3]
+5504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9692 .loc 1 5504 0
+ 9693 0062 0133 adds r3, r3, #1
+ ARM GAS /tmp/ccskJbbb.s page 311
+
+
+ 9694 0064 E35C ldrb r3, [r4, r3]
+ 9695 0066 402B cmp r3, #64
+ 9696 0068 26D0 beq .L644
+5520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9697 .loc 1 5520 0
+ 9698 006a 0023 movs r3, #0
+ 9699 006c 4222 movs r2, #66
+ 9700 006e A354 strb r3, [r4, r2]
+5523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9701 .loc 1 5523 0
+ 9702 0070 023A subs r2, r2, #2
+ 9703 0072 A354 strb r3, [r4, r2]
+5529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9704 .loc 1 5529 0
+ 9705 0074 2000 movs r0, r4
+ 9706 0076 FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
+ 9707 .LVL833:
+5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9708 .loc 1 5537 0
+ 9709 007a 03E0 b .L635
+ 9710 .LVL834:
+ 9711 .L637:
+5463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9712 .loc 1 5463 0
+ 9713 007c 616C ldr r1, [r4, #68]
+ 9714 007e 2000 movs r0, r4
+ 9715 0080 FFF7FEFF bl I2C_ITError
+ 9716 .LVL835:
+ 9717 .L635:
+5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9718 .loc 1 5537 0
+ 9719 @ sp needed
+ 9720 .LVL836:
+ 9721 0084 10BD pop {r4, pc}
+ 9722 .LVL837:
+ 9723 .L643:
+5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9724 .loc 1 5468 0
+ 9725 0086 2033 adds r3, r3, #32
+ 9726 0088 2022 movs r2, #32
+ 9727 .LVL838:
+ 9728 008a E254 strb r2, [r4, r3]
+5470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9729 .loc 1 5470 0
+ 9730 008c 0133 adds r3, r3, #1
+ 9731 008e E35C ldrb r3, [r4, r3]
+ 9732 0090 402B cmp r3, #64
+ 9733 0092 08D0 beq .L645
+5486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9734 .loc 1 5486 0
+ 9735 0094 0023 movs r3, #0
+ 9736 0096 4222 movs r2, #66
+ 9737 0098 A354 strb r3, [r4, r2]
+5489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9738 .loc 1 5489 0
+ 9739 009a 023A subs r2, r2, #2
+ 9740 009c A354 strb r3, [r4, r2]
+ ARM GAS /tmp/ccskJbbb.s page 312
+
+
+5495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9741 .loc 1 5495 0
+ 9742 009e 2000 movs r0, r4
+ 9743 00a0 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
+ 9744 .LVL839:
+ 9745 00a4 EEE7 b .L635
+ 9746 .L645:
+5472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9747 .loc 1 5472 0
+ 9748 00a6 0023 movs r3, #0
+ 9749 00a8 2232 adds r2, r2, #34
+ 9750 00aa A354 strb r3, [r4, r2]
+5475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9751 .loc 1 5475 0
+ 9752 00ac 023A subs r2, r2, #2
+ 9753 00ae A354 strb r3, [r4, r2]
+5481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9754 .loc 1 5481 0
+ 9755 00b0 2000 movs r0, r4
+ 9756 00b2 FFF7FEFF bl HAL_I2C_MemTxCpltCallback
+ 9757 .LVL840:
+ 9758 00b6 E5E7 b .L635
+ 9759 .L644:
+5506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9760 .loc 1 5506 0
+ 9761 00b8 0023 movs r3, #0
+ 9762 00ba 2232 adds r2, r2, #34
+ 9763 00bc A354 strb r3, [r4, r2]
+5509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9764 .loc 1 5509 0
+ 9765 00be 023A subs r2, r2, #2
+ 9766 00c0 A354 strb r3, [r4, r2]
+5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9767 .loc 1 5515 0
+ 9768 00c2 2000 movs r0, r4
+ 9769 00c4 FFF7FEFF bl HAL_I2C_MemRxCpltCallback
+ 9770 .LVL841:
+ 9771 00c8 DCE7 b .L635
+ 9772 .L647:
+ 9773 00ca C046 .align 2
+ 9774 .L646:
+ 9775 00cc 00E800FE .word -33495040
+ 9776 00d0 0000FFFF .word -65536
+ 9777 .cfi_endproc
+ 9778 .LFE98:
+ 9780 .section .text.I2C_Master_ISR_IT,"ax",%progbits
+ 9781 .align 1
+ 9782 .syntax unified
+ 9783 .code 16
+ 9784 .thumb_func
+ 9785 .fpu softvfp
+ 9787 I2C_Master_ISR_IT:
+ 9788 .LFB89:
+4596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
+ 9789 .loc 1 4596 0
+ 9790 .cfi_startproc
+ 9791 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/ccskJbbb.s page 313
+
+
+ 9792 @ frame_needed = 0, uses_anonymous_args = 0
+ 9793 .LVL842:
+ 9794 0000 70B5 push {r4, r5, r6, lr}
+ 9795 .LCFI76:
+ 9796 .cfi_def_cfa_offset 16
+ 9797 .cfi_offset 4, -16
+ 9798 .cfi_offset 5, -12
+ 9799 .cfi_offset 6, -8
+ 9800 .cfi_offset 14, -4
+ 9801 0002 82B0 sub sp, sp, #8
+ 9802 .LCFI77:
+ 9803 .cfi_def_cfa_offset 24
+ 9804 0004 0400 movs r4, r0
+ 9805 0006 0D00 movs r5, r1
+ 9806 0008 1600 movs r6, r2
+ 9807 .LVL843:
+4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9808 .loc 1 4601 0
+ 9809 000a 4023 movs r3, #64
+ 9810 000c C35C ldrb r3, [r0, r3]
+ 9811 000e 012B cmp r3, #1
+ 9812 0010 00D1 bne .LCB9725
+ 9813 0012 ADE0 b .L662 @long jump
+ 9814 .LCB9725:
+4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9815 .loc 1 4601 0 is_stmt 0 discriminator 2
+ 9816 0014 0123 movs r3, #1
+ 9817 0016 4022 movs r2, #64
+ 9818 .LVL844:
+ 9819 0018 8354 strb r3, [r0, r2]
+4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9820 .loc 1 4603 0 is_stmt 1 discriminator 2
+ 9821 001a 0A09 lsrs r2, r1, #4
+ 9822 001c 1342 tst r3, r2
+ 9823 001e 01D0 beq .L650
+4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9824 .loc 1 4603 0 is_stmt 0 discriminator 1
+ 9825 0020 F306 lsls r3, r6, #27
+ 9826 0022 1ED4 bmi .L663
+ 9827 .L650:
+4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9828 .loc 1 4616 0 is_stmt 1
+ 9829 0024 6B07 lsls r3, r5, #29
+ 9830 0026 26D5 bpl .L652
+4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9831 .loc 1 4616 0 is_stmt 0 discriminator 1
+ 9832 0028 7307 lsls r3, r6, #29
+ 9833 002a 24D5 bpl .L652
+4619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9834 .loc 1 4619 0 is_stmt 1
+ 9835 002c 0423 movs r3, #4
+ 9836 002e 9D43 bics r5, r3
+ 9837 .LVL845:
+4622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9838 .loc 1 4622 0
+ 9839 0030 2368 ldr r3, [r4]
+ 9840 0032 5B6A ldr r3, [r3, #36]
+ ARM GAS /tmp/ccskJbbb.s page 314
+
+
+ 9841 0034 626A ldr r2, [r4, #36]
+ 9842 0036 1370 strb r3, [r2]
+4625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9843 .loc 1 4625 0
+ 9844 0038 636A ldr r3, [r4, #36]
+ 9845 003a 0133 adds r3, r3, #1
+ 9846 003c 6362 str r3, [r4, #36]
+4627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 9847 .loc 1 4627 0
+ 9848 003e 238D ldrh r3, [r4, #40]
+ 9849 0040 013B subs r3, r3, #1
+ 9850 0042 2385 strh r3, [r4, #40]
+4628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9851 .loc 1 4628 0
+ 9852 0044 638D ldrh r3, [r4, #42]
+ 9853 0046 013B subs r3, r3, #1
+ 9854 0048 9BB2 uxth r3, r3
+ 9855 004a 6385 strh r3, [r4, #42]
+ 9856 .LVL846:
+ 9857 .L651:
+4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9858 .loc 1 4712 0
+ 9859 004c AB06 lsls r3, r5, #26
+ 9860 004e 02D5 bpl .L661
+4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9861 .loc 1 4712 0 is_stmt 0 discriminator 1
+ 9862 0050 B306 lsls r3, r6, #26
+ 9863 0052 00D5 bpl .LCB9787
+ 9864 0054 87E0 b .L664 @long jump
+ 9865 .LCB9787:
+ 9866 .L661:
+4719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9867 .loc 1 4719 0 is_stmt 1
+ 9868 0056 4023 movs r3, #64
+ 9869 0058 0022 movs r2, #0
+ 9870 005a E254 strb r2, [r4, r3]
+4721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9871 .loc 1 4721 0
+ 9872 005c 0020 movs r0, #0
+ 9873 .L649:
+4722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9874 .loc 1 4722 0
+ 9875 005e 02B0 add sp, sp, #8
+ 9876 @ sp needed
+ 9877 .LVL847:
+ 9878 .LVL848:
+ 9879 .LVL849:
+ 9880 0060 70BD pop {r4, r5, r6, pc}
+ 9881 .LVL850:
+ 9882 .L663:
+4606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9883 .loc 1 4606 0
+ 9884 0062 0368 ldr r3, [r0]
+ 9885 0064 1022 movs r2, #16
+ 9886 0066 DA61 str r2, [r3, #28]
+4611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9887 .loc 1 4611 0
+ ARM GAS /tmp/ccskJbbb.s page 315
+
+
+ 9888 0068 436C ldr r3, [r0, #68]
+ 9889 006a 0C3A subs r2, r2, #12
+ 9890 006c 1343 orrs r3, r2
+ 9891 006e 4364 str r3, [r0, #68]
+4614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9892 .loc 1 4614 0
+ 9893 0070 FFF7FEFF bl I2C_Flush_TXDR
+ 9894 .LVL851:
+ 9895 0074 EAE7 b .L651
+ 9896 .LVL852:
+ 9897 .L652:
+4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9898 .loc 1 4630 0
+ 9899 0076 AB07 lsls r3, r5, #30
+ 9900 0078 10D5 bpl .L653
+4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9901 .loc 1 4630 0 is_stmt 0 discriminator 1
+ 9902 007a B307 lsls r3, r6, #30
+ 9903 007c 0ED5 bpl .L653
+4633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9904 .loc 1 4633 0 is_stmt 1
+ 9905 007e 2368 ldr r3, [r4]
+ 9906 0080 626A ldr r2, [r4, #36]
+ 9907 0082 1278 ldrb r2, [r2]
+ 9908 0084 9A62 str r2, [r3, #40]
+4636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9909 .loc 1 4636 0
+ 9910 0086 636A ldr r3, [r4, #36]
+ 9911 0088 0133 adds r3, r3, #1
+ 9912 008a 6362 str r3, [r4, #36]
+4638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 9913 .loc 1 4638 0
+ 9914 008c 238D ldrh r3, [r4, #40]
+ 9915 008e 013B subs r3, r3, #1
+ 9916 0090 2385 strh r3, [r4, #40]
+4639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9917 .loc 1 4639 0
+ 9918 0092 638D ldrh r3, [r4, #42]
+ 9919 0094 013B subs r3, r3, #1
+ 9920 0096 9BB2 uxth r3, r3
+ 9921 0098 6385 strh r3, [r4, #42]
+ 9922 009a D7E7 b .L651
+ 9923 .L653:
+4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9924 .loc 1 4641 0
+ 9925 009c 2B06 lsls r3, r5, #24
+ 9926 009e 40D5 bpl .L654
+4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9927 .loc 1 4641 0 is_stmt 0 discriminator 1
+ 9928 00a0 7306 lsls r3, r6, #25
+ 9929 00a2 3ED5 bpl .L654
+4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9930 .loc 1 4643 0 is_stmt 1
+ 9931 00a4 638D ldrh r3, [r4, #42]
+ 9932 00a6 9BB2 uxth r3, r3
+ 9933 00a8 002B cmp r3, #0
+ 9934 00aa 2DD0 beq .L655
+ ARM GAS /tmp/ccskJbbb.s page 316
+
+
+4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9935 .loc 1 4643 0 is_stmt 0 discriminator 1
+ 9936 00ac 238D ldrh r3, [r4, #40]
+ 9937 00ae 002B cmp r3, #0
+ 9938 00b0 2AD1 bne .L655
+4645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9939 .loc 1 4645 0 is_stmt 1
+ 9940 00b2 2368 ldr r3, [r4]
+ 9941 00b4 5968 ldr r1, [r3, #4]
+ 9942 .LVL853:
+ 9943 00b6 8905 lsls r1, r1, #22
+ 9944 00b8 890D lsrs r1, r1, #22
+ 9945 .LVL854:
+4647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9946 .loc 1 4647 0
+ 9947 00ba 638D ldrh r3, [r4, #42]
+ 9948 00bc 9BB2 uxth r3, r3
+ 9949 00be FF2B cmp r3, #255
+ 9950 00c0 0ED8 bhi .L665
+4654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
+ 9951 .loc 1 4654 0
+ 9952 00c2 628D ldrh r2, [r4, #42]
+ 9953 00c4 92B2 uxth r2, r2
+ 9954 00c6 2285 strh r2, [r4, #40]
+4655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9955 .loc 1 4655 0
+ 9956 00c8 E06A ldr r0, [r4, #44]
+ 9957 .LVL855:
+ 9958 00ca 2A4B ldr r3, .L666
+ 9959 00cc 9842 cmp r0, r3
+ 9960 00ce 12D0 beq .L657
+4657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9961 .loc 1 4657 0
+ 9962 00d0 E36A ldr r3, [r4, #44]
+ 9963 00d2 D2B2 uxtb r2, r2
+ 9964 00d4 0020 movs r0, #0
+ 9965 00d6 0090 str r0, [sp]
+ 9966 00d8 2000 movs r0, r4
+ 9967 00da FFF7FEFF bl I2C_TransferConfig
+ 9968 .LVL856:
+ 9969 00de B5E7 b .L651
+ 9970 .LVL857:
+ 9971 .L665:
+4649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
+ 9972 .loc 1 4649 0
+ 9973 00e0 FF23 movs r3, #255
+ 9974 00e2 2385 strh r3, [r4, #40]
+4650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9975 .loc 1 4650 0
+ 9976 00e4 7F3B subs r3, r3, #127
+ 9977 00e6 0022 movs r2, #0
+ 9978 00e8 0092 str r2, [sp]
+ 9979 00ea 5B04 lsls r3, r3, #17
+ 9980 00ec FF32 adds r2, r2, #255
+ 9981 00ee 2000 movs r0, r4
+ 9982 .LVL858:
+ 9983 00f0 FFF7FEFF bl I2C_TransferConfig
+ ARM GAS /tmp/ccskJbbb.s page 317
+
+
+ 9984 .LVL859:
+ 9985 00f4 AAE7 b .L651
+ 9986 .LVL860:
+ 9987 .L657:
+4661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9988 .loc 1 4661 0
+ 9989 00f6 8023 movs r3, #128
+ 9990 00f8 D2B2 uxtb r2, r2
+ 9991 00fa 0020 movs r0, #0
+ 9992 00fc 0090 str r0, [sp]
+ 9993 00fe 9B04 lsls r3, r3, #18
+ 9994 0100 2000 movs r0, r4
+ 9995 0102 FFF7FEFF bl I2C_TransferConfig
+ 9996 .LVL861:
+ 9997 0106 A1E7 b .L651
+ 9998 .LVL862:
+ 9999 .L655:
+4668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10000 .loc 1 4668 0
+ 10001 0108 2368 ldr r3, [r4]
+ 10002 010a 5B68 ldr r3, [r3, #4]
+ 10003 010c 9B01 lsls r3, r3, #6
+ 10004 010e 03D4 bmi .L658
+4671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10005 .loc 1 4671 0
+ 10006 0110 2000 movs r0, r4
+ 10007 .LVL863:
+ 10008 0112 FFF7FEFF bl I2C_ITMasterSeqCplt
+ 10009 .LVL864:
+ 10010 0116 99E7 b .L651
+ 10011 .LVL865:
+ 10012 .L658:
+4677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10013 .loc 1 4677 0
+ 10014 0118 4021 movs r1, #64
+ 10015 .LVL866:
+ 10016 011a 2000 movs r0, r4
+ 10017 .LVL867:
+ 10018 011c FFF7FEFF bl I2C_ITError
+ 10019 .LVL868:
+ 10020 0120 94E7 b .L651
+ 10021 .LVL869:
+ 10022 .L654:
+4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10023 .loc 1 4681 0
+ 10024 0122 6B06 lsls r3, r5, #25
+ 10025 0124 00D4 bmi .LCB9991
+ 10026 0126 91E7 b .L651 @long jump
+ 10027 .LCB9991:
+4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10028 .loc 1 4681 0 is_stmt 0 discriminator 1
+ 10029 0128 7306 lsls r3, r6, #25
+ 10030 012a 00D4 bmi .LCB9996
+ 10031 012c 8EE7 b .L651 @long jump
+ 10032 .LCB9996:
+4683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10033 .loc 1 4683 0 is_stmt 1
+ ARM GAS /tmp/ccskJbbb.s page 318
+
+
+ 10034 012e 638D ldrh r3, [r4, #42]
+ 10035 0130 9BB2 uxth r3, r3
+ 10036 0132 002B cmp r3, #0
+ 10037 0134 12D1 bne .L659
+4685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10038 .loc 1 4685 0
+ 10039 0136 2368 ldr r3, [r4]
+ 10040 0138 5A68 ldr r2, [r3, #4]
+ 10041 013a 9201 lsls r2, r2, #6
+ 10042 013c 00D5 bpl .LCB10006
+ 10043 013e 85E7 b .L651 @long jump
+ 10044 .LCB10006:
+4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10045 .loc 1 4688 0
+ 10046 0140 E16A ldr r1, [r4, #44]
+ 10047 .LVL870:
+ 10048 0142 0C4A ldr r2, .L666
+ 10049 0144 9142 cmp r1, r2
+ 10050 0146 05D1 bne .L660
+4691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10051 .loc 1 4691 0
+ 10052 0148 5968 ldr r1, [r3, #4]
+ 10053 014a 8022 movs r2, #128
+ 10054 014c D201 lsls r2, r2, #7
+ 10055 014e 0A43 orrs r2, r1
+ 10056 0150 5A60 str r2, [r3, #4]
+ 10057 0152 7BE7 b .L651
+ 10058 .L660:
+4696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10059 .loc 1 4696 0
+ 10060 0154 2000 movs r0, r4
+ 10061 .LVL871:
+ 10062 0156 FFF7FEFF bl I2C_ITMasterSeqCplt
+ 10063 .LVL872:
+ 10064 015a 77E7 b .L651
+ 10065 .LVL873:
+ 10066 .L659:
+4704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10067 .loc 1 4704 0
+ 10068 015c 4021 movs r1, #64
+ 10069 .LVL874:
+ 10070 015e 2000 movs r0, r4
+ 10071 .LVL875:
+ 10072 0160 FFF7FEFF bl I2C_ITError
+ 10073 .LVL876:
+ 10074 0164 72E7 b .L651
+ 10075 .LVL877:
+ 10076 .L664:
+4715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10077 .loc 1 4715 0
+ 10078 0166 2900 movs r1, r5
+ 10079 0168 2000 movs r0, r4
+ 10080 016a FFF7FEFF bl I2C_ITMasterCplt
+ 10081 .LVL878:
+ 10082 016e 72E7 b .L661
+ 10083 .LVL879:
+ 10084 .L662:
+ ARM GAS /tmp/ccskJbbb.s page 319
+
+
+4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10085 .loc 1 4601 0
+ 10086 0170 0220 movs r0, #2
+ 10087 .LVL880:
+ 10088 0172 74E7 b .L649
+ 10089 .L667:
+ 10090 .align 2
+ 10091 .L666:
+ 10092 0174 0000FFFF .word -65536
+ 10093 .cfi_endproc
+ 10094 .LFE89:
+ 10096 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits
+ 10097 .align 1
+ 10098 .syntax unified
+ 10099 .code 16
+ 10100 .thumb_func
+ 10101 .fpu softvfp
+ 10103 I2C_Slave_ISR_DMA:
+ 10104 .LFB92:
+5001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+ 10105 .loc 1 5001 0
+ 10106 .cfi_startproc
+ 10107 @ args = 0, pretend = 0, frame = 0
+ 10108 @ frame_needed = 0, uses_anonymous_args = 0
+ 10109 .LVL881:
+ 10110 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 10111 .LCFI78:
+ 10112 .cfi_def_cfa_offset 24
+ 10113 .cfi_offset 3, -24
+ 10114 .cfi_offset 4, -20
+ 10115 .cfi_offset 5, -16
+ 10116 .cfi_offset 6, -12
+ 10117 .cfi_offset 7, -8
+ 10118 .cfi_offset 14, -4
+ 10119 0002 0400 movs r4, r0
+ 10120 0004 0D00 movs r5, r1
+ 10121 0006 1600 movs r6, r2
+5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
+ 10122 .loc 1 5002 0
+ 10123 0008 C76A ldr r7, [r0, #44]
+ 10124 .LVL882:
+5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10125 .loc 1 5006 0
+ 10126 000a 4023 movs r3, #64
+ 10127 000c C35C ldrb r3, [r0, r3]
+ 10128 000e 012B cmp r3, #1
+ 10129 0010 00D1 bne .LCB10095
+ 10130 0012 75E0 b .L682 @long jump
+ 10131 .LCB10095:
+5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10132 .loc 1 5006 0 is_stmt 0 discriminator 2
+ 10133 0014 0123 movs r3, #1
+ 10134 0016 4022 movs r2, #64
+ 10135 .LVL883:
+ 10136 0018 8354 strb r3, [r0, r2]
+5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10137 .loc 1 5009 0 is_stmt 1 discriminator 2
+ ARM GAS /tmp/ccskJbbb.s page 320
+
+
+ 10138 001a 4A09 lsrs r2, r1, #5
+ 10139 001c 1342 tst r3, r2
+ 10140 001e 01D0 beq .L670
+5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10141 .loc 1 5009 0 is_stmt 0 discriminator 1
+ 10142 0020 B306 lsls r3, r6, #26
+ 10143 0022 14D4 bmi .L686
+ 10144 .LVL884:
+ 10145 .L670:
+5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10146 .loc 1 5015 0 is_stmt 1
+ 10147 0024 EB06 lsls r3, r5, #27
+ 10148 0026 5DD5 bpl .L671
+5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10149 .loc 1 5015 0 is_stmt 0 discriminator 1
+ 10150 0028 F306 lsls r3, r6, #27
+ 10151 002a 5BD5 bpl .L671
+5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
+ 10152 .loc 1 5021 0 is_stmt 1
+ 10153 002c B20B lsrs r2, r6, #14
+ 10154 002e 0123 movs r3, #1
+ 10155 0030 1340 ands r3, r2
+ 10156 0032 01D1 bne .L672
+5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
+ 10157 .loc 1 5021 0 is_stmt 0 discriminator 1
+ 10158 0034 3204 lsls r2, r6, #16
+ 10159 0036 51D5 bpl .L673
+ 10160 .L672:
+5025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10161 .loc 1 5025 0 is_stmt 1
+ 10162 0038 E26B ldr r2, [r4, #60]
+ 10163 003a 002A cmp r2, #0
+ 10164 003c 0AD0 beq .L683
+5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10165 .loc 1 5027 0
+ 10166 003e 3104 lsls r1, r6, #16
+ 10167 0040 0AD5 bpl .L684
+5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10168 .loc 1 5029 0
+ 10169 0042 1268 ldr r2, [r2]
+ 10170 0044 5268 ldr r2, [r2, #4]
+ 10171 0046 002A cmp r2, #0
+ 10172 0048 24D0 beq .L685
+5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10173 .loc 1 5003 0
+ 10174 004a 0021 movs r1, #0
+ 10175 004c 05E0 b .L674
+ 10176 .LVL885:
+ 10177 .L686:
+5012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10178 .loc 1 5012 0
+ 10179 004e FFF7FEFF bl I2C_ITSlaveCplt
+ 10180 .LVL886:
+ 10181 0052 E7E7 b .L670
+ 10182 .L683:
+5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10183 .loc 1 5003 0
+ ARM GAS /tmp/ccskJbbb.s page 321
+
+
+ 10184 0054 0021 movs r1, #0
+ 10185 0056 00E0 b .L674
+ 10186 .L684:
+ 10187 0058 0021 movs r1, #0
+ 10188 .L674:
+ 10189 .LVL887:
+5037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10190 .loc 1 5037 0
+ 10191 005a A26B ldr r2, [r4, #56]
+ 10192 005c 002A cmp r2, #0
+ 10193 005e 05D0 beq .L675
+5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10194 .loc 1 5039 0
+ 10195 0060 002B cmp r3, #0
+ 10196 0062 03D0 beq .L675
+5041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10197 .loc 1 5041 0
+ 10198 0064 1368 ldr r3, [r2]
+ 10199 0066 5B68 ldr r3, [r3, #4]
+ 10200 0068 002B cmp r3, #0
+ 10201 006a 15D0 beq .L676
+ 10202 .L675:
+5048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10203 .loc 1 5048 0
+ 10204 006c 0129 cmp r1, #1
+ 10205 006e 13D0 beq .L676
+5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10206 .loc 1 5077 0
+ 10207 0070 2368 ldr r3, [r4]
+ 10208 0072 1022 movs r2, #16
+ 10209 0074 DA61 str r2, [r3, #28]
+5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10210 .loc 1 5080 0
+ 10211 0076 636C ldr r3, [r4, #68]
+ 10212 0078 0C3A subs r2, r2, #12
+ 10213 007a 1343 orrs r3, r2
+ 10214 007c 6364 str r3, [r4, #68]
+5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10215 .loc 1 5082 0
+ 10216 007e 002F cmp r7, #0
+ 10217 0080 03D0 beq .L681
+5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10218 .loc 1 5082 0 is_stmt 0 discriminator 1
+ 10219 0082 8023 movs r3, #128
+ 10220 0084 5B04 lsls r3, r3, #17
+ 10221 0086 9F42 cmp r7, r3
+ 10222 0088 30D1 bne .L679
+ 10223 .L681:
+5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10224 .loc 1 5085 0 is_stmt 1
+ 10225 008a 616C ldr r1, [r4, #68]
+ 10226 .LVL888:
+ 10227 008c 2000 movs r0, r4
+ 10228 008e FFF7FEFF bl I2C_ITError
+ 10229 .LVL889:
+ 10230 0092 2BE0 b .L679
+ 10231 .LVL890:
+ ARM GAS /tmp/ccskJbbb.s page 322
+
+
+ 10232 .L685:
+5031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10233 .loc 1 5031 0
+ 10234 0094 0121 movs r1, #1
+ 10235 0096 E0E7 b .L674
+ 10236 .LVL891:
+ 10237 .L676:
+5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10238 .loc 1 5050 0
+ 10239 0098 4123 movs r3, #65
+ 10240 009a E35C ldrb r3, [r4, r3]
+ 10241 009c 282B cmp r3, #40
+ 10242 009e 07D0 beq .L687
+ 10243 .L678:
+5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10244 .loc 1 5055 0
+ 10245 00a0 4123 movs r3, #65
+ 10246 00a2 E35C ldrb r3, [r4, r3]
+ 10247 00a4 292B cmp r3, #41
+ 10248 00a6 0CD0 beq .L688
+ 10249 .L680:
+5070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10250 .loc 1 5070 0
+ 10251 00a8 2368 ldr r3, [r4]
+ 10252 00aa 1022 movs r2, #16
+ 10253 00ac DA61 str r2, [r3, #28]
+ 10254 00ae 1DE0 b .L679
+ 10255 .L687:
+5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10256 .loc 1 5050 0 discriminator 1
+ 10257 00b0 8023 movs r3, #128
+ 10258 00b2 9B04 lsls r3, r3, #18
+ 10259 00b4 9F42 cmp r7, r3
+ 10260 00b6 F3D1 bne .L678
+5053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10261 .loc 1 5053 0
+ 10262 00b8 2900 movs r1, r5
+ 10263 .LVL892:
+ 10264 00ba 2000 movs r0, r4
+ 10265 00bc FFF7FEFF bl I2C_ITListenCplt
+ 10266 .LVL893:
+ 10267 00c0 14E0 b .L679
+ 10268 .LVL894:
+ 10269 .L688:
+5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10270 .loc 1 5055 0 discriminator 1
+ 10271 00c2 104B ldr r3, .L690
+ 10272 00c4 9F42 cmp r7, r3
+ 10273 00c6 EFD0 beq .L680
+5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10274 .loc 1 5058 0
+ 10275 00c8 2368 ldr r3, [r4]
+ 10276 00ca 1022 movs r2, #16
+ 10277 00cc DA61 str r2, [r3, #28]
+5061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10278 .loc 1 5061 0
+ 10279 00ce 2000 movs r0, r4
+ ARM GAS /tmp/ccskJbbb.s page 323
+
+
+ 10280 00d0 FFF7FEFF bl I2C_Flush_TXDR
+ 10281 .LVL895:
+5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10282 .loc 1 5065 0
+ 10283 00d4 2000 movs r0, r4
+ 10284 00d6 FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 10285 .LVL896:
+ 10286 00da 07E0 b .L679
+ 10287 .LVL897:
+ 10288 .L673:
+5092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10289 .loc 1 5092 0
+ 10290 00dc 2368 ldr r3, [r4]
+ 10291 00de 1022 movs r2, #16
+ 10292 00e0 DA61 str r2, [r3, #28]
+ 10293 00e2 03E0 b .L679
+ 10294 .L671:
+5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10295 .loc 1 5095 0
+ 10296 00e4 2B07 lsls r3, r5, #28
+ 10297 00e6 01D5 bpl .L679
+5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10298 .loc 1 5095 0 is_stmt 0 discriminator 1
+ 10299 00e8 3307 lsls r3, r6, #28
+ 10300 00ea 04D4 bmi .L689
+ 10301 .LVL898:
+ 10302 .L679:
+5105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10303 .loc 1 5105 0 is_stmt 1
+ 10304 00ec 4023 movs r3, #64
+ 10305 00ee 0022 movs r2, #0
+ 10306 00f0 E254 strb r2, [r4, r3]
+5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10307 .loc 1 5107 0
+ 10308 00f2 0020 movs r0, #0
+ 10309 .L669:
+5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10310 .loc 1 5108 0
+ 10311 @ sp needed
+ 10312 .LVL899:
+ 10313 .LVL900:
+ 10314 .LVL901:
+ 10315 .LVL902:
+ 10316 00f4 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 10317 .LVL903:
+ 10318 .L689:
+5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10319 .loc 1 5097 0
+ 10320 00f6 2900 movs r1, r5
+ 10321 00f8 2000 movs r0, r4
+ 10322 00fa FFF7FEFF bl I2C_ITAddrCplt
+ 10323 .LVL904:
+ 10324 00fe F5E7 b .L679
+ 10325 .LVL905:
+ 10326 .L682:
+5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10327 .loc 1 5006 0
+ ARM GAS /tmp/ccskJbbb.s page 324
+
+
+ 10328 0100 0220 movs r0, #2
+ 10329 .LVL906:
+ 10330 0102 F7E7 b .L669
+ 10331 .L691:
+ 10332 .align 2
+ 10333 .L690:
+ 10334 0104 0000FFFF .word -65536
+ 10335 .cfi_endproc
+ 10336 .LFE92:
+ 10338 .section .text.I2C_Master_ISR_DMA,"ax",%progbits
+ 10339 .align 1
+ 10340 .syntax unified
+ 10341 .code 16
+ 10342 .thumb_func
+ 10343 .fpu softvfp
+ 10345 I2C_Master_ISR_DMA:
+ 10346 .LFB91:
+4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
+ 10347 .loc 1 4866 0
+ 10348 .cfi_startproc
+ 10349 @ args = 0, pretend = 0, frame = 0
+ 10350 @ frame_needed = 0, uses_anonymous_args = 0
+ 10351 .LVL907:
+ 10352 0000 10B5 push {r4, lr}
+ 10353 .LCFI79:
+ 10354 .cfi_def_cfa_offset 8
+ 10355 .cfi_offset 4, -8
+ 10356 .cfi_offset 14, -4
+ 10357 0002 82B0 sub sp, sp, #8
+ 10358 .LCFI80:
+ 10359 .cfi_def_cfa_offset 16
+ 10360 0004 0400 movs r4, r0
+4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10361 .loc 1 4871 0
+ 10362 0006 4023 movs r3, #64
+ 10363 0008 C35C ldrb r3, [r0, r3]
+ 10364 000a 012B cmp r3, #1
+ 10365 000c 00D1 bne .LCB10362
+ 10366 000e 91E0 b .L705 @long jump
+ 10367 .LCB10362:
+4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10368 .loc 1 4871 0 is_stmt 0 discriminator 2
+ 10369 0010 0123 movs r3, #1
+ 10370 0012 4020 movs r0, #64
+ 10371 .LVL908:
+ 10372 0014 2354 strb r3, [r4, r0]
+4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10373 .loc 1 4873 0 is_stmt 1 discriminator 2
+ 10374 0016 0809 lsrs r0, r1, #4
+ 10375 0018 0342 tst r3, r0
+ 10376 001a 01D0 beq .L694
+4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10377 .loc 1 4873 0 is_stmt 0 discriminator 1
+ 10378 001c D306 lsls r3, r2, #27
+ 10379 001e 2FD4 bmi .L707
+ 10380 .L694:
+4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 325
+
+
+ 10381 .loc 1 4889 0 is_stmt 1
+ 10382 0020 0B06 lsls r3, r1, #24
+ 10383 0022 60D5 bpl .L696
+4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10384 .loc 1 4889 0 is_stmt 0 discriminator 1
+ 10385 0024 5306 lsls r3, r2, #25
+ 10386 0026 5ED5 bpl .L696
+4892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10387 .loc 1 4892 0 is_stmt 1
+ 10388 0028 2268 ldr r2, [r4]
+ 10389 .LVL909:
+ 10390 002a 1368 ldr r3, [r2]
+ 10391 002c 4021 movs r1, #64
+ 10392 .LVL910:
+ 10393 002e 8B43 bics r3, r1
+ 10394 0030 1360 str r3, [r2]
+4894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10395 .loc 1 4894 0
+ 10396 0032 638D ldrh r3, [r4, #42]
+ 10397 0034 9BB2 uxth r3, r3
+ 10398 0036 002B cmp r3, #0
+ 10399 0038 48D0 beq .L697
+4897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10400 .loc 1 4897 0
+ 10401 003a 2368 ldr r3, [r4]
+ 10402 003c 5968 ldr r1, [r3, #4]
+ 10403 003e 8905 lsls r1, r1, #22
+ 10404 0040 890D lsrs r1, r1, #22
+ 10405 .LVL911:
+4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10406 .loc 1 4900 0
+ 10407 0042 638D ldrh r3, [r4, #42]
+ 10408 0044 9BB2 uxth r3, r3
+ 10409 0046 FF2B cmp r3, #255
+ 10410 0048 2ED9 bls .L698
+4902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 10411 .loc 1 4902 0
+ 10412 004a FF23 movs r3, #255
+ 10413 004c 2385 strh r3, [r4, #40]
+ 10414 .LVL912:
+4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10415 .loc 1 4903 0
+ 10416 004e 8023 movs r3, #128
+ 10417 0050 5B04 lsls r3, r3, #17
+ 10418 .LVL913:
+ 10419 .L699:
+4919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10420 .loc 1 4919 0
+ 10421 0052 228D ldrh r2, [r4, #40]
+ 10422 0054 D2B2 uxtb r2, r2
+ 10423 0056 0020 movs r0, #0
+ 10424 0058 0090 str r0, [sp]
+ 10425 005a 2000 movs r0, r4
+ 10426 005c FFF7FEFF bl I2C_TransferConfig
+ 10427 .LVL914:
+4922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10428 .loc 1 4922 0
+ ARM GAS /tmp/ccskJbbb.s page 326
+
+
+ 10429 0060 638D ldrh r3, [r4, #42]
+ 10430 0062 228D ldrh r2, [r4, #40]
+ 10431 0064 9B1A subs r3, r3, r2
+ 10432 0066 9BB2 uxth r3, r3
+ 10433 0068 6385 strh r3, [r4, #42]
+4925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10434 .loc 1 4925 0
+ 10435 006a 4123 movs r3, #65
+ 10436 006c E35C ldrb r3, [r4, r3]
+ 10437 006e 222B cmp r3, #34
+ 10438 0070 25D0 beq .L708
+4931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10439 .loc 1 4931 0
+ 10440 0072 2268 ldr r2, [r4]
+ 10441 0074 1168 ldr r1, [r2]
+ 10442 0076 8023 movs r3, #128
+ 10443 0078 DB01 lsls r3, r3, #7
+ 10444 007a 0B43 orrs r3, r1
+ 10445 007c 1360 str r3, [r2]
+ 10446 007e 0DE0 b .L695
+ 10447 .LVL915:
+ 10448 .L707:
+4876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10449 .loc 1 4876 0
+ 10450 0080 2368 ldr r3, [r4]
+ 10451 0082 1022 movs r2, #16
+ 10452 .LVL916:
+ 10453 0084 DA61 str r2, [r3, #28]
+4879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10454 .loc 1 4879 0
+ 10455 0086 636C ldr r3, [r4, #68]
+ 10456 0088 0C3A subs r2, r2, #12
+ 10457 008a 1343 orrs r3, r2
+ 10458 008c 6364 str r3, [r4, #68]
+4884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10459 .loc 1 4884 0
+ 10460 008e 1221 movs r1, #18
+ 10461 .LVL917:
+ 10462 0090 2000 movs r0, r4
+ 10463 0092 FFF7FEFF bl I2C_Enable_IRQ
+ 10464 .LVL918:
+4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10465 .loc 1 4887 0
+ 10466 0096 2000 movs r0, r4
+ 10467 0098 FFF7FEFF bl I2C_Flush_TXDR
+ 10468 .LVL919:
+ 10469 .L695:
+4987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10470 .loc 1 4987 0
+ 10471 009c 4023 movs r3, #64
+ 10472 009e 0022 movs r2, #0
+ 10473 00a0 E254 strb r2, [r4, r3]
+4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10474 .loc 1 4989 0
+ 10475 00a2 0020 movs r0, #0
+ 10476 .L693:
+4990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 327
+
+
+ 10477 .loc 1 4990 0
+ 10478 00a4 02B0 add sp, sp, #8
+ 10479 @ sp needed
+ 10480 .LVL920:
+ 10481 00a6 10BD pop {r4, pc}
+ 10482 .LVL921:
+ 10483 .L698:
+4907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
+ 10484 .loc 1 4907 0
+ 10485 00a8 638D ldrh r3, [r4, #42]
+ 10486 00aa 2385 strh r3, [r4, #40]
+4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10487 .loc 1 4908 0
+ 10488 00ac E26A ldr r2, [r4, #44]
+ 10489 00ae 224B ldr r3, .L709
+ 10490 00b0 9A42 cmp r2, r3
+ 10491 00b2 01D0 beq .L706
+4910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10492 .loc 1 4910 0
+ 10493 00b4 E36A ldr r3, [r4, #44]
+ 10494 .LVL922:
+ 10495 00b6 CCE7 b .L699
+ 10496 .LVL923:
+ 10497 .L706:
+4914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10498 .loc 1 4914 0
+ 10499 00b8 8023 movs r3, #128
+ 10500 00ba 9B04 lsls r3, r3, #18
+ 10501 00bc C9E7 b .L699
+ 10502 .LVL924:
+ 10503 .L708:
+4927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10504 .loc 1 4927 0
+ 10505 00be 2268 ldr r2, [r4]
+ 10506 00c0 1168 ldr r1, [r2]
+ 10507 00c2 8023 movs r3, #128
+ 10508 00c4 1B02 lsls r3, r3, #8
+ 10509 00c6 0B43 orrs r3, r1
+ 10510 00c8 1360 str r3, [r2]
+ 10511 00ca E7E7 b .L695
+ 10512 .L697:
+4937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10513 .loc 1 4937 0
+ 10514 00cc 2368 ldr r3, [r4]
+ 10515 00ce 5B68 ldr r3, [r3, #4]
+ 10516 00d0 9B01 lsls r3, r3, #6
+ 10517 00d2 03D4 bmi .L701
+4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10518 .loc 1 4940 0
+ 10519 00d4 2000 movs r0, r4
+ 10520 00d6 FFF7FEFF bl I2C_ITMasterSeqCplt
+ 10521 .LVL925:
+ 10522 00da DFE7 b .L695
+ 10523 .L701:
+4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10524 .loc 1 4946 0
+ 10525 00dc 4021 movs r1, #64
+ ARM GAS /tmp/ccskJbbb.s page 328
+
+
+ 10526 00de 2000 movs r0, r4
+ 10527 00e0 FFF7FEFF bl I2C_ITError
+ 10528 .LVL926:
+ 10529 00e4 DAE7 b .L695
+ 10530 .LVL927:
+ 10531 .L696:
+4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10532 .loc 1 4950 0
+ 10533 00e6 4B06 lsls r3, r1, #25
+ 10534 00e8 1CD5 bpl .L702
+4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10535 .loc 1 4950 0 is_stmt 0 discriminator 1
+ 10536 00ea 5306 lsls r3, r2, #25
+ 10537 00ec 1AD5 bpl .L702
+4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10538 .loc 1 4952 0 is_stmt 1
+ 10539 00ee 638D ldrh r3, [r4, #42]
+ 10540 00f0 9BB2 uxth r3, r3
+ 10541 00f2 002B cmp r3, #0
+ 10542 00f4 11D1 bne .L703
+4954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10543 .loc 1 4954 0
+ 10544 00f6 2368 ldr r3, [r4]
+ 10545 00f8 5A68 ldr r2, [r3, #4]
+ 10546 .LVL928:
+ 10547 00fa 9201 lsls r2, r2, #6
+ 10548 00fc CED4 bmi .L695
+4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10549 .loc 1 4957 0
+ 10550 00fe E16A ldr r1, [r4, #44]
+ 10551 .LVL929:
+ 10552 0100 0D4A ldr r2, .L709
+ 10553 0102 9142 cmp r1, r2
+ 10554 0104 05D1 bne .L704
+4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10555 .loc 1 4960 0
+ 10556 0106 5968 ldr r1, [r3, #4]
+ 10557 0108 8022 movs r2, #128
+ 10558 010a D201 lsls r2, r2, #7
+ 10559 010c 0A43 orrs r2, r1
+ 10560 010e 5A60 str r2, [r3, #4]
+ 10561 0110 C4E7 b .L695
+ 10562 .L704:
+4965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10563 .loc 1 4965 0
+ 10564 0112 2000 movs r0, r4
+ 10565 0114 FFF7FEFF bl I2C_ITMasterSeqCplt
+ 10566 .LVL930:
+ 10567 0118 C0E7 b .L695
+ 10568 .LVL931:
+ 10569 .L703:
+4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10570 .loc 1 4973 0
+ 10571 011a 4021 movs r1, #64
+ 10572 .LVL932:
+ 10573 011c 2000 movs r0, r4
+ 10574 011e FFF7FEFF bl I2C_ITError
+ ARM GAS /tmp/ccskJbbb.s page 329
+
+
+ 10575 .LVL933:
+ 10576 0122 BBE7 b .L695
+ 10577 .LVL934:
+ 10578 .L702:
+4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10579 .loc 1 4976 0
+ 10580 0124 8B06 lsls r3, r1, #26
+ 10581 0126 B9D5 bpl .L695
+4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10582 .loc 1 4976 0 is_stmt 0 discriminator 1
+ 10583 0128 9306 lsls r3, r2, #26
+ 10584 012a B7D5 bpl .L695
+4979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10585 .loc 1 4979 0 is_stmt 1
+ 10586 012c 2000 movs r0, r4
+ 10587 012e FFF7FEFF bl I2C_ITMasterCplt
+ 10588 .LVL935:
+ 10589 0132 B3E7 b .L695
+ 10590 .LVL936:
+ 10591 .L705:
+4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10592 .loc 1 4871 0
+ 10593 0134 0220 movs r0, #2
+ 10594 .LVL937:
+ 10595 0136 B5E7 b .L693
+ 10596 .L710:
+ 10597 .align 2
+ 10598 .L709:
+ 10599 0138 0000FFFF .word -65536
+ 10600 .cfi_endproc
+ 10601 .LFE91:
+ 10603 .section .text.I2C_DMAError,"ax",%progbits
+ 10604 .align 1
+ 10605 .syntax unified
+ 10606 .code 16
+ 10607 .thumb_func
+ 10608 .fpu softvfp
+ 10610 I2C_DMAError:
+ 10611 .LFB107:
+6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 10612 .loc 1 6023 0
+ 10613 .cfi_startproc
+ 10614 @ args = 0, pretend = 0, frame = 0
+ 10615 @ frame_needed = 0, uses_anonymous_args = 0
+ 10616 .LVL938:
+ 10617 0000 10B5 push {r4, lr}
+ 10618 .LCFI81:
+ 10619 .cfi_def_cfa_offset 8
+ 10620 .cfi_offset 4, -8
+ 10621 .cfi_offset 14, -4
+6024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10622 .loc 1 6024 0
+ 10623 0002 406A ldr r0, [r0, #36]
+ 10624 .LVL939:
+6027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10625 .loc 1 6027 0
+ 10626 0004 0268 ldr r2, [r0]
+ ARM GAS /tmp/ccskJbbb.s page 330
+
+
+ 10627 0006 5168 ldr r1, [r2, #4]
+ 10628 0008 8023 movs r3, #128
+ 10629 000a 1B02 lsls r3, r3, #8
+ 10630 000c 0B43 orrs r3, r1
+ 10631 000e 5360 str r3, [r2, #4]
+6030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10632 .loc 1 6030 0
+ 10633 0010 1021 movs r1, #16
+ 10634 0012 FFF7FEFF bl I2C_ITError
+ 10635 .LVL940:
+6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10636 .loc 1 6031 0
+ 10637 @ sp needed
+ 10638 0016 10BD pop {r4, pc}
+ 10639 .cfi_endproc
+ 10640 .LFE107:
+ 10642 .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits
+ 10643 .align 1
+ 10644 .syntax unified
+ 10645 .code 16
+ 10646 .thumb_func
+ 10647 .fpu softvfp
+ 10649 I2C_DMAMasterTransmitCplt:
+ 10650 .LFB103:
+5873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 10651 .loc 1 5873 0
+ 10652 .cfi_startproc
+ 10653 @ args = 0, pretend = 0, frame = 0
+ 10654 @ frame_needed = 0, uses_anonymous_args = 0
+ 10655 .LVL941:
+ 10656 0000 10B5 push {r4, lr}
+ 10657 .LCFI82:
+ 10658 .cfi_def_cfa_offset 8
+ 10659 .cfi_offset 4, -8
+ 10660 .cfi_offset 14, -4
+5874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10661 .loc 1 5874 0
+ 10662 0002 446A ldr r4, [r0, #36]
+ 10663 .LVL942:
+5877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10664 .loc 1 5877 0
+ 10665 0004 2268 ldr r2, [r4]
+ 10666 0006 1368 ldr r3, [r2]
+ 10667 0008 1549 ldr r1, .L720
+ 10668 000a 0B40 ands r3, r1
+ 10669 000c 1360 str r3, [r2]
+5880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10670 .loc 1 5880 0
+ 10671 000e 638D ldrh r3, [r4, #42]
+ 10672 0010 9BB2 uxth r3, r3
+ 10673 0012 002B cmp r3, #0
+ 10674 0014 17D0 beq .L718
+5889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10675 .loc 1 5889 0
+ 10676 0016 218D ldrh r1, [r4, #40]
+ 10677 0018 636A ldr r3, [r4, #36]
+ 10678 001a 9C46 mov ip, r3
+ ARM GAS /tmp/ccskJbbb.s page 331
+
+
+ 10679 001c 6144 add r1, r1, ip
+ 10680 001e 6162 str r1, [r4, #36]
+5892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10681 .loc 1 5892 0
+ 10682 0020 638D ldrh r3, [r4, #42]
+ 10683 0022 9BB2 uxth r3, r3
+ 10684 0024 FF2B cmp r3, #255
+ 10685 0026 13D9 bls .L715
+5894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10686 .loc 1 5894 0
+ 10687 0028 FF23 movs r3, #255
+ 10688 002a 2385 strh r3, [r4, #40]
+ 10689 .L716:
+5902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10690 .loc 1 5902 0
+ 10691 002c 2268 ldr r2, [r4]
+ 10692 002e 2832 adds r2, r2, #40
+ 10693 0030 238D ldrh r3, [r4, #40]
+ 10694 0032 A06B ldr r0, [r4, #56]
+ 10695 .LVL943:
+ 10696 0034 FFF7FEFF bl HAL_DMA_Start_IT
+ 10697 .LVL944:
+ 10698 0038 0028 cmp r0, #0
+ 10699 003a 0CD1 bne .L719
+5910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10700 .loc 1 5910 0
+ 10701 003c 1221 movs r1, #18
+ 10702 003e 2000 movs r0, r4
+ 10703 0040 FFF7FEFF bl I2C_Enable_IRQ
+ 10704 .LVL945:
+ 10705 .L712:
+5913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10706 .loc 1 5913 0
+ 10707 @ sp needed
+ 10708 .LVL946:
+ 10709 0044 10BD pop {r4, pc}
+ 10710 .LVL947:
+ 10711 .L718:
+5883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10712 .loc 1 5883 0
+ 10713 0046 1221 movs r1, #18
+ 10714 0048 2000 movs r0, r4
+ 10715 .LVL948:
+ 10716 004a FFF7FEFF bl I2C_Enable_IRQ
+ 10717 .LVL949:
+ 10718 004e F9E7 b .L712
+ 10719 .LVL950:
+ 10720 .L715:
+5898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10721 .loc 1 5898 0
+ 10722 0050 638D ldrh r3, [r4, #42]
+ 10723 0052 2385 strh r3, [r4, #40]
+ 10724 0054 EAE7 b .L716
+ 10725 .LVL951:
+ 10726 .L719:
+5905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10727 .loc 1 5905 0
+ ARM GAS /tmp/ccskJbbb.s page 332
+
+
+ 10728 0056 1021 movs r1, #16
+ 10729 0058 2000 movs r0, r4
+ 10730 005a FFF7FEFF bl I2C_ITError
+ 10731 .LVL952:
+ 10732 005e F1E7 b .L712
+ 10733 .L721:
+ 10734 .align 2
+ 10735 .L720:
+ 10736 0060 FFBFFFFF .word -16385
+ 10737 .cfi_endproc
+ 10738 .LFE103:
+ 10740 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits
+ 10741 .align 1
+ 10742 .syntax unified
+ 10743 .code 16
+ 10744 .thumb_func
+ 10745 .fpu softvfp
+ 10747 I2C_DMAMasterReceiveCplt:
+ 10748 .LFB105:
+5948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 10749 .loc 1 5948 0
+ 10750 .cfi_startproc
+ 10751 @ args = 0, pretend = 0, frame = 0
+ 10752 @ frame_needed = 0, uses_anonymous_args = 0
+ 10753 .LVL953:
+ 10754 0000 10B5 push {r4, lr}
+ 10755 .LCFI83:
+ 10756 .cfi_def_cfa_offset 8
+ 10757 .cfi_offset 4, -8
+ 10758 .cfi_offset 14, -4
+5949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10759 .loc 1 5949 0
+ 10760 0002 446A ldr r4, [r0, #36]
+ 10761 .LVL954:
+5952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10762 .loc 1 5952 0
+ 10763 0004 2268 ldr r2, [r4]
+ 10764 0006 1368 ldr r3, [r2]
+ 10765 0008 1549 ldr r1, .L730
+ 10766 000a 0B40 ands r3, r1
+ 10767 000c 1360 str r3, [r2]
+5955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10768 .loc 1 5955 0
+ 10769 000e 638D ldrh r3, [r4, #42]
+ 10770 0010 9BB2 uxth r3, r3
+ 10771 0012 002B cmp r3, #0
+ 10772 0014 17D0 beq .L728
+5964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10773 .loc 1 5964 0
+ 10774 0016 228D ldrh r2, [r4, #40]
+ 10775 0018 636A ldr r3, [r4, #36]
+ 10776 001a 9C46 mov ip, r3
+ 10777 001c 6244 add r2, r2, ip
+ 10778 001e 6262 str r2, [r4, #36]
+5967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10779 .loc 1 5967 0
+ 10780 0020 638D ldrh r3, [r4, #42]
+ ARM GAS /tmp/ccskJbbb.s page 333
+
+
+ 10781 0022 9BB2 uxth r3, r3
+ 10782 0024 FF2B cmp r3, #255
+ 10783 0026 13D9 bls .L725
+5969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10784 .loc 1 5969 0
+ 10785 0028 FF23 movs r3, #255
+ 10786 002a 2385 strh r3, [r4, #40]
+ 10787 .L726:
+5977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10788 .loc 1 5977 0
+ 10789 002c 2168 ldr r1, [r4]
+ 10790 002e 2431 adds r1, r1, #36
+ 10791 0030 238D ldrh r3, [r4, #40]
+ 10792 0032 E06B ldr r0, [r4, #60]
+ 10793 .LVL955:
+ 10794 0034 FFF7FEFF bl HAL_DMA_Start_IT
+ 10795 .LVL956:
+ 10796 0038 0028 cmp r0, #0
+ 10797 003a 0CD1 bne .L729
+5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10798 .loc 1 5985 0
+ 10799 003c 1221 movs r1, #18
+ 10800 003e 2000 movs r0, r4
+ 10801 0040 FFF7FEFF bl I2C_Enable_IRQ
+ 10802 .LVL957:
+ 10803 .L722:
+5988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10804 .loc 1 5988 0
+ 10805 @ sp needed
+ 10806 .LVL958:
+ 10807 0044 10BD pop {r4, pc}
+ 10808 .LVL959:
+ 10809 .L728:
+5958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10810 .loc 1 5958 0
+ 10811 0046 1221 movs r1, #18
+ 10812 0048 2000 movs r0, r4
+ 10813 .LVL960:
+ 10814 004a FFF7FEFF bl I2C_Enable_IRQ
+ 10815 .LVL961:
+ 10816 004e F9E7 b .L722
+ 10817 .LVL962:
+ 10818 .L725:
+5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10819 .loc 1 5973 0
+ 10820 0050 638D ldrh r3, [r4, #42]
+ 10821 0052 2385 strh r3, [r4, #40]
+ 10822 0054 EAE7 b .L726
+ 10823 .LVL963:
+ 10824 .L729:
+5980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10825 .loc 1 5980 0
+ 10826 0056 1021 movs r1, #16
+ 10827 0058 2000 movs r0, r4
+ 10828 005a FFF7FEFF bl I2C_ITError
+ 10829 .LVL964:
+ 10830 005e F1E7 b .L722
+ ARM GAS /tmp/ccskJbbb.s page 334
+
+
+ 10831 .L731:
+ 10832 .align 2
+ 10833 .L730:
+ 10834 0060 FF7FFFFF .word -32769
+ 10835 .cfi_endproc
+ 10836 .LFE105:
+ 10838 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits
+ 10839 .align 1
+ 10840 .global HAL_I2C_ER_IRQHandler
+ 10841 .syntax unified
+ 10842 .code 16
+ 10843 .thumb_func
+ 10844 .fpu softvfp
+ 10846 HAL_I2C_ER_IRQHandler:
+ 10847 .LFB75:
+4317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
+ 10848 .loc 1 4317 0
+ 10849 .cfi_startproc
+ 10850 @ args = 0, pretend = 0, frame = 0
+ 10851 @ frame_needed = 0, uses_anonymous_args = 0
+ 10852 .LVL965:
+ 10853 0000 70B5 push {r4, r5, r6, lr}
+ 10854 .LCFI84:
+ 10855 .cfi_def_cfa_offset 16
+ 10856 .cfi_offset 4, -16
+ 10857 .cfi_offset 5, -12
+ 10858 .cfi_offset 6, -8
+ 10859 .cfi_offset 14, -4
+4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
+ 10860 .loc 1 4318 0
+ 10861 0002 0268 ldr r2, [r0]
+ 10862 0004 9369 ldr r3, [r2, #24]
+ 10863 .LVL966:
+4319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
+ 10864 .loc 1 4319 0
+ 10865 0006 1168 ldr r1, [r2]
+ 10866 .LVL967:
+4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10867 .loc 1 4323 0
+ 10868 0008 DC05 lsls r4, r3, #23
+ 10869 000a 08D5 bpl .L733
+4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10870 .loc 1 4323 0 is_stmt 0 discriminator 1
+ 10871 000c 0C06 lsls r4, r1, #24
+ 10872 000e 06D5 bpl .L733
+4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10873 .loc 1 4325 0 is_stmt 1
+ 10874 0010 446C ldr r4, [r0, #68]
+ 10875 0012 0125 movs r5, #1
+ 10876 0014 2C43 orrs r4, r5
+ 10877 0016 4464 str r4, [r0, #68]
+4328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10878 .loc 1 4328 0
+ 10879 0018 8024 movs r4, #128
+ 10880 001a 6400 lsls r4, r4, #1
+ 10881 001c D461 str r4, [r2, #28]
+ 10882 .L733:
+ ARM GAS /tmp/ccskJbbb.s page 335
+
+
+4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10883 .loc 1 4332 0
+ 10884 001e 5A05 lsls r2, r3, #21
+ 10885 0020 09D5 bpl .L734
+4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10886 .loc 1 4332 0 is_stmt 0 discriminator 1
+ 10887 0022 0A06 lsls r2, r1, #24
+ 10888 0024 07D5 bpl .L734
+4334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10889 .loc 1 4334 0 is_stmt 1
+ 10890 0026 426C ldr r2, [r0, #68]
+ 10891 0028 0824 movs r4, #8
+ 10892 002a 2243 orrs r2, r4
+ 10893 002c 4264 str r2, [r0, #68]
+4337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10894 .loc 1 4337 0
+ 10895 002e 0268 ldr r2, [r0]
+ 10896 0030 8024 movs r4, #128
+ 10897 0032 E400 lsls r4, r4, #3
+ 10898 0034 D461 str r4, [r2, #28]
+ 10899 .L734:
+4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10900 .loc 1 4341 0
+ 10901 0036 9B05 lsls r3, r3, #22
+ 10902 0038 09D5 bpl .L735
+ 10903 .LVL968:
+4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10904 .loc 1 4341 0 is_stmt 0 discriminator 1
+ 10905 003a 0B06 lsls r3, r1, #24
+ 10906 003c 07D5 bpl .L735
+4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10907 .loc 1 4343 0 is_stmt 1
+ 10908 003e 436C ldr r3, [r0, #68]
+ 10909 0040 0222 movs r2, #2
+ 10910 0042 1343 orrs r3, r2
+ 10911 0044 4364 str r3, [r0, #68]
+4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10912 .loc 1 4346 0
+ 10913 0046 0368 ldr r3, [r0]
+ 10914 0048 FF32 adds r2, r2, #255
+ 10915 004a FF32 adds r2, r2, #255
+ 10916 004c DA61 str r2, [r3, #28]
+ 10917 .L735:
+4350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10918 .loc 1 4350 0
+ 10919 004e 416C ldr r1, [r0, #68]
+ 10920 .LVL969:
+4353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10921 .loc 1 4353 0
+ 10922 0050 0B23 movs r3, #11
+ 10923 0052 0B42 tst r3, r1
+ 10924 0054 00D1 bne .L737
+ 10925 .LVL970:
+ 10926 .L732:
+4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10927 .loc 1 4357 0
+ 10928 @ sp needed
+ ARM GAS /tmp/ccskJbbb.s page 336
+
+
+ 10929 0056 70BD pop {r4, r5, r6, pc}
+ 10930 .LVL971:
+ 10931 .L737:
+4355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10932 .loc 1 4355 0
+ 10933 0058 FFF7FEFF bl I2C_ITError
+ 10934 .LVL972:
+4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10935 .loc 1 4357 0
+ 10936 005c FBE7 b .L732
+ 10937 .cfi_endproc
+ 10938 .LFE75:
+ 10940 .section .text.I2C_DMAAbort,"ax",%progbits
+ 10941 .align 1
+ 10942 .syntax unified
+ 10943 .code 16
+ 10944 .thumb_func
+ 10945 .fpu softvfp
+ 10947 I2C_DMAAbort:
+ 10948 .LFB108:
+6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 10949 .loc 1 6040 0
+ 10950 .cfi_startproc
+ 10951 @ args = 0, pretend = 0, frame = 0
+ 10952 @ frame_needed = 0, uses_anonymous_args = 0
+ 10953 .LVL973:
+ 10954 0000 10B5 push {r4, lr}
+ 10955 .LCFI85:
+ 10956 .cfi_def_cfa_offset 8
+ 10957 .cfi_offset 4, -8
+ 10958 .cfi_offset 14, -4
+6041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10959 .loc 1 6041 0
+ 10960 0002 406A ldr r0, [r0, #36]
+ 10961 .LVL974:
+6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 10962 .loc 1 6044 0
+ 10963 0004 826B ldr r2, [r0, #56]
+ 10964 0006 0023 movs r3, #0
+ 10965 0008 5363 str r3, [r2, #52]
+6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10966 .loc 1 6045 0
+ 10967 000a C26B ldr r2, [r0, #60]
+ 10968 000c 5363 str r3, [r2, #52]
+6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10969 .loc 1 6048 0
+ 10970 000e 4133 adds r3, r3, #65
+ 10971 0010 C35C ldrb r3, [r0, r3]
+ 10972 0012 602B cmp r3, #96
+ 10973 0014 02D0 beq .L741
+6065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 10974 .loc 1 6065 0
+ 10975 0016 FFF7FEFF bl HAL_I2C_ErrorCallback
+ 10976 .LVL975:
+ 10977 .L738:
+6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10978 .loc 1 6068 0
+ ARM GAS /tmp/ccskJbbb.s page 337
+
+
+ 10979 @ sp needed
+ 10980 001a 10BD pop {r4, pc}
+ 10981 .LVL976:
+ 10982 .L741:
+6050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10983 .loc 1 6050 0
+ 10984 001c 1F3B subs r3, r3, #31
+ 10985 001e 2022 movs r2, #32
+ 10986 0020 C254 strb r2, [r0, r3]
+6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 10987 .loc 1 6056 0
+ 10988 0022 FFF7FEFF bl HAL_I2C_AbortCpltCallback
+ 10989 .LVL977:
+ 10990 0026 F8E7 b .L738
+ 10991 .cfi_endproc
+ 10992 .LFE108:
+ 10994 .section .text.HAL_I2C_GetState,"ax",%progbits
+ 10995 .align 1
+ 10996 .global HAL_I2C_GetState
+ 10997 .syntax unified
+ 10998 .code 16
+ 10999 .thumb_func
+ 11000 .fpu softvfp
+ 11002 HAL_I2C_GetState:
+ 11003 .LFB86:
+4548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return I2C handle state */
+ 11004 .loc 1 4548 0
+ 11005 .cfi_startproc
+ 11006 @ args = 0, pretend = 0, frame = 0
+ 11007 @ frame_needed = 0, uses_anonymous_args = 0
+ 11008 @ link register save eliminated.
+ 11009 .LVL978:
+4550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 11010 .loc 1 4550 0
+ 11011 0000 4123 movs r3, #65
+ 11012 0002 C05C ldrb r0, [r0, r3]
+ 11013 .LVL979:
+ 11014 0004 C0B2 uxtb r0, r0
+4551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 11015 .loc 1 4551 0
+ 11016 @ sp needed
+ 11017 0006 7047 bx lr
+ 11018 .cfi_endproc
+ 11019 .LFE86:
+ 11021 .section .text.HAL_I2C_GetMode,"ax",%progbits
+ 11022 .align 1
+ 11023 .global HAL_I2C_GetMode
+ 11024 .syntax unified
+ 11025 .code 16
+ 11026 .thumb_func
+ 11027 .fpu softvfp
+ 11029 HAL_I2C_GetMode:
+ 11030 .LFB87:
+4560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->Mode;
+ 11031 .loc 1 4560 0
+ 11032 .cfi_startproc
+ 11033 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/ccskJbbb.s page 338
+
+
+ 11034 @ frame_needed = 0, uses_anonymous_args = 0
+ 11035 @ link register save eliminated.
+ 11036 .LVL980:
+4561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 11037 .loc 1 4561 0
+ 11038 0000 4223 movs r3, #66
+ 11039 0002 C05C ldrb r0, [r0, r3]
+ 11040 .LVL981:
+ 11041 0004 C0B2 uxtb r0, r0
+4562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 11042 .loc 1 4562 0
+ 11043 @ sp needed
+ 11044 0006 7047 bx lr
+ 11045 .cfi_endproc
+ 11046 .LFE87:
+ 11048 .section .text.HAL_I2C_GetError,"ax",%progbits
+ 11049 .align 1
+ 11050 .global HAL_I2C_GetError
+ 11051 .syntax unified
+ 11052 .code 16
+ 11053 .thumb_func
+ 11054 .fpu softvfp
+ 11056 HAL_I2C_GetError:
+ 11057 .LFB88:
+4571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->ErrorCode;
+ 11058 .loc 1 4571 0
+ 11059 .cfi_startproc
+ 11060 @ args = 0, pretend = 0, frame = 0
+ 11061 @ frame_needed = 0, uses_anonymous_args = 0
+ 11062 @ link register save eliminated.
+ 11063 .LVL982:
+4572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 11064 .loc 1 4572 0
+ 11065 0000 406C ldr r0, [r0, #68]
+ 11066 .LVL983:
+4573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 11067 .loc 1 4573 0
+ 11068 @ sp needed
+ 11069 0002 7047 bx lr
+ 11070 .cfi_endproc
+ 11071 .LFE88:
+ 11073 .text
+ 11074 .Letext0:
+ 11075 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 11076 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 11077 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 11078 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 11079 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 11080 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 11081 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
+ 11082 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h"
+ 11083 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccskJbbb.s page 339
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_i2c.c
+ /tmp/ccskJbbb.s:16 .text.I2C_Flush_TXDR:0000000000000000 $t
+ /tmp/ccskJbbb.s:22 .text.I2C_Flush_TXDR:0000000000000000 I2C_Flush_TXDR
+ /tmp/ccskJbbb.s:58 .text.I2C_TransferConfig:0000000000000000 $t
+ /tmp/ccskJbbb.s:64 .text.I2C_TransferConfig:0000000000000000 I2C_TransferConfig
+ /tmp/ccskJbbb.s:108 .text.I2C_TransferConfig:0000000000000028 $d
+ /tmp/ccskJbbb.s:113 .text.I2C_Enable_IRQ:0000000000000000 $t
+ /tmp/ccskJbbb.s:119 .text.I2C_Enable_IRQ:0000000000000000 I2C_Enable_IRQ
+ /tmp/ccskJbbb.s:240 .text.I2C_Enable_IRQ:0000000000000074 $d
+ /tmp/ccskJbbb.s:10345 .text.I2C_Master_ISR_DMA:0000000000000000 I2C_Master_ISR_DMA
+ /tmp/ccskJbbb.s:10103 .text.I2C_Slave_ISR_DMA:0000000000000000 I2C_Slave_ISR_DMA
+ /tmp/ccskJbbb.s:246 .text.I2C_Disable_IRQ:0000000000000000 $t
+ /tmp/ccskJbbb.s:252 .text.I2C_Disable_IRQ:0000000000000000 I2C_Disable_IRQ
+ /tmp/ccskJbbb.s:371 .text.I2C_ConvertOtherXferOptions:0000000000000000 $t
+ /tmp/ccskJbbb.s:377 .text.I2C_ConvertOtherXferOptions:0000000000000000 I2C_ConvertOtherXferOptions
+ /tmp/ccskJbbb.s:415 .text.I2C_IsAcknowledgeFailed:0000000000000000 $t
+ /tmp/ccskJbbb.s:421 .text.I2C_IsAcknowledgeFailed:0000000000000000 I2C_IsAcknowledgeFailed
+ /tmp/ccskJbbb.s:533 .text.I2C_IsAcknowledgeFailed:000000000000007c $d
+ /tmp/ccskJbbb.s:538 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 $t
+ /tmp/ccskJbbb.s:544 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 I2C_WaitOnTXISFlagUntilTimeout
+ /tmp/ccskJbbb.s:626 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 $t
+ /tmp/ccskJbbb.s:632 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 I2C_WaitOnFlagUntilTimeout
+ /tmp/ccskJbbb.s:709 .text.I2C_RequestMemoryWrite:0000000000000000 $t
+ /tmp/ccskJbbb.s:715 .text.I2C_RequestMemoryWrite:0000000000000000 I2C_RequestMemoryWrite
+ /tmp/ccskJbbb.s:812 .text.I2C_RequestMemoryWrite:0000000000000070 $d
+ /tmp/ccskJbbb.s:817 .text.I2C_RequestMemoryRead:0000000000000000 $t
+ /tmp/ccskJbbb.s:823 .text.I2C_RequestMemoryRead:0000000000000000 I2C_RequestMemoryRead
+ /tmp/ccskJbbb.s:917 .text.I2C_RequestMemoryRead:000000000000006c $d
+ /tmp/ccskJbbb.s:922 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 $t
+ /tmp/ccskJbbb.s:928 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 I2C_WaitOnSTOPFlagUntilTimeout
+ /tmp/ccskJbbb.s:1007 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 $t
+ /tmp/ccskJbbb.s:1013 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 I2C_WaitOnRXNEFlagUntilTimeout
+ /tmp/ccskJbbb.s:1127 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000080 $d
+ /tmp/ccskJbbb.s:1132 .text.HAL_I2C_MspInit:0000000000000000 $t
+ /tmp/ccskJbbb.s:1139 .text.HAL_I2C_MspInit:0000000000000000 HAL_I2C_MspInit
+ /tmp/ccskJbbb.s:1154 .text.HAL_I2C_Init:0000000000000000 $t
+ /tmp/ccskJbbb.s:1161 .text.HAL_I2C_Init:0000000000000000 HAL_I2C_Init
+ /tmp/ccskJbbb.s:1309 .text.HAL_I2C_Init:00000000000000c0 $d
+ /tmp/ccskJbbb.s:1316 .text.HAL_I2C_MspDeInit:0000000000000000 $t
+ /tmp/ccskJbbb.s:1323 .text.HAL_I2C_MspDeInit:0000000000000000 HAL_I2C_MspDeInit
+ /tmp/ccskJbbb.s:1338 .text.HAL_I2C_DeInit:0000000000000000 $t
+ /tmp/ccskJbbb.s:1345 .text.HAL_I2C_DeInit:0000000000000000 HAL_I2C_DeInit
+ /tmp/ccskJbbb.s:1405 .text.HAL_I2C_Master_Transmit:0000000000000000 $t
+ /tmp/ccskJbbb.s:1412 .text.HAL_I2C_Master_Transmit:0000000000000000 HAL_I2C_Master_Transmit
+ /tmp/ccskJbbb.s:1680 .text.HAL_I2C_Master_Transmit:0000000000000164 $d
+ /tmp/ccskJbbb.s:1686 .text.HAL_I2C_Master_Receive:0000000000000000 $t
+ /tmp/ccskJbbb.s:1693 .text.HAL_I2C_Master_Receive:0000000000000000 HAL_I2C_Master_Receive
+ /tmp/ccskJbbb.s:1961 .text.HAL_I2C_Master_Receive:0000000000000164 $d
+ /tmp/ccskJbbb.s:1967 .text.HAL_I2C_Slave_Transmit:0000000000000000 $t
+ /tmp/ccskJbbb.s:1974 .text.HAL_I2C_Slave_Transmit:0000000000000000 HAL_I2C_Slave_Transmit
+ /tmp/ccskJbbb.s:2276 .text.HAL_I2C_Slave_Transmit:0000000000000194 $d
+ /tmp/ccskJbbb.s:2281 .text.HAL_I2C_Slave_Receive:0000000000000000 $t
+ /tmp/ccskJbbb.s:2288 .text.HAL_I2C_Slave_Receive:0000000000000000 HAL_I2C_Slave_Receive
+ /tmp/ccskJbbb.s:2571 .text.HAL_I2C_Slave_Receive:0000000000000178 $d
+ /tmp/ccskJbbb.s:2576 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:2583 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 HAL_I2C_Master_Transmit_IT
+ ARM GAS /tmp/ccskJbbb.s page 340
+
+
+ /tmp/ccskJbbb.s:2712 .text.HAL_I2C_Master_Transmit_IT:0000000000000088 $d
+ /tmp/ccskJbbb.s:9787 .text.I2C_Master_ISR_IT:0000000000000000 I2C_Master_ISR_IT
+ /tmp/ccskJbbb.s:2719 .text.HAL_I2C_Master_Receive_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:2726 .text.HAL_I2C_Master_Receive_IT:0000000000000000 HAL_I2C_Master_Receive_IT
+ /tmp/ccskJbbb.s:2855 .text.HAL_I2C_Master_Receive_IT:0000000000000088 $d
+ /tmp/ccskJbbb.s:2862 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:2869 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 HAL_I2C_Slave_Transmit_IT
+ /tmp/ccskJbbb.s:2957 .text.HAL_I2C_Slave_Transmit_IT:0000000000000058 $d
+ /tmp/ccskJbbb.s:9339 .text.I2C_Slave_ISR_IT:0000000000000000 I2C_Slave_ISR_IT
+ /tmp/ccskJbbb.s:2964 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:2971 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 HAL_I2C_Slave_Receive_IT
+ /tmp/ccskJbbb.s:3059 .text.HAL_I2C_Slave_Receive_IT:0000000000000058 $d
+ /tmp/ccskJbbb.s:3066 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:3073 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 HAL_I2C_Master_Transmit_DMA
+ /tmp/ccskJbbb.s:3332 .text.HAL_I2C_Master_Transmit_DMA:000000000000013c $d
+ /tmp/ccskJbbb.s:10649 .text.I2C_DMAMasterTransmitCplt:0000000000000000 I2C_DMAMasterTransmitCplt
+ /tmp/ccskJbbb.s:10610 .text.I2C_DMAError:0000000000000000 I2C_DMAError
+ /tmp/ccskJbbb.s:3342 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:3349 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 HAL_I2C_Master_Receive_DMA
+ /tmp/ccskJbbb.s:3607 .text.HAL_I2C_Master_Receive_DMA:000000000000013c $d
+ /tmp/ccskJbbb.s:10747 .text.I2C_DMAMasterReceiveCplt:0000000000000000 I2C_DMAMasterReceiveCplt
+ /tmp/ccskJbbb.s:3617 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:3624 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Transmit_DMA
+ /tmp/ccskJbbb.s:3811 .text.HAL_I2C_Slave_Transmit_DMA:00000000000000e0 $d
+ /tmp/ccskJbbb.s:8434 .text.I2C_DMASlaveTransmitCplt:0000000000000000 I2C_DMASlaveTransmitCplt
+ /tmp/ccskJbbb.s:3820 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:3827 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 HAL_I2C_Slave_Receive_DMA
+ /tmp/ccskJbbb.s:4017 .text.HAL_I2C_Slave_Receive_DMA:00000000000000e4 $d
+ /tmp/ccskJbbb.s:8489 .text.I2C_DMASlaveReceiveCplt:0000000000000000 I2C_DMASlaveReceiveCplt
+ /tmp/ccskJbbb.s:4026 .text.HAL_I2C_Mem_Write:0000000000000000 $t
+ /tmp/ccskJbbb.s:4033 .text.HAL_I2C_Mem_Write:0000000000000000 HAL_I2C_Mem_Write
+ /tmp/ccskJbbb.s:4340 .text.HAL_I2C_Mem_Write:000000000000019c $d
+ /tmp/ccskJbbb.s:4345 .text.HAL_I2C_Mem_Read:0000000000000000 $t
+ /tmp/ccskJbbb.s:4352 .text.HAL_I2C_Mem_Read:0000000000000000 HAL_I2C_Mem_Read
+ /tmp/ccskJbbb.s:4661 .text.HAL_I2C_Mem_Read:00000000000001a0 $d
+ /tmp/ccskJbbb.s:4667 .text.HAL_I2C_Mem_Write_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:4674 .text.HAL_I2C_Mem_Write_IT:0000000000000000 HAL_I2C_Mem_Write_IT
+ /tmp/ccskJbbb.s:4849 .text.HAL_I2C_Mem_Write_IT:00000000000000cc $d
+ /tmp/ccskJbbb.s:4855 .text.HAL_I2C_Mem_Read_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:4862 .text.HAL_I2C_Mem_Read_IT:0000000000000000 HAL_I2C_Mem_Read_IT
+ /tmp/ccskJbbb.s:5038 .text.HAL_I2C_Mem_Read_IT:00000000000000cc $d
+ /tmp/ccskJbbb.s:5045 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:5052 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 HAL_I2C_Mem_Write_DMA
+ /tmp/ccskJbbb.s:5327 .text.HAL_I2C_Mem_Write_DMA:0000000000000158 $d
+ /tmp/ccskJbbb.s:5335 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:5342 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 HAL_I2C_Mem_Read_DMA
+ /tmp/ccskJbbb.s:5618 .text.HAL_I2C_Mem_Read_DMA:0000000000000158 $d
+ /tmp/ccskJbbb.s:5627 .text.HAL_I2C_IsDeviceReady:0000000000000000 $t
+ /tmp/ccskJbbb.s:5634 .text.HAL_I2C_IsDeviceReady:0000000000000000 HAL_I2C_IsDeviceReady
+ /tmp/ccskJbbb.s:5939 .text.HAL_I2C_IsDeviceReady:000000000000017c $d
+ /tmp/ccskJbbb.s:5944 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:5951 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 HAL_I2C_Master_Seq_Transmit_IT
+ /tmp/ccskJbbb.s:6116 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000000000b0 $d
+ /tmp/ccskJbbb.s:6122 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:6129 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Master_Seq_Transmit_DMA
+ /tmp/ccskJbbb.s:6416 .text.HAL_I2C_Master_Seq_Transmit_DMA:000000000000015c $d
+ /tmp/ccskJbbb.s:6425 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 $t
+ ARM GAS /tmp/ccskJbbb.s page 341
+
+
+ /tmp/ccskJbbb.s:6432 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 HAL_I2C_Master_Seq_Receive_IT
+ /tmp/ccskJbbb.s:6597 .text.HAL_I2C_Master_Seq_Receive_IT:00000000000000b0 $d
+ /tmp/ccskJbbb.s:6603 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:6610 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 HAL_I2C_Master_Seq_Receive_DMA
+ /tmp/ccskJbbb.s:6897 .text.HAL_I2C_Master_Seq_Receive_DMA:000000000000015c $d
+ /tmp/ccskJbbb.s:6906 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:6913 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 HAL_I2C_Slave_Seq_Transmit_IT
+ /tmp/ccskJbbb.s:7083 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000000000c8 $d
+ /tmp/ccskJbbb.s:10947 .text.I2C_DMAAbort:0000000000000000 I2C_DMAAbort
+ /tmp/ccskJbbb.s:7090 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:7097 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Seq_Transmit_DMA
+ /tmp/ccskJbbb.s:7395 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000180 $d
+ /tmp/ccskJbbb.s:7405 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:7412 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 HAL_I2C_Slave_Seq_Receive_IT
+ /tmp/ccskJbbb.s:7582 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000000000c8 $d
+ /tmp/ccskJbbb.s:7590 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:7597 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 HAL_I2C_Slave_Seq_Receive_DMA
+ /tmp/ccskJbbb.s:7896 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000180 $d
+ /tmp/ccskJbbb.s:7906 .text.HAL_I2C_EnableListen_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:7913 .text.HAL_I2C_EnableListen_IT:0000000000000000 HAL_I2C_EnableListen_IT
+ /tmp/ccskJbbb.s:7956 .text.HAL_I2C_EnableListen_IT:0000000000000024 $d
+ /tmp/ccskJbbb.s:7961 .text.HAL_I2C_DisableListen_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:7968 .text.HAL_I2C_DisableListen_IT:0000000000000000 HAL_I2C_DisableListen_IT
+ /tmp/ccskJbbb.s:8027 .text.HAL_I2C_Master_Abort_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:8034 .text.HAL_I2C_Master_Abort_IT:0000000000000000 HAL_I2C_Master_Abort_IT
+ /tmp/ccskJbbb.s:8122 .text.HAL_I2C_Master_Abort_IT:0000000000000060 $d
+ /tmp/ccskJbbb.s:8127 .text.HAL_I2C_EV_IRQHandler:0000000000000000 $t
+ /tmp/ccskJbbb.s:8134 .text.HAL_I2C_EV_IRQHandler:0000000000000000 HAL_I2C_EV_IRQHandler
+ /tmp/ccskJbbb.s:8168 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8175 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 HAL_I2C_MasterTxCpltCallback
+ /tmp/ccskJbbb.s:8190 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8197 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 HAL_I2C_MasterRxCpltCallback
+ /tmp/ccskJbbb.s:8212 .text.I2C_ITMasterSeqCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8218 .text.I2C_ITMasterSeqCplt:0000000000000000 I2C_ITMasterSeqCplt
+ /tmp/ccskJbbb.s:8296 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8303 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 HAL_I2C_SlaveTxCpltCallback
+ /tmp/ccskJbbb.s:8318 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8325 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 HAL_I2C_SlaveRxCpltCallback
+ /tmp/ccskJbbb.s:8340 .text.I2C_ITSlaveSeqCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8346 .text.I2C_ITSlaveSeqCplt:0000000000000000 I2C_ITSlaveSeqCplt
+ /tmp/ccskJbbb.s:8428 .text.I2C_DMASlaveTransmitCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8478 .text.I2C_DMASlaveTransmitCplt:0000000000000024 $d
+ /tmp/ccskJbbb.s:8483 .text.I2C_DMASlaveReceiveCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8534 .text.I2C_DMASlaveReceiveCplt:0000000000000028 $d
+ /tmp/ccskJbbb.s:8540 .text.HAL_I2C_AddrCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8547 .text.HAL_I2C_AddrCallback:0000000000000000 HAL_I2C_AddrCallback
+ /tmp/ccskJbbb.s:8562 .text.I2C_ITAddrCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8568 .text.I2C_ITAddrCplt:0000000000000000 I2C_ITAddrCplt
+ /tmp/ccskJbbb.s:8708 .text.HAL_I2C_ListenCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8715 .text.HAL_I2C_ListenCpltCallback:0000000000000000 HAL_I2C_ListenCpltCallback
+ /tmp/ccskJbbb.s:8730 .text.I2C_ITListenCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8736 .text.I2C_ITListenCplt:0000000000000000 I2C_ITListenCplt
+ /tmp/ccskJbbb.s:8820 .text.I2C_ITListenCplt:0000000000000060 $d
+ /tmp/ccskJbbb.s:8825 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8832 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 HAL_I2C_MemTxCpltCallback
+ /tmp/ccskJbbb.s:8847 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8854 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 HAL_I2C_MemRxCpltCallback
+ ARM GAS /tmp/ccskJbbb.s page 342
+
+
+ /tmp/ccskJbbb.s:8869 .text.HAL_I2C_ErrorCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8876 .text.HAL_I2C_ErrorCallback:0000000000000000 HAL_I2C_ErrorCallback
+ /tmp/ccskJbbb.s:8891 .text.HAL_I2C_AbortCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8898 .text.HAL_I2C_AbortCpltCallback:0000000000000000 HAL_I2C_AbortCpltCallback
+ /tmp/ccskJbbb.s:8913 .text.I2C_ITError:0000000000000000 $t
+ /tmp/ccskJbbb.s:8919 .text.I2C_ITError:0000000000000000 I2C_ITError
+ /tmp/ccskJbbb.s:9100 .text.I2C_ITError:00000000000000e4 $d
+ /tmp/ccskJbbb.s:9109 .text.I2C_ITSlaveCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:9115 .text.I2C_ITSlaveCplt:0000000000000000 I2C_ITSlaveCplt
+ /tmp/ccskJbbb.s:9327 .text.I2C_ITSlaveCplt:0000000000000110 $d
+ /tmp/ccskJbbb.s:9333 .text.I2C_Slave_ISR_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:9601 .text.I2C_Slave_ISR_IT:0000000000000148 $d
+ /tmp/ccskJbbb.s:9606 .text.I2C_ITMasterCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:9612 .text.I2C_ITMasterCplt:0000000000000000 I2C_ITMasterCplt
+ /tmp/ccskJbbb.s:9775 .text.I2C_ITMasterCplt:00000000000000cc $d
+ /tmp/ccskJbbb.s:9781 .text.I2C_Master_ISR_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:10092 .text.I2C_Master_ISR_IT:0000000000000174 $d
+ /tmp/ccskJbbb.s:10097 .text.I2C_Slave_ISR_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:10334 .text.I2C_Slave_ISR_DMA:0000000000000104 $d
+ /tmp/ccskJbbb.s:10339 .text.I2C_Master_ISR_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:10599 .text.I2C_Master_ISR_DMA:0000000000000138 $d
+ /tmp/ccskJbbb.s:10604 .text.I2C_DMAError:0000000000000000 $t
+ /tmp/ccskJbbb.s:10643 .text.I2C_DMAMasterTransmitCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:10736 .text.I2C_DMAMasterTransmitCplt:0000000000000060 $d
+ /tmp/ccskJbbb.s:10741 .text.I2C_DMAMasterReceiveCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:10834 .text.I2C_DMAMasterReceiveCplt:0000000000000060 $d
+ /tmp/ccskJbbb.s:10839 .text.HAL_I2C_ER_IRQHandler:0000000000000000 $t
+ /tmp/ccskJbbb.s:10846 .text.HAL_I2C_ER_IRQHandler:0000000000000000 HAL_I2C_ER_IRQHandler
+ /tmp/ccskJbbb.s:10941 .text.I2C_DMAAbort:0000000000000000 $t
+ /tmp/ccskJbbb.s:10995 .text.HAL_I2C_GetState:0000000000000000 $t
+ /tmp/ccskJbbb.s:11002 .text.HAL_I2C_GetState:0000000000000000 HAL_I2C_GetState
+ /tmp/ccskJbbb.s:11022 .text.HAL_I2C_GetMode:0000000000000000 $t
+ /tmp/ccskJbbb.s:11029 .text.HAL_I2C_GetMode:0000000000000000 HAL_I2C_GetMode
+ /tmp/ccskJbbb.s:11049 .text.HAL_I2C_GetError:0000000000000000 $t
+ /tmp/ccskJbbb.s:11056 .text.HAL_I2C_GetError:0000000000000000 HAL_I2C_GetError
+
+UNDEFINED SYMBOLS
+HAL_GetTick
+HAL_DMA_Start_IT
+HAL_DMA_Abort_IT