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