Subversion Repositories dashGPS

Rev

Rev 19 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                    page 1


   1                            .cpu cortex-m3
   2                            .eabi_attribute 20, 1
   3                            .eabi_attribute 21, 1
   4                            .eabi_attribute 23, 3
   5                            .eabi_attribute 24, 1
   6                            .eabi_attribute 25, 1
   7                            .eabi_attribute 26, 1
   8                            .eabi_attribute 30, 1
   9                            .eabi_attribute 34, 1
  10                            .eabi_attribute 18, 4
  11                            .file   "stm32f1xx_hal_i2c.c"
  12                            .text
  13                    .Ltext0:
  14                            .cfi_sections   .debug_frame
  15                            .section        .text.I2C_Master_SB,"ax",%progbits
  16                            .align  1
  17                            .arch armv7-m
  18                            .syntax unified
  19                            .thumb
  20                            .thumb_func
  21                            .fpu softvfp
  23                    I2C_Master_SB:
  24                    .LVL0:
  25                    .LFB118:
  26                            .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c"
   1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
   2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   ******************************************************************************
   3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @file    stm32f1xx_hal_i2c.c
   4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @author  MCD Application Team
   5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief   I2C HAL module driver.
   6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          functionalities of the Inter Integrated Circuit (I2C) peripheral:
   8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *           + Initialization and de-initialization functions
   9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *           + IO operation functions
  10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *           + Peripheral State, Mode and Error functions
  11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *
  12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   @verbatim
  13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   ==============================================================================
  14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                         ##### How to use this driver #####
  15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   ==============================================================================
  16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   [..]
  17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     The I2C HAL driver can be used as follows:
  18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#) Declare a I2C_HandleTypeDef handle structure, for example:
  20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         I2C_HandleTypeDef  hi2c;
  21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#)Initialize the I2C low level resources by implementing the @ref HAL_I2C_MspInit() API:
  23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (##) Enable the I2Cx interface clock
  24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (##) I2C pins configuration
  25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             (+++) Enable the clock for the I2C GPIOs
  26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             (+++) Configure I2C pins as alternate function open-drain
  27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (##) NVIC configuration if you need to use interrupt process
  28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             (+++) Configure the I2Cx interrupt priority
  29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             (+++) Enable the NVIC I2C IRQ Channel
  30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (##) DMA Configuration if you need to use DMA process
  31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive channel
  32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             (+++) Enable the DMAx interface clock using
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 2


  33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             (+++) Configure the DMA handle parameters
  34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             (+++) Configure the DMA Tx or Rx channel
  35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
  36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
  37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                   the DMA Tx or Rx channel
  38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#) Configure the Communication Speed, Duty cycle, Addressing mode, Own Address1,
  40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         Dual Addressing mode, Own Address2, General call and Nostretch mode in the hi2c Init struct
  41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#) Initialize the I2C registers by calling the @ref HAL_I2C_Init(), configures also the low le
  43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (GPIO, CLOCK, NVIC...etc) by calling the customized @ref HAL_I2C_MspInit() API.
  44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#) To check if target device is ready for communication, use the function @ref HAL_I2C_IsDevic
  46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
  48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *** Polling mode IO operation ***
  50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     =================================
  51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
  52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Transmit in master mode an amount of data in blocking mode using @ref HAL_I2C_Master_Tran
  53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Receive in master mode an amount of data in blocking mode using @ref HAL_I2C_Master_Recei
  54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Transmit in slave mode an amount of data in blocking mode using @ref HAL_I2C_Slave_Transm
  55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Receive in slave mode an amount of data in blocking mode using @ref HAL_I2C_Slave_Receive
  56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *** Polling mode IO MEM operation ***
  58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     =====================================
  59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
  60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Write an amount of data in blocking mode to a specific memory address using @ref HAL_I2C_
  61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Read an amount of data in blocking mode from a specific memory address using @ref HAL_I2C
  62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *** Interrupt mode IO operation ***
  65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     ===================================
  66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
  67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Transmit in master mode an amount of data in non-blocking mode using @ref HAL_I2C_Master_
  68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At transmission end of transfer, @ref HAL_I2C_MasterTxCpltCallback() is executed and user
  69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
  70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Receive in master mode an amount of data in non-blocking mode using @ref HAL_I2C_Master_R
  71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At reception end of transfer, @ref HAL_I2C_MasterRxCpltCallback() is executed and user ca
  72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
  73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Transmit in slave mode an amount of data in non-blocking mode using @ref HAL_I2C_Slave_Tr
  74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At transmission end of transfer, @ref HAL_I2C_SlaveTxCpltCallback() is executed and user 
  75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
  76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Receive in slave mode an amount of data in non-blocking mode using @ref HAL_I2C_Slave_Rec
  77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At reception end of transfer, @ref HAL_I2C_SlaveRxCpltCallback() is executed and user can
  78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
  79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
  80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
  81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Abort a master I2C process communication with Interrupt using @ref HAL_I2C_Master_Abort_I
  82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
  83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
  84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
  85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *** Interrupt mode or DMA mode IO sequential operation ***
  86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     ==========================================================
  87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
  88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (@) These interfaces allow to manage a sequential transfer with a repeated start condition
  89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           when a direction change during transfer
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 3


  90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
  91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) A specific option field manage the different steps of a sequential transfer
  92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Option field values are defined through @ref I2C_XferOptions_definition and are listed be
  93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functionnal is same as associated interfa
  94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
  95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             and data to transfer without a final stop condition
  96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a 
  97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             and data to transfer without a final stop condition, an then permit a c
  98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             several times (like @ref HAL_I2C_Master_Seq_Transmit_IT() then @ref HAL
  99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             or @ref HAL_I2C_Master_Seq_Transmit_DMA() then @ref HAL_I2C_Master_Seq_
 100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart 
 101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             and with new data to transfer if the direction change or manage only th
 102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             if no direction change and without a final stop condition in both cases
 103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart 
 104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             and with new data to transfer if the direction change or manage only th
 105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             if no direction change and with a final stop condition in both cases
 106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re
 107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             interface several times (link with option I2C_FIRST_AND_NEXT_FRAME).
 108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             Usage can, transfer several bytes one by one using HAL_I2C_Master_Seq_T
 109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_AND_NEXT_FRAME then
 110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_AND_NEXT_FRAME th
 111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_AND_NEXT_FRAME the
 112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit o
 113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                               without stopping the communication and so generate a restart conditio
 114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c
 115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             interface.
 116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             Usage can, transfer several bytes one by one with a restart with slave 
 117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_FRAME then I2C_OTHE
 118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_FRAME then I2C_OT
 119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_FRAME then I2C_OTH
 120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                             Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to
 121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Differents sequential I2C interfaces are listed below:
 123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using @ref
 124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             or using @ref HAL_I2C_Master_Seq_Transmit_DMA()
 125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+++) At transmission end of current frame transfer, @ref HAL_I2C_MasterTxCpltCallback() is e
 126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using @ref 
 128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             or using @ref HAL_I2C_Master_Seq_Receive_DMA()
 129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+++) At reception end of current frame transfer, @ref HAL_I2C_MasterRxCpltCallback() is exec
 130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
 131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) Abort a master IT or DMA I2C process communication with Interrupt using @ref HAL_I2C_Mas
 132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+++) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
 133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) Enable/disable the Address listen mode in slave I2C mode using @ref HAL_I2C_EnableListen
 135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+++) When address slave I2C match, @ref HAL_I2C_AddrCallback() is executed and user can
 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code to check the Address Match Code and the transmission direction request 
 137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+++) At Listen mode end @ref HAL_I2C_ListenCpltCallback() is executed and user can
 138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_ListenCpltCallback()
 139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using @ref 
 140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             or using @ref HAL_I2C_Slave_Seq_Transmit_DMA()
 141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+++) At transmission end of current frame transfer, @ref HAL_I2C_SlaveTxCpltCallback() is ex
 142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
 143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using @ref H
 144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             or using @ref HAL_I2C_Slave_Seq_Receive_DMA()
 145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+++) At reception end of current frame transfer, @ref HAL_I2C_SlaveRxCpltCallback() is execu
 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 4


 147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (++) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user ca
 148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *** Interrupt mode IO MEM operation ***
 151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     =======================================
 152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address 
 154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           @ref HAL_I2C_Mem_Write_IT()
 155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At Memory end of write transfer, @ref HAL_I2C_MemTxCpltCallback() is executed and user ca
 156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_MemTxCpltCallback()
 157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           @ref HAL_I2C_Mem_Read_IT()
 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At Memory end of read transfer, @ref HAL_I2C_MemRxCpltCallback() is executed and user can
 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_MemRxCpltCallback()
 161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
 162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *** DMA mode IO operation ***
 165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     ==============================
 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           @ref HAL_I2C_Master_Transmit_DMA()
 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At transmission end of transfer, @ref HAL_I2C_MasterTxCpltCallback() is executed and user
 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
 171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
 172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           @ref HAL_I2C_Master_Receive_DMA()
 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At reception end of transfer, @ref HAL_I2C_MasterRxCpltCallback() is executed and user ca
 174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
 175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           @ref HAL_I2C_Slave_Transmit_DMA()
 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At transmission end of transfer, @ref HAL_I2C_SlaveTxCpltCallback() is executed and user 
 178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
 179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           @ref HAL_I2C_Slave_Receive_DMA()
 181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At reception end of transfer, @ref HAL_I2C_SlaveRxCpltCallback() is executed and user can
 182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
 183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
 185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Abort a master I2C process communication with Interrupt using @ref HAL_I2C_Master_Abort_I
 186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
 187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *** DMA mode IO MEM operation ***
 190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     =================================
 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           @ref HAL_I2C_Mem_Write_DMA()
 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At Memory end of write transfer, @ref HAL_I2C_MemTxCpltCallback() is executed and user ca
 195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_MemTxCpltCallback()
 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           @ref HAL_I2C_Mem_Read_DMA()
 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) At Memory end of read transfer, @ref HAL_I2C_MemRxCpltCallback() is executed and user can
 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_MemRxCpltCallback()
 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 5


 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      *** I2C HAL driver macros list ***
 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      ==================================
 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      [..]
 207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        Below the list of most used macros in I2C HAL driver.
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) @ref __HAL_I2C_ENABLE:     Enable the I2C peripheral
 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) @ref __HAL_I2C_DISABLE:    Disable the I2C peripheral
 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) @ref __HAL_I2C_GET_FLAG:   Checks whether the specified I2C flag is set or not
 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) @ref __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) @ref __HAL_I2C_ENABLE_IT:  Enable the specified I2C interrupt
 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) @ref __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      *** Callback registration ***
 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      =============================================
 218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1
 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      allows the user to configure dynamically the driver callbacks.
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      Use Functions @ref HAL_I2C_RegisterCallback() or @ref HAL_I2C_RegisterAddrCallback()
 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      to register an interrupt callback.
 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      Function @ref HAL_I2C_RegisterCallback() allows to register following callbacks:
 225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
 226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MasterRxCpltCallback : callback for Master reception end of transfer.
 227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) SlaveTxCpltCallback  : callback for Slave transmission end of transfer.
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) SlaveRxCpltCallback  : callback for Slave reception end of transfer.
 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) ListenCpltCallback   : callback for end of listen mode.
 230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MemTxCpltCallback    : callback for Memory transmission end of transfer.
 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MemRxCpltCallback    : callback for Memory reception end of transfer.
 232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) ErrorCallback        : callback for error detection.
 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) AbortCpltCallback    : callback for abort completion process.
 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MspInitCallback      : callback for Msp Init.
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MspDeInitCallback    : callback for Msp DeInit.
 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      This function takes as parameters the HAL peripheral handle, the Callback ID
 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      and a pointer to the user callback function.
 238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      For specific callback AddrCallback use dedicated register callbacks : @ref HAL_I2C_RegisterAdd
 240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      Use function @ref HAL_I2C_UnRegisterCallback to reset a callback to the default
 242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      weak function.
 243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      @ref HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle,
 244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      and the Callback ID.
 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      This function allows to reset following callbacks:
 246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MasterRxCpltCallback : callback for Master reception end of transfer.
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) SlaveTxCpltCallback  : callback for Slave transmission end of transfer.
 249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) SlaveRxCpltCallback  : callback for Slave reception end of transfer.
 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) ListenCpltCallback   : callback for end of listen mode.
 251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MemTxCpltCallback    : callback for Memory transmission end of transfer.
 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MemRxCpltCallback    : callback for Memory reception end of transfer.
 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) ErrorCallback        : callback for error detection.
 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) AbortCpltCallback    : callback for abort completion process.
 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MspInitCallback      : callback for Msp Init.
 256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) MspDeInitCallback    : callback for Msp DeInit.
 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      For callback AddrCallback use dedicated register callbacks : @ref HAL_I2C_UnRegisterAddrCallba
 259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      By default, after the @ref HAL_I2C_Init() and when the state is @ref HAL_I2C_STATE_RESET
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 6


 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      all callbacks are set to the corresponding weak functions:
 262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      examples @ref HAL_I2C_MasterTxCpltCallback(), @ref HAL_I2C_MasterRxCpltCallback().
 263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      Exception done for MspInit and MspDeInit functions that are
 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      reset to the legacy weak functions in the @ref HAL_I2C_Init()/ @ref HAL_I2C_DeInit() only when
 265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      these callbacks are null (not registered beforehand).
 266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      If MspInit or MspDeInit are not null, the @ref HAL_I2C_Init()/ @ref HAL_I2C_DeInit()
 267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
 268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      Callbacks can be registered/unregistered in @ref HAL_I2C_STATE_READY state only.
 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      Exception done MspInit/MspDeInit functions that can be registered/unregistered
 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      in @ref HAL_I2C_STATE_READY or @ref HAL_I2C_STATE_RESET state,
 272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      Then, the user first registers the MspInit/MspDeInit user callbacks
 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      using @ref HAL_I2C_RegisterCallback() before calling @ref HAL_I2C_DeInit()
 275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      or @ref HAL_I2C_Init() function.
 276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or
 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      not defined, the callback registration feature is not available and all callbacks
 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      are set to the corresponding weak functions.
 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      *** I2C Workarounds linked to Silicon Limitation ***
 283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      ====================================================
 284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      [..]
 285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        Below the list of all silicon limitations implemented for HAL on STM32F1xx product.
 286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (@) See ErrataSheet to know full silicon limitation list of your product.
 287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (+) Workarounds Implemented inside I2C HAL Driver
 289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           (++) Wrong data read into data register (Polling and Interrupt mode)
 290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           (++) Start cannot be generated after a misplaced Stop
 291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           (++) Some software events must be managed before the current byte is being transferred:
 292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                Workaround: Use DMA in general, except when the Master is receiving a single byte.
 293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                For Interupt mode, I2C should have the highest priority in the application.
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           (++) Mismatch on the "Setup time for a repeated Start condition" timing parameter:
 295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                Workaround: Reduce the frequency down to 88 kHz or use the I2C Fast-mode if
 296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                supported by the slave.
 297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           (++) Data valid time (tVD;DAT) violated without the OVR flag being set:
 298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                Workaround: If the slave device allows it, use the clock stretching mechanism
 299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                by programming NoStretchMode = I2C_NOSTRETCH_DISABLE in @ref HAL_I2C_Init.
 300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****      [..]
 302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (@) You can refer to the I2C HAL driver header file for more useful macros
 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   @endverbatim
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   ******************************************************************************
 306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @attention
 307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *
 308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
 309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * All rights reserved.</center></h2>
 310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *
 311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * This software component is licensed by ST under BSD 3-Clause license,
 312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * the "License"; You may not use this file except in compliance with the
 313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * License. You may obtain a copy of the License at:
 314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                        opensource.org/licenses/BSD-3-Clause
 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *
 316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   ******************************************************************************
 317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 7


 318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
 320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #include "stm32f1xx_hal.h"
 321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @addtogroup STM32F1xx_HAL_Driver
 323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @{
 324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C I2C
 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief I2C HAL module driver
 328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @{
 329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
 332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
 334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @addtogroup I2C_Private_Define
 336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @{
 337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG          35U         /*!< Timeout 35 ms             */
 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY_FLAG     25U         /*!< Timeout 25 ms             */
 340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME       0xFFFF0000U /*!< XferOptions default value */
 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
 343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_MSK             ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | (uint32_
 344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_NONE            ((uint32_t)(HAL_I2C_MODE_NONE))                                  
 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX  ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | (
 346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX  ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | (
 347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX   ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | (
 348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX   ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | (
 349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @}
 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private macro -------------------------------------------------------------*/
 355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
 356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
 359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @{
 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
 362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAXferCplt(DMA_HandleTypeDef *hdma);
 363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
 365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c);
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint3
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32
 370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1
 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16
 372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 8


 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnMasterAddressFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t 
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, u
 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnBTFFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, u
 378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 
 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 
 380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c);
 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterTransmit_TXE(I2C_HandleTypeDef *hi2c);
 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterTransmit_BTF(I2C_HandleTypeDef *hi2c);
 385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterReceive_RXNE(I2C_HandleTypeDef *hi2c);
 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterReceive_BTF(I2C_HandleTypeDef *hi2c);
 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_SB(I2C_HandleTypeDef *hi2c);
 388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_ADD10(I2C_HandleTypeDef *hi2c);
 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_ADDR(I2C_HandleTypeDef *hi2c);
 390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveTransmit_TXE(I2C_HandleTypeDef *hi2c);
 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveTransmit_BTF(I2C_HandleTypeDef *hi2c);
 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveReceive_RXNE(I2C_HandleTypeDef *hi2c);
 394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveReceive_BTF(I2C_HandleTypeDef *hi2c);
 395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_ADDR(I2C_HandleTypeDef *hi2c, uint32_t IT2Flags);
 396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_STOPF(I2C_HandleTypeDef *hi2c);
 397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_AF(I2C_HandleTypeDef *hi2c);
 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Private function to Convert Specific options */
 400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @}
 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
 406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
 408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @{
 409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  *  @brief    Initialization and Configuration functions
 413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  *
 414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @verbatim
 415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  ===============================================================================
 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               ##### Initialization and de-initialization functions #####
 417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  ===============================================================================
 418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]  This subsection provides a set of functions allowing to initialize and
 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           deinitialize the I2Cx peripheral:
 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) User must Implement HAL_I2C_MspInit() function in which he configures
 422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC).
 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Call the function HAL_I2C_Init() to configure the selected device with
 425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           the selected configuration:
 426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) Communication Speed
 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) Duty cycle
 428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) Addressing mode
 429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) Own Address 1
 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) Dual Addressing mode
 431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) Own Address 2
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 9


 432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) General call mode
 433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) Nostretch mode
 434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (+) Call the function HAL_I2C_DeInit() to restore the default configuration
 436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           of the selected I2Cx peripheral.
 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @endverbatim
 439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @{
 440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Initializes the I2C according to the specified parameters
 444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in the I2C_InitTypeDef and initialize the associated handle.
 445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t freqrange;
 452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t pclk1;
 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the I2C handle allocation */
 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c == NULL)
 456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
 458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
 462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_CLOCK_SPEED(hi2c->Init.ClockSpeed));
 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_DUTY_CYCLE(hi2c->Init.DutyCycle));
 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
 465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
 467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
 469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
 470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_RESET)
 472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Allocate lock resource and initialize it */
 474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Lock = HAL_UNLOCKED;
 475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Init the I2C Callback settings */
 478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback 
 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback 
 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->SlaveTxCpltCallback  = HAL_I2C_SlaveTxCpltCallback;  /* Legacy weak SlaveTxCpltCallback  
 481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->SlaveRxCpltCallback  = HAL_I2C_SlaveRxCpltCallback;  /* Legacy weak SlaveRxCpltCallback  
 482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ListenCpltCallback   = HAL_I2C_ListenCpltCallback;   /* Legacy weak ListenCpltCallback   
 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MemTxCpltCallback    = HAL_I2C_MemTxCpltCallback;    /* Legacy weak MemTxCpltCallback    
 484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MemRxCpltCallback    = HAL_I2C_MemRxCpltCallback;    /* Legacy weak MemRxCpltCallback    
 485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCallback        = HAL_I2C_ErrorCallback;        /* Legacy weak ErrorCallback        
 486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->AbortCpltCallback    = HAL_I2C_AbortCpltCallback;    /* Legacy weak AbortCpltCallback    
 487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->AddrCallback         = HAL_I2C_AddrCallback;         /* Legacy weak AddrCallback         
 488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 10


 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->MspInitCallback == NULL)
 490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit  */
 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Init the low level hardware : GPIO, CLOCK, NVIC */
 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MspInitCallback(hi2c);
 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
 497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Init the low level hardware : GPIO, CLOCK, NVIC */
 498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     HAL_I2C_MspInit(hi2c);
 499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_BUSY;
 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Disable the selected I2C peripheral */
 505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_I2C_DISABLE(hi2c);
 506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Get PCLK1 frequency */
 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   pclk1 = HAL_RCC_GetPCLK1Freq();
 509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the minimum allowed PCLK1 frequency */
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_MIN_PCLK_FREQ(pclk1, hi2c->Init.ClockSpeed) == 1U)
 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Calculate frequency range */
 517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   freqrange = I2C_FREQRANGE(pclk1);
 518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /*---------------------------- I2Cx CR2 Configuration ----------------------*/
 520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Configure I2Cx: Frequency range */
 521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   MODIFY_REG(hi2c->Instance->CR2, I2C_CR2_FREQ, freqrange);
 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /*---------------------------- I2Cx TRISE Configuration --------------------*/
 524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Configure I2Cx: Rise Time */
 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   MODIFY_REG(hi2c->Instance->TRISE, I2C_TRISE_TRISE, I2C_RISE_TIME(freqrange, hi2c->Init.ClockSpeed
 526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /*---------------------------- I2Cx CCR Configuration ----------------------*/
 528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Configure I2Cx: Speed */
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   MODIFY_REG(hi2c->Instance->CCR, (I2C_CCR_FS | I2C_CCR_DUTY | I2C_CCR_CCR), I2C_SPEED(pclk1, hi2c-
 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /*---------------------------- I2Cx CR1 Configuration ----------------------*/
 532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Configure I2Cx: Generalcall and NoStretch mode */
 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   MODIFY_REG(hi2c->Instance->CR1, (I2C_CR1_ENGC | I2C_CR1_NOSTRETCH), (hi2c->Init.GeneralCallMode |
 534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Configure I2Cx: Own Address1 and addressing mode */
 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   MODIFY_REG(hi2c->Instance->OAR1, (I2C_OAR1_ADDMODE | I2C_OAR1_ADD8_9 | I2C_OAR1_ADD1_7 | I2C_OAR1
 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
 540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Configure I2Cx: Dual mode and Own Address2 */
 541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   MODIFY_REG(hi2c->Instance->OAR2, (I2C_OAR2_ENDUAL | I2C_OAR2_ADD2), (hi2c->Init.DualAddressMode |
 542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Enable the selected I2C peripheral */
 544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_I2C_ENABLE(hi2c);
 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 11


 546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_READY;
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  DeInitialize the I2C peripheral.
 556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
 558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
 561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the I2C handle allocation */
 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c == NULL)
 564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
 566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
 569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
 570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_BUSY;
 572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Disable the I2C Peripheral Clock */
 574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_I2C_DISABLE(hi2c);
 575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->MspDeInitCallback == NULL)
 578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit  */
 580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
 583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->MspDeInitCallback(hi2c);
 584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
 585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
 586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_MspDeInit(hi2c);
 587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->ErrorCode     = HAL_I2C_ERROR_NONE;
 590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State         = HAL_I2C_STATE_RESET;
 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Mode          = HAL_I2C_MODE_NONE;
 593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Release Lock */
 595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
 596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
 598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Initialize the I2C MSP.
 602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 12


 603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
 604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
 605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
 607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
 610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
 612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_MspInit could be implemented in the user file
 613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
 614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  DeInitialize the I2C MSP.
 618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
 620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
 621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
 623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
 626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
 628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_MspDeInit could be implemented in the user file
 629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
 630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Register a User I2C Callback
 635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         To be used instead of the weak predefined callback
 636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  CallbackID ID of the callback to be registered
 639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         This parameter can be one of the following values:
 640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
 641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
 642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
 643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
 644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
 645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
 646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
 647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
 648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
 649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
 650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
 651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pCallback pointer to the Callback function
 652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
 653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb
 655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (pCallback == NULL)
 659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 13


 660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update the error code */
 661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
 664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Process locked */
 666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_LOCK(hi2c);
 667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (HAL_I2C_STATE_READY == hi2c->State)
 669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     switch (CallbackID)
 671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
 673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MasterTxCpltCallback = pCallback;
 674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
 677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MasterRxCpltCallback = pCallback;
 678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
 681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->SlaveTxCpltCallback = pCallback;
 682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
 685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->SlaveRxCpltCallback = pCallback;
 686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_LISTEN_COMPLETE_CB_ID :
 689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ListenCpltCallback = pCallback;
 690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
 693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MemTxCpltCallback = pCallback;
 694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
 697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MemRxCpltCallback = pCallback;
 698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_ERROR_CB_ID :
 701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCallback = pCallback;
 702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_ABORT_CB_ID :
 705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->AbortCpltCallback = pCallback;
 706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MSPINIT_CB_ID :
 709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MspInitCallback = pCallback;
 710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MSPDEINIT_CB_ID :
 713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MspDeInitCallback = pCallback;
 714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       default :
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 14


 717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update the error code */
 718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Return error status */
 721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         status =  HAL_ERROR;
 722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if (HAL_I2C_STATE_RESET == hi2c->State)
 726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     switch (CallbackID)
 728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MSPINIT_CB_ID :
 730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MspInitCallback = pCallback;
 731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MSPDEINIT_CB_ID :
 734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MspDeInitCallback = pCallback;
 735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       default :
 738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update the error code */
 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Return error status */
 742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         status =  HAL_ERROR;
 743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
 747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update the error code */
 749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Return error status */
 752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     status =  HAL_ERROR;
 753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Release Lock */
 756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
 757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return status;
 758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Unregister an I2C Callback
 762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         I2C callback is redirected to the weak predefined callback
 763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  CallbackID ID of the callback to be unregistered
 766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         This parameter can be one of the following values:
 767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         This parameter can be one of the following values:
 768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
 769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
 770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
 771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
 772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
 773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 15


 774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
 775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
 777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
 778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
 779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
 780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal
 782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Process locked */
 786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_LOCK(hi2c);
 787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (HAL_I2C_STATE_READY == hi2c->State)
 789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     switch (CallbackID)
 791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
 793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb
 794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
 797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb
 798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
 801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback;   /* Legacy weak SlaveTxCpltCallba
 802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
 805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback;   /* Legacy weak SlaveRxCpltCallba
 806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_LISTEN_COMPLETE_CB_ID :
 809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback;     /* Legacy weak ListenCpltCallbac
 810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
 813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback;       /* Legacy weak MemTxCpltCallback
 814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
 817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback;       /* Legacy weak MemRxCpltCallback
 818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_ERROR_CB_ID :
 821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCallback = HAL_I2C_ErrorCallback;               /* Legacy weak ErrorCallback    
 822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_ABORT_CB_ID :
 825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback;       /* Legacy weak AbortCpltCallback
 826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MSPINIT_CB_ID :
 829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MspInitCallback = HAL_I2C_MspInit;                   /* Legacy weak MspInit          
 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 16


 831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MSPDEINIT_CB_ID :
 833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MspDeInitCallback = HAL_I2C_MspDeInit;               /* Legacy weak MspDeInit        
 834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       default :
 837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update the error code */
 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Return error status */
 841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         status =  HAL_ERROR;
 842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if (HAL_I2C_STATE_RESET == hi2c->State)
 846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     switch (CallbackID)
 848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MSPINIT_CB_ID :
 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MspInitCallback = HAL_I2C_MspInit;                   /* Legacy weak MspInit          
 851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       case HAL_I2C_MSPDEINIT_CB_ID :
 854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MspDeInitCallback = HAL_I2C_MspDeInit;               /* Legacy weak MspDeInit        
 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       default :
 858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update the error code */
 859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Return error status */
 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         status =  HAL_ERROR;
 863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         break;
 864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
 867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update the error code */
 869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Return error status */
 872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     status =  HAL_ERROR;
 873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Release Lock */
 876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
 877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return status;
 878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Register the Slave Address Match I2C Callback
 882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         To be used instead of the weak HAL_I2C_AddrCallback() predefined callback
 883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pCallback pointer to the Address Match Callback function
 886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
 887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 17


 888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC
 889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (pCallback == NULL)
 893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update the error code */
 895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
 898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Process locked */
 900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_LOCK(hi2c);
 901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (HAL_I2C_STATE_READY == hi2c->State)
 903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->AddrCallback = pCallback;
 905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
 907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update the error code */
 909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Return error status */
 912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     status =  HAL_ERROR;
 913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Release Lock */
 916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
 917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return status;
 918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  UnRegister the Slave Address Match I2C Callback
 922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal
 923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
 926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
 928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Process locked */
 932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_LOCK(hi2c);
 933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (HAL_I2C_STATE_READY == hi2c->State)
 935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback  */
 937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
 939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update the error code */
 941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Return error status */
 944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     status =  HAL_ERROR;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 18


 945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Release Lock */
 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
 949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return status;
 950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
 955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @}
 956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
 957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
 959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  *  @brief   Data transfers functions
 960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  *
 961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @verbatim
 962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  ===============================================================================
 963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                       ##### IO operation functions #####
 964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  ===============================================================================
 965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
 966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     This subsection provides a set of functions allowing to manage the I2C data
 967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     transfers.
 968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#) There are two modes of transfer:
 970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (++) Blocking mode : The communication is performed in the polling mode.
 971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             The status of all data processing is returned by the same function
 972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             after finishing transfer.
 973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        (++) No-Blocking mode : The communication is performed using Interrupts
 974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             or DMA. These functions return the status of the transfer startup.
 975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             The end of the data processing will be indicated through the
 976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
 977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             using DMA mode.
 978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#) Blocking mode functions are :
 980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Transmit()
 981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Receive()
 982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Transmit()
 983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Receive()
 984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Write()
 985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Read()
 986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_IsDeviceReady()
 987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#) No-Blocking mode functions with Interrupt are :
 989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Transmit_IT()
 990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Receive_IT()
 991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Transmit_IT()
 992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Receive_IT()
 993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Write_IT()
 994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Read_IT()
 995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Seq_Transmit_IT()
 996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Seq_Receive_IT()
 997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Seq_Transmit_IT()
 998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Seq_Receive_IT()
 999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_EnableListen_IT()
1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_DisableListen_IT()
1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Abort_IT()
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 19


1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#) No-Blocking mode functions with DMA are :
1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Transmit_DMA()
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Receive_DMA()
1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Transmit_DMA()
1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Receive_DMA()
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Write_DMA()
1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Read_DMA()
1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Seq_Transmit_DMA()
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Master_Seq_Receive_DMA()
1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Seq_Transmit_DMA()
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Seq_Receive_DMA()
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_MasterTxCpltCallback()
1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_MasterRxCpltCallback()
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_SlaveTxCpltCallback()
1019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_SlaveRxCpltCallback()
1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_MemTxCpltCallback()
1021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_MemRxCpltCallback()
1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_AddrCallback()
1023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_ListenCpltCallback()
1024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_ErrorCallback()
1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         (++) HAL_I2C_AbortCpltCallback()
1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @endverbatim
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @{
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Transmits in master mode an amount of data in blocking mode.
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
1042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tickstart = HAL_GetTick();
1046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_BUSY;
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 20


1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
1063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_TX;
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
1071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send Slave Address */
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_MasterRequestWrite(hi2c, DevAddress, Timeout, tickstart) != HAL_OK)
1080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
1082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear ADDR flag */
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (hi2c->XferSize > 0U)
1088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until TXE flag is set */
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Generate Stop */
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Write data to DR */
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Instance->DR = *hi2c->pBuffPtr;
1102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update counter */
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferSize--;
1109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U))
1111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Write data to DR */
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Instance->DR = *hi2c->pBuffPtr;
1114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Increment Buffer pointer */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 21


1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->pBuffPtr++;
1117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update counter */
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
1121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until BTF flag is set */
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (I2C_WaitOnBTFFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Generate Stop */
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate Stop */
1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
1147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
1149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Receives in master mode an amount of data in blocking mode.
1154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
1158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
1161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tickstart = HAL_GetTick();
1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 22


1173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_BUSY;
1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
1184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_RX;
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send Slave Address */
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_MasterRequestRead(hi2c, DevAddress, Timeout, tickstart) != HAL_OK)
1201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
1203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferSize == 0U)
1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if (hi2c->XferSize == 1U)
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable Acknowledge */
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       software sequence must complete before the current byte end of transfer */
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __disable_irq();
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Re-enable IRQs */
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __enable_irq();
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 23


1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if (hi2c->XferSize == 2U)
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Pos */
1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       software sequence must complete before the current byte end of transfer */
1238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __disable_irq();
1239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable Acknowledge */
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Re-enable IRQs */
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __enable_irq();
1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Acknowledge */
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (hi2c->XferSize > 0U)
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->XferSize <= 3U)
1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* One byte */
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->XferSize == 1U)
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Wait until RXNE flag is set */
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             return HAL_ERROR;
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
1270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
1276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
1281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Two bytes */
1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else if (hi2c->XferSize == 2U)
1283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Wait until BTF flag is set */
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 24


1287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             return HAL_ERROR;
1288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****              software sequence must complete before the current byte end of transfer */
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __disable_irq();
1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Generate Stop */
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
1302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Re-enable IRQs */
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __enable_irq();
1309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* 3 Last bytes */
1321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Wait until BTF flag is set */
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             return HAL_ERROR;
1327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable Acknowledge */
1330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****              software sequence must complete before the current byte end of transfer */
1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __disable_irq();
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
1341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 25


1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Wait until BTF flag is set */
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             return HAL_ERROR;
1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Generate Stop */
1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
1354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
1360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
1364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Re-enable IRQs */
1366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __enable_irq();
1367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
1373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
1378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Wait until RXNE flag is set */
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
1384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           return HAL_ERROR;
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
1386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Read data from DR */
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Increment Buffer pointer */
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->pBuffPtr++;
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update counter */
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET)
1398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
1399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 26


1401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
1404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
1408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
1409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
1414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
1419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
1421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
1423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Transmits in slave mode an amount of data in blocking mode.
1428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
1434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
1435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, ui
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tickstart = HAL_GetTick();
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
1443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return  HAL_ERROR;
1445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
1455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 27


1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_TX;
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
1463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable Address Acknowledge */
1471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until ADDR flag is set */
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
1477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear ADDR flag */
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* If 10bit addressing mode is selected */
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
1484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until ADDR flag is set */
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
1489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (hi2c->XferSize > 0U)
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until TXE flag is set */
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Disable Address Acknowledge */
1501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
1504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Write data to DR */
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Instance->DR = *hi2c->pBuffPtr;
1508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
1511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update counter */
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferSize--;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 28


1515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U))
1517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Write data to DR */
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Instance->DR = *hi2c->pBuffPtr;
1520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Increment Buffer pointer */
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->pBuffPtr++;
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update counter */
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
1527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until AF flag is set */
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_AF, RESET, Timeout, tickstart) != HAL_OK)
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
1534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear AF flag */
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
1538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Address Acknowledge */
1540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
1544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
1549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
1551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
1553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Receive in slave mode an amount of data in blocking mode
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
1564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
1565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uin
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tickstart = HAL_GetTick();
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 29


1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((pData == NULL) || (Size == (uint16_t)0))
1573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
1575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
1585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
1588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_RX;
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
1593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable Address Acknowledge */
1601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until ADDR flag is set */
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
1607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear ADDR flag */
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
1611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (hi2c->XferSize > 0U)
1613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until RXNE flag is set */
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Disable Address Acknowledge */
1618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
1621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Read data from DR */
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
1628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 30


1629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update counter */
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferSize--;
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
1632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U))
1634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Read data from DR */
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
1637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Increment Buffer pointer */
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->pBuffPtr++;
1640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update counter */
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
1644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until STOP flag is set */
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable Address Acknowledge */
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
1654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear STOP flag */
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_STOPFLAG(hi2c);
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Address Acknowledge */
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
1664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
1671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
1673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Transmit in master mode an amount of data in non-blocking mode with Interrupt
1678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
1681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
1682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
1685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 31


1686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
1689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
1694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count--;
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
1703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
1711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
1723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
1735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate Start */
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 32


1743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
1744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               process unlock */
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable EVT, BUF and ERR interrupt */
1746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
1749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
1751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Receive in master mode an amount of data in non-blocking mode with Interrupt
1758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
1762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
1765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
1766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
1769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count--;
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
1778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
1783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
1788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
1791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 33


1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable Acknowledge */
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate Start */
1820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
1821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     to avoid the risk of I2C interrupt handle execution before current
1827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     process unlock */
1828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable EVT, BUF and ERR interrupt */
1830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
1831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
1833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
1835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Transmit in slave mode an amount of data in non-blocking mode with Interrupt
1842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
1847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
1848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
1854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return  HAL_ERROR;
1856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 34


1857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
1865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable Address Acknowledge */
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
1889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               process unlock */
1890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable EVT, BUF and ERR interrupt */
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
1893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
1897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
1899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Receive in slave mode an amount of data in non-blocking mode with Interrupt
1904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
1909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
1910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 35


1914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return  HAL_ERROR;
1918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
1925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
1928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
1931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
1932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable Address Acknowledge */
1944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
1945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
1947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
1950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
1951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               process unlock */
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable EVT, BUF and ERR interrupt */
1954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
1957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
1959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
1961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
1963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
1965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Transmit in master mode an amount of data in non-blocking mode with DMA
1966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
1969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 36


1971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
1974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
1977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
1978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
1981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
1983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
1984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
1985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count--;
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
1987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
1991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
1992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
1994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
1995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
1997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
1998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
2000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
2008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
2009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
2015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
2019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
2026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 37


2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt;
2029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the DMA error callback */
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferHalfCpltCallback = NULL;
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable the DMA channel */
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Ins
2039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
2041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable Acknowledge */
2043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Start */
2046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
2049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
2052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         to avoid the risk of I2C interrupt handle execution before current
2053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         process unlock */
2054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable EVT and ERR interrupt */
2056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable DMA Request */
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
2060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
2062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C state */
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
2066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C error code */
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
2077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Acknowledge */
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Start */
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 38


2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
2088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       to avoid the risk of I2C interrupt handle execution before current
2089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       process unlock */
2090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable EVT, BUF and ERR interrupt */
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
2093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
2096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
2100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Receive in master mode an amount of data in non-blocking mode with DMA
2105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
2108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
2109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
2112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
2113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
2116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
2117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
2122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
2123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count--;
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
2126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
2129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
2130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
2131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
2136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
2139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 39


2142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
2163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
2165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt;
2168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the DMA error callback */
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferHalfCpltCallback = NULL;
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
2175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable the DMA channel */
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c-
2178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
2180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable Acknowledge */
2182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Start */
2185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
2188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
2191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         to avoid the risk of I2C interrupt handle execution before current
2192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         process unlock */
2193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable EVT and ERR interrupt */
2195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
2196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable DMA Request */
2198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 40


2199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
2201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C state */
2203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
2204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
2205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C error code */
2207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
2210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
2213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
2216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Acknowledge */
2218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Start */
2221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
2227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       to avoid the risk of I2C interrupt handle execution before current
2228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       process unlock */
2229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable EVT, BUF and ERR interrupt */
2231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
2232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
2235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
2237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
2239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Transmit in slave mode an amount of data in non-blocking mode with DMA
2244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
2249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
2250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
2253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 41


2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
2257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return  HAL_ERROR;
2259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
2268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
2269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
2272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
2276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the I2C DMA transfer complete callback */
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt;
2286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the DMA error callback */
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the unused DMA callbacks to NULL */
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferHalfCpltCallback = NULL;
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferAbortCallback = NULL;
2293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable the DMA channel */
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Insta
2296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (dmaxferstatus == HAL_OK)
2298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Address Acknowledge */
2300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
2303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
2306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       to avoid the risk of I2C interrupt handle execution before current
2307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       process unlock */
2308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable EVT and ERR interrupt */
2309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
2310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable DMA Request */
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Instance->CR2 |= I2C_CR2_DMAEN;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 42


2313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_OK;
2315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
2317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update I2C state */
2319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_READY;
2320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
2321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update I2C error code */
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
2329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
2332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
2334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Receive in slave mode an amount of data in non-blocking mode with DMA
2339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
2344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
2345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
2346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
2348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
2352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return  HAL_ERROR;
2354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
2363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
2364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
2367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 43


2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
2374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the I2C DMA transfer complete callback */
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt;
2381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the DMA error callback */
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the unused DMA callbacks to NULL */
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferHalfCpltCallback = NULL;
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferAbortCallback = NULL;
2388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable the DMA channel */
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c->p
2391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (dmaxferstatus == HAL_OK)
2393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Address Acknowledge */
2395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
2401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       to avoid the risk of I2C interrupt handle execution before current
2402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       process unlock */
2403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable EVT and ERR interrupt */
2404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
2405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable DMA Request */
2407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
2408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_OK;
2410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
2412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update I2C state */
2414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_READY;
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
2416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update I2C error code */
2418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 44


2427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
2429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Write an amount of data in blocking mode to a specific memory address
2434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
2437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
2438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
2439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
2440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
2443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
2444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
2445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
2448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tickstart = HAL_GetTick();
2449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
2451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H
2457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_BUSY;
2459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
2468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
2469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
2472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
2475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
2476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
2479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
2482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 45


2484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send Slave Address and Memory Address */
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
2486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
2488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (hi2c->XferSize > 0U)
2491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until TXE flag is set */
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
2496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
2497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Generate Stop */
2498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
2501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Write data to DR */
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Instance->DR = *hi2c->pBuffPtr;
2505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
2508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update counter */
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferSize--;
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
2512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U))
2514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Write data to DR */
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Instance->DR = *hi2c->pBuffPtr;
2517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Increment Buffer pointer */
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->pBuffPtr++;
2520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update counter */
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
2524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BTF flag is set */
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnBTFFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
2531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Stop */
2533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
2536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate Stop */
2539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 46


2541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
2542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
2543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
2545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
2546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
2548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
2550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
2552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Read an amount of data in blocking mode from a specific memory address
2557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
2560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
2561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
2562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
2563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
2566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
2567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
2568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
2571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tickstart = HAL_GetTick();
2572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
2574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H
2580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_BUSY;
2582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
2591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
2592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
2595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 47


2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
2599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
2602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
2605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send Slave Address and Memory Address */
2608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
2609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
2611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferSize == 0U)
2614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
2617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
2619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if (hi2c->XferSize == 1U)
2622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable Acknowledge */
2624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
2627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****          software sequence must complete before the current byte end of transfer */
2628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __disable_irq();
2629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
2632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
2634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Re-enable IRQs */
2637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __enable_irq();
2638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if (hi2c->XferSize == 2U)
2640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Pos */
2642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
2645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****          software sequence must complete before the current byte end of transfer */
2646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __disable_irq();
2647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
2650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable Acknowledge */
2652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Re-enable IRQs */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 48


2655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __enable_irq();
2656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
2658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Acknowledge */
2660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
2663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (hi2c->XferSize > 0U)
2666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->XferSize <= 3U)
2668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* One byte */
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->XferSize == 1U)
2671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
2672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Wait until RXNE flag is set */
2673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
2675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             return HAL_ERROR;
2676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
2677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
2682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
2683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
2685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
2686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
2687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
2688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Two bytes */
2689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else if (hi2c->XferSize == 2U)
2690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
2691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Wait until BTF flag is set */
2692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
2694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             return HAL_ERROR;
2695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
2696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****              software sequence must complete before the current byte end of transfer */
2699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __disable_irq();
2700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Generate Stop */
2702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
2709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
2711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 49


2712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
2713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Re-enable IRQs */
2715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __enable_irq();
2716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
2721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
2722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
2724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
2725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
2726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
2727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* 3 Last bytes */
2728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
2729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
2730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Wait until BTF flag is set */
2731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
2732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
2733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             return HAL_ERROR;
2734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
2735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable Acknowledge */
2737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable all active IRQs around ADDR clearing and STOP programming because the EV6_3
2740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****              software sequence must complete before the current byte end of transfer */
2741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __disable_irq();
2742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
2747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
2748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
2750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
2751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
2752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Wait until BTF flag is set */
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK)
2755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
2756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             return HAL_ERROR;
2757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
2758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Generate Stop */
2760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
2761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
2767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 50


2769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
2770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
2771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Re-enable IRQs */
2773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __enable_irq();
2774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
2780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
2782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
2783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
2784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
2785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
2787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Wait until RXNE flag is set */
2789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
2791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           return HAL_ERROR;
2792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
2793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Read data from DR */
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Increment Buffer pointer */
2798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->pBuffPtr++;
2799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update counter */
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
2802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
2803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET)
2805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
2806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
2807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
2808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
2810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
2811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update counter */
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferSize--;
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
2815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
2816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
2821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
2824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 51


2826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
2828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
2830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
2835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
2838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
2839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
2840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
2841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
2844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
2845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
2848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
2850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
2856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
2857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count--;
2859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
2860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
2862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
2863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
2864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
2865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
2867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
2870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
2873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
2878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
2881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
2882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 52


2883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
2885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
2888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
2889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
2892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
2895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Memaddress  = MemAddress;
2898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MemaddSize  = MemAddSize;
2899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->EventCount  = 0U;
2900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate Start */
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
2905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
2906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
2908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     to avoid the risk of I2C interrupt handle execution before current
2909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     process unlock */
2910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable EVT, BUF and ERR interrupt */
2912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
2913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
2915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
2917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
2919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
2920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
2921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
2923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
2924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address
2927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
2928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
2929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
2932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
2933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
2934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
2935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
2936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
2938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 53


2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
2944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
2945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count--;
2947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
2948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
2949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
2950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
2952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
2953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
2955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
2958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
2959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
2961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
2966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
2967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
2968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
2969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
2970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
2971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
2973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
2974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
2976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
2977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
2980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
2983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
2985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Memaddress  = MemAddress;
2986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MemaddSize  = MemAddSize;
2987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->EventCount  = 0U;
2988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable Acknowledge */
2990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
2991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate Start */
2993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
2994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
2996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 54


2997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
2999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
3001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       to avoid the risk of I2C interrupt handle execution before current
3002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       process unlock */
3003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable EVT, BUF and ERR interrupt */
3005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
3006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
3008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
3010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
3012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Write an amount of data in non-blocking mode with DMA to a specific memory address
3017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
3019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
3022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
3023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
3025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
3026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
3027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
3030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
3031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
3033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tickstart = HAL_GetTick();
3034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
3036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
3037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
3043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count--;
3045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
3046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
3048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
3049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
3050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
3051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
3053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 55


3054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
3056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
3067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
3068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
3071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
3074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
3075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
3081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
3084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
3086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt;
3087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the DMA error callback */
3089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
3092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferHalfCpltCallback = NULL;
3093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
3094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable the DMA channel */
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Ins
3097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
3099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Send Slave Address and Memory Address */
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tick
3102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           return HAL_ERROR;
3104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Clear ADDR flag */
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
3108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
3110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 56


3111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
3113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         to avoid the risk of I2C interrupt handle execution before current
3114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         process unlock */
3115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable ERR interrupt */
3116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_ERR);
3117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable DMA Request */
3119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
3120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_OK;
3122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
3124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C state */
3126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
3127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
3128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C error code */
3130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
3133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
3136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
3139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update I2C state */
3141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_READY;
3142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
3143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update I2C error code */
3145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_SIZE;
3146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
3148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
3151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
3154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
3156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Reads an amount of data in non-blocking mode with DMA from a specific memory address.
3161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
3163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
3166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
3167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 57


3168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be read
3169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
3170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
3171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
3172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
3174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tickstart = HAL_GetTick();
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
3176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
3177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
3179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
3180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
3186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count--;
3188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
3189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
3191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
3192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
3193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
3194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
3196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
3199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
3207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
3210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
3211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
3214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
3217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
3218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
3221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
3224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 58


3225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
3227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt;
3230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the DMA error callback */
3232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
3235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferHalfCpltCallback = NULL;
3236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
3237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable the DMA channel */
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c-
3240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
3242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Send Slave Address and Memory Address */
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, ticks
3245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           return HAL_ERROR;
3247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->XferSize == 1U)
3250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable Acknowledge */
3252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
3255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable Last DMA bit */
3257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
3258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Clear ADDR flag */
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
3262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
3267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         to avoid the risk of I2C interrupt handle execution before current
3268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         process unlock */
3269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable ERR interrupt */
3270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_ERR);
3271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable DMA Request */
3273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Instance->CR2 |= I2C_CR2_DMAEN;
3274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
3276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C state */
3278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
3279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
3280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C error code */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 59


3282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
3285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
3288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
3291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Send Slave Address and Memory Address */
3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, ticksta
3294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
3296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
3300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
3302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
3303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
3305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
3307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
3311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
3313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
3315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Checks if target device is ready for communication.
3320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @note   This function is used with Memory devices
3321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
3323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Trials Number of trials
3326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
3327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
3328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
3329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
3330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Get tick */
3332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tickstart = HAL_GetTick();
3333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t I2C_Trials = 1U;
3334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   FlagStatus tmp1;
3335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   FlagStatus tmp2;
3336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 60


3339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H
3341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_BUSY;
3343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
3352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
3353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
3356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_BUSY;
3359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
3363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Start */
3365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until SB flag is set */
3368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, tickstart) != HAL_OK)
3369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
3371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Send slave address */
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress);
3375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until ADDR or AF flag are set */
3377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Get tick */
3378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       tickstart = HAL_GetTick();
3379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
3381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       while ((hi2c->State != HAL_I2C_STATE_TIMEOUT) && (tmp1 == RESET) && (tmp2 == RESET))
3383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
3385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State = HAL_I2C_STATE_TIMEOUT;
3387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
3389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
3393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Check if the ADDR flag has been set */
3395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR) == SET)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 61


3396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Stop */
3398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
3399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Clear ADDR Flag */
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
3402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Wait until BUSY flag is reset */
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) 
3405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           return HAL_ERROR;
3407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
3410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
3412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_OK;
3415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
3417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Stop */
3419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
3420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Clear AF Flag */
3422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
3423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Wait until BUSY flag is reset */
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) 
3426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           return HAL_ERROR;
3428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Trials */
3432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       I2C_Trials++;
3433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     while (I2C_Trials < Trials);
3435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
3437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
3439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
3440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
3442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
3444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
3446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
3451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
3452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 62


3453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
3454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
3458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
3459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
3460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
3461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
3464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count      = 0x00U;
3465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
3467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check Busy Flag only if FIRST call of Master interface */
3472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((XferOptions == I2C_FIRST_AND_LAST_FRAME) || (XferOptions == I2C_FIRST_FRAME))
3473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until BUSY flag is reset */
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
3477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         count--;
3479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
3480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->PreviousState       = I2C_STATE_NONE;
3482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
3483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
3485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Process Unlocked */
3487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __HAL_UNLOCK(hi2c);
3488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           return HAL_ERROR;
3490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
3502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
3503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
3506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
3509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 63


3510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
3513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
3516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
3517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
3518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     Prev_State = hi2c->PreviousState;
3520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* If transfer direction not change and there is no request to start another frame, do not gene
3522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Mean Previous state is same as current state */
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((Prev_State != I2C_STATE_MASTER_BUSY_TX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOpti
3524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Start */
3526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
3531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
3533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     to avoid the risk of I2C interrupt handle execution before current
3534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     process unlock */
3535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable EVT, BUF and ERR interrupt */
3537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
3538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
3540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
3542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
3544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
3549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
3550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
3552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
3556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
3557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
3558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
3559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin
3560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
3562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count      = 0x00U;
3563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
3564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
3566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 64


3567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check Busy Flag only if FIRST call of Master interface */
3571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((XferOptions == I2C_FIRST_AND_LAST_FRAME) || (XferOptions == I2C_FIRST_FRAME))
3572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until BUSY flag is reset */
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
3576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         count--;
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
3579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->PreviousState       = I2C_STATE_NONE;
3581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
3582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
3583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
3584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Process Unlocked */
3586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __HAL_UNLOCK(hi2c);
3587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           return HAL_ERROR;
3589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
3601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
3602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
3605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
3608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
3609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
3612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
3615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
3616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
3617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     Prev_State = hi2c->PreviousState;
3619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
3621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
3623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 65


3624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the DMA error callback */
3626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
3629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferHalfCpltCallback = NULL;
3630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
3631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable the DMA channel */
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Ins
3634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
3636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable Acknowledge */
3638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* If transfer direction not change and there is no request to start another frame, do not 
3641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Mean Previous state is same as current state */
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if ((Prev_State != I2C_STATE_MASTER_BUSY_TX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(Xfer
3643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Generate Start */
3645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
3649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
3652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         to avoid the risk of I2C interrupt handle execution before current
3653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         process unlock */
3654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* If XferOptions is not associated to a new frame, mean no start bit is request, enable di
3656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* In other cases, DMA request is enabled after Slave address treatment in IRQHandler */
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if ((XferOptions == I2C_NEXT_FRAME) || (XferOptions == I2C_LAST_FRAME) || (XferOptions == I
3658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable DMA Request */
3660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
3661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable EVT and ERR interrupt */
3664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
3665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
3667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C state */
3669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
3670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
3671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C error code */
3673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
3676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
3679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 66


3681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
3682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Acknowledge */
3684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* If transfer direction not change and there is no request to start another frame, do not ge
3687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Mean Previous state is same as current state */
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((Prev_State != I2C_STATE_MASTER_BUSY_TX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOp
3689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Start */
3691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
3695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
3698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       to avoid the risk of I2C interrupt handle execution before current
3699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       process unlock */
3700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable EVT, BUF and ERR interrupt */
3702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
3703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
3706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
3708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
3710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
3715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
3716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
3718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
3722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
3723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
3724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
3725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8
3726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
3728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
3729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
3730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
3732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check Busy Flag only if FIRST call of Master interface */
3737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((XferOptions == I2C_FIRST_AND_LAST_FRAME) || (XferOptions == I2C_FIRST_FRAME))
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 67


3738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until BUSY flag is reset */
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
3742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         count--;
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
3745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->PreviousState       = I2C_STATE_NONE;
3747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
3748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
3749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
3750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Process Unlocked */
3752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __HAL_UNLOCK(hi2c);
3753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           return HAL_ERROR;
3755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
3767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
3768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
3771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
3774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
3778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
3781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
3782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
3783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     Prev_State = hi2c->PreviousState;
3785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->XferCount == 2U) && ((XferOptions == I2C_LAST_FRAME) || (XferOptions == I2C_LAST_FRA
3787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (Prev_State == I2C_STATE_MASTER_BUSY_RX)
3789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Disable Acknowledge */
3791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable Pos */
3794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 68


3795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Remove Enabling of IT_BUF, mean RXNE treatment, treat the 2 bytes through BTF */
3797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         enableIT &= ~I2C_IT_BUF;
3798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
3800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable Acknowledge */
3802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
3806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Acknowledge */
3808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* If transfer direction not change and there is no request to start another frame, do not gene
3812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Mean Previous state is same as current state */
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOpti
3814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Start */
3816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
3820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
3821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
3823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     to avoid the risk of I2C interrupt handle execution before current
3824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     process unlock */
3825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable interrupts */
3827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, enableIT);
3828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
3830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
3832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
3834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
3835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
3836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
3838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Sequential receive in master mode an amount of data in non-blocking mode with DMA
3839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
3840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
3842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
3846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
3847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
3848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
3849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
3851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 69


3852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
3853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
3854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
3855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
3857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
3861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check Busy Flag only if FIRST call of Master interface */
3862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((XferOptions == I2C_FIRST_AND_LAST_FRAME) || (XferOptions == I2C_FIRST_FRAME))
3863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Wait until BUSY flag is reset */
3865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U);
3866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
3867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         count--;
3869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
3870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->PreviousState       = I2C_STATE_NONE;
3872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
3873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
3874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
3875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Process Unlocked */
3877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __HAL_UNLOCK(hi2c);
3878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           return HAL_ERROR;
3880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);
3883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
3889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
3890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
3892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
3893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
3894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
3896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear Last DMA bit */
3899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
3900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
3902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
3903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
3906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 70


3909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
3910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
3911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     Prev_State = hi2c->PreviousState;
3913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
3915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((hi2c->XferCount == 2U) && ((XferOptions == I2C_LAST_FRAME) || (XferOptions == I2C_LAST_F
3917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (Prev_State == I2C_STATE_MASTER_BUSY_RX)
3919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable Acknowledge */
3921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable Pos */
3924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
3925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable Last DMA bit */
3927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
3928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
3930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable Acknowledge */
3932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
3936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable Acknowledge */
3938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
3939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if ((XferOptions == I2C_LAST_FRAME) || (XferOptions == I2C_OTHER_AND_LAST_FRAME) || (XferOp
3941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable Last DMA bit */
3943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
3944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
3948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt;
3949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the DMA error callback */
3951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
3954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferHalfCpltCallback = NULL;
3955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
3956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable the DMA channel */
3958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c-
3959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
3961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* If transfer direction not change and there is no request to start another frame, do not 
3963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Mean Previous state is same as current state */
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(Xfer
3965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 71


3966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Generate Start */
3967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
3968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update interrupt for only EVT and ERR */
3970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           enableIT = (I2C_IT_EVT | I2C_IT_ERR);
3971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
3973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Update interrupt for only ERR */
3975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           enableIT = I2C_IT_ERR;
3976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
3979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
3982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         to avoid the risk of I2C interrupt handle execution before current
3983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         process unlock */
3984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* If XferOptions is not associated to a new frame, mean no start bit is request, enable di
3986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* In other cases, DMA request is enabled after Slave address treatment in IRQHandler */
3987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if ((XferOptions == I2C_NEXT_FRAME) || (XferOptions == I2C_LAST_FRAME) || (XferOptions == I
3988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
3989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable DMA Request */
3990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
3991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
3992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
3993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable EVT and ERR interrupt */
3994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_ENABLE_IT(hi2c, enableIT);
3995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
3996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
3997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
3998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C state */
3999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
4000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
4001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update I2C error code */
4003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
4006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
4007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
4009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
4012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Acknowledge */
4014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* If transfer direction not change and there is no request to start another frame, do not ge
4017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Mean Previous state is same as current state */
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOp
4019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Start */
4021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
4022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 72


4023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
4025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
4026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
4028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       to avoid the risk of I2C interrupt handle execution before current
4029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       process unlock */
4030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable interrupts */
4032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE_IT(hi2c, enableIT);
4033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
4035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
4037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
4039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Sequential transmit in slave mode an amount of data in non-blocking mode with Interrupt
4044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
4045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
4047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
4048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
4049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
4050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
4051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
4053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
4055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
4060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return  HAL_ERROR;
4062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
4066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
4068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
4069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
4071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
4072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
4075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
4076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX_LISTEN;
4078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
4079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 73


4080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
4082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
4083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
4084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
4085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
4086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear ADDR flag */
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
4089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
4091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
4092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
4094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
4095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               process unlock */
4096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable EVT, BUF and ERR interrupt */
4098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
4099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
4101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
4103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
4105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Sequential transmit in slave mode an amount of data in non-blocking mode with DMA
4110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
4111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
4113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
4114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
4115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
4116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
4117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t 
4119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
4121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
4123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
4128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return  HAL_ERROR;
4130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
4134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 74


4137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* and then toggle the HAL slave RX state to TX state */
4140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
4141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
4143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Abort DMA Xfer if any */
4145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->hdmarx != NULL)
4146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
4147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
4148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Set the I2C DMA Abort callback :
4150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
4152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Abort DMA RX */
4154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
4155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
4156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Call Directly XferAbortCallback function in case of error */
4157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
4158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
4159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
4160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
4165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
4167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Abort DMA Xfer if any */
4169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->hdmatx != NULL)
4170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
4171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Set the I2C DMA Abort callback :
4172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Abort DMA TX */
4176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
4178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Call Directly XferAbortCallback function in case of error */
4179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
4181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
4182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
4185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Nothing to do */
4187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
4190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
4191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
4193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 75


4194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
4197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
4198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX_LISTEN;
4200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
4201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
4204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
4205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
4206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
4207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
4208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the I2C DMA transfer complete callback */
4210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt;
4211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the DMA error callback */
4213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
4214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the unused DMA callbacks to NULL */
4216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferHalfCpltCallback = NULL;
4217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferAbortCallback = NULL;
4218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable the DMA channel */
4220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Insta
4221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (dmaxferstatus == HAL_OK)
4223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Address Acknowledge */
4225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
4229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
4231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
4232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
4234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       to avoid the risk of I2C interrupt handle execution before current
4235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       process unlock */
4236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable EVT and ERR interrupt */
4237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
4238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable DMA Request */
4240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Instance->CR2 |= I2C_CR2_DMAEN;
4241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_OK;
4243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
4245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update I2C state */
4247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_READY;
4248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
4249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update I2C error code */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 76


4251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
4254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
4255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
4257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
4260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
4262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Sequential receive in slave mode an amount of data in non-blocking mode with Interrupt
4267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
4268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
4270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
4271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
4272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
4273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
4274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si
4276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
4278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
4283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return  HAL_ERROR;
4285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
4289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
4291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
4292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
4294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
4295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
4298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
4299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX_LISTEN;
4301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
4302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
4305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
4306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
4307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 77


4308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
4309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear ADDR flag */
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
4312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
4314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
4315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
4317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
4318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****               process unlock */
4319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable EVT, BUF and ERR interrupt */
4321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
4322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
4324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
4326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
4328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Sequential receive in slave mode an amount of data in non-blocking mode with DMA
4333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
4334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
4336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
4337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
4338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition
4339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
4340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
4342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
4344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
4346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
4351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return  HAL_ERROR;
4353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
4357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
4360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* and then toggle the HAL slave RX state to TX state */
4363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
4364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 78


4365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
4366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Abort DMA Xfer if any */
4368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->hdmarx != NULL)
4369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
4370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
4371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Set the I2C DMA Abort callback :
4373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
4375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Abort DMA RX */
4377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
4378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
4379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Call Directly XferAbortCallback function in case of error */
4380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
4381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
4382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
4383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
4388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
4390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Abort DMA Xfer if any */
4392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->hdmatx != NULL)
4393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
4394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Set the I2C DMA Abort callback :
4395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Abort DMA TX */
4399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
4401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Call Directly XferAbortCallback function in case of error */
4402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
4404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
4405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
4408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Nothing to do */
4410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
4413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
4414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
4416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
4417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos */
4420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
4421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 79


4422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX_LISTEN;
4423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
4424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare transfer parameters */
4427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
4428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
4429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
4430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
4431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the I2C DMA transfer complete callback */
4433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt;
4434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the DMA error callback */
4436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
4437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Set the unused DMA callbacks to NULL */
4439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferHalfCpltCallback = NULL;
4440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferAbortCallback = NULL;
4441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable the DMA channel */
4443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c->p
4444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (dmaxferstatus == HAL_OK)
4446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Address Acknowledge */
4448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
4452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
4454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
4455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable DMA Request */
4457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
4458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
4460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       to avoid the risk of I2C interrupt handle execution before current
4461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       process unlock */
4462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable EVT and ERR interrupt */
4463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
4464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_OK;
4466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
4468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update I2C state */
4470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_READY;
4471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
4472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update I2C error code */
4474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
4477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
4478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 80


4479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
4480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
4483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
4485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Enable the Address listen mode with Interrupt.
4490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
4493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
4495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
4497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_LISTEN;
4499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if the I2C is already enabled */
4501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE)
4502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable I2C peripheral */
4504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
4505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable Address Acknowledge */
4508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable EVT and ERR interrupt */
4511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
4512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
4514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
4516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
4518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Disable the Address listen mode with Interrupt.
4523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
4526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
4528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
4530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tmp;
4531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Disable Address listen mode only if a transfer is not ongoing */
4533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_LISTEN)
4534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 81


4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
4537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
4538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
4539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Address Acknowledge */
4541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable EVT and ERR interrupt */
4544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
4545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
4547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
4549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_BUSY;
4551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Abort a master I2C IT or DMA process communication with Interrupt.
4556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for the specified I2C.
4558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
4559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
4560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
4561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
4563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(DevAddress);
4566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Abort Master transfer during Receive or Transmit process    */
4568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->Mode == HAL_I2C_MODE_MASTER)
4569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Locked */
4571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
4572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
4574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_ABORT;
4575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Acknowledge */
4577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
4578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate Stop */
4580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
4581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount = 0U;
4583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable EVT, BUF and ERR interrupt */
4585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
4586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
4588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
4589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
4591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     I2C_ITError(hi2c);
4592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 82


4593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_OK;
4594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
4596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wrong usage of abort function */
4598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* This function should be used only in case of abort monitored by master device */
4599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
4600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @}
4605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
4608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  * @{
4609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  */
4610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  This function handles I2C event interrupt request.
4613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c)
4618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t sr1itflags;
4620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t sr2itflags               = 0U;
4621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t itsources                = READ_REG(hi2c->Instance->CR2);
4622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
4623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef CurrentMode   = hi2c->Mode;
4624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
4625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Master or Memory mode selected */
4627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((CurrentMode == HAL_I2C_MODE_MASTER) || (CurrentMode == HAL_I2C_MODE_MEM))
4628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     sr2itflags   = READ_REG(hi2c->Instance->SR2);
4630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     sr1itflags   = READ_REG(hi2c->Instance->SR1);
4631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Exit IRQ event until Start Bit detected in case of Other frame requested */
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_SB) == RESET) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUES
4634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return;
4636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* SB Set ----------------------------------------------------------------*/
4639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_SB) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_I
4640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Convert OTHER_xxx XferOptions if any */
4642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       I2C_ConvertOtherXferOptions(hi2c);
4643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       I2C_Master_SB(hi2c);
4645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* ADD10 Set -------------------------------------------------------------*/
4647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ADD10) != RESET) && (I2C_CHECK_IT_SOURCE(itsource
4648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       I2C_Master_ADD10(hi2c);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 83


4650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* ADDR Set --------------------------------------------------------------*/
4652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources
4653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       I2C_Master_ADDR(hi2c);
4655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* I2C in mode Transmitter -----------------------------------------------*/
4657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if (I2C_CHECK_FLAG(sr2itflags, I2C_FLAG_TRA) != RESET)
4658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Do not check buffer and BTF flag if a Xfer DMA is on going */
4660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) != I2C_CR2_DMAEN)
4661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* TXE set and BTF reset -----------------------------------------------*/
4663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_TXE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, 
4664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
4665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           I2C_MasterTransmit_TXE(hi2c);
4666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
4667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* BTF set -------------------------------------------------------------*/
4668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsour
4669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
4670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           I2C_MasterTransmit_BTF(hi2c);
4671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
4672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
4673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
4674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Do nothing */
4675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
4676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* I2C in mode Receiver --------------------------------------------------*/
4679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
4680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Do not check buffer and BTF flag if a Xfer DMA is on going */
4682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) != I2C_CR2_DMAEN)
4683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* RXNE set and BTF reset -----------------------------------------------*/
4685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources,
4686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
4687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           I2C_MasterReceive_RXNE(hi2c);
4688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
4689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* BTF set -------------------------------------------------------------*/
4690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsour
4691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
4692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           I2C_MasterReceive_BTF(hi2c);
4693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
4694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
4695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
4696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Do nothing */
4697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
4698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Slave mode selected */
4702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
4703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* If an error is detected, read only SR1 register to prevent */
4705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* a clear of ADDR flags by reading SR2 after reading SR1 in Error treatment */
4706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 84


4707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       sr1itflags   = READ_REG(hi2c->Instance->SR1);
4709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
4711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       sr2itflags   = READ_REG(hi2c->Instance->SR2);
4713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       sr1itflags   = READ_REG(hi2c->Instance->SR1);
4714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* ADDR set --------------------------------------------------------------*/
4717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C
4718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Now time to read SR2, this will clear ADDR flag automatically */
4720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
4721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         sr2itflags   = READ_REG(hi2c->Instance->SR2);
4723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       I2C_Slave_ADDR(hi2c, sr2itflags);
4725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* STOPF set --------------------------------------------------------------*/
4727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(itsource
4728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       I2C_Slave_STOPF(hi2c);
4730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* I2C in mode Transmitter -----------------------------------------------*/
4732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if ((CurrentState == HAL_I2C_STATE_BUSY_TX) || (CurrentState == HAL_I2C_STATE_BUSY_TX_LIST
4733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* TXE set and BTF reset -----------------------------------------------*/
4735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_TXE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2
4736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         I2C_SlaveTransmit_TXE(hi2c);
4738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* BTF set -------------------------------------------------------------*/
4740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsource
4741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         I2C_SlaveTransmit_BTF(hi2c);
4743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
4745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Do nothing */
4747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* I2C in mode Receiver --------------------------------------------------*/
4750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
4751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* RXNE set and BTF reset ----------------------------------------------*/
4753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I
4754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         I2C_SlaveReceive_RXNE(hi2c);
4756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* BTF set -------------------------------------------------------------*/
4758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsource
4759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         I2C_SlaveReceive_BTF(hi2c);
4761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
4763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 85


4764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Do nothing */
4765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  This function handles I2C error interrupt request.
4772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
4777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef tmp1;
4779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tmp2;
4780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmp3;
4781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tmp4;
4782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t sr1itflags = READ_REG(hi2c->Instance->SR1);
4783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t itsources  = READ_REG(hi2c->Instance->CR2);
4784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t error      = HAL_I2C_ERROR_NONE;
4785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* I2C Bus error interrupt occurred ----------------------------------------*/
4787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BERR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_I
4788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     error |= HAL_I2C_ERROR_BERR;
4790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear BERR flag */
4792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
4793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Workaround: Start cannot be generated after a misplaced Stop */
4795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_SWRST);
4796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* I2C Arbitration Lost error interrupt occurred ---------------------------*/
4799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ARLO) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_I
4800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     error |= HAL_I2C_ERROR_ARLO;
4802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear ARLO flag */
4804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
4805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* I2C Acknowledge failure error interrupt occurred ------------------------*/
4808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_
4809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp1 = hi2c->Mode;
4811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp2 = hi2c->XferCount;
4812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp3 = hi2c->State;
4813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp4 = hi2c->PreviousState;
4814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((tmp1 == HAL_I2C_MODE_SLAVE) && (tmp2 == 0U) && \
4815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \
4816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****          ((tmp3 == HAL_I2C_STATE_LISTEN) && (tmp4 == I2C_STATE_SLAVE_BUSY_TX))))
4817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       I2C_Slave_AF(hi2c);
4819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 86


4821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
4822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear AF flag */
4823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       error |= HAL_I2C_ERROR_AF;
4826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Do not generate a STOP in case of Slave receive non acknowledge during transfer (mean not 
4828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->Mode == HAL_I2C_MODE_MASTER)
4829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
4830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Stop */
4831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
4832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
4833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
4834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* I2C Over-Run/Under-Run interrupt occurred -------------------------------*/
4837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_OVR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT
4838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     error |= HAL_I2C_ERROR_OVR;
4840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear OVR flag */
4841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
4842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Call the Error Callback in case of Error detected -----------------------*/
4845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (error != HAL_I2C_ERROR_NONE)
4846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
4847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode |= error;
4848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     I2C_ITError(hi2c);
4849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
4850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Master Tx Transfer completed callback.
4854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
4859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
4862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
4865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
4866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Master Rx Transfer completed callback.
4870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
4875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 87


4878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
4881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
4882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @brief  Slave Tx Transfer completed callback.
4885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
4890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
4893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
4896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
4897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Slave Rx Transfer completed callback.
4901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
4906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
4909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
4912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
4913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Slave Address Match callback.
4917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_Xfe
4920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  AddrMatchCode Address Match Code
4921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
4924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
4927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(TransferDirection);
4928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(AddrMatchCode);
4929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_AddrCallback() could be implemented in the user file
4932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
4933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 88


4935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Listen Complete callback.
4937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
4942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
4945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_ListenCpltCallback() could be implemented in the user file
4948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Memory Tx Transfer completed callback.
4953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
4958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
4961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_MemTxCpltCallback could be implemented in the user file
4964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
4965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Memory Rx Transfer completed callback.
4969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
4974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
4977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_MemRxCpltCallback could be implemented in the user file
4980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
4981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
4984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  I2C error callback.
4985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
4988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
4989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
4990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
4991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 89


4992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
4993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_ErrorCallback could be implemented in the user file
4996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
4997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
4998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
4999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  I2C abort callback.
5001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
5003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
5006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
5008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(hi2c);
5009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
5011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             the HAL_I2C_AbortCpltCallback could be implemented in the user file
5012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****    */
5013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @}
5017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
5020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  *  @brief   Peripheral State, Mode and Error functions
5021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *
5022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @verbatim
5023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  ===============================================================================
5024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             ##### Peripheral State, Mode and Error functions #####
5025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****  ===============================================================================
5026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     [..]
5027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     This subsection permit to get in run-time the status of the peripheral
5028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     and the data flow.
5029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** @endverbatim
5031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @{
5032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Return the I2C handle state.
5036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
5038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL state
5039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c)
5041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Return I2C handle state */
5043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return hi2c->State;
5044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Returns the I2C Master, Slave, Memory or no mode.
5048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 90


5049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL mode
5051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c)
5053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return hi2c->Mode;
5055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Return the I2C error code.
5059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *              the configuration information for the specified I2C.
5061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval I2C Error Code
5062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c)
5064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return hi2c->ErrorCode;
5066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @}
5070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @}
5074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
5077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @{
5078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle TXE flag for Master
5082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterTransmit_TXE(I2C_HandleTypeDef *hi2c)
5087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
5089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
5090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef CurrentMode   = hi2c->Mode;
5091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
5092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((hi2c->XferSize == 0U) && (CurrentState == HAL_I2C_STATE_BUSY_TX))
5094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Call TxCpltCallback() directly if no stop mode is set */
5096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((CurrentXferOptions != I2C_FIRST_AND_LAST_FRAME) && (CurrentXferOptions != I2C_LAST_FRAME) 
5097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
5102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
5103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->MasterTxCpltCallback(hi2c);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 91


5106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       HAL_I2C_MasterTxCpltCallback(hi2c);
5108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else /* Generate Stop condition then Call TxCpltCallback() */
5111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable EVT, BUF and ERR interrupt */
5113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
5116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
5117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_NONE;
5119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
5120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->Mode == HAL_I2C_MODE_MEM)
5122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
5124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MemTxCpltCallback(hi2c);
5126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         HAL_I2C_MemTxCpltCallback(hi2c);
5128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
5131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
5133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MasterTxCpltCallback(hi2c);
5135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         HAL_I2C_MasterTxCpltCallback(hi2c);
5137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if ((CurrentState == HAL_I2C_STATE_BUSY_TX) || \
5142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            ((CurrentMode == HAL_I2C_MODE_MEM) && (CurrentState == HAL_I2C_STATE_BUSY_RX)))
5143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferCount == 0U)
5145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable BUF interrupt */
5147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
5150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->Mode == HAL_I2C_MODE_MEM)
5152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->EventCount == 0U)
5154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* If Memory address size is 8Bit */
5156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (hi2c->MemaddSize == I2C_MEMADD_SIZE_8BIT)
5157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
5158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Send Memory Address */
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->Instance->DR = I2C_MEM_ADD_LSB(hi2c->Memaddress);
5160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->EventCount += 2U;
5162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 92


5163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* If Memory address size is 16Bit */
5164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           else
5165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
5166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Send MSB of Memory Address */
5167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->Instance->DR = I2C_MEM_ADD_MSB(hi2c->Memaddress);
5168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->EventCount++;
5170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
5171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else if (hi2c->EventCount == 1U)
5173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Send LSB of Memory Address */
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Instance->DR = I2C_MEM_ADD_LSB(hi2c->Memaddress);
5176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->EventCount++;
5178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else if (hi2c->EventCount == 2U)
5180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
5183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Generate Restart */
5184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->Instance->CR1 |= I2C_CR1_START;
5185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
5186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
5188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Write data to DR */
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->Instance->DR = *hi2c->pBuffPtr;
5190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Increment Buffer pointer */
5192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->pBuffPtr++;
5193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Update counter */
5195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             hi2c->XferCount--;
5196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
5197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           else
5198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
5199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Do nothing */
5200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
5201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
5203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Do nothing */
5205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
5208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Write data to DR */
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Instance->DR = *hi2c->pBuffPtr;
5211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Increment Buffer pointer */
5213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->pBuffPtr++;
5214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Update counter */
5216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
5217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 93


5220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
5221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Do nothing */
5223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle BTF flag for Master transmitter
5228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterTransmit_BTF(I2C_HandleTypeDef *hi2c)
5233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
5235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions = hi2c->XferOptions;
5236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferCount != 0U)
5240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Write data to DR */
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Instance->DR = *hi2c->pBuffPtr;
5243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
5245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
5246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update counter */
5248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
5249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
5251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Call TxCpltCallback() directly if no stop mode is set */
5253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((CurrentXferOptions != I2C_FIRST_AND_LAST_FRAME) && (CurrentXferOptions != I2C_LAST_FRAME
5254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
5259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
5260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MasterTxCpltCallback(hi2c);
5263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         HAL_I2C_MasterTxCpltCallback(hi2c);
5265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else /* Generate Stop condition then Call TxCpltCallback() */
5268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Disable EVT, BUF and ERR interrupt */
5270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Stop */
5273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
5274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_NONE;
5276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 94


5277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (hi2c->Mode == HAL_I2C_MODE_MEM)
5279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode = HAL_I2C_MODE_NONE;
5281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->MemTxCpltCallback(hi2c);
5283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           HAL_I2C_MemTxCpltCallback(hi2c);
5285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
5288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode = HAL_I2C_MODE_NONE;
5290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->MasterTxCpltCallback(hi2c);
5293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           HAL_I2C_MasterTxCpltCallback(hi2c);
5295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle RXNE flag for Master
5304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterReceive_RXNE(I2C_HandleTypeDef *hi2c)
5309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     uint32_t tmp;
5313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp = hi2c->XferCount;
5315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (tmp > 3U)
5316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Read data from DR */
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
5321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
5322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update counter */
5324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
5325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->XferCount == (uint16_t)3)
5327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Disable BUF interrupt, this help to treat correctly the last 4 bytes
5329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         on BTF subroutine */
5330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Disable BUF interrupt */
5331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 95


5334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if ((hi2c->XferOptions != I2C_FIRST_AND_NEXT_FRAME) && ((tmp == 1U) || (tmp == 0U)))
5335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable Acknowledge */
5337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable EVT, BUF and ERR interrupt */
5340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Read data from DR */
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
5346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
5347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update counter */
5349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
5350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
5352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->Mode == HAL_I2C_MODE_MEM)
5354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
5356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_NONE;
5357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MemRxCpltCallback(hi2c);
5360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         HAL_I2C_MemRxCpltCallback(hi2c);
5362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
5365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
5367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
5368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MasterRxCpltCallback(hi2c);
5371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         HAL_I2C_MasterRxCpltCallback(hi2c);
5373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
5377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Do nothing */
5379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle BTF flag for Master receiver
5385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_MasterReceive_BTF(I2C_HandleTypeDef *hi2c)
5390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 96


5391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
5392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions = hi2c->XferOptions;
5393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->XferCount == 4U)
5395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable BUF interrupt, this help to treat correctly the last 2 bytes
5397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        on BTF subroutine if there is a reception delay between N-1 and N byte */
5398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Read data from DR */
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Increment Buffer pointer */
5404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr++;
5405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update counter */
5407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount--;
5408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if (hi2c->XferCount == 3U)
5410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable BUF interrupt, this help to treat correctly the last 2 bytes
5412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****        on BTF subroutine if there is a reception delay between N-1 and N byte */
5413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((CurrentXferOptions != I2C_NEXT_FRAME) && (CurrentXferOptions != I2C_FIRST_AND_NEXT_FRAME))
5416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable Acknowledge */
5418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Read data from DR */
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Increment Buffer pointer */
5425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr++;
5426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update counter */
5428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount--;
5429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if (hi2c->XferCount == 2U)
5431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare next transfer or stop current transfer */
5433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((CurrentXferOptions == I2C_FIRST_FRAME) || (CurrentXferOptions == I2C_LAST_FRAME_NO_STOP))
5434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable Acknowledge */
5436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if ((CurrentXferOptions == I2C_NEXT_FRAME) || (CurrentXferOptions == I2C_FIRST_AND_NEXT_FR
5439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Acknowledge */
5441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if (CurrentXferOptions != I2C_LAST_FRAME_NO_STOP)
5444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
5446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
5447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 97


5448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
5449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Do nothing */
5451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Read data from DR */
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Increment Buffer pointer */
5457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr++;
5458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update counter */
5460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount--;
5461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Read data from DR */
5463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Increment Buffer pointer */
5466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr++;
5467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update counter */
5469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount--;
5470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable EVT and ERR interrupt */
5472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
5473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
5475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->Mode == HAL_I2C_MODE_MEM)
5476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
5478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_NONE;
5479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->MemRxCpltCallback(hi2c);
5481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       HAL_I2C_MemRxCpltCallback(hi2c);
5483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
5486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
5488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
5489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->MasterRxCpltCallback(hi2c);
5491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       HAL_I2C_MasterRxCpltCallback(hi2c);
5493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
5497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Read data from DR */
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Increment Buffer pointer */
5502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr++;
5503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update counter */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 98


5505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount--;
5506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle SB flag for Master
5511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_SB(I2C_HandleTypeDef *hi2c)
5516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
  27                            .loc 1 5516 1 view -0
  28                            .cfi_startproc
  29                            @ args = 0, pretend = 0, frame = 0
  30                            @ frame_needed = 0, uses_anonymous_args = 0
  31                            @ link register save eliminated.
5517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->Mode == HAL_I2C_MODE_MEM)
  32                            .loc 1 5517 3 view .LVU1
  33                            .loc 1 5517 11 is_stmt 0 view .LVU2
  34 0000 90F83E30              ldrb    r3, [r0, #62]   @ zero_extendqisi2
  35 0004 DBB2                  uxtb    r3, r3
  36                            .loc 1 5517 6 view .LVU3
  37 0006 402B                  cmp     r3, #64
  38 0008 10D0                  beq     .L11
5518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->EventCount == 0U)
5520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Send slave address */
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(hi2c->Devaddress);
5523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
5525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Instance->DR = I2C_7BIT_ADD_READ(hi2c->Devaddress);
5527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
5530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
  39                            .loc 1 5531 5 is_stmt 1 view .LVU4
  40                            .loc 1 5531 19 is_stmt 0 view .LVU5
  41 000a 0369                  ldr     r3, [r0, #16]
  42                            .loc 1 5531 8 view .LVU6
  43 000c B3F5804F              cmp     r3, #16384
  44 0010 1BD0                  beq     .L12
5532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Send slave 7 Bits address */
5534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(hi2c->Devaddress);
5537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
5539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Instance->DR = I2C_7BIT_ADD_READ(hi2c->Devaddress);
5541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((hi2c->hdmatx != NULL) || (hi2c->hdmarx != NULL))
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 99


5544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if ((hi2c->hdmatx->XferCpltCallback != NULL) || (hi2c->hdmarx->XferCpltCallback != NULL))
5546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable DMA Request */
5548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
5549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
5553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->EventCount == 0U)
  45                            .loc 1 5554 7 is_stmt 1 view .LVU7
  46                            .loc 1 5554 15 is_stmt 0 view .LVU8
  47 0012 036D                  ldr     r3, [r0, #80]
  48                            .loc 1 5554 10 view .LVU9
  49 0014 002B                  cmp     r3, #0
  50 0016 3CD1                  bne     .L10
5555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Send header of slave address */
5557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Instance->DR = I2C_10BIT_HEADER_WRITE(hi2c->Devaddress);
  51                            .loc 1 5557 9 is_stmt 1 view .LVU10
  52                            .loc 1 5557 30 is_stmt 0 view .LVU11
  53 0018 436C                  ldr     r3, [r0, #68]
  54 001a C3F3C813              ubfx    r3, r3, #7, #9
  55                            .loc 1 5557 13 view .LVU12
  56 001e 0268                  ldr     r2, [r0]
  57                            .loc 1 5557 30 view .LVU13
  58 0020 03F00603              and     r3, r3, #6
  59 0024 43F0F003              orr     r3, r3, #240
  60                            .loc 1 5557 28 view .LVU14
  61 0028 1361                  str     r3, [r2, #16]
  62 002a 7047                  bx      lr
  63                    .L11:
5519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
  64                            .loc 1 5519 5 is_stmt 1 view .LVU15
5519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
  65                            .loc 1 5519 13 is_stmt 0 view .LVU16
  66 002c 036D                  ldr     r3, [r0, #80]
5519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
  67                            .loc 1 5519 8 view .LVU17
  68 002e 2BB9                  cbnz    r3, .L3
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
  69                            .loc 1 5522 7 is_stmt 1 view .LVU18
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
  70                            .loc 1 5522 28 is_stmt 0 view .LVU19
  71 0030 436C                  ldr     r3, [r0, #68]
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
  72                            .loc 1 5522 11 view .LVU20
  73 0032 0268                  ldr     r2, [r0]
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
  74                            .loc 1 5522 28 view .LVU21
  75 0034 03F0FE03              and     r3, r3, #254
5522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
  76                            .loc 1 5522 26 view .LVU22
  77 0038 1361                  str     r3, [r2, #16]
  78 003a 7047                  bx      lr
  79                    .L3:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 100


5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
  80                            .loc 1 5526 7 is_stmt 1 view .LVU23
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
  81                            .loc 1 5526 28 is_stmt 0 view .LVU24
  82 003c 436C                  ldr     r3, [r0, #68]
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
  83                            .loc 1 5526 11 view .LVU25
  84 003e 0268                  ldr     r2, [r0]
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
  85                            .loc 1 5526 28 view .LVU26
  86 0040 43F00103              orr     r3, r3, #1
  87 0044 DBB2                  uxtb    r3, r3
5526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
  88                            .loc 1 5526 26 view .LVU27
  89 0046 1361                  str     r3, [r2, #16]
  90 0048 7047                  bx      lr
  91                    .L12:
5534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
  92                            .loc 1 5534 7 is_stmt 1 view .LVU28
5534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
  93                            .loc 1 5534 15 is_stmt 0 view .LVU29
  94 004a 90F83D30              ldrb    r3, [r0, #61]   @ zero_extendqisi2
  95 004e DBB2                  uxtb    r3, r3
5534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
  96                            .loc 1 5534 10 view .LVU30
  97 0050 212B                  cmp     r3, #33
  98 0052 0FD0                  beq     .L13
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
  99                            .loc 1 5540 9 is_stmt 1 view .LVU31
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 100                            .loc 1 5540 30 is_stmt 0 view .LVU32
 101 0054 436C                  ldr     r3, [r0, #68]
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 102                            .loc 1 5540 13 view .LVU33
 103 0056 0268                  ldr     r2, [r0]
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 104                            .loc 1 5540 30 view .LVU34
 105 0058 43F00103              orr     r3, r3, #1
 106 005c DBB2                  uxtb    r3, r3
5540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 107                            .loc 1 5540 28 view .LVU35
 108 005e 1361                  str     r3, [r2, #16]
 109                    .L7:
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 110                            .loc 1 5543 7 is_stmt 1 view .LVU36
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 111                            .loc 1 5543 16 is_stmt 0 view .LVU37
 112 0060 436B                  ldr     r3, [r0, #52]
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 113                            .loc 1 5543 10 view .LVU38
 114 0062 6BB1                  cbz     r3, .L14
 115                    .L8:
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 116                            .loc 1 5545 9 is_stmt 1 view .LVU39
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 117                            .loc 1 5545 26 is_stmt 0 view .LVU40
 118 0064 9B6A                  ldr     r3, [r3, #40]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 101


5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 119                            .loc 1 5545 12 view .LVU41
 120 0066 7BB1                  cbz     r3, .L15
 121                    .L9:
5548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 122                            .loc 1 5548 11 is_stmt 1 view .LVU42
 123 0068 0268                  ldr     r2, [r0]
 124 006a 5368                  ldr     r3, [r2, #4]
 125 006c 43F40063              orr     r3, r3, #2048
 126 0070 5360                  str     r3, [r2, #4]
 127 0072 7047                  bx      lr
 128                    .L13:
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 129                            .loc 1 5536 9 view .LVU43
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 130                            .loc 1 5536 30 is_stmt 0 view .LVU44
 131 0074 436C                  ldr     r3, [r0, #68]
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 132                            .loc 1 5536 13 view .LVU45
 133 0076 0268                  ldr     r2, [r0]
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 134                            .loc 1 5536 30 view .LVU46
 135 0078 03F0FE03              and     r3, r3, #254
5536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 136                            .loc 1 5536 28 view .LVU47
 137 007c 1361                  str     r3, [r2, #16]
 138 007e EFE7                  b       .L7
 139                    .L14:
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 140                            .loc 1 5543 42 discriminator 1 view .LVU48
 141 0080 826B                  ldr     r2, [r0, #56]
5543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 142                            .loc 1 5543 34 discriminator 1 view .LVU49
 143 0082 002A                  cmp     r2, #0
 144 0084 EED1                  bne     .L8
 145 0086 07E0                  b       .L1
 146                    .L15:
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 147                            .loc 1 5545 62 discriminator 1 view .LVU50
 148 0088 836B                  ldr     r3, [r0, #56]
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 149                            .loc 1 5545 70 discriminator 1 view .LVU51
 150 008a 9B6A                  ldr     r3, [r3, #40]
5545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 151                            .loc 1 5545 54 discriminator 1 view .LVU52
 152 008c 002B                  cmp     r3, #0
 153 008e EBD1                  bne     .L9
 154 0090 02E0                  b       .L1
 155                    .L10:
5558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else if (hi2c->EventCount == 1U)
 156                            .loc 1 5559 12 is_stmt 1 view .LVU53
 157                            .loc 1 5559 20 is_stmt 0 view .LVU54
 158 0092 036D                  ldr     r3, [r0, #80]
 159                            .loc 1 5559 15 view .LVU55
 160 0094 012B                  cmp     r3, #1
 161 0096 00D0                  beq     .L16
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 102


 162                    .L1:
5560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Send header of slave address */
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Instance->DR = I2C_10BIT_HEADER_READ(hi2c->Devaddress);
5563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
5565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Do nothing */
5567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 163                            .loc 1 5570 1 view .LVU56
 164 0098 7047                  bx      lr
 165                    .L16:
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 166                            .loc 1 5562 9 is_stmt 1 view .LVU57
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 167                            .loc 1 5562 30 is_stmt 0 view .LVU58
 168 009a 436C                  ldr     r3, [r0, #68]
 169 009c C3F3C813              ubfx    r3, r3, #7, #9
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 170                            .loc 1 5562 13 view .LVU59
 171 00a0 0268                  ldr     r2, [r0]
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 172                            .loc 1 5562 30 view .LVU60
 173 00a2 03F00603              and     r3, r3, #6
 174 00a6 43F0F103              orr     r3, r3, #241
5562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 175                            .loc 1 5562 28 view .LVU61
 176 00aa 1361                  str     r3, [r2, #16]
5567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 177                            .loc 1 5567 7 is_stmt 1 view .LVU62
 178                            .loc 1 5570 1 is_stmt 0 view .LVU63
 179 00ac F4E7                  b       .L1
 180                            .cfi_endproc
 181                    .LFE118:
 183                            .section        .text.I2C_Master_ADD10,"ax",%progbits
 184                            .align  1
 185                            .syntax unified
 186                            .thumb
 187                            .thumb_func
 188                            .fpu softvfp
 190                    I2C_Master_ADD10:
 191                    .LVL1:
 192                    .LFB119:
5571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle ADD10 flag for Master
5574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_ADD10(I2C_HandleTypeDef *hi2c)
5579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 193                            .loc 1 5579 1 is_stmt 1 view -0
 194                            .cfi_startproc
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 103


 195                            @ args = 0, pretend = 0, frame = 0
 196                            @ frame_needed = 0, uses_anonymous_args = 0
 197                            @ link register save eliminated.
5580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Send slave address */
5581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Instance->DR = I2C_10BIT_ADDRESS(hi2c->Devaddress);
 198                            .loc 1 5581 3 view .LVU65
 199                            .loc 1 5581 24 is_stmt 0 view .LVU66
 200 0000 436C                  ldr     r3, [r0, #68]
 201                            .loc 1 5581 7 view .LVU67
 202 0002 0268                  ldr     r2, [r0]
 203 0004 DBB2                  uxtb    r3, r3
 204                            .loc 1 5581 22 view .LVU68
 205 0006 1361                  str     r3, [r2, #16]
5582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((hi2c->hdmatx != NULL) || (hi2c->hdmarx != NULL))
 206                            .loc 1 5583 3 is_stmt 1 view .LVU69
 207                            .loc 1 5583 12 is_stmt 0 view .LVU70
 208 0008 436B                  ldr     r3, [r0, #52]
 209                            .loc 1 5583 6 view .LVU71
 210 000a 3BB1                  cbz     r3, .L21
 211                    .L18:
5584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->hdmatx->XferCpltCallback != NULL) || (hi2c->hdmarx->XferCpltCallback != NULL))
 212                            .loc 1 5585 5 is_stmt 1 view .LVU72
 213                            .loc 1 5585 22 is_stmt 0 view .LVU73
 214 000c 9B6A                  ldr     r3, [r3, #40]
 215                            .loc 1 5585 8 view .LVU74
 216 000e 4BB1                  cbz     r3, .L22
 217                    .L20:
5586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable DMA Request */
5588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
 218                            .loc 1 5588 7 is_stmt 1 view .LVU75
 219 0010 0268                  ldr     r2, [r0]
 220 0012 5368                  ldr     r3, [r2, #4]
 221 0014 43F40063              orr     r3, r3, #2048
 222 0018 5360                  str     r3, [r2, #4]
 223                    .L17:
5589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 224                            .loc 1 5591 1 is_stmt 0 view .LVU76
 225 001a 7047                  bx      lr
 226                    .L21:
5583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 227                            .loc 1 5583 38 discriminator 1 view .LVU77
 228 001c 826B                  ldr     r2, [r0, #56]
5583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 229                            .loc 1 5583 30 discriminator 1 view .LVU78
 230 001e 002A                  cmp     r2, #0
 231 0020 F4D1                  bne     .L18
 232 0022 FAE7                  b       .L17
 233                    .L22:
5585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 234                            .loc 1 5585 58 discriminator 1 view .LVU79
 235 0024 836B                  ldr     r3, [r0, #56]
5585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 104


 236                            .loc 1 5585 66 discriminator 1 view .LVU80
 237 0026 9B6A                  ldr     r3, [r3, #40]
5585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 238                            .loc 1 5585 50 discriminator 1 view .LVU81
 239 0028 002B                  cmp     r3, #0
 240 002a F1D1                  bne     .L20
 241 002c F5E7                  b       .L17
 242                            .cfi_endproc
 243                    .LFE119:
 245                            .section        .text.I2C_Master_ADDR,"ax",%progbits
 246                            .align  1
 247                            .syntax unified
 248                            .thumb
 249                            .thumb_func
 250                            .fpu softvfp
 252                    I2C_Master_ADDR:
 253                    .LVL2:
 254                    .LFB120:
5592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle ADDR flag for Master
5595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Master_ADDR(I2C_HandleTypeDef *hi2c)
5600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 255                            .loc 1 5600 1 is_stmt 1 view -0
 256                            .cfi_startproc
 257                            @ args = 0, pretend = 0, frame = 48
 258                            @ frame_needed = 0, uses_anonymous_args = 0
 259                            @ link register save eliminated.
 260                            .loc 1 5600 1 is_stmt 0 view .LVU83
 261 0000 10B4                  push    {r4}
 262                    .LCFI0:
 263                            .cfi_def_cfa_offset 4
 264                            .cfi_offset 4, -4
 265 0002 8DB0                  sub     sp, sp, #52
 266                    .LCFI1:
 267                            .cfi_def_cfa_offset 56
5601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
5602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef CurrentMode       = hi2c->Mode;
 268                            .loc 1 5602 3 is_stmt 1 view .LVU84
 269                            .loc 1 5602 23 is_stmt 0 view .LVU85
 270 0004 90F83E30              ldrb    r3, [r0, #62]   @ zero_extendqisi2
 271 0008 DAB2                  uxtb    r2, r3
 272                    .LVL3:
5603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions           = hi2c->XferOptions;
 273                            .loc 1 5603 3 is_stmt 1 view .LVU86
 274                            .loc 1 5603 12 is_stmt 0 view .LVU87
 275 000a C16A                  ldr     r1, [r0, #44]
 276                    .LVL4:
5604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t Prev_State                   = hi2c->PreviousState;
 277                            .loc 1 5604 3 is_stmt 1 view .LVU88
 278                            .loc 1 5604 12 is_stmt 0 view .LVU89
 279 000c 046B                  ldr     r4, [r0, #48]
 280                    .LVL5:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 105


5605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
 281                            .loc 1 5606 3 is_stmt 1 view .LVU90
 282                            .loc 1 5606 11 is_stmt 0 view .LVU91
 283 000e 90F83D30              ldrb    r3, [r0, #61]   @ zero_extendqisi2
 284 0012 DBB2                  uxtb    r3, r3
 285                            .loc 1 5606 6 view .LVU92
 286 0014 222B                  cmp     r3, #34
 287 0016 0AD0                  beq     .L44
5607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->EventCount == 0U) && (CurrentMode == HAL_I2C_MODE_MEM))
5609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if ((hi2c->EventCount == 0U) && (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT))
5614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Restart */
5619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
5620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->EventCount++;
5622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
5624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->XferCount == 0U)
5626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Clear ADDR flag */
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Stop */
5631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
5632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else if (hi2c->XferCount == 1U)
5634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (CurrentXferOptions == I2C_NO_OPTION_FRAME)
5636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable Acknowledge */
5638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
5641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
5642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Disable Acknowledge */
5643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Clear ADDR flag */
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
5648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           else
5649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
5650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Clear ADDR flag */
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Generate Stop */
5654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 106


5655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
5656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Prepare next transfer or stop current transfer */
5658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else if ((CurrentXferOptions != I2C_FIRST_AND_LAST_FRAME) && (CurrentXferOptions != I2C_LAS
5659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                  && ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (CurrentXferOptions == I2C_FIRST_F
5660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           if ((CurrentXferOptions != I2C_NEXT_FRAME) && (CurrentXferOptions != I2C_FIRST_AND_NEXT_F
5662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
5663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Disable Acknowledge */
5664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
5666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           else
5667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
5668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             /* Enable Acknowledge */
5669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****             SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
5671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Clear ADDR flag */
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
5676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable Acknowledge */
5678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Clear ADDR flag */
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Generate Stop */
5684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
5685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else if (hi2c->XferCount == 2U)
5688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if ((CurrentXferOptions != I2C_NEXT_FRAME) && (CurrentXferOptions != I2C_FIRST_AND_NEXT_FRA
5690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable Pos */
5692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS);
5693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Clear ADDR flag */
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Disable Acknowledge */
5698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         else
5701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable Acknowledge */
5703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Clear ADDR flag */
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) && ((CurrentXferOptions == I2C
5710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable Last DMA bit */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 107


5712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
5713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
5716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Enable Acknowledge */
5718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) && ((CurrentXferOptions == I2C
5721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Enable Last DMA bit */
5723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
5724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Clear ADDR flag */
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
5728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Reset Event counter  */
5731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->EventCount = 0U;
5732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
5735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear ADDR flag */
5737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
 288                            .loc 1 5737 5 is_stmt 1 view .LVU93
 289                    .LBB42:
 290                            .loc 1 5737 5 view .LVU94
 291 0018 0023                  movs    r3, #0
 292 001a 0B93                  str     r3, [sp, #44]
 293                            .loc 1 5737 5 view .LVU95
 294 001c 0368                  ldr     r3, [r0]
 295 001e 5A69                  ldr     r2, [r3, #20]
 296                    .LVL6:
 297                            .loc 1 5737 5 is_stmt 0 view .LVU96
 298 0020 0B92                  str     r2, [sp, #44]
 299                            .loc 1 5737 5 is_stmt 1 view .LVU97
 300 0022 9B69                  ldr     r3, [r3, #24]
 301 0024 0B93                  str     r3, [sp, #44]
 302                            .loc 1 5737 5 view .LVU98
 303 0026 0B9B                  ldr     r3, [sp, #44]
 304                    .L23:
 305                    .LBE42:
5738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 306                            .loc 1 5739 1 is_stmt 0 view .LVU99
 307 0028 0DB0                  add     sp, sp, #52
 308                    .LCFI2:
 309                            .cfi_remember_state
 310                            .cfi_def_cfa_offset 4
 311                            @ sp needed
 312 002a 10BC                  pop     {r4}
 313                    .LCFI3:
 314                            .cfi_restore 4
 315                            .cfi_def_cfa_offset 0
 316                    .LVL7:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 108


 317                            .loc 1 5739 1 view .LVU100
 318 002c 7047                  bx      lr
 319                    .LVL8:
 320                    .L44:
 321                    .LCFI4:
 322                            .cfi_restore_state
5608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 323                            .loc 1 5608 5 is_stmt 1 view .LVU101
5608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 324                            .loc 1 5608 14 is_stmt 0 view .LVU102
 325 002e 036D                  ldr     r3, [r0, #80]
5608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 326                            .loc 1 5608 8 view .LVU103
 327 0030 0BB9                  cbnz    r3, .L25
5608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 328                            .loc 1 5608 34 discriminator 1 view .LVU104
 329 0032 402A                  cmp     r2, #64
 330 0034 17D0                  beq     .L45
 331                    .L25:
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 332                            .loc 1 5613 10 is_stmt 1 view .LVU105
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 333                            .loc 1 5613 19 is_stmt 0 view .LVU106
 334 0036 036D                  ldr     r3, [r0, #80]
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 335                            .loc 1 5613 13 view .LVU107
 336 0038 1BB9                  cbnz    r3, .L27
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 337                            .loc 1 5613 53 discriminator 1 view .LVU108
 338 003a 0369                  ldr     r3, [r0, #16]
5613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 339                            .loc 1 5613 39 discriminator 1 view .LVU109
 340 003c B3F5404F              cmp     r3, #49152
 341 0040 19D0                  beq     .L46
 342                    .L27:
5625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 343                            .loc 1 5625 7 is_stmt 1 view .LVU110
5625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 344                            .loc 1 5625 15 is_stmt 0 view .LVU111
 345 0042 438D                  ldrh    r3, [r0, #42]
 346 0044 9BB2                  uxth    r3, r3
5625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 347                            .loc 1 5625 10 view .LVU112
 348 0046 002B                  cmp     r3, #0
 349 0048 25D1                  bne     .L28
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 350                            .loc 1 5628 9 is_stmt 1 view .LVU113
 351                    .LBB43:
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 352                            .loc 1 5628 9 view .LVU114
 353 004a 0393                  str     r3, [sp, #12]
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 354                            .loc 1 5628 9 view .LVU115
 355 004c 0368                  ldr     r3, [r0]
 356 004e 5A69                  ldr     r2, [r3, #20]
 357                    .LVL9:
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 109


 358                            .loc 1 5628 9 is_stmt 0 view .LVU116
 359 0050 0392                  str     r2, [sp, #12]
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 360                            .loc 1 5628 9 is_stmt 1 view .LVU117
 361 0052 9A69                  ldr     r2, [r3, #24]
 362 0054 0392                  str     r2, [sp, #12]
5628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 363                            .loc 1 5628 9 view .LVU118
 364 0056 039A                  ldr     r2, [sp, #12]
 365                    .LBE43:
5631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 366                            .loc 1 5631 9 view .LVU119
 367 0058 1A68                  ldr     r2, [r3]
 368 005a 42F40072              orr     r2, r2, #512
 369 005e 1A60                  str     r2, [r3]
 370                    .L29:
5731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 371                            .loc 1 5731 7 view .LVU120
5731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 372                            .loc 1 5731 24 is_stmt 0 view .LVU121
 373 0060 0023                  movs    r3, #0
 374 0062 0365                  str     r3, [r0, #80]
 375 0064 E0E7                  b       .L23
 376                    .LVL10:
 377                    .L45:
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 378                            .loc 1 5611 7 is_stmt 1 view .LVU122
 379                    .LBB44:
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 380                            .loc 1 5611 7 view .LVU123
 381 0066 0193                  str     r3, [sp, #4]
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 382                            .loc 1 5611 7 view .LVU124
 383 0068 0368                  ldr     r3, [r0]
 384 006a 5A69                  ldr     r2, [r3, #20]
 385                    .LVL11:
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 386                            .loc 1 5611 7 is_stmt 0 view .LVU125
 387 006c 0192                  str     r2, [sp, #4]
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 388                            .loc 1 5611 7 is_stmt 1 view .LVU126
 389 006e 9B69                  ldr     r3, [r3, #24]
 390 0070 0193                  str     r3, [sp, #4]
5611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 391                            .loc 1 5611 7 view .LVU127
 392 0072 019B                  ldr     r3, [sp, #4]
 393                    .LBE44:
 394 0074 D8E7                  b       .L23
 395                    .LVL12:
 396                    .L46:
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 397                            .loc 1 5616 7 view .LVU128
 398                    .LBB45:
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 399                            .loc 1 5616 7 view .LVU129
 400 0076 0023                  movs    r3, #0
 401 0078 0293                  str     r3, [sp, #8]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 110


5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 402                            .loc 1 5616 7 view .LVU130
 403 007a 0368                  ldr     r3, [r0]
 404 007c 5A69                  ldr     r2, [r3, #20]
 405                    .LVL13:
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 406                            .loc 1 5616 7 is_stmt 0 view .LVU131
 407 007e 0292                  str     r2, [sp, #8]
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 408                            .loc 1 5616 7 is_stmt 1 view .LVU132
 409 0080 9A69                  ldr     r2, [r3, #24]
 410 0082 0292                  str     r2, [sp, #8]
5616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 411                            .loc 1 5616 7 view .LVU133
 412 0084 029A                  ldr     r2, [sp, #8]
 413                    .LBE45:
5619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 414                            .loc 1 5619 7 view .LVU134
 415 0086 1A68                  ldr     r2, [r3]
 416 0088 42F48072              orr     r2, r2, #256
 417 008c 1A60                  str     r2, [r3]
5621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 418                            .loc 1 5621 7 view .LVU135
5621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 419                            .loc 1 5621 11 is_stmt 0 view .LVU136
 420 008e 036D                  ldr     r3, [r0, #80]
5621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 421                            .loc 1 5621 23 view .LVU137
 422 0090 0133                  adds    r3, r3, #1
 423 0092 0365                  str     r3, [r0, #80]
 424 0094 C8E7                  b       .L23
 425                    .LVL14:
 426                    .L28:
5633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 427                            .loc 1 5633 12 is_stmt 1 view .LVU138
5633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 428                            .loc 1 5633 20 is_stmt 0 view .LVU139
 429 0096 438D                  ldrh    r3, [r0, #42]
 430 0098 9BB2                  uxth    r3, r3
5633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 431                            .loc 1 5633 15 view .LVU140
 432 009a 012B                  cmp     r3, #1
 433 009c 25D0                  beq     .L47
5687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 434                            .loc 1 5687 12 is_stmt 1 view .LVU141
5687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 435                            .loc 1 5687 20 is_stmt 0 view .LVU142
 436 009e 438D                  ldrh    r3, [r0, #42]
 437 00a0 9BB2                  uxth    r3, r3
5687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 438                            .loc 1 5687 15 view .LVU143
 439 00a2 022B                  cmp     r3, #2
 440 00a4 7BD0                  beq     .L48
5718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 441                            .loc 1 5718 9 is_stmt 1 view .LVU144
 442 00a6 0268                  ldr     r2, [r0]
 443                    .LVL15:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 111


5718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 444                            .loc 1 5718 9 is_stmt 0 view .LVU145
 445 00a8 1368                  ldr     r3, [r2]
 446 00aa 43F48063              orr     r3, r3, #1024
 447 00ae 1360                  str     r3, [r2]
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 448                            .loc 1 5720 9 is_stmt 1 view .LVU146
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 449                            .loc 1 5720 19 is_stmt 0 view .LVU147
 450 00b0 0368                  ldr     r3, [r0]
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 451                            .loc 1 5720 29 view .LVU148
 452 00b2 5A68                  ldr     r2, [r3, #4]
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 453                            .loc 1 5720 12 view .LVU149
 454 00b4 12F4006F              tst     r2, #2048
 455 00b8 0ED0                  beq     .L41
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 456                            .loc 1 5720 70 discriminator 1 view .LVU150
 457 00ba 11F5803F              cmn     r1, #65536
 458 00be 07D0                  beq     .L42
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 459                            .loc 1 5720 118 discriminator 2 view .LVU151
 460 00c0 0129                  cmp     r1, #1
 461 00c2 05D0                  beq     .L42
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 462                            .loc 1 5720 161 discriminator 3 view .LVU152
 463 00c4 0829                  cmp     r1, #8
 464 00c6 03D0                  beq     .L42
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 465                            .loc 1 5720 213 discriminator 4 view .LVU153
 466 00c8 1029                  cmp     r1, #16
 467 00ca 01D0                  beq     .L42
5720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 468                            .loc 1 5720 263 discriminator 5 view .LVU154
 469 00cc 2029                  cmp     r1, #32
 470 00ce 03D1                  bne     .L41
 471                    .L42:
5723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 472                            .loc 1 5723 11 is_stmt 1 view .LVU155
 473 00d0 5A68                  ldr     r2, [r3, #4]
 474 00d2 42F48052              orr     r2, r2, #4096
 475 00d6 5A60                  str     r2, [r3, #4]
 476                    .L41:
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 477                            .loc 1 5727 9 view .LVU156
 478                    .LBB46:
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 479                            .loc 1 5727 9 view .LVU157
 480 00d8 0023                  movs    r3, #0
 481 00da 0A93                  str     r3, [sp, #40]
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 482                            .loc 1 5727 9 view .LVU158
 483 00dc 0368                  ldr     r3, [r0]
 484 00de 5A69                  ldr     r2, [r3, #20]
 485 00e0 0A92                  str     r2, [sp, #40]
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 112


 486                            .loc 1 5727 9 view .LVU159
 487 00e2 9B69                  ldr     r3, [r3, #24]
 488 00e4 0A93                  str     r3, [sp, #40]
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 489                            .loc 1 5727 9 view .LVU160
 490 00e6 0A9B                  ldr     r3, [sp, #40]
 491 00e8 BAE7                  b       .L29
 492                    .LVL16:
 493                    .L47:
5727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 494                            .loc 1 5727 9 is_stmt 0 view .LVU161
 495                    .LBE46:
5635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 496                            .loc 1 5635 9 is_stmt 1 view .LVU162
5635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 497                            .loc 1 5635 12 is_stmt 0 view .LVU163
 498 00ea 11F5803F              cmn     r1, #65536
 499 00ee 11D0                  beq     .L49
5658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                  && ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (CurrentXferOptions == I2C_FIRST_F
 500                            .loc 1 5658 14 is_stmt 1 view .LVU164
5658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                  && ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (CurrentXferOptions == I2C_FIRST_F
 501                            .loc 1 5658 17 is_stmt 0 view .LVU165
 502 00f0 0829                  cmp     r1, #8
 503 00f2 34D0                  beq     .L33
5658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****                  && ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (CurrentXferOptions == I2C_FIRST_F
 504                            .loc 1 5658 67 discriminator 1 view .LVU166
 505 00f4 2029                  cmp     r1, #32
 506 00f6 32D0                  beq     .L33
5659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 507                            .loc 1 5659 18 view .LVU167
 508 00f8 122C                  cmp     r4, #18
 509 00fa 2ED0                  beq     .L50
 510                    .L34:
5661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 511                            .loc 1 5661 11 is_stmt 1 view .LVU168
5661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 512                            .loc 1 5661 14 is_stmt 0 view .LVU169
 513 00fc 0429                  cmp     r1, #4
 514 00fe 40D0                  beq     .L35
5661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 515                            .loc 1 5661 54 discriminator 1 view .LVU170
 516 0100 0229                  cmp     r1, #2
 517 0102 3ED0                  beq     .L35
5661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 518                            .loc 1 5661 106 discriminator 2 view .LVU171
 519 0104 1029                  cmp     r1, #16
 520 0106 3CD0                  beq     .L35
5664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 521                            .loc 1 5664 13 is_stmt 1 view .LVU172
 522 0108 0268                  ldr     r2, [r0]
 523                    .LVL17:
5664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 524                            .loc 1 5664 13 is_stmt 0 view .LVU173
 525 010a 1368                  ldr     r3, [r2]
 526 010c 23F48063              bic     r3, r3, #1024
 527 0110 1360                  str     r3, [r2]
 528 0112 3BE0                  b       .L36
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 113


 529                    .LVL18:
 530                    .L49:
5638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 531                            .loc 1 5638 11 is_stmt 1 view .LVU174
 532 0114 0268                  ldr     r2, [r0]
 533                    .LVL19:
5638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 534                            .loc 1 5638 11 is_stmt 0 view .LVU175
 535 0116 1368                  ldr     r3, [r2]
 536 0118 23F48063              bic     r3, r3, #1024
 537 011c 1360                  str     r3, [r2]
5640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 538                            .loc 1 5640 11 is_stmt 1 view .LVU176
5640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 539                            .loc 1 5640 20 is_stmt 0 view .LVU177
 540 011e 0368                  ldr     r3, [r0]
5640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 541                            .loc 1 5640 30 view .LVU178
 542 0120 5A68                  ldr     r2, [r3, #4]
5640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 543                            .loc 1 5640 14 view .LVU179
 544 0122 12F4006F              tst     r2, #2048
 545 0126 0CD0                  beq     .L32
5643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 546                            .loc 1 5643 13 is_stmt 1 view .LVU180
 547 0128 1A68                  ldr     r2, [r3]
 548 012a 22F48062              bic     r2, r2, #1024
 549 012e 1A60                  str     r2, [r3]
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 550                            .loc 1 5646 13 view .LVU181
 551                    .LBB47:
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 552                            .loc 1 5646 13 view .LVU182
 553 0130 0023                  movs    r3, #0
 554 0132 0493                  str     r3, [sp, #16]
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 555                            .loc 1 5646 13 view .LVU183
 556 0134 0368                  ldr     r3, [r0]
 557 0136 5A69                  ldr     r2, [r3, #20]
 558 0138 0492                  str     r2, [sp, #16]
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 559                            .loc 1 5646 13 view .LVU184
 560 013a 9B69                  ldr     r3, [r3, #24]
 561 013c 0493                  str     r3, [sp, #16]
5646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 562                            .loc 1 5646 13 view .LVU185
 563 013e 049B                  ldr     r3, [sp, #16]
 564                    .LBE47:
 565 0140 8EE7                  b       .L29
 566                    .L32:
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 567                            .loc 1 5651 13 view .LVU186
 568                    .LBB48:
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 569                            .loc 1 5651 13 view .LVU187
 570 0142 0022                  movs    r2, #0
 571 0144 0592                  str     r2, [sp, #20]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 114


5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 572                            .loc 1 5651 13 view .LVU188
 573 0146 5A69                  ldr     r2, [r3, #20]
 574 0148 0592                  str     r2, [sp, #20]
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 575                            .loc 1 5651 13 view .LVU189
 576 014a 9A69                  ldr     r2, [r3, #24]
 577 014c 0592                  str     r2, [sp, #20]
5651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 578                            .loc 1 5651 13 view .LVU190
 579 014e 059A                  ldr     r2, [sp, #20]
 580                    .LBE48:
5654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 581                            .loc 1 5654 13 view .LVU191
 582 0150 1A68                  ldr     r2, [r3]
 583 0152 42F40072              orr     r2, r2, #512
 584 0156 1A60                  str     r2, [r3]
 585 0158 82E7                  b       .L29
 586                    .LVL20:
 587                    .L50:
5659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 588                            .loc 1 5659 63 is_stmt 0 discriminator 1 view .LVU192
 589 015a 0129                  cmp     r1, #1
 590 015c CED0                  beq     .L34
 591                    .L33:
5678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 592                            .loc 1 5678 11 is_stmt 1 view .LVU193
 593 015e 0268                  ldr     r2, [r0]
 594                    .LVL21:
5678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 595                            .loc 1 5678 11 is_stmt 0 view .LVU194
 596 0160 1368                  ldr     r3, [r2]
 597 0162 23F48063              bic     r3, r3, #1024
 598 0166 1360                  str     r3, [r2]
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 599                            .loc 1 5681 11 is_stmt 1 view .LVU195
 600                    .LBB49:
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 601                            .loc 1 5681 11 view .LVU196
 602 0168 0023                  movs    r3, #0
 603 016a 0793                  str     r3, [sp, #28]
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 604                            .loc 1 5681 11 view .LVU197
 605 016c 0368                  ldr     r3, [r0]
 606 016e 5A69                  ldr     r2, [r3, #20]
 607 0170 0792                  str     r2, [sp, #28]
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 608                            .loc 1 5681 11 view .LVU198
 609 0172 9A69                  ldr     r2, [r3, #24]
 610 0174 0792                  str     r2, [sp, #28]
5681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 611                            .loc 1 5681 11 view .LVU199
 612 0176 079A                  ldr     r2, [sp, #28]
 613                    .LBE49:
5684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 614                            .loc 1 5684 11 view .LVU200
 615 0178 1A68                  ldr     r2, [r3]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 115


 616 017a 42F40072              orr     r2, r2, #512
 617 017e 1A60                  str     r2, [r3]
 618 0180 6EE7                  b       .L29
 619                    .LVL22:
 620                    .L35:
5669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 621                            .loc 1 5669 13 view .LVU201
 622 0182 0268                  ldr     r2, [r0]
 623                    .LVL23:
5669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 624                            .loc 1 5669 13 is_stmt 0 view .LVU202
 625 0184 1368                  ldr     r3, [r2]
 626 0186 43F48063              orr     r3, r3, #1024
 627 018a 1360                  str     r3, [r2]
 628                    .L36:
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 629                            .loc 1 5673 11 is_stmt 1 view .LVU203
 630                    .LBB50:
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 631                            .loc 1 5673 11 view .LVU204
 632 018c 0023                  movs    r3, #0
 633 018e 0693                  str     r3, [sp, #24]
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 634                            .loc 1 5673 11 view .LVU205
 635 0190 0368                  ldr     r3, [r0]
 636 0192 5A69                  ldr     r2, [r3, #20]
 637 0194 0692                  str     r2, [sp, #24]
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 638                            .loc 1 5673 11 view .LVU206
 639 0196 9B69                  ldr     r3, [r3, #24]
 640 0198 0693                  str     r3, [sp, #24]
5673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 641                            .loc 1 5673 11 view .LVU207
 642 019a 069B                  ldr     r3, [sp, #24]
 643                    .LBE50:
 644 019c 60E7                  b       .L29
 645                    .LVL24:
 646                    .L48:
5689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 647                            .loc 1 5689 9 view .LVU208
5689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 648                            .loc 1 5689 12 is_stmt 0 view .LVU209
 649 019e 0429                  cmp     r1, #4
 650 01a0 15D0                  beq     .L38
5689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 651                            .loc 1 5689 52 discriminator 1 view .LVU210
 652 01a2 0229                  cmp     r1, #2
 653 01a4 13D0                  beq     .L38
5689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 654                            .loc 1 5689 104 discriminator 2 view .LVU211
 655 01a6 1029                  cmp     r1, #16
 656 01a8 11D0                  beq     .L38
5692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 657                            .loc 1 5692 11 is_stmt 1 view .LVU212
 658 01aa 0268                  ldr     r2, [r0]
 659                    .LVL25:
5692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 116


 660                            .loc 1 5692 11 is_stmt 0 view .LVU213
 661 01ac 1368                  ldr     r3, [r2]
 662 01ae 43F40063              orr     r3, r3, #2048
 663 01b2 1360                  str     r3, [r2]
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 664                            .loc 1 5695 11 is_stmt 1 view .LVU214
 665                    .LBB51:
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 666                            .loc 1 5695 11 view .LVU215
 667 01b4 0023                  movs    r3, #0
 668 01b6 0893                  str     r3, [sp, #32]
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 669                            .loc 1 5695 11 view .LVU216
 670 01b8 0368                  ldr     r3, [r0]
 671 01ba 5A69                  ldr     r2, [r3, #20]
 672 01bc 0892                  str     r2, [sp, #32]
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 673                            .loc 1 5695 11 view .LVU217
 674 01be 9A69                  ldr     r2, [r3, #24]
 675 01c0 0892                  str     r2, [sp, #32]
5695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 676                            .loc 1 5695 11 view .LVU218
 677 01c2 089A                  ldr     r2, [sp, #32]
 678                    .LBE51:
5698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 679                            .loc 1 5698 11 view .LVU219
 680 01c4 1A68                  ldr     r2, [r3]
 681 01c6 22F48062              bic     r2, r2, #1024
 682 01ca 1A60                  str     r2, [r3]
 683 01cc 0CE0                  b       .L39
 684                    .LVL26:
 685                    .L38:
5703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 686                            .loc 1 5703 11 view .LVU220
 687 01ce 0268                  ldr     r2, [r0]
 688                    .LVL27:
5703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 689                            .loc 1 5703 11 is_stmt 0 view .LVU221
 690 01d0 1368                  ldr     r3, [r2]
 691 01d2 43F48063              orr     r3, r3, #1024
 692 01d6 1360                  str     r3, [r2]
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 693                            .loc 1 5706 11 is_stmt 1 view .LVU222
 694                    .LBB52:
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 695                            .loc 1 5706 11 view .LVU223
 696 01d8 0023                  movs    r3, #0
 697 01da 0993                  str     r3, [sp, #36]
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 698                            .loc 1 5706 11 view .LVU224
 699 01dc 0368                  ldr     r3, [r0]
 700 01de 5A69                  ldr     r2, [r3, #20]
 701 01e0 0992                  str     r2, [sp, #36]
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 702                            .loc 1 5706 11 view .LVU225
 703 01e2 9B69                  ldr     r3, [r3, #24]
 704 01e4 0993                  str     r3, [sp, #36]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 117


5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 705                            .loc 1 5706 11 view .LVU226
 706 01e6 099B                  ldr     r3, [sp, #36]
 707                    .L39:
5706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 708                            .loc 1 5706 11 is_stmt 0 view .LVU227
 709                    .LBE52:
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 710                            .loc 1 5709 9 is_stmt 1 view .LVU228
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 711                            .loc 1 5709 19 is_stmt 0 view .LVU229
 712 01e8 0368                  ldr     r3, [r0]
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 713                            .loc 1 5709 29 view .LVU230
 714 01ea 5A68                  ldr     r2, [r3, #4]
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 715                            .loc 1 5709 12 view .LVU231
 716 01ec 12F4006F              tst     r2, #2048
 717 01f0 3FF436AF              beq     .L29
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 718                            .loc 1 5709 70 discriminator 1 view .LVU232
 719 01f4 11F5803F              cmn     r1, #65536
 720 01f8 08D0                  beq     .L40
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 721                            .loc 1 5709 118 discriminator 2 view .LVU233
 722 01fa 0129                  cmp     r1, #1
 723 01fc 06D0                  beq     .L40
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 724                            .loc 1 5709 161 discriminator 3 view .LVU234
 725 01fe 0829                  cmp     r1, #8
 726 0200 04D0                  beq     .L40
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 727                            .loc 1 5709 213 discriminator 4 view .LVU235
 728 0202 1029                  cmp     r1, #16
 729 0204 02D0                  beq     .L40
5709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 730                            .loc 1 5709 263 discriminator 5 view .LVU236
 731 0206 2029                  cmp     r1, #32
 732 0208 7FF42AAF              bne     .L29
 733                    .L40:
5712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 734                            .loc 1 5712 11 is_stmt 1 view .LVU237
 735 020c 5A68                  ldr     r2, [r3, #4]
 736 020e 42F48052              orr     r2, r2, #4096
 737 0212 5A60                  str     r2, [r3, #4]
 738 0214 24E7                  b       .L29
 739                            .cfi_endproc
 740                    .LFE120:
 742                            .section        .text.I2C_SlaveTransmit_BTF,"ax",%progbits
 743                            .align  1
 744                            .syntax unified
 745                            .thumb
 746                            .thumb_func
 747                            .fpu softvfp
 749                    I2C_SlaveTransmit_BTF:
 750                    .LVL28:
 751                    .LFB122:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 118


5740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle TXE flag for Slave
5743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveTransmit_TXE(I2C_HandleTypeDef *hi2c)
5748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
5750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
5751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->XferCount != 0U)
5753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Write data to DR */
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = *hi2c->pBuffPtr;
5756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Increment Buffer pointer */
5758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr++;
5759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update counter */
5761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount--;
5762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->XferCount == 0U) && (CurrentState == HAL_I2C_STATE_BUSY_TX_LISTEN))
5764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Last Byte is received, disable Interrupt */
5766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set state at HAL_I2C_STATE_LISTEN */
5769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
5771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
5773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->SlaveTxCpltCallback(hi2c);
5775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       HAL_I2C_SlaveTxCpltCallback(hi2c);
5777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle BTF flag for Slave transmitter
5784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveTransmit_BTF(I2C_HandleTypeDef *hi2c)
5789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 752                            .loc 1 5789 1 view -0
 753                            .cfi_startproc
 754                            @ args = 0, pretend = 0, frame = 0
 755                            @ frame_needed = 0, uses_anonymous_args = 0
 756                            @ link register save eliminated.
5790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->XferCount != 0U)
 757                            .loc 1 5790 3 view .LVU239
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 119


 758                            .loc 1 5790 11 is_stmt 0 view .LVU240
 759 0000 438D                  ldrh    r3, [r0, #42]
 760 0002 9BB2                  uxth    r3, r3
 761                            .loc 1 5790 6 view .LVU241
 762 0004 53B1                  cbz     r3, .L51
5791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Write data to DR */
5793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = *hi2c->pBuffPtr;
 763                            .loc 1 5793 5 is_stmt 1 view .LVU242
 764                            .loc 1 5793 31 is_stmt 0 view .LVU243
 765 0006 426A                  ldr     r2, [r0, #36]
 766                            .loc 1 5793 9 view .LVU244
 767 0008 0368                  ldr     r3, [r0]
 768                            .loc 1 5793 26 view .LVU245
 769 000a 1278                  ldrb    r2, [r2]        @ zero_extendqisi2
 770                            .loc 1 5793 24 view .LVU246
 771 000c 1A61                  str     r2, [r3, #16]
5794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Increment Buffer pointer */
5796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr++;
 772                            .loc 1 5796 5 is_stmt 1 view .LVU247
 773                            .loc 1 5796 9 is_stmt 0 view .LVU248
 774 000e 436A                  ldr     r3, [r0, #36]
 775                            .loc 1 5796 19 view .LVU249
 776 0010 0133                  adds    r3, r3, #1
 777 0012 4362                  str     r3, [r0, #36]
5797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update counter */
5799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount--;
 778                            .loc 1 5799 5 is_stmt 1 view .LVU250
 779                            .loc 1 5799 9 is_stmt 0 view .LVU251
 780 0014 438D                  ldrh    r3, [r0, #42]
 781                            .loc 1 5799 20 view .LVU252
 782 0016 013B                  subs    r3, r3, #1
 783 0018 9BB2                  uxth    r3, r3
 784 001a 4385                  strh    r3, [r0, #42]   @ movhi
 785                    .L51:
5800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 786                            .loc 1 5801 1 view .LVU253
 787 001c 7047                  bx      lr
 788                            .cfi_endproc
 789                    .LFE122:
 791                            .section        .text.I2C_SlaveReceive_BTF,"ax",%progbits
 792                            .align  1
 793                            .syntax unified
 794                            .thumb
 795                            .thumb_func
 796                            .fpu softvfp
 798                    I2C_SlaveReceive_BTF:
 799                    .LVL29:
 800                    .LFB124:
5802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle RXNE flag for Slave
5805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 120


5807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveReceive_RXNE(I2C_HandleTypeDef *hi2c)
5810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
5812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
5813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->XferCount != 0U)
5815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Read data from DR */
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
5818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Increment Buffer pointer */
5820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr++;
5821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update counter */
5823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount--;
5824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((hi2c->XferCount == 0U) && (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN))
5826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Last Byte is received, disable Interrupt */
5828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF);
5829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set state at HAL_I2C_STATE_LISTEN */
5831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
5833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
5835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->SlaveRxCpltCallback(hi2c);
5837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       HAL_I2C_SlaveRxCpltCallback(hi2c);
5839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle BTF flag for Slave receiver
5846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_SlaveReceive_BTF(I2C_HandleTypeDef *hi2c)
5851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 801                            .loc 1 5851 1 is_stmt 1 view -0
 802                            .cfi_startproc
 803                            @ args = 0, pretend = 0, frame = 0
 804                            @ frame_needed = 0, uses_anonymous_args = 0
 805                            @ link register save eliminated.
5852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->XferCount != 0U)
 806                            .loc 1 5852 3 view .LVU255
 807                            .loc 1 5852 11 is_stmt 0 view .LVU256
 808 0000 438D                  ldrh    r3, [r0, #42]
 809 0002 9BB2                  uxth    r3, r3
 810                            .loc 1 5852 6 view .LVU257
 811 0004 53B1                  cbz     r3, .L53
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 121


5853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Read data from DR */
5855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
 812                            .loc 1 5855 5 is_stmt 1 view .LVU258
 813                            .loc 1 5855 36 is_stmt 0 view .LVU259
 814 0006 0368                  ldr     r3, [r0]
 815                            .loc 1 5855 46 view .LVU260
 816 0008 1A69                  ldr     r2, [r3, #16]
 817                            .loc 1 5855 10 view .LVU261
 818 000a 436A                  ldr     r3, [r0, #36]
 819                            .loc 1 5855 21 view .LVU262
 820 000c 1A70                  strb    r2, [r3]
5856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Increment Buffer pointer */
5858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->pBuffPtr++;
 821                            .loc 1 5858 5 is_stmt 1 view .LVU263
 822                            .loc 1 5858 9 is_stmt 0 view .LVU264
 823 000e 436A                  ldr     r3, [r0, #36]
 824                            .loc 1 5858 19 view .LVU265
 825 0010 0133                  adds    r3, r3, #1
 826 0012 4362                  str     r3, [r0, #36]
5859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Update counter */
5861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount--;
 827                            .loc 1 5861 5 is_stmt 1 view .LVU266
 828                            .loc 1 5861 9 is_stmt 0 view .LVU267
 829 0014 438D                  ldrh    r3, [r0, #42]
 830                            .loc 1 5861 20 view .LVU268
 831 0016 013B                  subs    r3, r3, #1
 832 0018 9BB2                  uxth    r3, r3
 833 001a 4385                  strh    r3, [r0, #42]   @ movhi
 834                    .L53:
5862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 835                            .loc 1 5863 1 view .LVU269
 836 001c 7047                  bx      lr
 837                            .cfi_endproc
 838                    .LFE124:
 840                            .section        .text.I2C_IsAcknowledgeFailed,"ax",%progbits
 841                            .align  1
 842                            .syntax unified
 843                            .thumb
 844                            .thumb_func
 845                            .fpu softvfp
 847                    I2C_IsAcknowledgeFailed:
 848                    .LVL30:
 849                    .LFB142:
5864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle ADD flag for Slave
5867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  IT2Flags Interrupt2 flags to handle.
5870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_ADDR(I2C_HandleTypeDef *hi2c, uint32_t IT2Flags)
5873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 122


5874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint8_t TransferDirection = I2C_DIRECTION_RECEIVE;
5875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint16_t SlaveAddrCode;
5876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
5878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable BUF interrupt, BUF enabling is manage through slave specific interface */
5880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, (I2C_IT_BUF));
5881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Transfer Direction requested by Master */
5883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_CHECK_FLAG(IT2Flags, I2C_FLAG_TRA) == RESET)
5884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       TransferDirection = I2C_DIRECTION_TRANSMIT;
5886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_CHECK_FLAG(IT2Flags, I2C_FLAG_DUALF) == RESET)
5889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SlaveAddrCode = (uint16_t)hi2c->Init.OwnAddress1;
5891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
5893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SlaveAddrCode = (uint16_t)hi2c->Init.OwnAddress2;
5895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
5898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
5899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Call Slave Addr callback */
5901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->AddrCallback(hi2c, TransferDirection, SlaveAddrCode);
5903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
5904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     HAL_I2C_AddrCallback(hi2c, TransferDirection, SlaveAddrCode);
5905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
5908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear ADDR flag */
5910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
5913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
5914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
5916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
5918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Handle STOPF flag for Slave
5919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
5921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
5922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
5923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_STOPF(I2C_HandleTypeDef *hi2c)
5924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
5925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
5926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
5927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Disable EVT, BUF and ERR interrupt */
5929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
5930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 123


5931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Clear STOPF flag */
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_I2C_CLEAR_STOPFLAG(hi2c);
5933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Disable Acknowledge */
5935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
5936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* If a DMA is ongoing, Update handle size context */
5938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
5939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
5940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((CurrentState == HAL_I2C_STATE_BUSY_RX) || (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN))
5941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount = (uint16_t)(__HAL_DMA_GET_COUNTER(hi2c->hdmarx));
5943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->XferCount != 0U)
5945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Set ErrorCode corresponding to a Non-Acknowledge */
5947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable, stop the current DMA */
5951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
5952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Abort DMA Xfer if any */
5954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY)
5955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Set the I2C DMA Abort callback :
5957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
5958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
5959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Abort DMA RX */
5961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
5962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Call Directly XferAbortCallback function in case of error */
5964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
5965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
5969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
5970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount = (uint16_t)(__HAL_DMA_GET_COUNTER(hi2c->hdmatx));
5971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->XferCount != 0U)
5973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Set ErrorCode corresponding to a Non-Acknowledge */
5975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable, stop the current DMA */
5979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
5980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Abort DMA Xfer if any */
5982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY)
5983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
5984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Set the I2C DMA Abort callback :
5985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
5986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
5987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 124


5988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Abort DMA TX */
5989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
5990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
5991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Call Directly XferAbortCallback function in case of error */
5992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
5993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
5994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
5995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
5996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
5997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
5998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* All data are not transferred, so set error code accordingly */
5999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->XferCount != 0U)
6000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Store Last receive data if any */
6002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET)
6003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Read data from DR */
6005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
6006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
6008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
6009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update counter */
6011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
6012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Store Last receive data if any */
6015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
6016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Read data from DR */
6018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
6019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
6021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
6022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Update counter */
6024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
6025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferCount != 0U)
6028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set ErrorCode corresponding to a Non-Acknowledge */
6030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
6035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     I2C_ITError(hi2c);
6038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN)
6042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set state at HAL_I2C_STATE_LISTEN */
6044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_NONE;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 125


6045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
6046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
6048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->SlaveRxCpltCallback(hi2c);
6050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       HAL_I2C_SlaveRxCpltCallback(hi2c);
6052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_LISTEN)
6056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_NONE;
6059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
6060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
6061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ListenCpltCallback(hi2c);
6065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       HAL_I2C_ListenCpltCallback(hi2c);
6067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
6070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if ((hi2c->PreviousState  == I2C_STATE_SLAVE_BUSY_RX) || (CurrentState == HAL_I2C_STATE_BUSY_
6072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
6073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_NONE;
6074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
6075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
6076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->SlaveRxCpltCallback(hi2c);
6079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         HAL_I2C_SlaveRxCpltCallback(hi2c);
6081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
6083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
6089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
6090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
6091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_Slave_AF(I2C_HandleTypeDef *hi2c)
6093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
6095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
6096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
6097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (((CurrentXferOptions ==  I2C_FIRST_AND_LAST_FRAME) || (CurrentXferOptions == I2C_LAST_FRAME))
6099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (CurrentState == HAL_I2C_STATE_LISTEN))
6100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 126


6102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable EVT, BUF and ERR interrupt */
6104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
6105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear AF flag */
6107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Acknowledge */
6110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
6114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
6115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ListenCpltCallback(hi2c);
6119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     HAL_I2C_ListenCpltCallback(hi2c);
6121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if (CurrentState == HAL_I2C_STATE_BUSY_TX)
6124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions   = I2C_NO_OPTION_FRAME;
6126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
6127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
6128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
6129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable EVT, BUF and ERR interrupt */
6131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
6132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear AF flag */
6134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Acknowledge */
6137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->SlaveTxCpltCallback(hi2c);
6141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     HAL_I2C_SlaveTxCpltCallback(hi2c);
6143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear AF flag only */
6148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* State Listen, but XferOptions == FIRST or NEXT */
6149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  I2C interrupts error process
6155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c I2C handle.
6156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
6157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 127


6159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
6161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
6162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((hi2c->Mode == HAL_I2C_MODE_MASTER) && (CurrentState == HAL_I2C_STATE_BUSY_RX))
6164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Pos bit in I2C CR1 when error occurred in Master/Mem Receive IT Process */
6166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->CR1 &= ~I2C_CR1_POS;
6167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (((uint32_t)CurrentState & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
6170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* keep HAL_I2C_STATE_LISTEN */
6172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_LISTEN;
6174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* If state is an abort treatment on going, don't change state */
6178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* This change will be do later */
6179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) != I2C_CR2_DMAEN) && (CurrentState != HAL_I2C
6180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
6182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
6185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Abort DMA transfer */
6188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) == I2C_CR2_DMAEN)
6189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->CR2 &= ~I2C_CR2_DMAEN;
6191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->hdmatx->State != HAL_DMA_STATE_READY)
6193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the DMA Abort callback :
6195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
6197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
6199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
6200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Disable I2C peripheral to prevent dummy data in buffer */
6201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_DISABLE(hi2c);
6202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
6204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Call Directly XferAbortCallback function in case of error */
6206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
6207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
6208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
6210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set the DMA Abort callback :
6212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
6214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 128


6216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
6217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Store Last receive data if any */
6218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
6219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
6220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Read data from DR */
6221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
6222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           /* Increment Buffer pointer */
6224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->pBuffPtr++;
6225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
6226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Disable I2C peripheral to prevent dummy data in buffer */
6228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_I2C_DISABLE(hi2c);
6229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
6231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
6233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
6234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
6235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if (hi2c->State == HAL_I2C_STATE_ABORT)
6238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
6240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Store Last receive data if any */
6243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
6244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Read data from DR */
6246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
6247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
6249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
6250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable I2C peripheral to prevent dummy data in buffer */
6253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE(hi2c);
6254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->AbortCpltCallback(hi2c);
6258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     HAL_I2C_AbortCpltCallback(hi2c);
6260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Store Last receive data if any */
6265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
6266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Read data from DR */
6268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR;
6269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Increment Buffer pointer */
6271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->pBuffPtr++;
6272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 129


6273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Call user error callback */
6275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCallback(hi2c);
6277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     HAL_I2C_ErrorCallback(hi2c);
6279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* STOP Flag is not set after a NACK reception */
6282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* So may inform upper layer that listen phase is stopped */
6283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* during NACK error treatment */
6284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   CurrentState = hi2c->State;
6285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (((hi2c->ErrorCode & HAL_I2C_ERROR_AF) == HAL_I2C_ERROR_AF) && (CurrentState == HAL_I2C_STATE_
6286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable EVT, BUF and ERR interrupt */
6288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
6289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions   = I2C_NO_OPTION_FRAME;
6291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
6293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
6294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ListenCpltCallback(hi2c);
6298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     HAL_I2C_ListenCpltCallback(hi2c);
6300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
6306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
6307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
6308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
6309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
6310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Tickstart Tick start value
6311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
6312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint3
6314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
6316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions = hi2c->XferOptions;
6317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Generate Start condition if first transfer */
6319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((CurrentXferOptions == I2C_FIRST_AND_LAST_FRAME) || (CurrentXferOptions == I2C_FIRST_FRAME) |
6320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate Start */
6322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if (hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX)
6325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate ReStart */
6327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 130


6330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Do nothing */
6332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until SB flag is set */
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
6341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send slave address */
6343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress);
6344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send header of slave address */
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_10BIT_HEADER_WRITE(DevAddress);
6349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until ADD10 flag is set */
6351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADD10, Timeout, Tickstart) != HAL_OK
6352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
6354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send slave address */
6357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_10BIT_ADDRESS(DevAddress);
6358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until ADDR flag is set */
6361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
6367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Master sends target device address for read request.
6371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
6372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
6373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
6374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
6375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
6376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Tickstart Tick start value
6377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
6378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32
6380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
6382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions = hi2c->XferOptions;
6383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Enable Acknowledge */
6385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 131


6387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Generate Start condition if first transfer */
6388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((CurrentXferOptions == I2C_FIRST_AND_LAST_FRAME) || (CurrentXferOptions == I2C_FIRST_FRAME)  
6389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate Start */
6391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if (hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX)
6394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate ReStart */
6396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Do nothing */
6401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until SB flag is set */
6404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
6410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send slave address */
6412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_7BIT_ADD_READ(DevAddress);
6413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send header of slave address */
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_10BIT_HEADER_WRITE(DevAddress);
6418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until ADD10 flag is set */
6420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADD10, Timeout, Tickstart) != HAL_OK
6421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
6423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send slave address */
6426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_10BIT_ADDRESS(DevAddress);
6427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until ADDR flag is set */
6429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
6432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear ADDR flag */
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
6436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Generate Restart */
6438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until SB flag is set */
6441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 132


6444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send header of slave address */
6447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_10BIT_HEADER_READ(DevAddress);
6448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until ADDR flag is set */
6451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
6457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Master sends target device address followed by internal memory address for write reques
6461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
6462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
6463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
6464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
6465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
6466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
6467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
6468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Tickstart Tick start value
6469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
6470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1
6472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Generate Start */
6474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until SB flag is set */
6477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Send slave address */
6483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress);
6484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until ADDR flag is set */
6486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Clear ADDR flag */
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
6493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until TXE flag is set */
6495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
6496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
6498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
6500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 133


6501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* If Memory address size is 8Bit */
6506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
6507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send Memory Address */
6509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress);
6510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* If Memory address size is 16Bit */
6512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send MSB of Memory Address */
6515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_MEM_ADD_MSB(MemAddress);
6516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until TXE flag is set */
6518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
6519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
6521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
6522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Stop */
6523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
6525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
6526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send LSB of Memory Address */
6529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress);
6530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
6533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Master sends target device address followed by internal memory address for read request
6537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
6538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
6539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
6540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
6541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
6542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
6543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
6544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Tickstart Tick start value
6545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
6546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16
6548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Enable Acknowledge */
6550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Generate Start */
6553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until SB flag is set */
6556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 134


6558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Send slave address */
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress);
6563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until ADDR flag is set */
6565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Clear ADDR flag */
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_I2C_CLEAR_ADDRFLAG(hi2c);
6572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until TXE flag is set */
6574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
6575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
6577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
6579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* If Memory address size is 8Bit */
6585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
6586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send Memory Address */
6588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress);
6589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* If Memory address size is 16Bit */
6591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send MSB of Memory Address */
6594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_MEM_ADD_MSB(MemAddress);
6595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Wait until TXE flag is set */
6597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
6598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
6600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
6601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Generate Stop */
6602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
6604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
6605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Send LSB of Memory Address */
6608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress);
6609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until TXE flag is set */
6612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
6613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 135


6615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
6617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Generate Restart */
6623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   SET_BIT(hi2c->Instance->CR1, I2C_CR1_START);
6624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until SB flag is set */
6626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK)
6627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Send slave address */
6632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Instance->DR = I2C_7BIT_ADD_READ(DevAddress);
6633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until ADDR flag is set */
6635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK)
6636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
6638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
6641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  DMA I2C process complete callback.
6645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hdma DMA handle
6646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
6647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAXferCplt(DMA_HandleTypeDef *hdma)
6649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
6651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
6653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
6654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef CurrentMode   = hi2c->Mode;
6655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
6656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Disable EVT and ERR interrupt */
6658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
6659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Clear Complete callback */
6661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmatx->XferCpltCallback = NULL;
6662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
6663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if ((((uint32_t)CurrentState & (uint32_t)HAL_I2C_STATE_BUSY_TX) == (uint32_t)HAL_I2C_STATE_BUSY_T
6665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable DMA Request */
6667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
6668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount = 0U;
6670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (CurrentState == HAL_I2C_STATE_BUSY_TX_LISTEN)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 136


6672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set state at HAL_I2C_STATE_LISTEN */
6674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
6675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
6676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
6678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->SlaveTxCpltCallback(hi2c);
6680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       HAL_I2C_SlaveTxCpltCallback(hi2c);
6682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else if (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN)
6685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Set state at HAL_I2C_STATE_LISTEN */
6687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
6688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
6689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
6691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->SlaveRxCpltCallback(hi2c);
6693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       HAL_I2C_SlaveRxCpltCallback(hi2c);
6695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
6698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Do nothing */
6700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Enable EVT and ERR interrupt to treat end of transfer in IRQ handler */
6703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
6704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check current Mode, in case of treatment DMA handler have been preempted by a prior interrupt 
6706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if (hi2c->Mode != HAL_I2C_MODE_NONE)
6707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->XferCount == (uint16_t)1)
6709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Disable Acknowledge */
6711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable EVT and ERR interrupt */
6715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR);
6716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Prepare next transfer or stop current transfer */
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((CurrentXferOptions == I2C_NO_OPTION_FRAME) || (CurrentXferOptions == I2C_FIRST_AND_LAST_FR
6719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
6721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable Last DMA */
6725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_LAST);
6726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Disable DMA Request */
6728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 137


6729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount = 0U;
6731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if Errors has been detected during transfer */
6733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
6734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCallback(hi2c);
6737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       HAL_I2C_ErrorCallback(hi2c);
6739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
6742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
6744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (hi2c->Mode == HAL_I2C_MODE_MEM)
6746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
6747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
6748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_NONE;
6749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MemRxCpltCallback(hi2c);
6752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         HAL_I2C_MemRxCpltCallback(hi2c);
6754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
6756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       else
6757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
6758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
6759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
6760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->MasterRxCpltCallback(hi2c);
6763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         HAL_I2C_MasterRxCpltCallback(hi2c);
6765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
6767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Do nothing */
6772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  DMA I2C communication error callback.
6777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hdma DMA handle
6778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
6779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
6781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
6783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Clear Complete callback */
6785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmatx->XferCpltCallback = NULL;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 138


6786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
6787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Disable Acknowledge */
6789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->XferCount       = 0U;
6792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State           = HAL_I2C_STATE_READY;
6793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Mode            = HAL_I2C_MODE_NONE;
6794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->ErrorCode       |= HAL_I2C_ERROR_DMA;
6795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->ErrorCallback(hi2c);
6798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ErrorCallback(hi2c);
6800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief DMA I2C communication abort callback
6805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *        (To be called at end of DMA Abort procedure).
6806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param hdma DMA handle.
6807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
6808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
6810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
6812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
6814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
6815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Clear Complete callback */
6817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmatx->XferCpltCallback = NULL;
6818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
6819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Disable Acknowledge */
6821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->XferCount = 0U;
6824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Reset XferAbortCallback */
6826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmatx->XferAbortCallback = NULL;
6827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferAbortCallback = NULL;
6828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Disable I2C peripheral to prevent dummy data in buffer */
6830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __HAL_I2C_DISABLE(hi2c);
6831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check if come from abort from user */
6833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_ABORT)
6834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
6836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
6837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode     = HAL_I2C_ERROR_NONE;
6838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->AbortCpltCallback(hi2c);
6842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 139


6843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     HAL_I2C_AbortCpltCallback(hi2c);
6844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
6847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (((uint32_t)CurrentState & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN
6849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Renable I2C peripheral */
6851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_ENABLE(hi2c);
6852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Enable Acknowledge */
6854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK);
6855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* keep HAL_I2C_STATE_LISTEN */
6857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_NONE;
6858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
6859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     else
6861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
6863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
6864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCallback(hi2c);
6869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #else
6870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     HAL_I2C_ErrorCallback(hi2c);
6871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  This function handles I2C Communication Timeout.
6877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
6878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
6879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Flag specifies the I2C flag to check.
6880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Status The new Flag status (SET or RESET).
6881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
6882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Tickstart Tick start value
6883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
6884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
6886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until flag is set */
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
6889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check for the Timeout */
6891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (Timeout != HAL_MAX_DELAY)
6892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
6895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState     = I2C_STATE_NONE;
6896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State             = HAL_I2C_STATE_READY;
6897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode              = HAL_I2C_MODE_NONE;
6898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode         |= HAL_I2C_ERROR_TIMEOUT;
6899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 140


6900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
6901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
6902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
6904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
6905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
6908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  This function handles I2C Communication Timeout for Master addressing phase.
6912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
6913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *         the configuration information for I2C module
6914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Flag specifies the I2C flag to check.
6915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
6916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Tickstart Tick start value
6917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
6918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnMasterAddressFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t 
6920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, Flag) == RESET)
6922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
6924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Generate Stop */
6926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP);
6927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear AF Flag */
6929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState       = I2C_STATE_NONE;
6932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
6933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
6934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_AF;
6935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
6937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
6938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
6940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check for the Timeout */
6943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (Timeout != HAL_MAX_DELAY)
6944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
6947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
6948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
6949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
6950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
6951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
6953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
6954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
6956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 141


6957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
6960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
6963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  This function handles I2C Communication Timeout for specific usage of TXE flag.
6964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
6965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
6966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
6967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Tickstart Tick start value
6968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
6969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
6970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, u
6971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
6972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
6973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
6974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if a NACK is detected */
6975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_IsAcknowledgeFailed(hi2c) != HAL_OK)
6976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
6978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check for the Timeout */
6981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (Timeout != HAL_MAX_DELAY)
6982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
6985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
6986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
6987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
6988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
6989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
6991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
6992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
6993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
6994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
6995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
6996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
6997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
6998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
6999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
7001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  This function handles I2C Communication Timeout for specific usage of BTF flag.
7002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
7003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
7004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
7005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Tickstart Tick start value
7006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
7007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
7008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnBTFFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, u
7009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == RESET)
7011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
7012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if a NACK is detected */
7013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_IsAcknowledgeFailed(hi2c) != HAL_OK)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 142


7014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
7015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
7016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
7017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check for the Timeout */
7019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (Timeout != HAL_MAX_DELAY)
7020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
7022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
7023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState       = I2C_STATE_NONE;
7024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
7025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
7026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
7027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         /* Process Unlocked */
7029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
7030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         return HAL_ERROR;
7032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
7033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
7034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
7035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
7036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
7039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  This function handles I2C Communication Timeout for specific usage of STOP flag.
7040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
7041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
7042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
7043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Tickstart Tick start value
7044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
7045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
7046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 
7047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
7049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
7050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if a NACK is detected */
7051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (I2C_IsAcknowledgeFailed(hi2c) != HAL_OK)
7052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
7053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
7054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
7055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check for the Timeout */
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
7058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
7059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState       = I2C_STATE_NONE;
7060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
7061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
7062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
7063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
7065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
7066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
7068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
7069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
7070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 143


7071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
7074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  This function handles I2C Communication Timeout for specific usage of RXNE flag.
7075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
7076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
7077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Timeout Timeout duration
7078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  Tickstart Tick start value
7079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
7080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
7081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 
7082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
7083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
7085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
7086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check if a STOPF is detected */
7087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
7088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
7089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear STOP Flag */
7090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
7091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState       = I2C_STATE_NONE;
7093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
7094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
7095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_NONE;
7096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
7098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
7099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
7101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
7102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Check for the Timeout */
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
7105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
7106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState       = I2C_STATE_NONE;
7107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
7108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
7109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
7110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Process Unlocked */
7112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
7113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       return HAL_ERROR;
7115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
7116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
7117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
7118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
7119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
7121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  This function handles Acknowledge failed detection during an I2C Communication.
7122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
7123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
7124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval HAL status
7125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
7126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c)
7127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 144


 850                            .loc 1 7127 1 is_stmt 1 view -0
 851                            .cfi_startproc
 852                            @ args = 0, pretend = 0, frame = 0
 853                            @ frame_needed = 0, uses_anonymous_args = 0
 854                            @ link register save eliminated.
7128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
 855                            .loc 1 7128 3 view .LVU271
 856                            .loc 1 7128 7 is_stmt 0 view .LVU272
 857 0000 0368                  ldr     r3, [r0]
 858 0002 5A69                  ldr     r2, [r3, #20]
 859                            .loc 1 7128 6 view .LVU273
 860 0004 12F4806F              tst     r2, #1024
 861 0008 01D1                  bne     .L58
7129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
7130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear NACKF Flag */
7131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
7132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState       = I2C_STATE_NONE;
7134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State               = HAL_I2C_STATE_READY;
7135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode                = HAL_I2C_MODE_NONE;
7136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode           |= HAL_I2C_ERROR_AF;
7137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Process Unlocked */
7139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
7140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     return HAL_ERROR;
7142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
7143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return HAL_OK;
 862                            .loc 1 7143 10 view .LVU274
 863 000a 0020                  movs    r0, #0
 864                    .LVL31:
7144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 865                            .loc 1 7144 1 view .LVU275
 866 000c 7047                  bx      lr
 867                    .LVL32:
 868                    .L58:
7131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 869                            .loc 1 7131 5 is_stmt 1 view .LVU276
 870 000e 6FF48062              mvn     r2, #1024
 871 0012 5A61                  str     r2, [r3, #20]
7133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State               = HAL_I2C_STATE_READY;
 872                            .loc 1 7133 5 view .LVU277
7133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State               = HAL_I2C_STATE_READY;
 873                            .loc 1 7133 31 is_stmt 0 view .LVU278
 874 0014 0023                  movs    r3, #0
 875 0016 0363                  str     r3, [r0, #48]
7134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode                = HAL_I2C_MODE_NONE;
 876                            .loc 1 7134 5 is_stmt 1 view .LVU279
7134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode                = HAL_I2C_MODE_NONE;
 877                            .loc 1 7134 31 is_stmt 0 view .LVU280
 878 0018 2022                  movs    r2, #32
 879 001a 80F83D20              strb    r2, [r0, #61]
7135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode           |= HAL_I2C_ERROR_AF;
 880                            .loc 1 7135 5 is_stmt 1 view .LVU281
7135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode           |= HAL_I2C_ERROR_AF;
 881                            .loc 1 7135 31 is_stmt 0 view .LVU282
 882 001e 80F83E30              strb    r3, [r0, #62]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 145


7136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 883                            .loc 1 7136 5 is_stmt 1 view .LVU283
7136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 884                            .loc 1 7136 31 is_stmt 0 view .LVU284
 885 0022 026C                  ldr     r2, [r0, #64]
 886 0024 42F00402              orr     r2, r2, #4
 887 0028 0264                  str     r2, [r0, #64]
7139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 888                            .loc 1 7139 5 is_stmt 1 view .LVU285
7139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 889                            .loc 1 7139 5 view .LVU286
 890 002a 80F83C30              strb    r3, [r0, #60]
7141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 891                            .loc 1 7141 5 view .LVU287
7141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 892                            .loc 1 7141 12 is_stmt 0 view .LVU288
 893 002e 0120                  movs    r0, #1
 894                    .LVL33:
7141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 895                            .loc 1 7141 12 view .LVU289
 896 0030 7047                  bx      lr
 897                            .cfi_endproc
 898                    .LFE142:
 900                            .section        .text.I2C_ConvertOtherXferOptions,"ax",%progbits
 901                            .align  1
 902                            .syntax unified
 903                            .thumb
 904                            .thumb_func
 905                            .fpu softvfp
 907                    I2C_ConvertOtherXferOptions:
 908                    .LVL34:
 909                    .LFB143:
7145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
7146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** /**
7147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @brief  Convert I2Cx OTHER_xxx XferOptions to functionnal XferOptions.
7148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @param  hi2c I2C handle.
7149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   * @retval None
7150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   */
7151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c)
7152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** {
 910                            .loc 1 7152 1 is_stmt 1 view -0
 911                            .cfi_startproc
 912                            @ args = 0, pretend = 0, frame = 0
 913                            @ frame_needed = 0, uses_anonymous_args = 0
 914                            @ link register save eliminated.
7153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* if user set XferOptions to I2C_OTHER_FRAME            */
7154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* it request implicitly to generate a restart condition */
7155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* set XferOptions to I2C_FIRST_FRAME                    */
7156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->XferOptions == I2C_OTHER_FRAME)
 915                            .loc 1 7156 3 view .LVU291
 916                            .loc 1 7156 11 is_stmt 0 view .LVU292
 917 0000 C36A                  ldr     r3, [r0, #44]
 918                            .loc 1 7156 6 view .LVU293
 919 0002 B3F52A0F              cmp     r3, #11141120
 920 0006 04D0                  beq     .L62
7157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
7158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_FIRST_FRAME;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 146


7159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
7160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */
7161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* it request implicitly to generate a restart condition    */
7162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* then generate a stop condition at the end of transfer    */
7163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* set XferOptions to I2C_FIRST_AND_LAST_FRAME              */
7164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME)
 921                            .loc 1 7164 8 is_stmt 1 view .LVU294
 922                            .loc 1 7164 16 is_stmt 0 view .LVU295
 923 0008 C36A                  ldr     r3, [r0, #44]
 924                            .loc 1 7164 11 view .LVU296
 925 000a B3F12A4F              cmp     r3, #-1442840576
 926 000e 03D0                  beq     .L63
 927                    .L59:
7165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
7166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME;
7167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
7168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   else
7169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
7170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Nothing to do */
7171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
7172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 928                            .loc 1 7172 1 view .LVU297
 929 0010 7047                  bx      lr
 930                    .L62:
7158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 931                            .loc 1 7158 5 is_stmt 1 view .LVU298
7158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 932                            .loc 1 7158 23 is_stmt 0 view .LVU299
 933 0012 0123                  movs    r3, #1
 934 0014 C362                  str     r3, [r0, #44]
 935 0016 7047                  bx      lr
 936                    .L63:
7166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 937                            .loc 1 7166 5 is_stmt 1 view .LVU300
7166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 938                            .loc 1 7166 23 is_stmt 0 view .LVU301
 939 0018 0823                  movs    r3, #8
 940 001a C362                  str     r3, [r0, #44]
7171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 941                            .loc 1 7171 3 is_stmt 1 view .LVU302
 942                            .loc 1 7172 1 is_stmt 0 view .LVU303
 943 001c F8E7                  b       .L59
 944                            .cfi_endproc
 945                    .LFE143:
 947                            .section        .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
 948                            .align  1
 949                            .syntax unified
 950                            .thumb
 951                            .thumb_func
 952                            .fpu softvfp
 954                    I2C_WaitOnFlagUntilTimeout:
 955                    .LVL35:
 956                    .LFB136:
6886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until flag is set */
 957                            .loc 1 6886 1 is_stmt 1 view -0
 958                            .cfi_startproc
 959                            @ args = 4, pretend = 0, frame = 0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 147


 960                            @ frame_needed = 0, uses_anonymous_args = 0
6886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Wait until flag is set */
 961                            .loc 1 6886 1 is_stmt 0 view .LVU305
 962 0000 F8B5                  push    {r3, r4, r5, r6, r7, lr}
 963                    .LCFI5:
 964                            .cfi_def_cfa_offset 24
 965                            .cfi_offset 3, -24
 966                            .cfi_offset 4, -20
 967                            .cfi_offset 5, -16
 968                            .cfi_offset 6, -12
 969                            .cfi_offset 7, -8
 970                            .cfi_offset 14, -4
 971 0002 0646                  mov     r6, r0
 972 0004 0C46                  mov     r4, r1
 973 0006 1746                  mov     r7, r2
 974 0008 1D46                  mov     r5, r3
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 975                            .loc 1 6888 3 is_stmt 1 view .LVU306
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 976                            .loc 1 6888 9 is_stmt 0 view .LVU307
 977 000a 22E0                  b       .L66
 978                    .LVL36:
 979                    .L74:
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 980                            .loc 1 6893 7 is_stmt 1 view .LVU308
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 981                            .loc 1 6893 13 is_stmt 0 view .LVU309
 982 000c FFF7FEFF              bl      HAL_GetTick
 983                    .LVL37:
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 984                            .loc 1 6893 27 view .LVU310
 985 0010 069B                  ldr     r3, [sp, #24]
 986 0012 C01A                  subs    r0, r0, r3
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 987                            .loc 1 6893 10 view .LVU311
 988 0014 A842                  cmp     r0, r5
 989 0016 00D8                  bhi     .L67
6893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 990                            .loc 1 6893 51 discriminator 1 view .LVU312
 991 0018 DDB9                  cbnz    r5, .L66
 992                    .L67:
6895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State             = HAL_I2C_STATE_READY;
 993                            .loc 1 6895 9 is_stmt 1 view .LVU313
6895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State             = HAL_I2C_STATE_READY;
 994                            .loc 1 6895 33 is_stmt 0 view .LVU314
 995 001a 0023                  movs    r3, #0
 996 001c 3363                  str     r3, [r6, #48]
6896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode              = HAL_I2C_MODE_NONE;
 997                            .loc 1 6896 9 is_stmt 1 view .LVU315
6896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode              = HAL_I2C_MODE_NONE;
 998                            .loc 1 6896 33 is_stmt 0 view .LVU316
 999 001e 2022                  movs    r2, #32
 1000 0020 86F83D20             strb    r2, [r6, #61]
6897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode         |= HAL_I2C_ERROR_TIMEOUT;
 1001                           .loc 1 6897 9 is_stmt 1 view .LVU317
6897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode         |= HAL_I2C_ERROR_TIMEOUT;
 1002                           .loc 1 6897 33 is_stmt 0 view .LVU318
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 148


 1003 0024 86F83E30             strb    r3, [r6, #62]
6898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1004                           .loc 1 6898 9 is_stmt 1 view .LVU319
6898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1005                           .loc 1 6898 33 is_stmt 0 view .LVU320
 1006 0028 326C                 ldr     r2, [r6, #64]
 1007 002a 42F02002             orr     r2, r2, #32
 1008 002e 3264                 str     r2, [r6, #64]
6901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1009                           .loc 1 6901 9 is_stmt 1 view .LVU321
6901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1010                           .loc 1 6901 9 view .LVU322
 1011 0030 86F83C30             strb    r3, [r6, #60]
6903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 1012                           .loc 1 6903 9 view .LVU323
6903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 1013                           .loc 1 6903 16 is_stmt 0 view .LVU324
 1014 0034 0120                 movs    r0, #1
 1015 0036 1AE0                 b       .L68
 1016                   .L69:
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1017                           .loc 1 6888 10 discriminator 2 view .LVU325
 1018 0038 3368                 ldr     r3, [r6]
 1019 003a 9B69                 ldr     r3, [r3, #24]
 1020 003c 24EA0303             bic     r3, r4, r3
 1021 0040 9BB2                 uxth    r3, r3
 1022 0042 B3FA83F3             clz     r3, r3
 1023 0046 5B09                 lsrs    r3, r3, #5
 1024                   .L70:
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1025                           .loc 1 6888 9 discriminator 4 view .LVU326
 1026 0048 9F42                 cmp     r7, r3
 1027 004a 0FD1                 bne     .L73
6891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1028                           .loc 1 6891 5 is_stmt 1 view .LVU327
6891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1029                           .loc 1 6891 8 is_stmt 0 view .LVU328
 1030 004c B5F1FF3F             cmp     r5, #-1
 1031 0050 DCD1                 bne     .L74
 1032                   .L66:
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1033                           .loc 1 6888 10 view .LVU329
 1034 0052 C4F30743             ubfx    r3, r4, #16, #8
 1035 0056 012B                 cmp     r3, #1
 1036 0058 EED1                 bne     .L69
6888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1037                           .loc 1 6888 10 discriminator 1 view .LVU330
 1038 005a 3368                 ldr     r3, [r6]
 1039 005c 5B69                 ldr     r3, [r3, #20]
 1040 005e 24EA0303             bic     r3, r4, r3
 1041 0062 9BB2                 uxth    r3, r3
 1042 0064 B3FA83F3             clz     r3, r3
 1043 0068 5B09                 lsrs    r3, r3, #5
 1044 006a EDE7                 b       .L70
 1045                   .L73:
6907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 1046                           .loc 1 6907 10 view .LVU331
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 149


 1047 006c 0020                 movs    r0, #0
 1048                   .L68:
6908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1049                           .loc 1 6908 1 view .LVU332
 1050 006e F8BD                 pop     {r3, r4, r5, r6, r7, pc}
6908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1051                           .loc 1 6908 1 view .LVU333
 1052                           .cfi_endproc
 1053                   .LFE136:
 1055                           .section        .text.I2C_WaitOnMasterAddressFlagUntilTimeout,"ax",%progbits
 1056                           .align  1
 1057                           .syntax unified
 1058                           .thumb
 1059                           .thumb_func
 1060                           .fpu softvfp
 1062                   I2C_WaitOnMasterAddressFlagUntilTimeout:
 1063                   .LVL38:
 1064                   .LFB137:
6920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, Flag) == RESET)
 1065                           .loc 1 6920 1 is_stmt 1 view -0
 1066                           .cfi_startproc
 1067                           @ args = 0, pretend = 0, frame = 0
 1068                           @ frame_needed = 0, uses_anonymous_args = 0
6920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, Flag) == RESET)
 1069                           .loc 1 6920 1 is_stmt 0 view .LVU335
 1070 0000 F8B5                 push    {r3, r4, r5, r6, r7, lr}
 1071                   .LCFI6:
 1072                           .cfi_def_cfa_offset 24
 1073                           .cfi_offset 3, -24
 1074                           .cfi_offset 4, -20
 1075                           .cfi_offset 5, -16
 1076                           .cfi_offset 6, -12
 1077                           .cfi_offset 7, -8
 1078                           .cfi_offset 14, -4
 1079 0002 0446                 mov     r4, r0
 1080 0004 0D46                 mov     r5, r1
 1081 0006 1646                 mov     r6, r2
 1082 0008 1F46                 mov     r7, r3
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1083                           .loc 1 6921 3 is_stmt 1 view .LVU336
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1084                           .loc 1 6921 9 is_stmt 0 view .LVU337
 1085 000a 3CE0                 b       .L79
 1086                   .LVL39:
 1087                   .L86:
6926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1088                           .loc 1 6926 7 is_stmt 1 view .LVU338
 1089 000c 1A68                 ldr     r2, [r3]
 1090 000e 42F40072             orr     r2, r2, #512
 1091 0012 1A60                 str     r2, [r3]
6929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1092                           .loc 1 6929 7 view .LVU339
 1093 0014 2368                 ldr     r3, [r4]
 1094 0016 6FF48062             mvn     r2, #1024
 1095 001a 5A61                 str     r2, [r3, #20]
6931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
 1096                           .loc 1 6931 7 view .LVU340
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 150


6931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
 1097                           .loc 1 6931 33 is_stmt 0 view .LVU341
 1098 001c 0023                 movs    r3, #0
 1099 001e 2363                 str     r3, [r4, #48]
6932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
 1100                           .loc 1 6932 7 is_stmt 1 view .LVU342
6932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
 1101                           .loc 1 6932 33 is_stmt 0 view .LVU343
 1102 0020 2022                 movs    r2, #32
 1103 0022 84F83D20             strb    r2, [r4, #61]
6933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_AF;
 1104                           .loc 1 6933 7 is_stmt 1 view .LVU344
6933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_AF;
 1105                           .loc 1 6933 33 is_stmt 0 view .LVU345
 1106 0026 84F83E30             strb    r3, [r4, #62]
6934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1107                           .loc 1 6934 7 is_stmt 1 view .LVU346
6934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1108                           .loc 1 6934 33 is_stmt 0 view .LVU347
 1109 002a 226C                 ldr     r2, [r4, #64]
 1110 002c 42F00402             orr     r2, r2, #4
 1111 0030 2264                 str     r2, [r4, #64]
6937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1112                           .loc 1 6937 7 is_stmt 1 view .LVU348
6937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1113                           .loc 1 6937 7 view .LVU349
 1114 0032 84F83C30             strb    r3, [r4, #60]
6939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 1115                           .loc 1 6939 7 view .LVU350
6939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 1116                           .loc 1 6939 14 is_stmt 0 view .LVU351
 1117 0036 0120                 movs    r0, #1
 1118 0038 33E0                 b       .L78
 1119                   .L87:
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1120                           .loc 1 6945 7 is_stmt 1 view .LVU352
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1121                           .loc 1 6945 13 is_stmt 0 view .LVU353
 1122 003a FFF7FEFF             bl      HAL_GetTick
 1123                   .LVL40:
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1124                           .loc 1 6945 27 view .LVU354
 1125 003e C01B                 subs    r0, r0, r7
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1126                           .loc 1 6945 10 view .LVU355
 1127 0040 B042                 cmp     r0, r6
 1128 0042 00D8                 bhi     .L80
6945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1129                           .loc 1 6945 51 discriminator 1 view .LVU356
 1130 0044 FEB9                 cbnz    r6, .L79
 1131                   .L80:
6947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 1132                           .loc 1 6947 9 is_stmt 1 view .LVU357
6947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 1133                           .loc 1 6947 35 is_stmt 0 view .LVU358
 1134 0046 0023                 movs    r3, #0
 1135 0048 2363                 str     r3, [r4, #48]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 151


6948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 1136                           .loc 1 6948 9 is_stmt 1 view .LVU359
6948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 1137                           .loc 1 6948 35 is_stmt 0 view .LVU360
 1138 004a 2022                 movs    r2, #32
 1139 004c 84F83D20             strb    r2, [r4, #61]
6949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 1140                           .loc 1 6949 9 is_stmt 1 view .LVU361
6949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 1141                           .loc 1 6949 35 is_stmt 0 view .LVU362
 1142 0050 84F83E30             strb    r3, [r4, #62]
6950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1143                           .loc 1 6950 9 is_stmt 1 view .LVU363
6950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1144                           .loc 1 6950 35 is_stmt 0 view .LVU364
 1145 0054 226C                 ldr     r2, [r4, #64]
 1146 0056 42F02002             orr     r2, r2, #32
 1147 005a 2264                 str     r2, [r4, #64]
6953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1148                           .loc 1 6953 9 is_stmt 1 view .LVU365
6953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1149                           .loc 1 6953 9 view .LVU366
 1150 005c 84F83C30             strb    r3, [r4, #60]
6955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 1151                           .loc 1 6955 9 view .LVU367
6955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 1152                           .loc 1 6955 16 is_stmt 0 view .LVU368
 1153 0060 0120                 movs    r0, #1
 1154 0062 1EE0                 b       .L78
 1155                   .L81:
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1156                           .loc 1 6921 10 discriminator 2 view .LVU369
 1157 0064 2368                 ldr     r3, [r4]
 1158 0066 9B69                 ldr     r3, [r3, #24]
 1159 0068 25EA0303             bic     r3, r5, r3
 1160 006c 9BB2                 uxth    r3, r3
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1161                           .loc 1 6921 41 discriminator 2 view .LVU370
 1162 006e 0033                 adds    r3, r3, #0
 1163 0070 18BF                 it      ne
 1164 0072 0123                 movne   r3, #1
 1165                   .L82:
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1166                           .loc 1 6921 9 discriminator 4 view .LVU371
 1167 0074 A3B1                 cbz     r3, .L85
6923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1168                           .loc 1 6923 5 is_stmt 1 view .LVU372
6923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1169                           .loc 1 6923 9 is_stmt 0 view .LVU373
 1170 0076 2368                 ldr     r3, [r4]
 1171 0078 5A69                 ldr     r2, [r3, #20]
6923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1172                           .loc 1 6923 8 view .LVU374
 1173 007a 12F4806F             tst     r2, #1024
 1174 007e C5D1                 bne     .L86
6943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1175                           .loc 1 6943 5 is_stmt 1 view .LVU375
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 152


6943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1176                           .loc 1 6943 8 is_stmt 0 view .LVU376
 1177 0080 B6F1FF3F             cmp     r6, #-1
 1178 0084 D9D1                 bne     .L87
 1179                   .L79:
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1180                           .loc 1 6921 10 view .LVU377
 1181 0086 C5F30743             ubfx    r3, r5, #16, #8
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1182                           .loc 1 6921 41 view .LVU378
 1183 008a 012B                 cmp     r3, #1
 1184 008c EAD1                 bne     .L81
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1185                           .loc 1 6921 10 discriminator 1 view .LVU379
 1186 008e 2368                 ldr     r3, [r4]
 1187 0090 5B69                 ldr     r3, [r3, #20]
 1188 0092 25EA0303             bic     r3, r5, r3
 1189 0096 9BB2                 uxth    r3, r3
6921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1190                           .loc 1 6921 41 discriminator 1 view .LVU380
 1191 0098 0033                 adds    r3, r3, #0
 1192 009a 18BF                 it      ne
 1193 009c 0123                 movne   r3, #1
 1194 009e E9E7                 b       .L82
 1195                   .L85:
6959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 1196                           .loc 1 6959 10 view .LVU381
 1197 00a0 0020                 movs    r0, #0
 1198                   .L78:
6960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1199                           .loc 1 6960 1 view .LVU382
 1200 00a2 F8BD                 pop     {r3, r4, r5, r6, r7, pc}
6960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1201                           .loc 1 6960 1 view .LVU383
 1202                           .cfi_endproc
 1203                   .LFE137:
 1205                           .section        .text.I2C_MasterRequestWrite,"ax",%progbits
 1206                           .align  1
 1207                           .syntax unified
 1208                           .thumb
 1209                           .thumb_func
 1210                           .fpu softvfp
 1212                   I2C_MasterRequestWrite:
 1213                   .LVL41:
 1214                   .LFB129:
6314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
 1215                           .loc 1 6314 1 is_stmt 1 view -0
 1216                           .cfi_startproc
 1217                           @ args = 0, pretend = 0, frame = 0
 1218                           @ frame_needed = 0, uses_anonymous_args = 0
6314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
 1219                           .loc 1 6314 1 is_stmt 0 view .LVU385
 1220 0000 F0B5                 push    {r4, r5, r6, r7, lr}
 1221                   .LCFI7:
 1222                           .cfi_def_cfa_offset 20
 1223                           .cfi_offset 4, -20
 1224                           .cfi_offset 5, -16
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 153


 1225                           .cfi_offset 6, -12
 1226                           .cfi_offset 7, -8
 1227                           .cfi_offset 14, -4
 1228 0002 83B0                 sub     sp, sp, #12
 1229                   .LCFI8:
 1230                           .cfi_def_cfa_offset 32
 1231 0004 0446                 mov     r4, r0
 1232 0006 0D46                 mov     r5, r1
 1233 0008 1646                 mov     r6, r2
 1234 000a 1F46                 mov     r7, r3
6316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1235                           .loc 1 6316 3 is_stmt 1 view .LVU386
6316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1236                           .loc 1 6316 12 is_stmt 0 view .LVU387
 1237 000c C36A                 ldr     r3, [r0, #44]
 1238                   .LVL42:
6319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1239                           .loc 1 6319 3 is_stmt 1 view .LVU388
6319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1240                           .loc 1 6319 6 is_stmt 0 view .LVU389
 1241 000e 082B                 cmp     r3, #8
 1242 0010 0DD0                 beq     .L89
6319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1243                           .loc 1 6319 56 discriminator 1 view .LVU390
 1244 0012 012B                 cmp     r3, #1
 1245 0014 0BD0                 beq     .L89
6319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1246                           .loc 1 6319 99 discriminator 2 view .LVU391
 1247 0016 13F5803F             cmn     r3, #65536
 1248 001a 08D0                 beq     .L89
6324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1249                           .loc 1 6324 8 is_stmt 1 view .LVU392
6324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1250                           .loc 1 6324 16 is_stmt 0 view .LVU393
 1251 001c 036B                 ldr     r3, [r0, #48]
 1252                   .LVL43:
6324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1253                           .loc 1 6324 11 view .LVU394
 1254 001e 122B                 cmp     r3, #18
 1255 0020 0AD1                 bne     .L91
6327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1256                           .loc 1 6327 5 is_stmt 1 view .LVU395
 1257 0022 0268                 ldr     r2, [r0]
 1258                   .LVL44:
6327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1259                           .loc 1 6327 5 is_stmt 0 view .LVU396
 1260 0024 1368                 ldr     r3, [r2]
 1261 0026 43F48073             orr     r3, r3, #256
 1262 002a 1360                 str     r3, [r2]
 1263 002c 04E0                 b       .L91
 1264                   .LVL45:
 1265                   .L89:
6322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1266                           .loc 1 6322 5 is_stmt 1 view .LVU397
 1267 002e 2268                 ldr     r2, [r4]
 1268                   .LVL46:
6322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 154


 1269                           .loc 1 6322 5 is_stmt 0 view .LVU398
 1270 0030 1368                 ldr     r3, [r2]
 1271                   .LVL47:
6322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1272                           .loc 1 6322 5 view .LVU399
 1273 0032 43F48073             orr     r3, r3, #256
 1274 0036 1360                 str     r3, [r2]
 1275                   .L91:
6332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1276                           .loc 1 6332 3 is_stmt 1 view .LVU400
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1277                           .loc 1 6335 3 view .LVU401
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1278                           .loc 1 6335 7 is_stmt 0 view .LVU402
 1279 0038 0097                 str     r7, [sp]
 1280 003a 3346                 mov     r3, r6
 1281 003c 0022                 movs    r2, #0
 1282 003e 4FF00111             mov     r1, #65537
 1283                   .LVL48:
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1284                           .loc 1 6335 7 view .LVU403
 1285 0042 2046                 mov     r0, r4
 1286                   .LVL49:
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1287                           .loc 1 6335 7 view .LVU404
 1288 0044 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 1289                   .LVL50:
6335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1290                           .loc 1 6335 6 view .LVU405
 1291 0048 20BB                 cbnz    r0, .L95
6340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1292                           .loc 1 6340 3 is_stmt 1 view .LVU406
6340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1293                           .loc 1 6340 17 is_stmt 0 view .LVU407
 1294 004a 2369                 ldr     r3, [r4, #16]
6340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1295                           .loc 1 6340 6 view .LVU408
 1296 004c B3F5804F             cmp     r3, #16384
 1297 0050 0ED1                 bne     .L93
6343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1298                           .loc 1 6343 5 is_stmt 1 view .LVU409
6343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1299                           .loc 1 6343 9 is_stmt 0 view .LVU410
 1300 0052 2368                 ldr     r3, [r4]
6343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1301                           .loc 1 6343 26 view .LVU411
 1302 0054 05F0FE05             and     r5, r5, #254
6343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1303                           .loc 1 6343 24 view .LVU412
 1304 0058 1D61                 str     r5, [r3, #16]
 1305                   .L94:
6361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1306                           .loc 1 6361 3 is_stmt 1 view .LVU413
6361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1307                           .loc 1 6361 7 is_stmt 0 view .LVU414
 1308 005a 3B46                 mov     r3, r7
 1309 005c 3246                 mov     r2, r6
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 155


 1310 005e 1049                 ldr     r1, .L100
 1311 0060 2046                 mov     r0, r4
 1312 0062 FFF7FEFF             bl      I2C_WaitOnMasterAddressFlagUntilTimeout
 1313                   .LVL51:
6361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1314                           .loc 1 6361 6 view .LVU415
 1315 0066 0346                 mov     r3, r0
 1316 0068 C0B9                 cbnz    r0, .L99
 1317                   .L92:
6367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1318                           .loc 1 6367 1 view .LVU416
 1319 006a 1846                 mov     r0, r3
 1320 006c 03B0                 add     sp, sp, #12
 1321                   .LCFI9:
 1322                           .cfi_remember_state
 1323                           .cfi_def_cfa_offset 20
 1324                           @ sp needed
 1325 006e F0BD                 pop     {r4, r5, r6, r7, pc}
 1326                   .LVL52:
 1327                   .L93:
 1328                   .LCFI10:
 1329                           .cfi_restore_state
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1330                           .loc 1 6348 5 is_stmt 1 view .LVU417
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1331                           .loc 1 6348 26 is_stmt 0 view .LVU418
 1332 0070 EB11                 asrs    r3, r5, #7
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1333                           .loc 1 6348 9 view .LVU419
 1334 0072 2268                 ldr     r2, [r4]
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1335                           .loc 1 6348 26 view .LVU420
 1336 0074 03F00603             and     r3, r3, #6
 1337 0078 43F0F003             orr     r3, r3, #240
6348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1338                           .loc 1 6348 24 view .LVU421
 1339 007c 1361                 str     r3, [r2, #16]
6351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1340                           .loc 1 6351 5 is_stmt 1 view .LVU422
6351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1341                           .loc 1 6351 9 is_stmt 0 view .LVU423
 1342 007e 3B46                 mov     r3, r7
 1343 0080 3246                 mov     r2, r6
 1344 0082 0849                 ldr     r1, .L100+4
 1345 0084 2046                 mov     r0, r4
 1346 0086 FFF7FEFF             bl      I2C_WaitOnMasterAddressFlagUntilTimeout
 1347                   .LVL53:
6351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1348                           .loc 1 6351 8 view .LVU424
 1349 008a 28B9                 cbnz    r0, .L96
6357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1350                           .loc 1 6357 5 is_stmt 1 view .LVU425
6357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1351                           .loc 1 6357 9 is_stmt 0 view .LVU426
 1352 008c 2368                 ldr     r3, [r4]
6357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1353                           .loc 1 6357 26 view .LVU427
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 156


 1354 008e EDB2                 uxtb    r5, r5
6357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1355                           .loc 1 6357 24 view .LVU428
 1356 0090 1D61                 str     r5, [r3, #16]
 1357 0092 E2E7                 b       .L94
 1358                   .L95:
6337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1359                           .loc 1 6337 12 view .LVU429
 1360 0094 0123                 movs    r3, #1
 1361 0096 E8E7                 b       .L92
 1362                   .L96:
6353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 1363                           .loc 1 6353 14 view .LVU430
 1364 0098 0123                 movs    r3, #1
 1365 009a E6E7                 b       .L92
 1366                   .L99:
6363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1367                           .loc 1 6363 12 view .LVU431
 1368 009c 0123                 movs    r3, #1
 1369 009e E4E7                 b       .L92
 1370                   .L101:
 1371                           .align  2
 1372                   .L100:
 1373 00a0 02000100             .word   65538
 1374 00a4 08000100             .word   65544
 1375                           .cfi_endproc
 1376                   .LFE129:
 1378                           .section        .text.I2C_MasterRequestRead,"ax",%progbits
 1379                           .align  1
 1380                           .syntax unified
 1381                           .thumb
 1382                           .thumb_func
 1383                           .fpu softvfp
 1385                   I2C_MasterRequestRead:
 1386                   .LVL54:
 1387                   .LFB130:
6380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
 1388                           .loc 1 6380 1 is_stmt 1 view -0
 1389                           .cfi_startproc
 1390                           @ args = 0, pretend = 0, frame = 8
 1391                           @ frame_needed = 0, uses_anonymous_args = 0
6380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
 1392                           .loc 1 6380 1 is_stmt 0 view .LVU433
 1393 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 1394                   .LCFI11:
 1395                           .cfi_def_cfa_offset 24
 1396                           .cfi_offset 4, -24
 1397                           .cfi_offset 5, -20
 1398                           .cfi_offset 6, -16
 1399                           .cfi_offset 7, -12
 1400                           .cfi_offset 8, -8
 1401                           .cfi_offset 14, -4
 1402 0004 84B0                 sub     sp, sp, #16
 1403                   .LCFI12:
 1404                           .cfi_def_cfa_offset 40
 1405 0006 0446                 mov     r4, r0
 1406 0008 0D46                 mov     r5, r1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 157


 1407 000a 1646                 mov     r6, r2
 1408 000c 1F46                 mov     r7, r3
6382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1409                           .loc 1 6382 3 is_stmt 1 view .LVU434
6382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1410                           .loc 1 6382 12 is_stmt 0 view .LVU435
 1411 000e C26A                 ldr     r2, [r0, #44]
 1412                   .LVL55:
6385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1413                           .loc 1 6385 3 is_stmt 1 view .LVU436
 1414 0010 0168                 ldr     r1, [r0]
 1415                   .LVL56:
6385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1416                           .loc 1 6385 3 is_stmt 0 view .LVU437
 1417 0012 0B68                 ldr     r3, [r1]
 1418                   .LVL57:
6385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1419                           .loc 1 6385 3 view .LVU438
 1420 0014 43F48063             orr     r3, r3, #1024
 1421 0018 0B60                 str     r3, [r1]
6388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1422                           .loc 1 6388 3 is_stmt 1 view .LVU439
6388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1423                           .loc 1 6388 6 is_stmt 0 view .LVU440
 1424 001a 082A                 cmp     r2, #8
 1425 001c 0DD0                 beq     .L103
6388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1426                           .loc 1 6388 56 discriminator 1 view .LVU441
 1427 001e 012A                 cmp     r2, #1
 1428 0020 0BD0                 beq     .L103
6388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1429                           .loc 1 6388 100 discriminator 2 view .LVU442
 1430 0022 12F5803F             cmn     r2, #65536
 1431 0026 08D0                 beq     .L103
6393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1432                           .loc 1 6393 8 is_stmt 1 view .LVU443
6393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1433                           .loc 1 6393 16 is_stmt 0 view .LVU444
 1434 0028 036B                 ldr     r3, [r0, #48]
6393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1435                           .loc 1 6393 11 view .LVU445
 1436 002a 112B                 cmp     r3, #17
 1437 002c 0AD1                 bne     .L105
6396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1438                           .loc 1 6396 5 is_stmt 1 view .LVU446
 1439 002e 0268                 ldr     r2, [r0]
 1440                   .LVL58:
6396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1441                           .loc 1 6396 5 is_stmt 0 view .LVU447
 1442 0030 1368                 ldr     r3, [r2]
 1443 0032 43F48073             orr     r3, r3, #256
 1444 0036 1360                 str     r3, [r2]
 1445 0038 04E0                 b       .L105
 1446                   .LVL59:
 1447                   .L103:
6391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1448                           .loc 1 6391 5 is_stmt 1 view .LVU448
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 158


 1449 003a 2268                 ldr     r2, [r4]
 1450                   .LVL60:
6391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1451                           .loc 1 6391 5 is_stmt 0 view .LVU449
 1452 003c 1368                 ldr     r3, [r2]
 1453 003e 43F48073             orr     r3, r3, #256
 1454 0042 1360                 str     r3, [r2]
 1455                   .L105:
6401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1456                           .loc 1 6401 3 is_stmt 1 view .LVU450
6404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1457                           .loc 1 6404 3 view .LVU451
6404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1458                           .loc 1 6404 7 is_stmt 0 view .LVU452
 1459 0044 0097                 str     r7, [sp]
 1460 0046 3346                 mov     r3, r6
 1461 0048 0022                 movs    r2, #0
 1462 004a 4FF00111             mov     r1, #65537
 1463 004e 2046                 mov     r0, r4
 1464                   .LVL61:
6404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1465                           .loc 1 6404 7 view .LVU453
 1466 0050 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 1467                   .LVL62:
6404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1468                           .loc 1 6404 6 view .LVU454
 1469 0054 0028                 cmp     r0, #0
 1470 0056 49D1                 bne     .L109
6409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1471                           .loc 1 6409 3 is_stmt 1 view .LVU455
6409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1472                           .loc 1 6409 17 is_stmt 0 view .LVU456
 1473 0058 2369                 ldr     r3, [r4, #16]
6409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1474                           .loc 1 6409 6 view .LVU457
 1475 005a B3F5804F             cmp     r3, #16384
 1476 005e 0FD1                 bne     .L107
6412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1477                           .loc 1 6412 5 is_stmt 1 view .LVU458
6412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1478                           .loc 1 6412 9 is_stmt 0 view .LVU459
 1479 0060 2368                 ldr     r3, [r4]
6412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1480                           .loc 1 6412 26 view .LVU460
 1481 0062 45F00105             orr     r5, r5, #1
 1482 0066 EDB2                 uxtb    r5, r5
6412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1483                           .loc 1 6412 24 view .LVU461
 1484 0068 1D61                 str     r5, [r3, #16]
 1485                   .L108:
6451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1486                           .loc 1 6451 3 is_stmt 1 view .LVU462
6451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1487                           .loc 1 6451 7 is_stmt 0 view .LVU463
 1488 006a 3B46                 mov     r3, r7
 1489 006c 3246                 mov     r2, r6
 1490 006e 2349                 ldr     r1, .L117
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 159


 1491 0070 2046                 mov     r0, r4
 1492 0072 FFF7FEFF             bl      I2C_WaitOnMasterAddressFlagUntilTimeout
 1493                   .LVL63:
6451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1494                           .loc 1 6451 6 view .LVU464
 1495 0076 0346                 mov     r3, r0
 1496 0078 0028                 cmp     r0, #0
 1497 007a 38D0                 beq     .L106
6453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1498                           .loc 1 6453 12 view .LVU465
 1499 007c 0123                 movs    r3, #1
 1500 007e 36E0                 b       .L106
 1501                   .L107:
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1502                           .loc 1 6417 5 is_stmt 1 view .LVU466
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1503                           .loc 1 6417 26 is_stmt 0 view .LVU467
 1504 0080 4FEAE518             asr     r8, r5, #7
 1505 0084 08F00608             and     r8, r8, #6
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1506                           .loc 1 6417 9 view .LVU468
 1507 0088 2368                 ldr     r3, [r4]
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1508                           .loc 1 6417 26 view .LVU469
 1509 008a 48F0F002             orr     r2, r8, #240
6417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1510                           .loc 1 6417 24 view .LVU470
 1511 008e 1A61                 str     r2, [r3, #16]
6420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1512                           .loc 1 6420 5 is_stmt 1 view .LVU471
6420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1513                           .loc 1 6420 9 is_stmt 0 view .LVU472
 1514 0090 3B46                 mov     r3, r7
 1515 0092 3246                 mov     r2, r6
 1516 0094 1A49                 ldr     r1, .L117+4
 1517 0096 2046                 mov     r0, r4
 1518 0098 FFF7FEFF             bl      I2C_WaitOnMasterAddressFlagUntilTimeout
 1519                   .LVL64:
6420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1520                           .loc 1 6420 8 view .LVU473
 1521 009c 08B1                 cbz     r0, .L115
6422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 1522                           .loc 1 6422 14 view .LVU474
 1523 009e 0123                 movs    r3, #1
 1524 00a0 25E0                 b       .L106
 1525                   .L115:
6426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1526                           .loc 1 6426 5 is_stmt 1 view .LVU475
6426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1527                           .loc 1 6426 9 is_stmt 0 view .LVU476
 1528 00a2 2368                 ldr     r3, [r4]
6426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1529                           .loc 1 6426 26 view .LVU477
 1530 00a4 EDB2                 uxtb    r5, r5
6426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1531                           .loc 1 6426 24 view .LVU478
 1532 00a6 1D61                 str     r5, [r3, #16]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 160


6429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1533                           .loc 1 6429 5 is_stmt 1 view .LVU479
6429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1534                           .loc 1 6429 9 is_stmt 0 view .LVU480
 1535 00a8 3B46                 mov     r3, r7
 1536 00aa 3246                 mov     r2, r6
 1537 00ac 1349                 ldr     r1, .L117
 1538 00ae 2046                 mov     r0, r4
 1539 00b0 FFF7FEFF             bl      I2C_WaitOnMasterAddressFlagUntilTimeout
 1540                   .LVL65:
6429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1541                           .loc 1 6429 8 view .LVU481
 1542 00b4 08B1                 cbz     r0, .L116
6431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 1543                           .loc 1 6431 14 view .LVU482
 1544 00b6 0123                 movs    r3, #1
 1545 00b8 19E0                 b       .L106
 1546                   .L116:
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1547                           .loc 1 6435 5 is_stmt 1 view .LVU483
 1548                   .LBB53:
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1549                           .loc 1 6435 5 view .LVU484
 1550 00ba 0022                 movs    r2, #0
 1551 00bc 0392                 str     r2, [sp, #12]
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1552                           .loc 1 6435 5 view .LVU485
 1553 00be 2368                 ldr     r3, [r4]
 1554 00c0 5969                 ldr     r1, [r3, #20]
 1555 00c2 0391                 str     r1, [sp, #12]
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1556                           .loc 1 6435 5 view .LVU486
 1557 00c4 9969                 ldr     r1, [r3, #24]
 1558 00c6 0391                 str     r1, [sp, #12]
6435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1559                           .loc 1 6435 5 view .LVU487
 1560 00c8 0399                 ldr     r1, [sp, #12]
 1561                   .LBE53:
6438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1562                           .loc 1 6438 5 view .LVU488
 1563 00ca 1968                 ldr     r1, [r3]
 1564 00cc 41F48071             orr     r1, r1, #256
 1565 00d0 1960                 str     r1, [r3]
6441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1566                           .loc 1 6441 5 view .LVU489
6441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1567                           .loc 1 6441 9 is_stmt 0 view .LVU490
 1568 00d2 0097                 str     r7, [sp]
 1569 00d4 3346                 mov     r3, r6
 1570 00d6 4FF00111             mov     r1, #65537
 1571 00da 2046                 mov     r0, r4
 1572 00dc FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 1573                   .LVL66:
6441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1574                           .loc 1 6441 8 view .LVU491
 1575 00e0 48B9                 cbnz    r0, .L112
6447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 161


 1576                           .loc 1 6447 5 is_stmt 1 view .LVU492
6447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1577                           .loc 1 6447 9 is_stmt 0 view .LVU493
 1578 00e2 2268                 ldr     r2, [r4]
6447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1579                           .loc 1 6447 26 view .LVU494
 1580 00e4 48F0F103             orr     r3, r8, #241
6447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1581                           .loc 1 6447 24 view .LVU495
 1582 00e8 1361                 str     r3, [r2, #16]
 1583 00ea BEE7                 b       .L108
 1584                   .L109:
6406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1585                           .loc 1 6406 12 view .LVU496
 1586 00ec 0123                 movs    r3, #1
 1587                   .L106:
6457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1588                           .loc 1 6457 1 view .LVU497
 1589 00ee 1846                 mov     r0, r3
 1590 00f0 04B0                 add     sp, sp, #16
 1591                   .LCFI13:
 1592                           .cfi_remember_state
 1593                           .cfi_def_cfa_offset 24
 1594                           @ sp needed
 1595 00f2 BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 1596                   .LVL67:
 1597                   .L112:
 1598                   .LCFI14:
 1599                           .cfi_restore_state
6443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 1600                           .loc 1 6443 14 view .LVU498
 1601 00f6 0123                 movs    r3, #1
 1602 00f8 F9E7                 b       .L106
 1603                   .L118:
 1604 00fa 00BF                 .align  2
 1605                   .L117:
 1606 00fc 02000100             .word   65538
 1607 0100 08000100             .word   65544
 1608                           .cfi_endproc
 1609                   .LFE130:
 1611                           .section        .text.I2C_WaitOnTXEFlagUntilTimeout,"ax",%progbits
 1612                           .align  1
 1613                           .syntax unified
 1614                           .thumb
 1615                           .thumb_func
 1616                           .fpu softvfp
 1618                   I2C_WaitOnTXEFlagUntilTimeout:
 1619                   .LVL68:
 1620                   .LFB138:
6971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
 1621                           .loc 1 6971 1 is_stmt 1 view -0
 1622                           .cfi_startproc
 1623                           @ args = 0, pretend = 0, frame = 0
 1624                           @ frame_needed = 0, uses_anonymous_args = 0
6971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
 1625                           .loc 1 6971 1 is_stmt 0 view .LVU500
 1626 0000 70B5                 push    {r4, r5, r6, lr}
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 162


 1627                   .LCFI15:
 1628                           .cfi_def_cfa_offset 16
 1629                           .cfi_offset 4, -16
 1630                           .cfi_offset 5, -12
 1631                           .cfi_offset 6, -8
 1632                           .cfi_offset 14, -4
 1633 0002 0446                 mov     r4, r0
 1634 0004 0D46                 mov     r5, r1
 1635 0006 1646                 mov     r6, r2
6972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1636                           .loc 1 6972 3 is_stmt 1 view .LVU501
 1637                   .LVL69:
 1638                   .L122:
6972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1639                           .loc 1 6972 10 is_stmt 0 view .LVU502
 1640 0008 2368                 ldr     r3, [r4]
 1641 000a 5B69                 ldr     r3, [r3, #20]
6972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1642                           .loc 1 6972 9 view .LVU503
 1643 000c 13F0800F             tst     r3, #128
 1644 0010 1CD1                 bne     .L127
6975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1645                           .loc 1 6975 5 is_stmt 1 view .LVU504
6975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1646                           .loc 1 6975 9 is_stmt 0 view .LVU505
 1647 0012 2046                 mov     r0, r4
 1648 0014 FFF7FEFF             bl      I2C_IsAcknowledgeFailed
 1649                   .LVL70:
6975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1650                           .loc 1 6975 8 view .LVU506
 1651 0018 D0B9                 cbnz    r0, .L125
6981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1652                           .loc 1 6981 5 is_stmt 1 view .LVU507
6981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1653                           .loc 1 6981 8 is_stmt 0 view .LVU508
 1654 001a B5F1FF3F             cmp     r5, #-1
 1655 001e F3D0                 beq     .L122
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1656                           .loc 1 6983 7 is_stmt 1 view .LVU509
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1657                           .loc 1 6983 13 is_stmt 0 view .LVU510
 1658 0020 FFF7FEFF             bl      HAL_GetTick
 1659                   .LVL71:
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1660                           .loc 1 6983 27 view .LVU511
 1661 0024 801B                 subs    r0, r0, r6
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1662                           .loc 1 6983 10 view .LVU512
 1663 0026 A842                 cmp     r0, r5
 1664 0028 01D8                 bhi     .L123
6983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1665                           .loc 1 6983 51 discriminator 1 view .LVU513
 1666 002a 002D                 cmp     r5, #0
 1667 002c ECD1                 bne     .L122
 1668                   .L123:
6985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 1669                           .loc 1 6985 9 is_stmt 1 view .LVU514
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 163


6985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 1670                           .loc 1 6985 35 is_stmt 0 view .LVU515
 1671 002e 0023                 movs    r3, #0
 1672 0030 2363                 str     r3, [r4, #48]
6986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 1673                           .loc 1 6986 9 is_stmt 1 view .LVU516
6986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 1674                           .loc 1 6986 35 is_stmt 0 view .LVU517
 1675 0032 2022                 movs    r2, #32
 1676 0034 84F83D20             strb    r2, [r4, #61]
6987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 1677                           .loc 1 6987 9 is_stmt 1 view .LVU518
6987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 1678                           .loc 1 6987 35 is_stmt 0 view .LVU519
 1679 0038 84F83E30             strb    r3, [r4, #62]
6988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1680                           .loc 1 6988 9 is_stmt 1 view .LVU520
6988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1681                           .loc 1 6988 35 is_stmt 0 view .LVU521
 1682 003c 226C                 ldr     r2, [r4, #64]
 1683 003e 42F02002             orr     r2, r2, #32
 1684 0042 2264                 str     r2, [r4, #64]
6991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1685                           .loc 1 6991 9 is_stmt 1 view .LVU522
6991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1686                           .loc 1 6991 9 view .LVU523
 1687 0044 84F83C30             strb    r3, [r4, #60]
6993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 1688                           .loc 1 6993 9 view .LVU524
6993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 1689                           .loc 1 6993 16 is_stmt 0 view .LVU525
 1690 0048 0120                 movs    r0, #1
 1691 004a 00E0                 b       .L121
 1692                   .L127:
6997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 1693                           .loc 1 6997 10 view .LVU526
 1694 004c 0020                 movs    r0, #0
 1695                   .L121:
6998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1696                           .loc 1 6998 1 view .LVU527
 1697 004e 70BD                 pop     {r4, r5, r6, pc}
 1698                   .LVL72:
 1699                   .L125:
6977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 1700                           .loc 1 6977 14 view .LVU528
 1701 0050 0120                 movs    r0, #1
 1702 0052 FCE7                 b       .L121
 1703                           .cfi_endproc
 1704                   .LFE138:
 1706                           .section        .text.I2C_RequestMemoryWrite,"ax",%progbits
 1707                           .align  1
 1708                           .syntax unified
 1709                           .thumb
 1710                           .thumb_func
 1711                           .fpu softvfp
 1713                   I2C_RequestMemoryWrite:
 1714                   .LVL73:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 164


 1715                   .LFB131:
6472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Generate Start */
 1716                           .loc 1 6472 1 is_stmt 1 view -0
 1717                           .cfi_startproc
 1718                           @ args = 8, pretend = 0, frame = 8
 1719                           @ frame_needed = 0, uses_anonymous_args = 0
6472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Generate Start */
 1720                           .loc 1 6472 1 is_stmt 0 view .LVU530
 1721 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 1722                   .LCFI16:
 1723                           .cfi_def_cfa_offset 24
 1724                           .cfi_offset 4, -24
 1725                           .cfi_offset 5, -20
 1726                           .cfi_offset 6, -16
 1727                           .cfi_offset 7, -12
 1728                           .cfi_offset 8, -8
 1729                           .cfi_offset 14, -4
 1730 0004 84B0                 sub     sp, sp, #16
 1731                   .LCFI17:
 1732                           .cfi_def_cfa_offset 40
 1733 0006 0446                 mov     r4, r0
 1734 0008 0E46                 mov     r6, r1
 1735 000a 1746                 mov     r7, r2
 1736 000c 9846                 mov     r8, r3
 1737 000e 0B9D                 ldr     r5, [sp, #44]
6474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1738                           .loc 1 6474 3 is_stmt 1 view .LVU531
 1739 0010 0268                 ldr     r2, [r0]
 1740                   .LVL74:
6474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1741                           .loc 1 6474 3 is_stmt 0 view .LVU532
 1742 0012 1368                 ldr     r3, [r2]
 1743                   .LVL75:
6474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1744                           .loc 1 6474 3 view .LVU533
 1745 0014 43F48073             orr     r3, r3, #256
 1746 0018 1360                 str     r3, [r2]
6477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1747                           .loc 1 6477 3 is_stmt 1 view .LVU534
6477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1748                           .loc 1 6477 7 is_stmt 0 view .LVU535
 1749 001a 0095                 str     r5, [sp]
 1750 001c 0A9B                 ldr     r3, [sp, #40]
 1751 001e 0022                 movs    r2, #0
 1752 0020 4FF00111             mov     r1, #65537
 1753                   .LVL76:
6477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1754                           .loc 1 6477 7 view .LVU536
 1755 0024 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 1756                   .LVL77:
6477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1757                           .loc 1 6477 6 view .LVU537
 1758 0028 20B1                 cbz     r0, .L138
6479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1759                           .loc 1 6479 12 view .LVU538
 1760 002a 0123                 movs    r3, #1
 1761                   .L129:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 165


6533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1762                           .loc 1 6533 1 view .LVU539
 1763 002c 1846                 mov     r0, r3
 1764 002e 04B0                 add     sp, sp, #16
 1765                   .LCFI18:
 1766                           .cfi_remember_state
 1767                           .cfi_def_cfa_offset 24
 1768                           @ sp needed
 1769 0030 BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 1770                   .LVL78:
 1771                   .L138:
 1772                   .LCFI19:
 1773                           .cfi_restore_state
6483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1774                           .loc 1 6483 3 is_stmt 1 view .LVU540
6483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1775                           .loc 1 6483 7 is_stmt 0 view .LVU541
 1776 0034 2368                 ldr     r3, [r4]
6483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1777                           .loc 1 6483 24 view .LVU542
 1778 0036 06F0FE06             and     r6, r6, #254
6483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1779                           .loc 1 6483 22 view .LVU543
 1780 003a 1E61                 str     r6, [r3, #16]
6486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1781                           .loc 1 6486 3 is_stmt 1 view .LVU544
6486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1782                           .loc 1 6486 7 is_stmt 0 view .LVU545
 1783 003c 2B46                 mov     r3, r5
 1784 003e 0A9A                 ldr     r2, [sp, #40]
 1785 0040 2049                 ldr     r1, .L144
 1786 0042 2046                 mov     r0, r4
 1787 0044 FFF7FEFF             bl      I2C_WaitOnMasterAddressFlagUntilTimeout
 1788                   .LVL79:
6486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1789                           .loc 1 6486 6 view .LVU546
 1790 0048 08B1                 cbz     r0, .L139
6488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1791                           .loc 1 6488 12 view .LVU547
 1792 004a 0123                 movs    r3, #1
 1793 004c EEE7                 b       .L129
 1794                   .L139:
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1795                           .loc 1 6492 3 is_stmt 1 view .LVU548
 1796                   .LBB54:
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1797                           .loc 1 6492 3 view .LVU549
 1798 004e 0023                 movs    r3, #0
 1799 0050 0393                 str     r3, [sp, #12]
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1800                           .loc 1 6492 3 view .LVU550
 1801 0052 2368                 ldr     r3, [r4]
 1802 0054 5A69                 ldr     r2, [r3, #20]
 1803 0056 0392                 str     r2, [sp, #12]
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1804                           .loc 1 6492 3 view .LVU551
 1805 0058 9B69                 ldr     r3, [r3, #24]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 166


 1806 005a 0393                 str     r3, [sp, #12]
6492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1807                           .loc 1 6492 3 view .LVU552
 1808 005c 039B                 ldr     r3, [sp, #12]
 1809                   .LBE54:
6495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1810                           .loc 1 6495 3 view .LVU553
6495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1811                           .loc 1 6495 7 is_stmt 0 view .LVU554
 1812 005e 2A46                 mov     r2, r5
 1813 0060 0A99                 ldr     r1, [sp, #40]
 1814 0062 2046                 mov     r0, r4
 1815 0064 FFF7FEFF             bl      I2C_WaitOnTXEFlagUntilTimeout
 1816                   .LVL80:
6495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1817                           .loc 1 6495 6 view .LVU555
 1818 0068 0346                 mov     r3, r0
 1819 006a 30B9                 cbnz    r0, .L140
6506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1820                           .loc 1 6506 3 is_stmt 1 view .LVU556
6506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1821                           .loc 1 6506 6 is_stmt 0 view .LVU557
 1822 006c B8F1010F             cmp     r8, #1
 1823 0070 0ED1                 bne     .L132
6509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1824                           .loc 1 6509 5 is_stmt 1 view .LVU558
6509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1825                           .loc 1 6509 9 is_stmt 0 view .LVU559
 1826 0072 2268                 ldr     r2, [r4]
6509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1827                           .loc 1 6509 26 view .LVU560
 1828 0074 FFB2                 uxtb    r7, r7
6509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1829                           .loc 1 6509 24 view .LVU561
 1830 0076 1761                 str     r7, [r2, #16]
 1831 0078 D8E7                 b       .L129
 1832                   .L140:
6497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1833                           .loc 1 6497 5 is_stmt 1 view .LVU562
6497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1834                           .loc 1 6497 13 is_stmt 0 view .LVU563
 1835 007a 236C                 ldr     r3, [r4, #64]
6497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1836                           .loc 1 6497 8 view .LVU564
 1837 007c 042B                 cmp     r3, #4
 1838 007e 01D0                 beq     .L141
 1839                   .L131:
6502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1840                           .loc 1 6502 5 is_stmt 1 view .LVU565
6502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1841                           .loc 1 6502 12 is_stmt 0 view .LVU566
 1842 0080 0123                 movs    r3, #1
 1843 0082 D3E7                 b       .L129
 1844                   .L141:
6500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 1845                           .loc 1 6500 7 is_stmt 1 view .LVU567
 1846 0084 2268                 ldr     r2, [r4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 167


 1847 0086 1368                 ldr     r3, [r2]
 1848 0088 43F40073             orr     r3, r3, #512
 1849 008c 1360                 str     r3, [r2]
 1850 008e F7E7                 b       .L131
 1851                   .L132:
6515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1852                           .loc 1 6515 5 view .LVU568
6515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1853                           .loc 1 6515 9 is_stmt 0 view .LVU569
 1854 0090 2368                 ldr     r3, [r4]
6515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1855                           .loc 1 6515 26 view .LVU570
 1856 0092 3A0A                 lsrs    r2, r7, #8
6515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1857                           .loc 1 6515 24 view .LVU571
 1858 0094 1A61                 str     r2, [r3, #16]
6518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1859                           .loc 1 6518 5 is_stmt 1 view .LVU572
6518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1860                           .loc 1 6518 9 is_stmt 0 view .LVU573
 1861 0096 2A46                 mov     r2, r5
 1862 0098 0A99                 ldr     r1, [sp, #40]
 1863 009a 2046                 mov     r0, r4
 1864 009c FFF7FEFF             bl      I2C_WaitOnTXEFlagUntilTimeout
 1865                   .LVL81:
6518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 1866                           .loc 1 6518 8 view .LVU574
 1867 00a0 0346                 mov     r3, r0
 1868 00a2 18B9                 cbnz    r0, .L142
6529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1869                           .loc 1 6529 5 is_stmt 1 view .LVU575
6529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1870                           .loc 1 6529 9 is_stmt 0 view .LVU576
 1871 00a4 2268                 ldr     r2, [r4]
6529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1872                           .loc 1 6529 26 view .LVU577
 1873 00a6 FFB2                 uxtb    r7, r7
6529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1874                           .loc 1 6529 24 view .LVU578
 1875 00a8 1761                 str     r7, [r2, #16]
 1876 00aa BFE7                 b       .L129
 1877                   .L142:
6520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1878                           .loc 1 6520 7 is_stmt 1 view .LVU579
6520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1879                           .loc 1 6520 15 is_stmt 0 view .LVU580
 1880 00ac 236C                 ldr     r3, [r4, #64]
6520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 1881                           .loc 1 6520 10 view .LVU581
 1882 00ae 042B                 cmp     r3, #4
 1883 00b0 01D0                 beq     .L143
 1884                   .L134:
6525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 1885                           .loc 1 6525 7 is_stmt 1 view .LVU582
6525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 1886                           .loc 1 6525 14 is_stmt 0 view .LVU583
 1887 00b2 0123                 movs    r3, #1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 168


 1888 00b4 BAE7                 b       .L129
 1889                   .L143:
6523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 1890                           .loc 1 6523 9 is_stmt 1 view .LVU584
 1891 00b6 2268                 ldr     r2, [r4]
 1892 00b8 1368                 ldr     r3, [r2]
 1893 00ba 43F40073             orr     r3, r3, #512
 1894 00be 1360                 str     r3, [r2]
 1895 00c0 F7E7                 b       .L134
 1896                   .L145:
 1897 00c2 00BF                 .align  2
 1898                   .L144:
 1899 00c4 02000100             .word   65538
 1900                           .cfi_endproc
 1901                   .LFE131:
 1903                           .section        .text.I2C_RequestMemoryRead,"ax",%progbits
 1904                           .align  1
 1905                           .syntax unified
 1906                           .thumb
 1907                           .thumb_func
 1908                           .fpu softvfp
 1910                   I2C_RequestMemoryRead:
 1911                   .LVL82:
 1912                   .LFB132:
6548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Enable Acknowledge */
 1913                           .loc 1 6548 1 view -0
 1914                           .cfi_startproc
 1915                           @ args = 8, pretend = 0, frame = 8
 1916                           @ frame_needed = 0, uses_anonymous_args = 0
6548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Enable Acknowledge */
 1917                           .loc 1 6548 1 is_stmt 0 view .LVU586
 1918 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 1919                   .LCFI20:
 1920                           .cfi_def_cfa_offset 24
 1921                           .cfi_offset 4, -24
 1922                           .cfi_offset 5, -20
 1923                           .cfi_offset 6, -16
 1924                           .cfi_offset 7, -12
 1925                           .cfi_offset 8, -8
 1926                           .cfi_offset 14, -4
 1927 0004 84B0                 sub     sp, sp, #16
 1928                   .LCFI21:
 1929                           .cfi_def_cfa_offset 40
 1930 0006 0446                 mov     r4, r0
 1931 0008 0E46                 mov     r6, r1
 1932 000a 1746                 mov     r7, r2
 1933 000c 9846                 mov     r8, r3
 1934 000e 0B9D                 ldr     r5, [sp, #44]
6550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1935                           .loc 1 6550 3 is_stmt 1 view .LVU587
 1936 0010 0268                 ldr     r2, [r0]
 1937                   .LVL83:
6550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1938                           .loc 1 6550 3 is_stmt 0 view .LVU588
 1939 0012 1368                 ldr     r3, [r2]
 1940                   .LVL84:
6550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 169


 1941                           .loc 1 6550 3 view .LVU589
 1942 0014 43F48063             orr     r3, r3, #1024
 1943 0018 1360                 str     r3, [r2]
6553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1944                           .loc 1 6553 3 is_stmt 1 view .LVU590
 1945 001a 0268                 ldr     r2, [r0]
 1946 001c 1368                 ldr     r3, [r2]
 1947 001e 43F48073             orr     r3, r3, #256
 1948 0022 1360                 str     r3, [r2]
6556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1949                           .loc 1 6556 3 view .LVU591
6556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1950                           .loc 1 6556 7 is_stmt 0 view .LVU592
 1951 0024 0095                 str     r5, [sp]
 1952 0026 0A9B                 ldr     r3, [sp, #40]
 1953 0028 0022                 movs    r2, #0
 1954 002a 4FF00111             mov     r1, #65537
 1955                   .LVL85:
6556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1956                           .loc 1 6556 7 view .LVU593
 1957 002e FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 1958                   .LVL86:
6556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1959                           .loc 1 6556 6 view .LVU594
 1960 0032 20B1                 cbz     r0, .L161
6558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1961                           .loc 1 6558 12 view .LVU595
 1962 0034 0123                 movs    r3, #1
 1963                   .L147:
6641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1964                           .loc 1 6641 1 view .LVU596
 1965 0036 1846                 mov     r0, r3
 1966 0038 04B0                 add     sp, sp, #16
 1967                   .LCFI22:
 1968                           .cfi_remember_state
 1969                           .cfi_def_cfa_offset 24
 1970                           @ sp needed
 1971 003a BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 1972                   .LVL87:
 1973                   .L161:
 1974                   .LCFI23:
 1975                           .cfi_restore_state
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1976                           .loc 1 6562 3 is_stmt 1 view .LVU597
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1977                           .loc 1 6562 24 is_stmt 0 view .LVU598
 1978 003e F6B2                 uxtb    r6, r6
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1979                           .loc 1 6562 7 view .LVU599
 1980 0040 2368                 ldr     r3, [r4]
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1981                           .loc 1 6562 24 view .LVU600
 1982 0042 06F0FE02             and     r2, r6, #254
6562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1983                           .loc 1 6562 22 view .LVU601
 1984 0046 1A61                 str     r2, [r3, #16]
6565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 170


 1985                           .loc 1 6565 3 is_stmt 1 view .LVU602
6565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1986                           .loc 1 6565 7 is_stmt 0 view .LVU603
 1987 0048 2B46                 mov     r3, r5
 1988 004a 0A9A                 ldr     r2, [sp, #40]
 1989 004c 3649                 ldr     r1, .L169
 1990 004e 2046                 mov     r0, r4
 1991 0050 FFF7FEFF             bl      I2C_WaitOnMasterAddressFlagUntilTimeout
 1992                   .LVL88:
6565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 1993                           .loc 1 6565 6 view .LVU604
 1994 0054 08B1                 cbz     r0, .L162
6567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 1995                           .loc 1 6567 12 view .LVU605
 1996 0056 0123                 movs    r3, #1
 1997 0058 EDE7                 b       .L147
 1998                   .L162:
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 1999                           .loc 1 6571 3 is_stmt 1 view .LVU606
 2000                   .LBB55:
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2001                           .loc 1 6571 3 view .LVU607
 2002 005a 0023                 movs    r3, #0
 2003 005c 0393                 str     r3, [sp, #12]
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2004                           .loc 1 6571 3 view .LVU608
 2005 005e 2368                 ldr     r3, [r4]
 2006 0060 5A69                 ldr     r2, [r3, #20]
 2007 0062 0392                 str     r2, [sp, #12]
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2008                           .loc 1 6571 3 view .LVU609
 2009 0064 9B69                 ldr     r3, [r3, #24]
 2010 0066 0393                 str     r3, [sp, #12]
6571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2011                           .loc 1 6571 3 view .LVU610
 2012 0068 039B                 ldr     r3, [sp, #12]
 2013                   .LBE55:
6574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2014                           .loc 1 6574 3 view .LVU611
6574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2015                           .loc 1 6574 7 is_stmt 0 view .LVU612
 2016 006a 2A46                 mov     r2, r5
 2017 006c 0A99                 ldr     r1, [sp, #40]
 2018 006e 2046                 mov     r0, r4
 2019 0070 FFF7FEFF             bl      I2C_WaitOnTXEFlagUntilTimeout
 2020                   .LVL89:
6574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2021                           .loc 1 6574 6 view .LVU613
 2022 0074 80B9                 cbnz    r0, .L163
6585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2023                           .loc 1 6585 3 is_stmt 1 view .LVU614
6585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2024                           .loc 1 6585 6 is_stmt 0 view .LVU615
 2025 0076 B8F1010F             cmp     r8, #1
 2026 007a 18D1                 bne     .L150
6588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2027                           .loc 1 6588 5 is_stmt 1 view .LVU616
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 171


6588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2028                           .loc 1 6588 9 is_stmt 0 view .LVU617
 2029 007c 2368                 ldr     r3, [r4]
6588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2030                           .loc 1 6588 26 view .LVU618
 2031 007e FFB2                 uxtb    r7, r7
6588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2032                           .loc 1 6588 24 view .LVU619
 2033 0080 1F61                 str     r7, [r3, #16]
 2034                   .L151:
6612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2035                           .loc 1 6612 3 is_stmt 1 view .LVU620
6612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2036                           .loc 1 6612 7 is_stmt 0 view .LVU621
 2037 0082 2A46                 mov     r2, r5
 2038 0084 0A99                 ldr     r1, [sp, #40]
 2039 0086 2046                 mov     r0, r4
 2040 0088 FFF7FEFF             bl      I2C_WaitOnTXEFlagUntilTimeout
 2041                   .LVL90:
6612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2042                           .loc 1 6612 6 view .LVU622
 2043 008c 68B3                 cbz     r0, .L154
6614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2044                           .loc 1 6614 5 is_stmt 1 view .LVU623
6614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2045                           .loc 1 6614 13 is_stmt 0 view .LVU624
 2046 008e 236C                 ldr     r3, [r4, #64]
6614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2047                           .loc 1 6614 8 view .LVU625
 2048 0090 042B                 cmp     r3, #4
 2049 0092 24D0                 beq     .L164
 2050                   .L155:
6619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2051                           .loc 1 6619 5 is_stmt 1 view .LVU626
6619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2052                           .loc 1 6619 12 is_stmt 0 view .LVU627
 2053 0094 0123                 movs    r3, #1
 2054 0096 CEE7                 b       .L147
 2055                   .L163:
6576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2056                           .loc 1 6576 5 is_stmt 1 view .LVU628
6576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2057                           .loc 1 6576 13 is_stmt 0 view .LVU629
 2058 0098 236C                 ldr     r3, [r4, #64]
6576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2059                           .loc 1 6576 8 view .LVU630
 2060 009a 042B                 cmp     r3, #4
 2061 009c 01D0                 beq     .L165
 2062                   .L149:
6581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2063                           .loc 1 6581 5 is_stmt 1 view .LVU631
6581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2064                           .loc 1 6581 12 is_stmt 0 view .LVU632
 2065 009e 0123                 movs    r3, #1
 2066 00a0 C9E7                 b       .L147
 2067                   .L165:
6579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 172


 2068                           .loc 1 6579 7 is_stmt 1 view .LVU633
 2069 00a2 2268                 ldr     r2, [r4]
 2070 00a4 1368                 ldr     r3, [r2]
 2071 00a6 43F40073             orr     r3, r3, #512
 2072 00aa 1360                 str     r3, [r2]
 2073 00ac F7E7                 b       .L149
 2074                   .L150:
6594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2075                           .loc 1 6594 5 view .LVU634
6594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2076                           .loc 1 6594 9 is_stmt 0 view .LVU635
 2077 00ae 2368                 ldr     r3, [r4]
6594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2078                           .loc 1 6594 26 view .LVU636
 2079 00b0 3A0A                 lsrs    r2, r7, #8
6594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2080                           .loc 1 6594 24 view .LVU637
 2081 00b2 1A61                 str     r2, [r3, #16]
6597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2082                           .loc 1 6597 5 is_stmt 1 view .LVU638
6597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2083                           .loc 1 6597 9 is_stmt 0 view .LVU639
 2084 00b4 2A46                 mov     r2, r5
 2085 00b6 0A99                 ldr     r1, [sp, #40]
 2086 00b8 2046                 mov     r0, r4
 2087 00ba FFF7FEFF             bl      I2C_WaitOnTXEFlagUntilTimeout
 2088                   .LVL91:
6597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2089                           .loc 1 6597 8 view .LVU640
 2090 00be 18B9                 cbnz    r0, .L166
6608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2091                           .loc 1 6608 5 is_stmt 1 view .LVU641
6608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2092                           .loc 1 6608 9 is_stmt 0 view .LVU642
 2093 00c0 2368                 ldr     r3, [r4]
6608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2094                           .loc 1 6608 26 view .LVU643
 2095 00c2 FFB2                 uxtb    r7, r7
6608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2096                           .loc 1 6608 24 view .LVU644
 2097 00c4 1F61                 str     r7, [r3, #16]
 2098 00c6 DCE7                 b       .L151
 2099                   .L166:
6599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 2100                           .loc 1 6599 7 is_stmt 1 view .LVU645
6599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 2101                           .loc 1 6599 15 is_stmt 0 view .LVU646
 2102 00c8 236C                 ldr     r3, [r4, #64]
6599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 2103                           .loc 1 6599 10 view .LVU647
 2104 00ca 042B                 cmp     r3, #4
 2105 00cc 01D0                 beq     .L167
 2106                   .L153:
6604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2107                           .loc 1 6604 7 is_stmt 1 view .LVU648
6604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2108                           .loc 1 6604 14 is_stmt 0 view .LVU649
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 173


 2109 00ce 0123                 movs    r3, #1
 2110 00d0 B1E7                 b       .L147
 2111                   .L167:
6602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 2112                           .loc 1 6602 9 is_stmt 1 view .LVU650
 2113 00d2 2268                 ldr     r2, [r4]
 2114 00d4 1368                 ldr     r3, [r2]
 2115 00d6 43F40073             orr     r3, r3, #512
 2116 00da 1360                 str     r3, [r2]
 2117 00dc F7E7                 b       .L153
 2118                   .L164:
6617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2119                           .loc 1 6617 7 view .LVU651
 2120 00de 2268                 ldr     r2, [r4]
 2121 00e0 1368                 ldr     r3, [r2]
 2122 00e2 43F40073             orr     r3, r3, #512
 2123 00e6 1360                 str     r3, [r2]
 2124 00e8 D4E7                 b       .L155
 2125                   .L154:
6623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2126                           .loc 1 6623 3 view .LVU652
 2127 00ea 2268                 ldr     r2, [r4]
 2128 00ec 1368                 ldr     r3, [r2]
 2129 00ee 43F48073             orr     r3, r3, #256
 2130 00f2 1360                 str     r3, [r2]
6626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2131                           .loc 1 6626 3 view .LVU653
6626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2132                           .loc 1 6626 7 is_stmt 0 view .LVU654
 2133 00f4 0095                 str     r5, [sp]
 2134 00f6 0A9B                 ldr     r3, [sp, #40]
 2135 00f8 0022                 movs    r2, #0
 2136 00fa 4FF00111             mov     r1, #65537
 2137 00fe 2046                 mov     r0, r4
 2138 0100 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 2139                   .LVL92:
6626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2140                           .loc 1 6626 6 view .LVU655
 2141 0104 08B1                 cbz     r0, .L168
6628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2142                           .loc 1 6628 12 view .LVU656
 2143 0106 0123                 movs    r3, #1
 2144 0108 95E7                 b       .L147
 2145                   .L168:
6632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2146                           .loc 1 6632 3 is_stmt 1 view .LVU657
6632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2147                           .loc 1 6632 7 is_stmt 0 view .LVU658
 2148 010a 2368                 ldr     r3, [r4]
6632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2149                           .loc 1 6632 24 view .LVU659
 2150 010c 46F00106             orr     r6, r6, #1
6632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2151                           .loc 1 6632 22 view .LVU660
 2152 0110 1E61                 str     r6, [r3, #16]
6635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2153                           .loc 1 6635 3 is_stmt 1 view .LVU661
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 174


6635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2154                           .loc 1 6635 7 is_stmt 0 view .LVU662
 2155 0112 2B46                 mov     r3, r5
 2156 0114 0A9A                 ldr     r2, [sp, #40]
 2157 0116 0449                 ldr     r1, .L169
 2158 0118 2046                 mov     r0, r4
 2159 011a FFF7FEFF             bl      I2C_WaitOnMasterAddressFlagUntilTimeout
 2160                   .LVL93:
6635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2161                           .loc 1 6635 6 view .LVU663
 2162 011e 0346                 mov     r3, r0
 2163 0120 0028                 cmp     r0, #0
 2164 0122 88D0                 beq     .L147
6637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2165                           .loc 1 6637 12 view .LVU664
 2166 0124 0123                 movs    r3, #1
 2167 0126 86E7                 b       .L147
 2168                   .L170:
 2169                           .align  2
 2170                   .L169:
 2171 0128 02000100             .word   65538
 2172                           .cfi_endproc
 2173                   .LFE132:
 2175                           .section        .text.I2C_WaitOnBTFFlagUntilTimeout,"ax",%progbits
 2176                           .align  1
 2177                           .syntax unified
 2178                           .thumb
 2179                           .thumb_func
 2180                           .fpu softvfp
 2182                   I2C_WaitOnBTFFlagUntilTimeout:
 2183                   .LVL94:
 2184                   .LFB139:
7009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == RESET)
 2185                           .loc 1 7009 1 is_stmt 1 view -0
 2186                           .cfi_startproc
 2187                           @ args = 0, pretend = 0, frame = 0
 2188                           @ frame_needed = 0, uses_anonymous_args = 0
7009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == RESET)
 2189                           .loc 1 7009 1 is_stmt 0 view .LVU666
 2190 0000 70B5                 push    {r4, r5, r6, lr}
 2191                   .LCFI24:
 2192                           .cfi_def_cfa_offset 16
 2193                           .cfi_offset 4, -16
 2194                           .cfi_offset 5, -12
 2195                           .cfi_offset 6, -8
 2196                           .cfi_offset 14, -4
 2197 0002 0446                 mov     r4, r0
 2198 0004 0D46                 mov     r5, r1
 2199 0006 1646                 mov     r6, r2
7010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2200                           .loc 1 7010 3 is_stmt 1 view .LVU667
 2201                   .LVL95:
 2202                   .L174:
7010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2203                           .loc 1 7010 10 is_stmt 0 view .LVU668
 2204 0008 2368                 ldr     r3, [r4]
 2205 000a 5B69                 ldr     r3, [r3, #20]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 175


7010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2206                           .loc 1 7010 9 view .LVU669
 2207 000c 13F0040F             tst     r3, #4
 2208 0010 1CD1                 bne     .L179
7013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2209                           .loc 1 7013 5 is_stmt 1 view .LVU670
7013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2210                           .loc 1 7013 9 is_stmt 0 view .LVU671
 2211 0012 2046                 mov     r0, r4
 2212 0014 FFF7FEFF             bl      I2C_IsAcknowledgeFailed
 2213                   .LVL96:
7013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2214                           .loc 1 7013 8 view .LVU672
 2215 0018 D0B9                 cbnz    r0, .L177
7019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2216                           .loc 1 7019 5 is_stmt 1 view .LVU673
7019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2217                           .loc 1 7019 8 is_stmt 0 view .LVU674
 2218 001a B5F1FF3F             cmp     r5, #-1
 2219 001e F3D0                 beq     .L174
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 2220                           .loc 1 7021 7 is_stmt 1 view .LVU675
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 2221                           .loc 1 7021 13 is_stmt 0 view .LVU676
 2222 0020 FFF7FEFF             bl      HAL_GetTick
 2223                   .LVL97:
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 2224                           .loc 1 7021 27 view .LVU677
 2225 0024 801B                 subs    r0, r0, r6
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 2226                           .loc 1 7021 10 view .LVU678
 2227 0026 A842                 cmp     r0, r5
 2228 0028 01D8                 bhi     .L175
7021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 2229                           .loc 1 7021 51 discriminator 1 view .LVU679
 2230 002a 002D                 cmp     r5, #0
 2231 002c ECD1                 bne     .L174
 2232                   .L175:
7023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 2233                           .loc 1 7023 9 is_stmt 1 view .LVU680
7023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 2234                           .loc 1 7023 35 is_stmt 0 view .LVU681
 2235 002e 0023                 movs    r3, #0
 2236 0030 2363                 str     r3, [r4, #48]
7024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 2237                           .loc 1 7024 9 is_stmt 1 view .LVU682
7024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 2238                           .loc 1 7024 35 is_stmt 0 view .LVU683
 2239 0032 2022                 movs    r2, #32
 2240 0034 84F83D20             strb    r2, [r4, #61]
7025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 2241                           .loc 1 7025 9 is_stmt 1 view .LVU684
7025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 2242                           .loc 1 7025 35 is_stmt 0 view .LVU685
 2243 0038 84F83E30             strb    r3, [r4, #62]
7026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2244                           .loc 1 7026 9 is_stmt 1 view .LVU686
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 176


7026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2245                           .loc 1 7026 35 is_stmt 0 view .LVU687
 2246 003c 226C                 ldr     r2, [r4, #64]
 2247 003e 42F02002             orr     r2, r2, #32
 2248 0042 2264                 str     r2, [r4, #64]
7029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2249                           .loc 1 7029 9 is_stmt 1 view .LVU688
7029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2250                           .loc 1 7029 9 view .LVU689
 2251 0044 84F83C30             strb    r3, [r4, #60]
7031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 2252                           .loc 1 7031 9 view .LVU690
7031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 2253                           .loc 1 7031 16 is_stmt 0 view .LVU691
 2254 0048 0120                 movs    r0, #1
 2255 004a 00E0                 b       .L173
 2256                   .L179:
7035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 2257                           .loc 1 7035 10 view .LVU692
 2258 004c 0020                 movs    r0, #0
 2259                   .L173:
7036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2260                           .loc 1 7036 1 view .LVU693
 2261 004e 70BD                 pop     {r4, r5, r6, pc}
 2262                   .LVL98:
 2263                   .L177:
7015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2264                           .loc 1 7015 14 view .LVU694
 2265 0050 0120                 movs    r0, #1
 2266 0052 FCE7                 b       .L173
 2267                           .cfi_endproc
 2268                   .LFE139:
 2270                           .section        .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
 2271                           .align  1
 2272                           .syntax unified
 2273                           .thumb
 2274                           .thumb_func
 2275                           .fpu softvfp
 2277                   I2C_WaitOnRXNEFlagUntilTimeout:
 2278                   .LVL99:
 2279                   .LFB141:
7082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2280                           .loc 1 7082 1 is_stmt 1 view -0
 2281                           .cfi_startproc
 2282                           @ args = 0, pretend = 0, frame = 0
 2283                           @ frame_needed = 0, uses_anonymous_args = 0
7082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2284                           .loc 1 7082 1 is_stmt 0 view .LVU696
 2285 0000 70B5                 push    {r4, r5, r6, lr}
 2286                   .LCFI25:
 2287                           .cfi_def_cfa_offset 16
 2288                           .cfi_offset 4, -16
 2289                           .cfi_offset 5, -12
 2290                           .cfi_offset 6, -8
 2291                           .cfi_offset 14, -4
 2292 0002 0546                 mov     r5, r0
 2293 0004 0C46                 mov     r4, r1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 177


 2294 0006 1646                 mov     r6, r2
7084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2295                           .loc 1 7084 3 is_stmt 1 view .LVU697
 2296                   .LVL100:
 2297                   .L181:
7084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2298                           .loc 1 7084 10 is_stmt 0 view .LVU698
 2299 0008 2B68                 ldr     r3, [r5]
 2300 000a 5A69                 ldr     r2, [r3, #20]
7084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2301                           .loc 1 7084 9 view .LVU699
 2302 000c 12F0400F             tst     r2, #64
 2303 0010 29D1                 bne     .L187
7087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2304                           .loc 1 7087 5 is_stmt 1 view .LVU700
7087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2305                           .loc 1 7087 9 is_stmt 0 view .LVU701
 2306 0012 5A69                 ldr     r2, [r3, #20]
7087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2307                           .loc 1 7087 8 view .LVU702
 2308 0014 12F0100F             tst     r2, #16
 2309 0018 15D1                 bne     .L188
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2310                           .loc 1 7104 5 is_stmt 1 view .LVU703
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2311                           .loc 1 7104 11 is_stmt 0 view .LVU704
 2312 001a FFF7FEFF             bl      HAL_GetTick
 2313                   .LVL101:
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2314                           .loc 1 7104 25 view .LVU705
 2315 001e 801B                 subs    r0, r0, r6
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2316                           .loc 1 7104 8 view .LVU706
 2317 0020 A042                 cmp     r0, r4
 2318 0022 01D8                 bhi     .L184
7104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2319                           .loc 1 7104 49 discriminator 1 view .LVU707
 2320 0024 002C                 cmp     r4, #0
 2321 0026 EFD1                 bne     .L181
 2322                   .L184:
7106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
 2323                           .loc 1 7106 7 is_stmt 1 view .LVU708
7106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
 2324                           .loc 1 7106 33 is_stmt 0 view .LVU709
 2325 0028 0023                 movs    r3, #0
 2326 002a 2B63                 str     r3, [r5, #48]
7107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
 2327                           .loc 1 7107 7 is_stmt 1 view .LVU710
7107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
 2328                           .loc 1 7107 33 is_stmt 0 view .LVU711
 2329 002c 2022                 movs    r2, #32
 2330 002e 85F83D20             strb    r2, [r5, #61]
7108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 2331                           .loc 1 7108 7 is_stmt 1 view .LVU712
7108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 2332                           .loc 1 7108 33 is_stmt 0 view .LVU713
 2333 0032 85F83E30             strb    r3, [r5, #62]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 178


7109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2334                           .loc 1 7109 7 is_stmt 1 view .LVU714
7109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2335                           .loc 1 7109 33 is_stmt 0 view .LVU715
 2336 0036 2A6C                 ldr     r2, [r5, #64]
 2337 0038 42F02002             orr     r2, r2, #32
 2338 003c 2A64                 str     r2, [r5, #64]
7112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2339                           .loc 1 7112 7 is_stmt 1 view .LVU716
7112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2340                           .loc 1 7112 7 view .LVU717
 2341 003e 85F83C30             strb    r3, [r5, #60]
7114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2342                           .loc 1 7114 7 view .LVU718
7114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2343                           .loc 1 7114 14 is_stmt 0 view .LVU719
 2344 0042 0120                 movs    r0, #1
 2345                   .L183:
7118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2346                           .loc 1 7118 1 view .LVU720
 2347 0044 70BD                 pop     {r4, r5, r6, pc}
 2348                   .LVL102:
 2349                   .L188:
7090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2350                           .loc 1 7090 7 is_stmt 1 view .LVU721
 2351 0046 6FF01002             mvn     r2, #16
 2352 004a 5A61                 str     r2, [r3, #20]
7092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
 2353                           .loc 1 7092 7 view .LVU722
7092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
 2354                           .loc 1 7092 33 is_stmt 0 view .LVU723
 2355 004c 0023                 movs    r3, #0
 2356 004e 2B63                 str     r3, [r5, #48]
7093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
 2357                           .loc 1 7093 7 is_stmt 1 view .LVU724
7093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
 2358                           .loc 1 7093 33 is_stmt 0 view .LVU725
 2359 0050 2022                 movs    r2, #32
 2360 0052 85F83D20             strb    r2, [r5, #61]
7094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_NONE;
 2361                           .loc 1 7094 7 is_stmt 1 view .LVU726
7094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_NONE;
 2362                           .loc 1 7094 33 is_stmt 0 view .LVU727
 2363 0056 85F83E30             strb    r3, [r5, #62]
7095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2364                           .loc 1 7095 7 is_stmt 1 view .LVU728
7095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2365                           .loc 1 7095 33 is_stmt 0 view .LVU729
 2366 005a 2A6C                 ldr     r2, [r5, #64]
 2367 005c 2A64                 str     r2, [r5, #64]
7098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2368                           .loc 1 7098 7 is_stmt 1 view .LVU730
7098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2369                           .loc 1 7098 7 view .LVU731
 2370 005e 85F83C30             strb    r3, [r5, #60]
7100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2371                           .loc 1 7100 7 view .LVU732
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 179


7100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2372                           .loc 1 7100 14 is_stmt 0 view .LVU733
 2373 0062 0120                 movs    r0, #1
 2374 0064 EEE7                 b       .L183
 2375                   .L187:
7117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 2376                           .loc 1 7117 10 view .LVU734
 2377 0066 0020                 movs    r0, #0
 2378 0068 ECE7                 b       .L183
 2379                           .cfi_endproc
 2380                   .LFE141:
 2382                           .section        .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
 2383                           .align  1
 2384                           .syntax unified
 2385                           .thumb
 2386                           .thumb_func
 2387                           .fpu softvfp
 2389                   I2C_WaitOnSTOPFlagUntilTimeout:
 2390                   .LVL103:
 2391                   .LFB140:
7047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
 2392                           .loc 1 7047 1 is_stmt 1 view -0
 2393                           .cfi_startproc
 2394                           @ args = 0, pretend = 0, frame = 0
 2395                           @ frame_needed = 0, uses_anonymous_args = 0
7047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
 2396                           .loc 1 7047 1 is_stmt 0 view .LVU736
 2397 0000 70B5                 push    {r4, r5, r6, lr}
 2398                   .LCFI26:
 2399                           .cfi_def_cfa_offset 16
 2400                           .cfi_offset 4, -16
 2401                           .cfi_offset 5, -12
 2402                           .cfi_offset 6, -8
 2403                           .cfi_offset 14, -4
 2404 0002 0446                 mov     r4, r0
 2405 0004 0D46                 mov     r5, r1
 2406 0006 1646                 mov     r6, r2
7048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2407                           .loc 1 7048 3 is_stmt 1 view .LVU737
 2408                   .LVL104:
 2409                   .L190:
7048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2410                           .loc 1 7048 10 is_stmt 0 view .LVU738
 2411 0008 2368                 ldr     r3, [r4]
 2412 000a 5B69                 ldr     r3, [r3, #20]
7048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2413                           .loc 1 7048 9 view .LVU739
 2414 000c 13F0100F             tst     r3, #16
 2415 0010 19D1                 bne     .L196
7051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2416                           .loc 1 7051 5 is_stmt 1 view .LVU740
7051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2417                           .loc 1 7051 9 is_stmt 0 view .LVU741
 2418 0012 2046                 mov     r0, r4
 2419 0014 FFF7FEFF             bl      I2C_IsAcknowledgeFailed
 2420                   .LVL105:
7051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 180


 2421                           .loc 1 7051 8 view .LVU742
 2422 0018 B8B9                 cbnz    r0, .L194
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2423                           .loc 1 7057 5 is_stmt 1 view .LVU743
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2424                           .loc 1 7057 11 is_stmt 0 view .LVU744
 2425 001a FFF7FEFF             bl      HAL_GetTick
 2426                   .LVL106:
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2427                           .loc 1 7057 25 view .LVU745
 2428 001e 801B                 subs    r0, r0, r6
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2429                           .loc 1 7057 8 view .LVU746
 2430 0020 A842                 cmp     r0, r5
 2431 0022 01D8                 bhi     .L192
7057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2432                           .loc 1 7057 49 discriminator 1 view .LVU747
 2433 0024 002D                 cmp     r5, #0
 2434 0026 EFD1                 bne     .L190
 2435                   .L192:
7059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
 2436                           .loc 1 7059 7 is_stmt 1 view .LVU748
7059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State               = HAL_I2C_STATE_READY;
 2437                           .loc 1 7059 33 is_stmt 0 view .LVU749
 2438 0028 0023                 movs    r3, #0
 2439 002a 2363                 str     r3, [r4, #48]
7060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
 2440                           .loc 1 7060 7 is_stmt 1 view .LVU750
7060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode                = HAL_I2C_MODE_NONE;
 2441                           .loc 1 7060 33 is_stmt 0 view .LVU751
 2442 002c 2022                 movs    r2, #32
 2443 002e 84F83D20             strb    r2, [r4, #61]
7061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 2444                           .loc 1 7061 7 is_stmt 1 view .LVU752
7061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 2445                           .loc 1 7061 33 is_stmt 0 view .LVU753
 2446 0032 84F83E30             strb    r3, [r4, #62]
7062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2447                           .loc 1 7062 7 is_stmt 1 view .LVU754
7062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2448                           .loc 1 7062 33 is_stmt 0 view .LVU755
 2449 0036 226C                 ldr     r2, [r4, #64]
 2450 0038 42F02002             orr     r2, r2, #32
 2451 003c 2264                 str     r2, [r4, #64]
7065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2452                           .loc 1 7065 7 is_stmt 1 view .LVU756
7065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2453                           .loc 1 7065 7 view .LVU757
 2454 003e 84F83C30             strb    r3, [r4, #60]
7067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2455                           .loc 1 7067 7 view .LVU758
7067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2456                           .loc 1 7067 14 is_stmt 0 view .LVU759
 2457 0042 0120                 movs    r0, #1
 2458                   .L191:
7071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2459                           .loc 1 7071 1 view .LVU760
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 181


 2460 0044 70BD                 pop     {r4, r5, r6, pc}
 2461                   .LVL107:
 2462                   .L196:
7070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 2463                           .loc 1 7070 10 view .LVU761
 2464 0046 0020                 movs    r0, #0
 2465 0048 FCE7                 b       .L191
 2466                   .L194:
7053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2467                           .loc 1 7053 14 view .LVU762
 2468 004a 0120                 movs    r0, #1
 2469 004c FAE7                 b       .L191
 2470                           .cfi_endproc
 2471                   .LFE140:
 2473                           .section        .text.HAL_I2C_MspInit,"ax",%progbits
 2474                           .align  1
 2475                           .weak   HAL_I2C_MspInit
 2476                           .syntax unified
 2477                           .thumb
 2478                           .thumb_func
 2479                           .fpu softvfp
 2481                   HAL_I2C_MspInit:
 2482                   .LVL108:
 2483                   .LFB67:
 607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 2484                           .loc 1 607 1 is_stmt 1 view -0
 2485                           .cfi_startproc
 2486                           @ args = 0, pretend = 0, frame = 0
 2487                           @ frame_needed = 0, uses_anonymous_args = 0
 2488                           @ link register save eliminated.
 609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2489                           .loc 1 609 3 view .LVU764
 614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2490                           .loc 1 614 1 is_stmt 0 view .LVU765
 2491 0000 7047                 bx      lr
 2492                           .cfi_endproc
 2493                   .LFE67:
 2495                           .section        .text.HAL_I2C_Init,"ax",%progbits
 2496                           .align  1
 2497                           .global HAL_I2C_Init
 2498                           .syntax unified
 2499                           .thumb
 2500                           .thumb_func
 2501                           .fpu softvfp
 2503                   HAL_I2C_Init:
 2504                   .LVL109:
 2505                   .LFB65:
 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t freqrange;
 2506                           .loc 1 450 1 is_stmt 1 view -0
 2507                           .cfi_startproc
 2508                           @ args = 0, pretend = 0, frame = 0
 2509                           @ frame_needed = 0, uses_anonymous_args = 0
 451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t pclk1;
 2510                           .loc 1 451 3 view .LVU767
 452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2511                           .loc 1 452 3 view .LVU768
 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 182


 2512                           .loc 1 455 3 view .LVU769
 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2513                           .loc 1 455 6 is_stmt 0 view .LVU770
 2514 0000 0028                 cmp     r0, #0
 2515 0002 00F0C180             beq     .L210
 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t freqrange;
 2516                           .loc 1 450 1 view .LVU771
 2517 0006 F8B5                 push    {r3, r4, r5, r6, r7, lr}
 2518                   .LCFI27:
 2519                           .cfi_def_cfa_offset 24
 2520                           .cfi_offset 3, -24
 2521                           .cfi_offset 4, -20
 2522                           .cfi_offset 5, -16
 2523                           .cfi_offset 6, -12
 2524                           .cfi_offset 7, -8
 2525                           .cfi_offset 14, -4
 2526 0008 0446                 mov     r4, r0
 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_CLOCK_SPEED(hi2c->Init.ClockSpeed));
 2527                           .loc 1 461 3 is_stmt 1 view .LVU772
 462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_DUTY_CYCLE(hi2c->Init.DutyCycle));
 2528                           .loc 1 462 3 view .LVU773
 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
 2529                           .loc 1 463 3 view .LVU774
 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
 2530                           .loc 1 464 3 view .LVU775
 465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
 2531                           .loc 1 465 3 view .LVU776
 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
 2532                           .loc 1 466 3 view .LVU777
 467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
 2533                           .loc 1 467 3 view .LVU778
 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
 2534                           .loc 1 468 3 view .LVU779
 469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2535                           .loc 1 469 3 view .LVU780
 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2536                           .loc 1 471 3 view .LVU781
 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2537                           .loc 1 471 11 is_stmt 0 view .LVU782
 2538 000a 90F83D30             ldrb    r3, [r0, #61]   @ zero_extendqisi2
 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2539                           .loc 1 471 6 view .LVU783
 2540 000e 002B                 cmp     r3, #0
 2541 0010 6CD0                 beq     .L218
 2542                   .LVL110:
 2543                   .L200:
 502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2544                           .loc 1 502 3 is_stmt 1 view .LVU784
 502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2545                           .loc 1 502 15 is_stmt 0 view .LVU785
 2546 0012 2423                 movs    r3, #36
 2547 0014 84F83D30             strb    r3, [r4, #61]
 505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2548                           .loc 1 505 3 is_stmt 1 view .LVU786
 2549 0018 2268                 ldr     r2, [r4]
 2550 001a 1368                 ldr     r3, [r2]
 2551 001c 23F00103             bic     r3, r3, #1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 183


 2552 0020 1360                 str     r3, [r2]
 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2553                           .loc 1 508 3 view .LVU787
 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2554                           .loc 1 508 11 is_stmt 0 view .LVU788
 2555 0022 FFF7FEFF             bl      HAL_RCC_GetPCLK1Freq
 2556                   .LVL111:
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2557                           .loc 1 511 3 is_stmt 1 view .LVU789
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2558                           .loc 1 511 7 is_stmt 0 view .LVU790
 2559 0026 6268                 ldr     r2, [r4, #4]
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2560                           .loc 1 511 55 view .LVU791
 2561 0028 594B                 ldr     r3, .L219
 2562 002a 9A42                 cmp     r2, r3
 2563 002c 63D8                 bhi     .L201
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2564                           .loc 1 511 55 discriminator 1 view .LVU792
 2565 002e 594B                 ldr     r3, .L219+4
 2566 0030 9842                 cmp     r0, r3
 2567 0032 8CBF                 ite     hi
 2568 0034 0023                 movhi   r3, #0
 2569 0036 0123                 movls   r3, #1
 2570                   .L202:
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2571                           .loc 1 511 6 discriminator 4 view .LVU793
 2572 0038 002B                 cmp     r3, #0
 2573 003a 40F0A780             bne     .L211
 517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2574                           .loc 1 517 3 is_stmt 1 view .LVU794
 517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2575                           .loc 1 517 13 is_stmt 0 view .LVU795
 2576 003e 564B                 ldr     r3, .L219+8
 2577 0040 A3FB0023             umull   r2, r3, r3, r0
 2578 0044 9B0C                 lsrs    r3, r3, #18
 2579                   .LVL112:
 521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2580                           .loc 1 521 3 is_stmt 1 view .LVU796
 2581 0046 2168                 ldr     r1, [r4]
 2582 0048 4A68                 ldr     r2, [r1, #4]
 2583 004a 22F03F02             bic     r2, r2, #63
 2584 004e 1A43                 orrs    r2, r2, r3
 2585 0050 4A60                 str     r2, [r1, #4]
 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2586                           .loc 1 525 3 view .LVU797
 2587 0052 2568                 ldr     r5, [r4]
 2588 0054 2A6A                 ldr     r2, [r5, #32]
 2589 0056 22F03F02             bic     r2, r2, #63
 2590 005a 6668                 ldr     r6, [r4, #4]
 2591 005c 4C49                 ldr     r1, .L219
 2592 005e 8E42                 cmp     r6, r1
 2593 0060 4FD8                 bhi     .L203
 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2594                           .loc 1 525 3 is_stmt 0 discriminator 1 view .LVU798
 2595 0062 0133                 adds    r3, r3, #1
 2596                   .LVL113:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 184


 2597                   .L204:
 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2598                           .loc 1 525 3 discriminator 4 view .LVU799
 2599 0064 1343                 orrs    r3, r3, r2
 2600 0066 2B62                 str     r3, [r5, #32]
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2601                           .loc 1 529 3 is_stmt 1 discriminator 4 view .LVU800
 2602 0068 2568                 ldr     r5, [r4]
 2603 006a E969                 ldr     r1, [r5, #28]
 2604 006c 21F44F41             bic     r1, r1, #52992
 2605 0070 21F0FF01             bic     r1, r1, #255
 2606 0074 6368                 ldr     r3, [r4, #4]
 2607 0076 464A                 ldr     r2, .L219
 2608 0078 9342                 cmp     r3, r2
 2609 007a 4CD8                 bhi     .L205
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2610                           .loc 1 529 3 is_stmt 0 discriminator 1 view .LVU801
 2611 007c 0138                 subs    r0, r0, #1
 2612                   .LVL114:
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2613                           .loc 1 529 3 discriminator 1 view .LVU802
 2614 007e 5B00                 lsls    r3, r3, #1
 2615 0080 B0FBF3F0             udiv    r0, r0, r3
 2616                   .LVL115:
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2617                           .loc 1 529 3 discriminator 1 view .LVU803
 2618 0084 0130                 adds    r0, r0, #1
 2619 0086 40F6FC73             movw    r3, #4092
 2620 008a 1842                 tst     r0, r3
 2621 008c 78D0                 beq     .L212
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2622                           .loc 1 529 3 discriminator 3 view .LVU804
 2623 008e C0F30B03             ubfx    r3, r0, #0, #12
 2624                   .L206:
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2625                           .loc 1 529 3 discriminator 20 view .LVU805
 2626 0092 0B43                 orrs    r3, r3, r1
 2627 0094 EB61                 str     r3, [r5, #28]
 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2628                           .loc 1 533 3 is_stmt 1 discriminator 20 view .LVU806
 2629 0096 2168                 ldr     r1, [r4]
 2630 0098 0B68                 ldr     r3, [r1]
 2631 009a 23F0C003             bic     r3, r3, #192
 2632 009e E269                 ldr     r2, [r4, #28]
 2633 00a0 206A                 ldr     r0, [r4, #32]
 2634 00a2 0243                 orrs    r2, r2, r0
 2635 00a4 1343                 orrs    r3, r3, r2
 2636 00a6 0B60                 str     r3, [r1]
 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2637                           .loc 1 537 3 discriminator 20 view .LVU807
 2638 00a8 2168                 ldr     r1, [r4]
 2639 00aa 8B68                 ldr     r3, [r1, #8]
 2640 00ac 23F40343             bic     r3, r3, #33536
 2641 00b0 23F0FF03             bic     r3, r3, #255
 2642 00b4 2269                 ldr     r2, [r4, #16]
 2643 00b6 E068                 ldr     r0, [r4, #12]
 2644 00b8 0243                 orrs    r2, r2, r0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 185


 2645 00ba 1343                 orrs    r3, r3, r2
 2646 00bc 8B60                 str     r3, [r1, #8]
 541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2647                           .loc 1 541 3 discriminator 20 view .LVU808
 2648 00be 2168                 ldr     r1, [r4]
 2649 00c0 CB68                 ldr     r3, [r1, #12]
 2650 00c2 23F0FF03             bic     r3, r3, #255
 2651 00c6 6269                 ldr     r2, [r4, #20]
 2652 00c8 A069                 ldr     r0, [r4, #24]
 2653 00ca 0243                 orrs    r2, r2, r0
 2654 00cc 1343                 orrs    r3, r3, r2
 2655 00ce CB60                 str     r3, [r1, #12]
 544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2656                           .loc 1 544 3 discriminator 20 view .LVU809
 2657 00d0 2268                 ldr     r2, [r4]
 2658 00d2 1368                 ldr     r3, [r2]
 2659 00d4 43F00103             orr     r3, r3, #1
 2660 00d8 1360                 str     r3, [r2]
 546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_READY;
 2661                           .loc 1 546 3 discriminator 20 view .LVU810
 546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_READY;
 2662                           .loc 1 546 19 is_stmt 0 discriminator 20 view .LVU811
 2663 00da 0020                 movs    r0, #0
 2664 00dc 2064                 str     r0, [r4, #64]
 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 2665                           .loc 1 547 3 is_stmt 1 discriminator 20 view .LVU812
 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 2666                           .loc 1 547 15 is_stmt 0 discriminator 20 view .LVU813
 2667 00de 2023                 movs    r3, #32
 2668 00e0 84F83D30             strb    r3, [r4, #61]
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 2669                           .loc 1 548 3 is_stmt 1 discriminator 20 view .LVU814
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 2670                           .loc 1 548 23 is_stmt 0 discriminator 20 view .LVU815
 2671 00e4 2063                 str     r0, [r4, #48]
 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2672                           .loc 1 549 3 is_stmt 1 discriminator 20 view .LVU816
 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2673                           .loc 1 549 14 is_stmt 0 discriminator 20 view .LVU817
 2674 00e6 84F83E00             strb    r0, [r4, #62]
 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 2675                           .loc 1 551 3 is_stmt 1 discriminator 20 view .LVU818
 2676                   .L199:
 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2677                           .loc 1 552 1 is_stmt 0 view .LVU819
 2678 00ea F8BD                 pop     {r3, r4, r5, r6, r7, pc}
 2679                   .LVL116:
 2680                   .L218:
 474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2681                           .loc 1 474 5 is_stmt 1 view .LVU820
 474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2682                           .loc 1 474 16 is_stmt 0 view .LVU821
 2683 00ec 80F83C30             strb    r3, [r0, #60]
 498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 2684                           .loc 1 498 5 is_stmt 1 view .LVU822
 2685 00f0 FFF7FEFF             bl      HAL_I2C_MspInit
 2686                   .LVL117:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 186


 498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 2687                           .loc 1 498 5 is_stmt 0 view .LVU823
 2688 00f4 8DE7                 b       .L200
 2689                   .LVL118:
 2690                   .L201:
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2691                           .loc 1 511 55 discriminator 2 view .LVU824
 2692 00f6 294B                 ldr     r3, .L219+12
 2693 00f8 9842                 cmp     r0, r3
 2694 00fa 8CBF                 ite     hi
 2695 00fc 0023                 movhi   r3, #0
 2696 00fe 0123                 movls   r3, #1
 2697 0100 9AE7                 b       .L202
 2698                   .LVL119:
 2699                   .L203:
 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2700                           .loc 1 525 3 discriminator 2 view .LVU825
 2701 0102 4FF49671             mov     r1, #300
 2702 0106 01FB03F3             mul     r3, r1, r3
 2703                   .LVL120:
 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2704                           .loc 1 525 3 discriminator 2 view .LVU826
 2705 010a 2549                 ldr     r1, .L219+16
 2706 010c A1FB0313             umull   r1, r3, r1, r3
 2707 0110 9B09                 lsrs    r3, r3, #6
 2708 0112 0133                 adds    r3, r3, #1
 2709 0114 A6E7                 b       .L204
 2710                   .L205:
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2711                           .loc 1 529 3 discriminator 2 view .LVU827
 2712 0116 A268                 ldr     r2, [r4, #8]
 2713 0118 BAB9                 cbnz    r2, .L207
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2714                           .loc 1 529 3 discriminator 8 view .LVU828
 2715 011a 461E                 subs    r6, r0, #1
 2716 011c 03EB4307             add     r7, r3, r3, lsl #1
 2717 0120 B6FBF7F6             udiv    r6, r6, r7
 2718 0124 0136                 adds    r6, r6, #1
 2719 0126 C6F30B06             ubfx    r6, r6, #0, #12
 2720 012a B6FA86F6             clz     r6, r6
 2721 012e 7609                 lsrs    r6, r6, #5
 2722                   .L208:
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2723                           .loc 1 529 3 discriminator 11 view .LVU829
 2724 0130 46BB                 cbnz    r6, .L213
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2725                           .loc 1 529 3 discriminator 13 view .LVU830
 2726 0132 C2B9                 cbnz    r2, .L209
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2727                           .loc 1 529 3 discriminator 15 view .LVU831
 2728 0134 421E                 subs    r2, r0, #1
 2729 0136 03EB4303             add     r3, r3, r3, lsl #1
 2730 013a B2FBF3F2             udiv    r2, r2, r3
 2731 013e 0132                 adds    r2, r2, #1
 2732 0140 C2F30B02             ubfx    r2, r2, #0, #12
 2733 0144 42F40043             orr     r3, r2, #32768
 2734 0148 A3E7                 b       .L206
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 187


 2735                   .L207:
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2736                           .loc 1 529 3 discriminator 9 view .LVU832
 2737 014a 461E                 subs    r6, r0, #1
 2738 014c 03EB8307             add     r7, r3, r3, lsl #2
 2739 0150 07EB8707             add     r7, r7, r7, lsl #2
 2740 0154 B6FBF7F6             udiv    r6, r6, r7
 2741 0158 0136                 adds    r6, r6, #1
 2742 015a C6F30B06             ubfx    r6, r6, #0, #12
 2743 015e B6FA86F6             clz     r6, r6
 2744 0162 7609                 lsrs    r6, r6, #5
 2745 0164 E4E7                 b       .L208
 2746                   .L209:
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2747                           .loc 1 529 3 discriminator 16 view .LVU833
 2748 0166 421E                 subs    r2, r0, #1
 2749 0168 03EB8303             add     r3, r3, r3, lsl #2
 2750 016c 03EB8303             add     r3, r3, r3, lsl #2
 2751 0170 B2FBF3F2             udiv    r2, r2, r3
 2752 0174 0132                 adds    r2, r2, #1
 2753 0176 C2F30B02             ubfx    r2, r2, #0, #12
 2754 017a 42F44043             orr     r3, r2, #49152
 2755 017e 88E7                 b       .L206
 2756                   .LVL121:
 2757                   .L212:
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2758                           .loc 1 529 3 view .LVU834
 2759 0180 0423                 movs    r3, #4
 2760 0182 86E7                 b       .L206
 2761                   .LVL122:
 2762                   .L213:
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2763                           .loc 1 529 3 view .LVU835
 2764 0184 0123                 movs    r3, #1
 2765 0186 84E7                 b       .L206
 2766                   .LVL123:
 2767                   .L210:
 2768                   .LCFI28:
 2769                           .cfi_def_cfa_offset 0
 2770                           .cfi_restore 3
 2771                           .cfi_restore 4
 2772                           .cfi_restore 5
 2773                           .cfi_restore 6
 2774                           .cfi_restore 7
 2775                           .cfi_restore 14
 457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2776                           .loc 1 457 12 view .LVU836
 2777 0188 0120                 movs    r0, #1
 2778                   .LVL124:
 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2779                           .loc 1 552 1 view .LVU837
 2780 018a 7047                 bx      lr
 2781                   .LVL125:
 2782                   .L211:
 2783                   .LCFI29:
 2784                           .cfi_def_cfa_offset 24
 2785                           .cfi_offset 3, -24
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 188


 2786                           .cfi_offset 4, -20
 2787                           .cfi_offset 5, -16
 2788                           .cfi_offset 6, -12
 2789                           .cfi_offset 7, -8
 2790                           .cfi_offset 14, -4
 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2791                           .loc 1 513 12 view .LVU838
 2792 018c 0120                 movs    r0, #1
 2793                   .LVL126:
 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2794                           .loc 1 513 12 view .LVU839
 2795 018e ACE7                 b       .L199
 2796                   .L220:
 2797                           .align  2
 2798                   .L219:
 2799 0190 A0860100             .word   100000
 2800 0194 7F841E00             .word   1999999
 2801 0198 83DE1B43             .word   1125899907
 2802 019c FF083D00             .word   3999999
 2803 01a0 D34D6210             .word   274877907
 2804                           .cfi_endproc
 2805                   .LFE65:
 2807                           .section        .text.HAL_I2C_MspDeInit,"ax",%progbits
 2808                           .align  1
 2809                           .weak   HAL_I2C_MspDeInit
 2810                           .syntax unified
 2811                           .thumb
 2812                           .thumb_func
 2813                           .fpu softvfp
 2815                   HAL_I2C_MspDeInit:
 2816                   .LVL127:
 2817                   .LFB68:
 623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 2818                           .loc 1 623 1 is_stmt 1 view -0
 2819                           .cfi_startproc
 2820                           @ args = 0, pretend = 0, frame = 0
 2821                           @ frame_needed = 0, uses_anonymous_args = 0
 2822                           @ link register save eliminated.
 625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2823                           .loc 1 625 3 view .LVU841
 630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2824                           .loc 1 630 1 is_stmt 0 view .LVU842
 2825 0000 7047                 bx      lr
 2826                           .cfi_endproc
 2827                   .LFE68:
 2829                           .section        .text.HAL_I2C_DeInit,"ax",%progbits
 2830                           .align  1
 2831                           .global HAL_I2C_DeInit
 2832                           .syntax unified
 2833                           .thumb
 2834                           .thumb_func
 2835                           .fpu softvfp
 2837                   HAL_I2C_DeInit:
 2838                   .LVL128:
 2839                   .LFB66:
 561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the I2C handle allocation */
 2840                           .loc 1 561 1 is_stmt 1 view -0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 189


 2841                           .cfi_startproc
 2842                           @ args = 0, pretend = 0, frame = 0
 2843                           @ frame_needed = 0, uses_anonymous_args = 0
 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2844                           .loc 1 563 3 view .LVU844
 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2845                           .loc 1 563 6 is_stmt 0 view .LVU845
 2846 0000 A8B1                 cbz     r0, .L224
 561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the I2C handle allocation */
 2847                           .loc 1 561 1 view .LVU846
 2848 0002 10B5                 push    {r4, lr}
 2849                   .LCFI30:
 2850                           .cfi_def_cfa_offset 8
 2851                           .cfi_offset 4, -8
 2852                           .cfi_offset 14, -4
 2853 0004 0446                 mov     r4, r0
 569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2854                           .loc 1 569 3 is_stmt 1 view .LVU847
 571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2855                           .loc 1 571 3 view .LVU848
 571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2856                           .loc 1 571 15 is_stmt 0 view .LVU849
 2857 0006 2423                 movs    r3, #36
 2858 0008 80F83D30             strb    r3, [r0, #61]
 574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2859                           .loc 1 574 3 is_stmt 1 view .LVU850
 2860 000c 0268                 ldr     r2, [r0]
 2861 000e 1368                 ldr     r3, [r2]
 2862 0010 23F00103             bic     r3, r3, #1
 2863 0014 1360                 str     r3, [r2]
 586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 2864                           .loc 1 586 3 view .LVU851
 2865 0016 FFF7FEFF             bl      HAL_I2C_MspDeInit
 2866                   .LVL129:
 589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State         = HAL_I2C_STATE_RESET;
 2867                           .loc 1 589 3 view .LVU852
 589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State         = HAL_I2C_STATE_RESET;
 2868                           .loc 1 589 23 is_stmt 0 view .LVU853
 2869 001a 0020                 movs    r0, #0
 2870 001c 2064                 str     r0, [r4, #64]
 590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 2871                           .loc 1 590 3 is_stmt 1 view .LVU854
 590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 2872                           .loc 1 590 23 is_stmt 0 view .LVU855
 2873 001e 84F83D00             strb    r0, [r4, #61]
 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Mode          = HAL_I2C_MODE_NONE;
 2874                           .loc 1 591 3 is_stmt 1 view .LVU856
 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Mode          = HAL_I2C_MODE_NONE;
 2875                           .loc 1 591 23 is_stmt 0 view .LVU857
 2876 0022 2063                 str     r0, [r4, #48]
 592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2877                           .loc 1 592 3 is_stmt 1 view .LVU858
 592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2878                           .loc 1 592 23 is_stmt 0 view .LVU859
 2879 0024 84F83E00             strb    r0, [r4, #62]
 595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2880                           .loc 1 595 3 is_stmt 1 view .LVU860
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 190


 595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2881                           .loc 1 595 3 view .LVU861
 2882 0028 84F83C00             strb    r0, [r4, #60]
 597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 2883                           .loc 1 597 3 view .LVU862
 598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2884                           .loc 1 598 1 is_stmt 0 view .LVU863
 2885 002c 10BD                 pop     {r4, pc}
 2886                   .LVL130:
 2887                   .L224:
 2888                   .LCFI31:
 2889                           .cfi_def_cfa_offset 0
 2890                           .cfi_restore 4
 2891                           .cfi_restore 14
 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2892                           .loc 1 565 12 view .LVU864
 2893 002e 0120                 movs    r0, #1
 2894                   .LVL131:
 598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2895                           .loc 1 598 1 view .LVU865
 2896 0030 7047                 bx      lr
 2897                           .cfi_endproc
 2898                   .LFE66:
 2900                           .section        .text.HAL_I2C_Master_Transmit,"ax",%progbits
 2901                           .align  1
 2902                           .global HAL_I2C_Master_Transmit
 2903                           .syntax unified
 2904                           .thumb
 2905                           .thumb_func
 2906                           .fpu softvfp
 2908                   HAL_I2C_Master_Transmit:
 2909                   .LVL132:
 2910                   .LFB69:
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 2911                           .loc 1 1043 1 is_stmt 1 view -0
 2912                           .cfi_startproc
 2913                           @ args = 4, pretend = 0, frame = 8
 2914                           @ frame_needed = 0, uses_anonymous_args = 0
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 2915                           .loc 1 1043 1 is_stmt 0 view .LVU867
 2916 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 2917                   .LCFI32:
 2918                           .cfi_def_cfa_offset 24
 2919                           .cfi_offset 4, -24
 2920                           .cfi_offset 5, -20
 2921                           .cfi_offset 6, -16
 2922                           .cfi_offset 7, -12
 2923                           .cfi_offset 8, -8
 2924                           .cfi_offset 14, -4
 2925 0004 84B0                 sub     sp, sp, #16
 2926                   .LCFI33:
 2927                           .cfi_def_cfa_offset 40
 2928 0006 0446                 mov     r4, r0
 2929 0008 0E46                 mov     r6, r1
 2930 000a 9046                 mov     r8, r2
 2931 000c 1F46                 mov     r7, r3
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 191


 2932                           .loc 1 1045 3 is_stmt 1 view .LVU868
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2933                           .loc 1 1045 24 is_stmt 0 view .LVU869
 2934 000e FFF7FEFF             bl      HAL_GetTick
 2935                   .LVL133:
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2936                           .loc 1 1047 3 is_stmt 1 view .LVU870
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2937                           .loc 1 1047 11 is_stmt 0 view .LVU871
 2938 0012 94F83D30             ldrb    r3, [r4, #61]   @ zero_extendqisi2
 2939 0016 DBB2                 uxtb    r3, r3
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 2940                           .loc 1 1047 6 view .LVU872
 2941 0018 202B                 cmp     r3, #32
 2942 001a 04D0                 beq     .L243
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 2943                           .loc 1 1148 12 view .LVU873
 2944 001c 0226                 movs    r6, #2
 2945                   .LVL134:
 2946                   .L230:
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2947                           .loc 1 1150 1 view .LVU874
 2948 001e 3046                 mov     r0, r6
 2949 0020 04B0                 add     sp, sp, #16
 2950                   .LCFI34:
 2951                           .cfi_remember_state
 2952                           .cfi_def_cfa_offset 24
 2953                           @ sp needed
 2954 0022 BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 2955                   .LVL135:
 2956                   .L243:
 2957                   .LCFI35:
 2958                           .cfi_restore_state
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2959                           .loc 1 1150 1 view .LVU875
 2960 0026 0546                 mov     r5, r0
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2961                           .loc 1 1050 5 is_stmt 1 view .LVU876
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2962                           .loc 1 1050 9 is_stmt 0 view .LVU877
 2963 0028 0090                 str     r0, [sp]
 2964 002a 1923                 movs    r3, #25
 2965 002c 0122                 movs    r2, #1
 2966 002e 4E49                 ldr     r1, .L249
 2967 0030 2046                 mov     r0, r4
 2968                   .LVL136:
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2969                           .loc 1 1050 9 view .LVU878
 2970 0032 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 2971                   .LVL137:
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2972                           .loc 1 1050 8 view .LVU879
 2973 0036 0028                 cmp     r0, #0
 2974 0038 40F08F80             bne     .L239
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2975                           .loc 1 1056 5 is_stmt 1 view .LVU880
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 192


 2976                           .loc 1 1056 5 view .LVU881
 2977 003c 94F83C30             ldrb    r3, [r4, #60]   @ zero_extendqisi2
 2978 0040 012B                 cmp     r3, #1
 2979 0042 00F08C80             beq     .L240
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2980                           .loc 1 1056 5 discriminator 2 view .LVU882
 2981 0046 0123                 movs    r3, #1
 2982 0048 84F83C30             strb    r3, [r4, #60]
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2983                           .loc 1 1059 5 discriminator 2 view .LVU883
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2984                           .loc 1 1059 14 is_stmt 0 discriminator 2 view .LVU884
 2985 004c 2368                 ldr     r3, [r4]
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2986                           .loc 1 1059 24 discriminator 2 view .LVU885
 2987 004e 1A68                 ldr     r2, [r3]
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 2988                           .loc 1 1059 8 discriminator 2 view .LVU886
 2989 0050 12F0010F             tst     r2, #1
 2990 0054 03D1                 bne     .L231
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 2991                           .loc 1 1062 7 is_stmt 1 view .LVU887
 2992 0056 1A68                 ldr     r2, [r3]
 2993 0058 42F00102             orr     r2, r2, #1
 2994 005c 1A60                 str     r2, [r3]
 2995                   .L231:
1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 2996                           .loc 1 1066 5 view .LVU888
 2997 005e 2268                 ldr     r2, [r4]
 2998 0060 1368                 ldr     r3, [r2]
 2999 0062 23F40063             bic     r3, r3, #2048
 3000 0066 1360                 str     r3, [r2]
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 3001                           .loc 1 1068 5 view .LVU889
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 3002                           .loc 1 1068 23 is_stmt 0 view .LVU890
 3003 0068 2123                 movs    r3, #33
 3004 006a 84F83D30             strb    r3, [r4, #61]
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3005                           .loc 1 1069 5 is_stmt 1 view .LVU891
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3006                           .loc 1 1069 23 is_stmt 0 view .LVU892
 3007 006e 1023                 movs    r3, #16
 3008 0070 84F83E30             strb    r3, [r4, #62]
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3009                           .loc 1 1070 5 is_stmt 1 view .LVU893
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3010                           .loc 1 1070 23 is_stmt 0 view .LVU894
 3011 0074 0023                 movs    r3, #0
 3012 0076 2364                 str     r3, [r4, #64]
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3013                           .loc 1 1073 5 is_stmt 1 view .LVU895
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3014                           .loc 1 1073 23 is_stmt 0 view .LVU896
 3015 0078 C4F82480             str     r8, [r4, #36]
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 3016                           .loc 1 1074 5 is_stmt 1 view .LVU897
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 193


1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 3017                           .loc 1 1074 23 is_stmt 0 view .LVU898
 3018 007c 6785                 strh    r7, [r4, #42]   @ movhi
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3019                           .loc 1 1075 5 is_stmt 1 view .LVU899
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3020                           .loc 1 1075 29 is_stmt 0 view .LVU900
 3021 007e 638D                 ldrh    r3, [r4, #42]
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3022                           .loc 1 1075 23 view .LVU901
 3023 0080 2385                 strh    r3, [r4, #40]   @ movhi
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3024                           .loc 1 1076 5 is_stmt 1 view .LVU902
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3025                           .loc 1 1076 23 is_stmt 0 view .LVU903
 3026 0082 3A4B                 ldr     r3, .L249+4
 3027 0084 E362                 str     r3, [r4, #44]
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3028                           .loc 1 1079 5 is_stmt 1 view .LVU904
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3029                           .loc 1 1079 9 is_stmt 0 view .LVU905
 3030 0086 2B46                 mov     r3, r5
 3031 0088 0A9A                 ldr     r2, [sp, #40]
 3032 008a 3146                 mov     r1, r6
 3033 008c 2046                 mov     r0, r4
 3034 008e FFF7FEFF             bl      I2C_MasterRequestWrite
 3035                   .LVL138:
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3036                           .loc 1 1079 8 view .LVU906
 3037 0092 0646                 mov     r6, r0
 3038 0094 0028                 cmp     r0, #0
 3039 0096 64D1                 bne     .L241
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3040                           .loc 1 1085 5 is_stmt 1 view .LVU907
 3041                   .LBB56:
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3042                           .loc 1 1085 5 view .LVU908
 3043 0098 0023                 movs    r3, #0
 3044 009a 0393                 str     r3, [sp, #12]
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3045                           .loc 1 1085 5 view .LVU909
 3046 009c 2368                 ldr     r3, [r4]
 3047 009e 5A69                 ldr     r2, [r3, #20]
 3048 00a0 0392                 str     r2, [sp, #12]
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3049                           .loc 1 1085 5 view .LVU910
 3050 00a2 9B69                 ldr     r3, [r3, #24]
 3051 00a4 0393                 str     r3, [sp, #12]
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3052                           .loc 1 1085 5 view .LVU911
 3053 00a6 039B                 ldr     r3, [sp, #12]
 3054                   .LBE56:
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3055                           .loc 1 1087 5 view .LVU912
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3056                           .loc 1 1087 11 is_stmt 0 view .LVU913
 3057 00a8 11E0                 b       .L232
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 194


 3058                   .L247:
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3059                           .loc 1 1092 9 is_stmt 1 view .LVU914
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3060                           .loc 1 1092 17 is_stmt 0 view .LVU915
 3061 00aa 236C                 ldr     r3, [r4, #64]
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3062                           .loc 1 1092 12 view .LVU916
 3063 00ac 042B                 cmp     r3, #4
 3064 00ae 01D0                 beq     .L244
 3065                   .L234:
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 3066                           .loc 1 1097 9 is_stmt 1 view .LVU917
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 3067                           .loc 1 1097 16 is_stmt 0 view .LVU918
 3068 00b0 0126                 movs    r6, #1
 3069 00b2 B4E7                 b       .L230
 3070                   .L244:
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3071                           .loc 1 1095 11 is_stmt 1 view .LVU919
 3072 00b4 2268                 ldr     r2, [r4]
 3073 00b6 1368                 ldr     r3, [r2]
 3074 00b8 43F40073             orr     r3, r3, #512
 3075 00bc 1360                 str     r3, [r2]
 3076 00be F7E7                 b       .L234
 3077                   .L235:
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 3078                           .loc 1 1124 7 view .LVU920
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 3079                           .loc 1 1124 11 is_stmt 0 view .LVU921
 3080 00c0 2A46                 mov     r2, r5
 3081 00c2 0A99                 ldr     r1, [sp, #40]
 3082 00c4 2046                 mov     r0, r4
 3083 00c6 FFF7FEFF             bl      I2C_WaitOnBTFFlagUntilTimeout
 3084                   .LVL139:
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 3085                           .loc 1 1124 10 view .LVU922
 3086 00ca 0028                 cmp     r0, #0
 3087 00cc 2CD1                 bne     .L245
 3088                   .L232:
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3089                           .loc 1 1087 16 view .LVU923
 3090 00ce 238D                 ldrh    r3, [r4, #40]
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3091                           .loc 1 1087 11 view .LVU924
 3092 00d0 002B                 cmp     r3, #0
 3093 00d2 34D0                 beq     .L246
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 3094                           .loc 1 1090 7 is_stmt 1 view .LVU925
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 3095                           .loc 1 1090 11 is_stmt 0 view .LVU926
 3096 00d4 2A46                 mov     r2, r5
 3097 00d6 0A99                 ldr     r1, [sp, #40]
 3098 00d8 2046                 mov     r0, r4
 3099 00da FFF7FEFF             bl      I2C_WaitOnTXEFlagUntilTimeout
 3100                   .LVL140:
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 195


 3101                           .loc 1 1090 10 view .LVU927
 3102 00de 0028                 cmp     r0, #0
 3103 00e0 E3D1                 bne     .L247
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3104                           .loc 1 1101 7 is_stmt 1 view .LVU928
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3105                           .loc 1 1101 33 is_stmt 0 view .LVU929
 3106 00e2 626A                 ldr     r2, [r4, #36]
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3107                           .loc 1 1101 11 view .LVU930
 3108 00e4 2368                 ldr     r3, [r4]
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3109                           .loc 1 1101 28 view .LVU931
 3110 00e6 1278                 ldrb    r2, [r2]        @ zero_extendqisi2
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3111                           .loc 1 1101 26 view .LVU932
 3112 00e8 1A61                 str     r2, [r3, #16]
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3113                           .loc 1 1104 7 is_stmt 1 view .LVU933
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3114                           .loc 1 1104 11 is_stmt 0 view .LVU934
 3115 00ea 616A                 ldr     r1, [r4, #36]
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3116                           .loc 1 1104 21 view .LVU935
 3117 00ec 4B1C                 adds    r3, r1, #1
 3118 00ee 6362                 str     r3, [r4, #36]
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferSize--;
 3119                           .loc 1 1107 7 is_stmt 1 view .LVU936
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferSize--;
 3120                           .loc 1 1107 11 is_stmt 0 view .LVU937
 3121 00f0 638D                 ldrh    r3, [r4, #42]
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferSize--;
 3122                           .loc 1 1107 22 view .LVU938
 3123 00f2 013B                 subs    r3, r3, #1
 3124 00f4 9BB2                 uxth    r3, r3
 3125 00f6 6385                 strh    r3, [r4, #42]   @ movhi
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3126                           .loc 1 1108 7 is_stmt 1 view .LVU939
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3127                           .loc 1 1108 11 is_stmt 0 view .LVU940
 3128 00f8 238D                 ldrh    r3, [r4, #40]
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3129                           .loc 1 1108 21 view .LVU941
 3130 00fa 013B                 subs    r3, r3, #1
 3131 00fc 9BB2                 uxth    r3, r3
 3132 00fe 2385                 strh    r3, [r4, #40]   @ movhi
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 3133                           .loc 1 1110 7 is_stmt 1 view .LVU942
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 3134                           .loc 1 1110 12 is_stmt 0 view .LVU943
 3135 0100 2268                 ldr     r2, [r4]
 3136 0102 5069                 ldr     r0, [r2, #20]
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 3137                           .loc 1 1110 10 view .LVU944
 3138 0104 10F0040F             tst     r0, #4
 3139 0108 DAD0                 beq     .L235
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 196


 3140                           .loc 1 1110 59 discriminator 1 view .LVU945
 3141 010a 002B                 cmp     r3, #0
 3142 010c D8D0                 beq     .L235
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3143                           .loc 1 1113 9 is_stmt 1 view .LVU946
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3144                           .loc 1 1113 30 is_stmt 0 view .LVU947
 3145 010e 4B78                 ldrb    r3, [r1, #1]    @ zero_extendqisi2
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3146                           .loc 1 1113 28 view .LVU948
 3147 0110 1361                 str     r3, [r2, #16]
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3148                           .loc 1 1116 9 is_stmt 1 view .LVU949
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3149                           .loc 1 1116 13 is_stmt 0 view .LVU950
 3150 0112 636A                 ldr     r3, [r4, #36]
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3151                           .loc 1 1116 23 view .LVU951
 3152 0114 0133                 adds    r3, r3, #1
 3153 0116 6362                 str     r3, [r4, #36]
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
 3154                           .loc 1 1119 9 is_stmt 1 view .LVU952
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
 3155                           .loc 1 1119 13 is_stmt 0 view .LVU953
 3156 0118 638D                 ldrh    r3, [r4, #42]
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
 3157                           .loc 1 1119 24 view .LVU954
 3158 011a 013B                 subs    r3, r3, #1
 3159 011c 9BB2                 uxth    r3, r3
 3160 011e 6385                 strh    r3, [r4, #42]   @ movhi
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 3161                           .loc 1 1120 9 is_stmt 1 view .LVU955
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 3162                           .loc 1 1120 13 is_stmt 0 view .LVU956
 3163 0120 238D                 ldrh    r3, [r4, #40]
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 3164                           .loc 1 1120 23 view .LVU957
 3165 0122 013B                 subs    r3, r3, #1
 3166 0124 2385                 strh    r3, [r4, #40]   @ movhi
 3167 0126 CBE7                 b       .L235
 3168                   .L245:
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3169                           .loc 1 1126 9 is_stmt 1 view .LVU958
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3170                           .loc 1 1126 17 is_stmt 0 view .LVU959
 3171 0128 236C                 ldr     r3, [r4, #64]
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3172                           .loc 1 1126 12 view .LVU960
 3173 012a 042B                 cmp     r3, #4
 3174 012c 01D0                 beq     .L248
 3175                   .L236:
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 3176                           .loc 1 1131 9 is_stmt 1 view .LVU961
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 3177                           .loc 1 1131 16 is_stmt 0 view .LVU962
 3178 012e 0126                 movs    r6, #1
 3179 0130 75E7                 b       .L230
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 197


 3180                   .L248:
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3181                           .loc 1 1129 11 is_stmt 1 view .LVU963
 3182 0132 2268                 ldr     r2, [r4]
 3183 0134 1368                 ldr     r3, [r2]
 3184 0136 43F40073             orr     r3, r3, #512
 3185 013a 1360                 str     r3, [r2]
 3186 013c F7E7                 b       .L236
 3187                   .L246:
1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3188                           .loc 1 1136 5 view .LVU964
 3189 013e 2268                 ldr     r2, [r4]
 3190 0140 1368                 ldr     r3, [r2]
 3191 0142 43F40073             orr     r3, r3, #512
 3192 0146 1360                 str     r3, [r2]
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 3193                           .loc 1 1138 5 view .LVU965
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 3194                           .loc 1 1138 17 is_stmt 0 view .LVU966
 3195 0148 2023                 movs    r3, #32
 3196 014a 84F83D30             strb    r3, [r4, #61]
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3197                           .loc 1 1139 5 is_stmt 1 view .LVU967
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3198                           .loc 1 1139 16 is_stmt 0 view .LVU968
 3199 014e 0023                 movs    r3, #0
 3200 0150 84F83E30             strb    r3, [r4, #62]
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3201                           .loc 1 1142 5 is_stmt 1 view .LVU969
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3202                           .loc 1 1142 5 view .LVU970
 3203 0154 84F83C30             strb    r3, [r4, #60]
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 3204                           .loc 1 1144 5 view .LVU971
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 3205                           .loc 1 1144 12 is_stmt 0 view .LVU972
 3206 0158 61E7                 b       .L230
 3207                   .L239:
1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3208                           .loc 1 1052 14 view .LVU973
 3209 015a 0226                 movs    r6, #2
 3210 015c 5FE7                 b       .L230
 3211                   .L240:
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3212                           .loc 1 1056 5 view .LVU974
 3213 015e 0226                 movs    r6, #2
 3214 0160 5DE7                 b       .L230
 3215                   .L241:
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3216                           .loc 1 1081 14 view .LVU975
 3217 0162 0126                 movs    r6, #1
 3218 0164 5BE7                 b       .L230
 3219                   .L250:
 3220 0166 00BF                 .align  2
 3221                   .L249:
 3222 0168 02001000             .word   1048578
 3223 016c 0000FFFF             .word   -65536
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 198


 3224                           .cfi_endproc
 3225                   .LFE69:
 3227                           .section        .text.HAL_I2C_Master_Receive,"ax",%progbits
 3228                           .align  1
 3229                           .global HAL_I2C_Master_Receive
 3230                           .syntax unified
 3231                           .thumb
 3232                           .thumb_func
 3233                           .fpu softvfp
 3235                   HAL_I2C_Master_Receive:
 3236                   .LVL141:
 3237                   .LFB70:
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 3238                           .loc 1 1164 1 is_stmt 1 view -0
 3239                           .cfi_startproc
 3240                           @ args = 4, pretend = 0, frame = 16
 3241                           @ frame_needed = 0, uses_anonymous_args = 0
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 3242                           .loc 1 1164 1 is_stmt 0 view .LVU977
 3243 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 3244                   .LCFI36:
 3245                           .cfi_def_cfa_offset 24
 3246                           .cfi_offset 4, -24
 3247                           .cfi_offset 5, -20
 3248                           .cfi_offset 6, -16
 3249                           .cfi_offset 7, -12
 3250                           .cfi_offset 8, -8
 3251                           .cfi_offset 14, -4
 3252 0004 86B0                 sub     sp, sp, #24
 3253                   .LCFI37:
 3254                           .cfi_def_cfa_offset 48
 3255 0006 0446                 mov     r4, r0
 3256 0008 0E46                 mov     r6, r1
 3257 000a 9046                 mov     r8, r2
 3258 000c 1F46                 mov     r7, r3
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3259                           .loc 1 1166 3 is_stmt 1 view .LVU978
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3260                           .loc 1 1166 24 is_stmt 0 view .LVU979
 3261 000e FFF7FEFF             bl      HAL_GetTick
 3262                   .LVL142:
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 3263                           .loc 1 1168 3 is_stmt 1 view .LVU980
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 3264                           .loc 1 1168 11 is_stmt 0 view .LVU981
 3265 0012 94F83D30             ldrb    r3, [r4, #61]   @ zero_extendqisi2
 3266 0016 DBB2                 uxtb    r3, r3
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 3267                           .loc 1 1168 6 view .LVU982
 3268 0018 202B                 cmp     r3, #32
 3269 001a 04D0                 beq     .L274
1422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 3270                           .loc 1 1422 12 view .LVU983
 3271 001c 0226                 movs    r6, #2
 3272                   .LVL143:
 3273                   .L252:
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 199


 3274                           .loc 1 1424 1 view .LVU984
 3275 001e 3046                 mov     r0, r6
 3276 0020 06B0                 add     sp, sp, #24
 3277                   .LCFI38:
 3278                           .cfi_remember_state
 3279                           .cfi_def_cfa_offset 24
 3280                           @ sp needed
 3281 0022 BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 3282                   .LVL144:
 3283                   .L274:
 3284                   .LCFI39:
 3285                           .cfi_restore_state
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3286                           .loc 1 1424 1 view .LVU985
 3287 0026 0546                 mov     r5, r0
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3288                           .loc 1 1171 5 is_stmt 1 view .LVU986
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3289                           .loc 1 1171 9 is_stmt 0 view .LVU987
 3290 0028 0090                 str     r0, [sp]
 3291 002a 1923                 movs    r3, #25
 3292 002c 0122                 movs    r2, #1
 3293 002e 8A49                 ldr     r1, .L280
 3294 0030 2046                 mov     r0, r4
 3295                   .LVL145:
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3296                           .loc 1 1171 9 view .LVU988
 3297 0032 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 3298                   .LVL146:
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3299                           .loc 1 1171 8 view .LVU989
 3300 0036 0028                 cmp     r0, #0
 3301 0038 40F04481             bne     .L265
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3302                           .loc 1 1177 5 is_stmt 1 view .LVU990
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3303                           .loc 1 1177 5 view .LVU991
 3304 003c 94F83C30             ldrb    r3, [r4, #60]   @ zero_extendqisi2
 3305 0040 012B                 cmp     r3, #1
 3306 0042 00F04181             beq     .L266
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3307                           .loc 1 1177 5 discriminator 2 view .LVU992
 3308 0046 0123                 movs    r3, #1
 3309 0048 84F83C30             strb    r3, [r4, #60]
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3310                           .loc 1 1180 5 discriminator 2 view .LVU993
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3311                           .loc 1 1180 14 is_stmt 0 discriminator 2 view .LVU994
 3312 004c 2368                 ldr     r3, [r4]
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3313                           .loc 1 1180 24 discriminator 2 view .LVU995
 3314 004e 1A68                 ldr     r2, [r3]
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3315                           .loc 1 1180 8 discriminator 2 view .LVU996
 3316 0050 12F0010F             tst     r2, #1
 3317 0054 03D1                 bne     .L253
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 200


 3318                           .loc 1 1183 7 is_stmt 1 view .LVU997
 3319 0056 1A68                 ldr     r2, [r3]
 3320 0058 42F00102             orr     r2, r2, #1
 3321 005c 1A60                 str     r2, [r3]
 3322                   .L253:
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3323                           .loc 1 1187 5 view .LVU998
 3324 005e 2268                 ldr     r2, [r4]
 3325 0060 1368                 ldr     r3, [r2]
 3326 0062 23F40063             bic     r3, r3, #2048
 3327 0066 1360                 str     r3, [r2]
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 3328                           .loc 1 1189 5 view .LVU999
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 3329                           .loc 1 1189 23 is_stmt 0 view .LVU1000
 3330 0068 2223                 movs    r3, #34
 3331 006a 84F83D30             strb    r3, [r4, #61]
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3332                           .loc 1 1190 5 is_stmt 1 view .LVU1001
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3333                           .loc 1 1190 23 is_stmt 0 view .LVU1002
 3334 006e 1023                 movs    r3, #16
 3335 0070 84F83E30             strb    r3, [r4, #62]
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3336                           .loc 1 1191 5 is_stmt 1 view .LVU1003
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3337                           .loc 1 1191 23 is_stmt 0 view .LVU1004
 3338 0074 0023                 movs    r3, #0
 3339 0076 2364                 str     r3, [r4, #64]
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3340                           .loc 1 1194 5 is_stmt 1 view .LVU1005
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3341                           .loc 1 1194 23 is_stmt 0 view .LVU1006
 3342 0078 C4F82480             str     r8, [r4, #36]
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 3343                           .loc 1 1195 5 is_stmt 1 view .LVU1007
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 3344                           .loc 1 1195 23 is_stmt 0 view .LVU1008
 3345 007c 6785                 strh    r7, [r4, #42]   @ movhi
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3346                           .loc 1 1196 5 is_stmt 1 view .LVU1009
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3347                           .loc 1 1196 29 is_stmt 0 view .LVU1010
 3348 007e 638D                 ldrh    r3, [r4, #42]
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3349                           .loc 1 1196 23 view .LVU1011
 3350 0080 2385                 strh    r3, [r4, #40]   @ movhi
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3351                           .loc 1 1197 5 is_stmt 1 view .LVU1012
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3352                           .loc 1 1197 23 is_stmt 0 view .LVU1013
 3353 0082 764B                 ldr     r3, .L280+4
 3354 0084 E362                 str     r3, [r4, #44]
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3355                           .loc 1 1200 5 is_stmt 1 view .LVU1014
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3356                           .loc 1 1200 9 is_stmt 0 view .LVU1015
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 201


 3357 0086 2B46                 mov     r3, r5
 3358 0088 0C9A                 ldr     r2, [sp, #48]
 3359 008a 3146                 mov     r1, r6
 3360 008c 2046                 mov     r0, r4
 3361 008e FFF7FEFF             bl      I2C_MasterRequestRead
 3362                   .LVL147:
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3363                           .loc 1 1200 8 view .LVU1016
 3364 0092 0646                 mov     r6, r0
 3365 0094 0028                 cmp     r0, #0
 3366 0096 40F01981             bne     .L267
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3367                           .loc 1 1205 5 is_stmt 1 view .LVU1017
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3368                           .loc 1 1205 13 is_stmt 0 view .LVU1018
 3369 009a 238D                 ldrh    r3, [r4, #40]
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3370                           .loc 1 1205 8 view .LVU1019
 3371 009c 5BB9                 cbnz    r3, .L254
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3372                           .loc 1 1208 7 is_stmt 1 view .LVU1020
 3373                   .LBB57:
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3374                           .loc 1 1208 7 view .LVU1021
 3375 009e 0293                 str     r3, [sp, #8]
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3376                           .loc 1 1208 7 view .LVU1022
 3377 00a0 2368                 ldr     r3, [r4]
 3378 00a2 5A69                 ldr     r2, [r3, #20]
 3379 00a4 0292                 str     r2, [sp, #8]
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3380                           .loc 1 1208 7 view .LVU1023
 3381 00a6 9A69                 ldr     r2, [r3, #24]
 3382 00a8 0292                 str     r2, [sp, #8]
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3383                           .loc 1 1208 7 view .LVU1024
 3384 00aa 029A                 ldr     r2, [sp, #8]
 3385                   .LBE57:
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3386                           .loc 1 1211 7 view .LVU1025
 3387 00ac 1A68                 ldr     r2, [r3]
 3388 00ae 42F40072             orr     r2, r2, #512
 3389 00b2 1A60                 str     r2, [r3]
 3390 00b4 7DE0                 b       .L257
 3391                   .L254:
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3392                           .loc 1 1213 10 view .LVU1026
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3393                           .loc 1 1213 13 is_stmt 0 view .LVU1027
 3394 00b6 012B                 cmp     r3, #1
 3395 00b8 0FD0                 beq     .L275
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3396                           .loc 1 1231 10 is_stmt 1 view .LVU1028
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3397                           .loc 1 1231 13 is_stmt 0 view .LVU1029
 3398 00ba 022B                 cmp     r3, #2
 3399 00bc 21D0                 beq     .L276
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 202


1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3400                           .loc 1 1252 7 is_stmt 1 view .LVU1030
 3401 00be 2268                 ldr     r2, [r4]
 3402 00c0 1368                 ldr     r3, [r2]
 3403 00c2 43F48063             orr     r3, r3, #1024
 3404 00c6 1360                 str     r3, [r2]
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3405                           .loc 1 1255 7 view .LVU1031
 3406                   .LBB58:
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3407                           .loc 1 1255 7 view .LVU1032
 3408 00c8 0023                 movs    r3, #0
 3409 00ca 0593                 str     r3, [sp, #20]
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3410                           .loc 1 1255 7 view .LVU1033
 3411 00cc 2368                 ldr     r3, [r4]
 3412 00ce 5A69                 ldr     r2, [r3, #20]
 3413 00d0 0592                 str     r2, [sp, #20]
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3414                           .loc 1 1255 7 view .LVU1034
 3415 00d2 9B69                 ldr     r3, [r3, #24]
 3416 00d4 0593                 str     r3, [sp, #20]
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3417                           .loc 1 1255 7 view .LVU1035
 3418 00d6 059B                 ldr     r3, [sp, #20]
 3419 00d8 6BE0                 b       .L257
 3420                   .L275:
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3421                           .loc 1 1255 7 is_stmt 0 view .LVU1036
 3422                   .LBE58:
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3423                           .loc 1 1216 7 is_stmt 1 view .LVU1037
 3424 00da 2268                 ldr     r2, [r4]
 3425 00dc 1368                 ldr     r3, [r2]
 3426 00de 23F48063             bic     r3, r3, #1024
 3427 00e2 1360                 str     r3, [r2]
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3428                           .loc 1 1220 7 view .LVU1038
 3429                   .LBB59:
 3430                   .LBI59:
 3431                           .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
   1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
   2:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @file     cmsis_gcc.h
   3:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @brief    CMSIS compiler GCC header file
   4:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @version  V5.0.4
   5:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @date     09. April 2018
   6:Drivers/CMSIS/Include/cmsis_gcc.h ****  ******************************************************************************/
   7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
   8:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
   9:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  10:Drivers/CMSIS/Include/cmsis_gcc.h ****  * SPDX-License-Identifier: Apache-2.0
  11:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  12:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Licensed under the Apache License, Version 2.0 (the License); you may
  13:Drivers/CMSIS/Include/cmsis_gcc.h ****  * not use this file except in compliance with the License.
  14:Drivers/CMSIS/Include/cmsis_gcc.h ****  * You may obtain a copy of the License at
  15:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  16:Drivers/CMSIS/Include/cmsis_gcc.h ****  * www.apache.org/licenses/LICENSE-2.0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 203


  17:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  18:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Unless required by applicable law or agreed to in writing, software
  19:Drivers/CMSIS/Include/cmsis_gcc.h ****  * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  20:Drivers/CMSIS/Include/cmsis_gcc.h ****  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  21:Drivers/CMSIS/Include/cmsis_gcc.h ****  * See the License for the specific language governing permissions and
  22:Drivers/CMSIS/Include/cmsis_gcc.h ****  * limitations under the License.
  23:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
  24:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  27:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
  29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  33:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
  36:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __has_builtin(x) (0)
  37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  38:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __ASM
  41:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __ASM                                  __asm
  42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __INLINE
  44:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __INLINE                               inline
  45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __STATIC_INLINE
  47:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __STATIC_INLINE                        static inline
  48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __STATIC_FORCEINLINE                 
  50:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __STATIC_FORCEINLINE                   __attribute__((always_inline)) static inline
  51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif                                           
  52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __NO_RETURN
  53:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __NO_RETURN                            __attribute__((__noreturn__))
  54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __USED
  56:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __USED                                 __attribute__((used))
  57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __WEAK
  59:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __WEAK                                 __attribute__((weak))
  60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __PACKED
  62:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __PACKED                               __attribute__((packed, aligned(1)))
  63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __PACKED_STRUCT
  65:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __PACKED_STRUCT                        struct __attribute__((packed, aligned(1)))
  66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __PACKED_UNION
  68:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __PACKED_UNION                         union __attribute__((packed, aligned(1)))
  69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32        /* deprecated */
  71:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  72:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  73:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 204


  74:Drivers/CMSIS/Include/cmsis_gcc.h ****   struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  75:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  76:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT32(x)                  (((struct T_UINT32 *)(x))->v)
  77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT16_WRITE
  79:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  80:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  81:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  82:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  83:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  84:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT16_WRITE(addr, val)    (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT16_READ
  87:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  88:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  89:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  90:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  91:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  92:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT16_READ(addr)          (((const struct T_UINT16_READ *)(const void *)(add
  93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32_WRITE
  95:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  96:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  97:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  98:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  99:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
 100:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT32_WRITE(addr, val)    (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32_READ
 103:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
 104:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
 105:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
 106:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
 107:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
 108:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT32_READ(addr)          (((const struct T_UINT32_READ *)(const void *)(add
 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __ALIGNED
 111:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __ALIGNED(x)                           __attribute__((aligned(x)))
 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __RESTRICT
 114:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __RESTRICT                             __restrict
 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 116:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 117:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ###########################  Core Function Access  ########################### */
 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup  CMSIS_Core_FunctionInterface
 120:Drivers/CMSIS/Include/cmsis_gcc.h ****     \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
 121:Drivers/CMSIS/Include/cmsis_gcc.h ****   @{
 122:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 123:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 125:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Enable IRQ Interrupts
 126:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
 127:Drivers/CMSIS/Include/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 128:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 205


 131:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("cpsie i" : : : "memory");
 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 133:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 134:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 136:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Disable IRQ Interrupts
 137:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Disables IRQ interrupts by setting the I-bit in the CPSR.
 138:Drivers/CMSIS/Include/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 139:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
 3432                           .loc 2 140 27 view .LVU1039
 3433                   .LBB60:
 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 142:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("cpsid i" : : : "memory");
 3434                           .loc 2 142 3 view .LVU1040
 3435                           .syntax unified
 3436                   @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 3437 00e4 72B6                 cpsid i
 3438                   @ 0 "" 2
 3439                           .thumb
 3440                           .syntax unified
 3441                   .LBE60:
 3442                   .LBE59:
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3443                           .loc 1 1223 7 view .LVU1041
 3444                   .LBB61:
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3445                           .loc 1 1223 7 view .LVU1042
 3446 00e6 0023                 movs    r3, #0
 3447 00e8 0393                 str     r3, [sp, #12]
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3448                           .loc 1 1223 7 view .LVU1043
 3449 00ea 2368                 ldr     r3, [r4]
 3450 00ec 5A69                 ldr     r2, [r3, #20]
 3451 00ee 0392                 str     r2, [sp, #12]
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3452                           .loc 1 1223 7 view .LVU1044
 3453 00f0 9A69                 ldr     r2, [r3, #24]
 3454 00f2 0392                 str     r2, [sp, #12]
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3455                           .loc 1 1223 7 view .LVU1045
 3456 00f4 039A                 ldr     r2, [sp, #12]
 3457                   .LBE61:
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3458                           .loc 1 1226 7 view .LVU1046
 3459 00f6 1A68                 ldr     r2, [r3]
 3460 00f8 42F40072             orr     r2, r2, #512
 3461 00fc 1A60                 str     r2, [r3]
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3462                           .loc 1 1229 7 view .LVU1047
 3463                   .LBB62:
 3464                   .LBI62:
 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 3465                           .loc 2 129 27 view .LVU1048
 3466                   .LBB63:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 3467                           .loc 2 131 3 view .LVU1049
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 206


 3468                           .syntax unified
 3469                   @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 3470 00fe 62B6                 cpsie i
 3471                   @ 0 "" 2
 3472                           .thumb
 3473                           .syntax unified
 3474 0100 57E0                 b       .L257
 3475                   .L276:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 3476                           .loc 2 131 3 is_stmt 0 view .LVU1050
 3477                   .LBE63:
 3478                   .LBE62:
1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3479                           .loc 1 1234 7 is_stmt 1 view .LVU1051
 3480 0102 2268                 ldr     r2, [r4]
 3481 0104 1368                 ldr     r3, [r2]
 3482 0106 43F40063             orr     r3, r3, #2048
 3483 010a 1360                 str     r3, [r2]
1238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3484                           .loc 1 1238 7 view .LVU1052
 3485                   .LBB64:
 3486                   .LBI64:
 140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 3487                           .loc 2 140 27 view .LVU1053
 3488                   .LBB65:
 3489                           .loc 2 142 3 view .LVU1054
 3490                           .syntax unified
 3491                   @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 3492 010c 72B6                 cpsid i
 3493                   @ 0 "" 2
 3494                           .thumb
 3495                           .syntax unified
 3496                   .LBE65:
 3497                   .LBE64:
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3498                           .loc 1 1241 7 view .LVU1055
 3499                   .LBB66:
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3500                           .loc 1 1241 7 view .LVU1056
 3501 010e 0023                 movs    r3, #0
 3502 0110 0493                 str     r3, [sp, #16]
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3503                           .loc 1 1241 7 view .LVU1057
 3504 0112 2368                 ldr     r3, [r4]
 3505 0114 5A69                 ldr     r2, [r3, #20]
 3506 0116 0492                 str     r2, [sp, #16]
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3507                           .loc 1 1241 7 view .LVU1058
 3508 0118 9A69                 ldr     r2, [r3, #24]
 3509 011a 0492                 str     r2, [sp, #16]
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3510                           .loc 1 1241 7 view .LVU1059
 3511 011c 049A                 ldr     r2, [sp, #16]
 3512                   .LBE66:
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3513                           .loc 1 1244 7 view .LVU1060
 3514 011e 1A68                 ldr     r2, [r3]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 207


 3515 0120 22F48062             bic     r2, r2, #1024
 3516 0124 1A60                 str     r2, [r3]
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3517                           .loc 1 1247 7 view .LVU1061
 3518                   .LBB67:
 3519                   .LBI67:
 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 3520                           .loc 2 129 27 view .LVU1062
 3521                   .LBB68:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 3522                           .loc 2 131 3 view .LVU1063
 3523                           .syntax unified
 3524                   @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 3525 0126 62B6                 cpsie i
 3526                   @ 0 "" 2
 3527                           .thumb
 3528                           .syntax unified
 3529 0128 43E0                 b       .L257
 3530                   .L278:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 3531                           .loc 2 131 3 is_stmt 0 view .LVU1064
 3532                   .LBE68:
 3533                   .LBE67:
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3534                           .loc 1 1266 11 is_stmt 1 view .LVU1065
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3535                           .loc 1 1266 15 is_stmt 0 view .LVU1066
 3536 012a 2A46                 mov     r2, r5
 3537 012c 0C99                 ldr     r1, [sp, #48]
 3538 012e 2046                 mov     r0, r4
 3539 0130 FFF7FEFF             bl      I2C_WaitOnRXNEFlagUntilTimeout
 3540                   .LVL148:
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3541                           .loc 1 1266 14 view .LVU1067
 3542 0134 0028                 cmp     r0, #0
 3543 0136 40F0CB80             bne     .L268
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3544                           .loc 1 1272 11 is_stmt 1 view .LVU1068
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3545                           .loc 1 1272 42 is_stmt 0 view .LVU1069
 3546 013a 2368                 ldr     r3, [r4]
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3547                           .loc 1 1272 52 view .LVU1070
 3548 013c 1A69                 ldr     r2, [r3, #16]
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3549                           .loc 1 1272 16 view .LVU1071
 3550 013e 636A                 ldr     r3, [r4, #36]
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3551                           .loc 1 1272 27 view .LVU1072
 3552 0140 1A70                 strb    r2, [r3]
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3553                           .loc 1 1275 11 is_stmt 1 view .LVU1073
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3554                           .loc 1 1275 15 is_stmt 0 view .LVU1074
 3555 0142 636A                 ldr     r3, [r4, #36]
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3556                           .loc 1 1275 25 view .LVU1075
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 208


 3557 0144 0133                 adds    r3, r3, #1
 3558 0146 6362                 str     r3, [r4, #36]
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3559                           .loc 1 1278 11 is_stmt 1 view .LVU1076
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3560                           .loc 1 1278 15 is_stmt 0 view .LVU1077
 3561 0148 238D                 ldrh    r3, [r4, #40]
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3562                           .loc 1 1278 25 view .LVU1078
 3563 014a 013B                 subs    r3, r3, #1
 3564 014c 2385                 strh    r3, [r4, #40]   @ movhi
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3565                           .loc 1 1279 11 is_stmt 1 view .LVU1079
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3566                           .loc 1 1279 15 is_stmt 0 view .LVU1080
 3567 014e 638D                 ldrh    r3, [r4, #42]
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3568                           .loc 1 1279 26 view .LVU1081
 3569 0150 013B                 subs    r3, r3, #1
 3570 0152 9BB2                 uxth    r3, r3
 3571 0154 6385                 strh    r3, [r4, #42]   @ movhi
 3572 0156 2CE0                 b       .L257
 3573                   .L279:
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3574                           .loc 1 1285 11 is_stmt 1 view .LVU1082
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3575                           .loc 1 1285 15 is_stmt 0 view .LVU1083
 3576 0158 0095                 str     r5, [sp]
 3577 015a 0C9B                 ldr     r3, [sp, #48]
 3578 015c 0022                 movs    r2, #0
 3579 015e 4049                 ldr     r1, .L280+8
 3580 0160 2046                 mov     r0, r4
 3581 0162 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 3582                   .LVL149:
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3583                           .loc 1 1285 14 view .LVU1084
 3584 0166 0028                 cmp     r0, #0
 3585 0168 40F0B480             bne     .L269
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3586                           .loc 1 1292 11 is_stmt 1 view .LVU1085
 3587                   .LBB69:
 3588                   .LBI69:
 140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 3589                           .loc 2 140 27 view .LVU1086
 3590                   .LBB70:
 3591                           .loc 2 142 3 view .LVU1087
 3592                           .syntax unified
 3593                   @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 3594 016c 72B6                 cpsid i
 3595                   @ 0 "" 2
 3596                           .thumb
 3597                           .syntax unified
 3598                   .LBE70:
 3599                   .LBE69:
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3600                           .loc 1 1295 11 view .LVU1088
 3601 016e 2268                 ldr     r2, [r4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 209


 3602 0170 1368                 ldr     r3, [r2]
 3603 0172 43F40073             orr     r3, r3, #512
 3604 0176 1360                 str     r3, [r2]
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3605                           .loc 1 1298 11 view .LVU1089
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3606                           .loc 1 1298 42 is_stmt 0 view .LVU1090
 3607 0178 2368                 ldr     r3, [r4]
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3608                           .loc 1 1298 52 view .LVU1091
 3609 017a 1A69                 ldr     r2, [r3, #16]
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3610                           .loc 1 1298 16 view .LVU1092
 3611 017c 636A                 ldr     r3, [r4, #36]
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3612                           .loc 1 1298 27 view .LVU1093
 3613 017e 1A70                 strb    r2, [r3]
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3614                           .loc 1 1301 11 is_stmt 1 view .LVU1094
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3615                           .loc 1 1301 15 is_stmt 0 view .LVU1095
 3616 0180 636A                 ldr     r3, [r4, #36]
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3617                           .loc 1 1301 25 view .LVU1096
 3618 0182 0133                 adds    r3, r3, #1
 3619 0184 6362                 str     r3, [r4, #36]
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3620                           .loc 1 1304 11 is_stmt 1 view .LVU1097
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3621                           .loc 1 1304 15 is_stmt 0 view .LVU1098
 3622 0186 238D                 ldrh    r3, [r4, #40]
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3623                           .loc 1 1304 25 view .LVU1099
 3624 0188 013B                 subs    r3, r3, #1
 3625 018a 2385                 strh    r3, [r4, #40]   @ movhi
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3626                           .loc 1 1305 11 is_stmt 1 view .LVU1100
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3627                           .loc 1 1305 15 is_stmt 0 view .LVU1101
 3628 018c 638D                 ldrh    r3, [r4, #42]
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3629                           .loc 1 1305 26 view .LVU1102
 3630 018e 013B                 subs    r3, r3, #1
 3631 0190 9BB2                 uxth    r3, r3
 3632 0192 6385                 strh    r3, [r4, #42]   @ movhi
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3633                           .loc 1 1308 11 is_stmt 1 view .LVU1103
 3634                   .LBB71:
 3635                   .LBI71:
 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 3636                           .loc 2 129 27 view .LVU1104
 3637                   .LBB72:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 3638                           .loc 2 131 3 view .LVU1105
 3639                           .syntax unified
 3640                   @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 3641 0194 62B6                 cpsie i
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 210


 3642                   @ 0 "" 2
 3643                           .thumb
 3644                           .syntax unified
 3645                   .LBE72:
 3646                   .LBE71:
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3647                           .loc 1 1311 11 view .LVU1106
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3648                           .loc 1 1311 42 is_stmt 0 view .LVU1107
 3649 0196 2368                 ldr     r3, [r4]
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3650                           .loc 1 1311 52 view .LVU1108
 3651 0198 1A69                 ldr     r2, [r3, #16]
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3652                           .loc 1 1311 16 view .LVU1109
 3653 019a 636A                 ldr     r3, [r4, #36]
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3654                           .loc 1 1311 27 view .LVU1110
 3655 019c 1A70                 strb    r2, [r3]
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3656                           .loc 1 1314 11 is_stmt 1 view .LVU1111
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3657                           .loc 1 1314 15 is_stmt 0 view .LVU1112
 3658 019e 636A                 ldr     r3, [r4, #36]
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3659                           .loc 1 1314 25 view .LVU1113
 3660 01a0 0133                 adds    r3, r3, #1
 3661 01a2 6362                 str     r3, [r4, #36]
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3662                           .loc 1 1317 11 is_stmt 1 view .LVU1114
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3663                           .loc 1 1317 15 is_stmt 0 view .LVU1115
 3664 01a4 238D                 ldrh    r3, [r4, #40]
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3665                           .loc 1 1317 25 view .LVU1116
 3666 01a6 013B                 subs    r3, r3, #1
 3667 01a8 2385                 strh    r3, [r4, #40]   @ movhi
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3668                           .loc 1 1318 11 is_stmt 1 view .LVU1117
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3669                           .loc 1 1318 15 is_stmt 0 view .LVU1118
 3670 01aa 638D                 ldrh    r3, [r4, #42]
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3671                           .loc 1 1318 26 view .LVU1119
 3672 01ac 013B                 subs    r3, r3, #1
 3673 01ae 9BB2                 uxth    r3, r3
 3674 01b0 6385                 strh    r3, [r4, #42]   @ movhi
 3675                   .L257:
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3676                           .loc 1 1258 16 view .LVU1120
 3677 01b2 238D                 ldrh    r3, [r4, #40]
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 3678                           .loc 1 1258 11 view .LVU1121
 3679 01b4 002B                 cmp     r3, #0
 3680 01b6 7CD0                 beq     .L277
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 3681                           .loc 1 1260 7 is_stmt 1 view .LVU1122
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 211


1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 3682                           .loc 1 1260 10 is_stmt 0 view .LVU1123
 3683 01b8 032B                 cmp     r3, #3
 3684 01ba 53D8                 bhi     .L259
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3685                           .loc 1 1263 9 is_stmt 1 view .LVU1124
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3686                           .loc 1 1263 12 is_stmt 0 view .LVU1125
 3687 01bc 012B                 cmp     r3, #1
 3688 01be B4D0                 beq     .L278
1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3689                           .loc 1 1282 14 is_stmt 1 view .LVU1126
1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3690                           .loc 1 1282 17 is_stmt 0 view .LVU1127
 3691 01c0 022B                 cmp     r3, #2
 3692 01c2 C9D0                 beq     .L279
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3693                           .loc 1 1324 11 is_stmt 1 view .LVU1128
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3694                           .loc 1 1324 15 is_stmt 0 view .LVU1129
 3695 01c4 0095                 str     r5, [sp]
 3696 01c6 0C9B                 ldr     r3, [sp, #48]
 3697 01c8 0022                 movs    r2, #0
 3698 01ca 2549                 ldr     r1, .L280+8
 3699 01cc 2046                 mov     r0, r4
 3700 01ce FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 3701                   .LVL150:
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3702                           .loc 1 1324 14 view .LVU1130
 3703 01d2 0028                 cmp     r0, #0
 3704 01d4 40F08080             bne     .L270
1330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3705                           .loc 1 1330 11 is_stmt 1 view .LVU1131
 3706 01d8 2268                 ldr     r2, [r4]
 3707 01da 1368                 ldr     r3, [r2]
 3708 01dc 23F48063             bic     r3, r3, #1024
 3709 01e0 1360                 str     r3, [r2]
1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3710                           .loc 1 1334 11 view .LVU1132
 3711                   .LBB73:
 3712                   .LBI73:
 140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 3713                           .loc 2 140 27 view .LVU1133
 3714                   .LBB74:
 3715                           .loc 2 142 3 view .LVU1134
 3716                           .syntax unified
 3717                   @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 3718 01e2 72B6                 cpsid i
 3719                   @ 0 "" 2
 3720                           .thumb
 3721                           .syntax unified
 3722                   .LBE74:
 3723                   .LBE73:
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3724                           .loc 1 1337 11 view .LVU1135
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3725                           .loc 1 1337 42 is_stmt 0 view .LVU1136
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 212


 3726 01e4 2368                 ldr     r3, [r4]
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3727                           .loc 1 1337 52 view .LVU1137
 3728 01e6 1A69                 ldr     r2, [r3, #16]
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3729                           .loc 1 1337 16 view .LVU1138
 3730 01e8 636A                 ldr     r3, [r4, #36]
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3731                           .loc 1 1337 27 view .LVU1139
 3732 01ea 1A70                 strb    r2, [r3]
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3733                           .loc 1 1340 11 is_stmt 1 view .LVU1140
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3734                           .loc 1 1340 15 is_stmt 0 view .LVU1141
 3735 01ec 636A                 ldr     r3, [r4, #36]
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3736                           .loc 1 1340 25 view .LVU1142
 3737 01ee 0133                 adds    r3, r3, #1
 3738 01f0 6362                 str     r3, [r4, #36]
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3739                           .loc 1 1343 11 is_stmt 1 view .LVU1143
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3740                           .loc 1 1343 15 is_stmt 0 view .LVU1144
 3741 01f2 238D                 ldrh    r3, [r4, #40]
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3742                           .loc 1 1343 25 view .LVU1145
 3743 01f4 013B                 subs    r3, r3, #1
 3744 01f6 2385                 strh    r3, [r4, #40]   @ movhi
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3745                           .loc 1 1344 11 is_stmt 1 view .LVU1146
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3746                           .loc 1 1344 15 is_stmt 0 view .LVU1147
 3747 01f8 638D                 ldrh    r3, [r4, #42]
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3748                           .loc 1 1344 26 view .LVU1148
 3749 01fa 013B                 subs    r3, r3, #1
 3750 01fc 9BB2                 uxth    r3, r3
 3751 01fe 6385                 strh    r3, [r4, #42]   @ movhi
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3752                           .loc 1 1347 11 is_stmt 1 view .LVU1149
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3753                           .loc 1 1347 15 is_stmt 0 view .LVU1150
 3754 0200 0095                 str     r5, [sp]
 3755 0202 0C9B                 ldr     r3, [sp, #48]
 3756 0204 0022                 movs    r2, #0
 3757 0206 1649                 ldr     r1, .L280+8
 3758 0208 2046                 mov     r0, r4
 3759 020a FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 3760                   .LVL151:
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 3761                           .loc 1 1347 14 view .LVU1151
 3762 020e 0028                 cmp     r0, #0
 3763 0210 64D1                 bne     .L271
1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3764                           .loc 1 1353 11 is_stmt 1 view .LVU1152
 3765 0212 2268                 ldr     r2, [r4]
 3766 0214 1368                 ldr     r3, [r2]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 213


 3767 0216 43F40073             orr     r3, r3, #512
 3768 021a 1360                 str     r3, [r2]
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3769                           .loc 1 1356 11 view .LVU1153
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3770                           .loc 1 1356 42 is_stmt 0 view .LVU1154
 3771 021c 2368                 ldr     r3, [r4]
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3772                           .loc 1 1356 52 view .LVU1155
 3773 021e 1A69                 ldr     r2, [r3, #16]
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3774                           .loc 1 1356 16 view .LVU1156
 3775 0220 636A                 ldr     r3, [r4, #36]
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3776                           .loc 1 1356 27 view .LVU1157
 3777 0222 1A70                 strb    r2, [r3]
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3778                           .loc 1 1359 11 is_stmt 1 view .LVU1158
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3779                           .loc 1 1359 15 is_stmt 0 view .LVU1159
 3780 0224 636A                 ldr     r3, [r4, #36]
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3781                           .loc 1 1359 25 view .LVU1160
 3782 0226 0133                 adds    r3, r3, #1
 3783 0228 6362                 str     r3, [r4, #36]
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3784                           .loc 1 1362 11 is_stmt 1 view .LVU1161
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3785                           .loc 1 1362 15 is_stmt 0 view .LVU1162
 3786 022a 238D                 ldrh    r3, [r4, #40]
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3787                           .loc 1 1362 25 view .LVU1163
 3788 022c 013B                 subs    r3, r3, #1
 3789 022e 2385                 strh    r3, [r4, #40]   @ movhi
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3790                           .loc 1 1363 11 is_stmt 1 view .LVU1164
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3791                           .loc 1 1363 15 is_stmt 0 view .LVU1165
 3792 0230 638D                 ldrh    r3, [r4, #42]
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3793                           .loc 1 1363 26 view .LVU1166
 3794 0232 013B                 subs    r3, r3, #1
 3795 0234 9BB2                 uxth    r3, r3
 3796 0236 6385                 strh    r3, [r4, #42]   @ movhi
1366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3797                           .loc 1 1366 11 is_stmt 1 view .LVU1167
 3798                   .LBB75:
 3799                   .LBI75:
 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 3800                           .loc 2 129 27 view .LVU1168
 3801                   .LBB76:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 3802                           .loc 2 131 3 view .LVU1169
 3803                           .syntax unified
 3804                   @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 3805 0238 62B6                 cpsie i
 3806                   @ 0 "" 2
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 214


 3807                           .thumb
 3808                           .syntax unified
 3809                   .LBE76:
 3810                   .LBE75:
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3811                           .loc 1 1369 11 view .LVU1170
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3812                           .loc 1 1369 42 is_stmt 0 view .LVU1171
 3813 023a 2368                 ldr     r3, [r4]
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3814                           .loc 1 1369 52 view .LVU1172
 3815 023c 1A69                 ldr     r2, [r3, #16]
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3816                           .loc 1 1369 16 view .LVU1173
 3817 023e 636A                 ldr     r3, [r4, #36]
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3818                           .loc 1 1369 27 view .LVU1174
 3819 0240 1A70                 strb    r2, [r3]
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3820                           .loc 1 1372 11 is_stmt 1 view .LVU1175
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3821                           .loc 1 1372 15 is_stmt 0 view .LVU1176
 3822 0242 636A                 ldr     r3, [r4, #36]
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3823                           .loc 1 1372 25 view .LVU1177
 3824 0244 0133                 adds    r3, r3, #1
 3825 0246 6362                 str     r3, [r4, #36]
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3826                           .loc 1 1375 11 is_stmt 1 view .LVU1178
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3827                           .loc 1 1375 15 is_stmt 0 view .LVU1179
 3828 0248 238D                 ldrh    r3, [r4, #40]
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3829                           .loc 1 1375 25 view .LVU1180
 3830 024a 013B                 subs    r3, r3, #1
 3831 024c 2385                 strh    r3, [r4, #40]   @ movhi
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3832                           .loc 1 1376 11 is_stmt 1 view .LVU1181
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3833                           .loc 1 1376 15 is_stmt 0 view .LVU1182
 3834 024e 638D                 ldrh    r3, [r4, #42]
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3835                           .loc 1 1376 26 view .LVU1183
 3836 0250 013B                 subs    r3, r3, #1
 3837 0252 9BB2                 uxth    r3, r3
 3838 0254 6385                 strh    r3, [r4, #42]   @ movhi
 3839 0256 ACE7                 b       .L257
 3840                   .L281:
 3841                           .align  2
 3842                   .L280:
 3843 0258 02001000             .word   1048578
 3844 025c 0000FFFF             .word   -65536
 3845 0260 04000100             .word   65540
 3846                   .L259:
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3847                           .loc 1 1382 9 is_stmt 1 view .LVU1184
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 215


 3848                           .loc 1 1382 13 is_stmt 0 view .LVU1185
 3849 0264 2A46                 mov     r2, r5
 3850 0266 0C99                 ldr     r1, [sp, #48]
 3851 0268 2046                 mov     r0, r4
 3852 026a FFF7FEFF             bl      I2C_WaitOnRXNEFlagUntilTimeout
 3853                   .LVL152:
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3854                           .loc 1 1382 12 view .LVU1186
 3855 026e 0028                 cmp     r0, #0
 3856 0270 36D1                 bne     .L272
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3857                           .loc 1 1388 9 is_stmt 1 view .LVU1187
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3858                           .loc 1 1388 40 is_stmt 0 view .LVU1188
 3859 0272 2368                 ldr     r3, [r4]
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3860                           .loc 1 1388 50 view .LVU1189
 3861 0274 1A69                 ldr     r2, [r3, #16]
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3862                           .loc 1 1388 14 view .LVU1190
 3863 0276 636A                 ldr     r3, [r4, #36]
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3864                           .loc 1 1388 25 view .LVU1191
 3865 0278 1A70                 strb    r2, [r3]
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3866                           .loc 1 1391 9 is_stmt 1 view .LVU1192
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3867                           .loc 1 1391 13 is_stmt 0 view .LVU1193
 3868 027a 626A                 ldr     r2, [r4, #36]
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3869                           .loc 1 1391 23 view .LVU1194
 3870 027c 531C                 adds    r3, r2, #1
 3871 027e 6362                 str     r3, [r4, #36]
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 3872                           .loc 1 1394 9 is_stmt 1 view .LVU1195
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 3873                           .loc 1 1394 13 is_stmt 0 view .LVU1196
 3874 0280 238D                 ldrh    r3, [r4, #40]
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 3875                           .loc 1 1394 23 view .LVU1197
 3876 0282 013B                 subs    r3, r3, #1
 3877 0284 2385                 strh    r3, [r4, #40]   @ movhi
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3878                           .loc 1 1395 9 is_stmt 1 view .LVU1198
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3879                           .loc 1 1395 13 is_stmt 0 view .LVU1199
 3880 0286 638D                 ldrh    r3, [r4, #42]
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3881                           .loc 1 1395 24 view .LVU1200
 3882 0288 013B                 subs    r3, r3, #1
 3883 028a 9BB2                 uxth    r3, r3
 3884 028c 6385                 strh    r3, [r4, #42]   @ movhi
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3885                           .loc 1 1397 9 is_stmt 1 view .LVU1201
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3886                           .loc 1 1397 13 is_stmt 0 view .LVU1202
 3887 028e 2368                 ldr     r3, [r4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 216


 3888 0290 5969                 ldr     r1, [r3, #20]
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 3889                           .loc 1 1397 12 view .LVU1203
 3890 0292 11F0040F             tst     r1, #4
 3891 0296 8CD0                 beq     .L257
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3892                           .loc 1 1400 11 is_stmt 1 view .LVU1204
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3893                           .loc 1 1400 52 is_stmt 0 view .LVU1205
 3894 0298 1B69                 ldr     r3, [r3, #16]
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3895                           .loc 1 1400 27 view .LVU1206
 3896 029a 5370                 strb    r3, [r2, #1]
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3897                           .loc 1 1403 11 is_stmt 1 view .LVU1207
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3898                           .loc 1 1403 15 is_stmt 0 view .LVU1208
 3899 029c 636A                 ldr     r3, [r4, #36]
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3900                           .loc 1 1403 25 view .LVU1209
 3901 029e 0133                 adds    r3, r3, #1
 3902 02a0 6362                 str     r3, [r4, #36]
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3903                           .loc 1 1406 11 is_stmt 1 view .LVU1210
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3904                           .loc 1 1406 15 is_stmt 0 view .LVU1211
 3905 02a2 238D                 ldrh    r3, [r4, #40]
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 3906                           .loc 1 1406 25 view .LVU1212
 3907 02a4 013B                 subs    r3, r3, #1
 3908 02a6 2385                 strh    r3, [r4, #40]   @ movhi
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3909                           .loc 1 1407 11 is_stmt 1 view .LVU1213
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3910                           .loc 1 1407 15 is_stmt 0 view .LVU1214
 3911 02a8 638D                 ldrh    r3, [r4, #42]
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3912                           .loc 1 1407 26 view .LVU1215
 3913 02aa 013B                 subs    r3, r3, #1
 3914 02ac 9BB2                 uxth    r3, r3
 3915 02ae 6385                 strh    r3, [r4, #42]   @ movhi
 3916 02b0 7FE7                 b       .L257
 3917                   .L277:
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 3918                           .loc 1 1412 5 is_stmt 1 view .LVU1216
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 3919                           .loc 1 1412 17 is_stmt 0 view .LVU1217
 3920 02b2 2023                 movs    r3, #32
 3921 02b4 84F83D30             strb    r3, [r4, #61]
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3922                           .loc 1 1413 5 is_stmt 1 view .LVU1218
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3923                           .loc 1 1413 16 is_stmt 0 view .LVU1219
 3924 02b8 0023                 movs    r3, #0
 3925 02ba 84F83E30             strb    r3, [r4, #62]
1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3926                           .loc 1 1416 5 is_stmt 1 view .LVU1220
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 217


1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3927                           .loc 1 1416 5 view .LVU1221
 3928 02be 84F83C30             strb    r3, [r4, #60]
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 3929                           .loc 1 1418 5 view .LVU1222
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 3930                           .loc 1 1418 12 is_stmt 0 view .LVU1223
 3931 02c2 ACE6                 b       .L252
 3932                   .L265:
1173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3933                           .loc 1 1173 14 view .LVU1224
 3934 02c4 0226                 movs    r6, #2
 3935 02c6 AAE6                 b       .L252
 3936                   .L266:
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3937                           .loc 1 1177 5 view .LVU1225
 3938 02c8 0226                 movs    r6, #2
 3939 02ca A8E6                 b       .L252
 3940                   .L267:
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 3941                           .loc 1 1202 14 view .LVU1226
 3942 02cc 0126                 movs    r6, #1
 3943 02ce A6E6                 b       .L252
 3944                   .L268:
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 3945                           .loc 1 1268 20 view .LVU1227
 3946 02d0 0126                 movs    r6, #1
 3947 02d2 A4E6                 b       .L252
 3948                   .L269:
1287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 3949                           .loc 1 1287 20 view .LVU1228
 3950 02d4 0126                 movs    r6, #1
 3951 02d6 A2E6                 b       .L252
 3952                   .L270:
1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 3953                           .loc 1 1326 20 view .LVU1229
 3954 02d8 0126                 movs    r6, #1
 3955 02da A0E6                 b       .L252
 3956                   .L271:
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 3957                           .loc 1 1349 20 view .LVU1230
 3958 02dc 0126                 movs    r6, #1
 3959 02de 9EE6                 b       .L252
 3960                   .L272:
1384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 3961                           .loc 1 1384 18 view .LVU1231
 3962 02e0 0126                 movs    r6, #1
 3963 02e2 9CE6                 b       .L252
 3964                           .cfi_endproc
 3965                   .LFE70:
 3967                           .section        .text.HAL_I2C_Slave_Transmit,"ax",%progbits
 3968                           .align  1
 3969                           .global HAL_I2C_Slave_Transmit
 3970                           .syntax unified
 3971                           .thumb
 3972                           .thumb_func
 3973                           .fpu softvfp
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 218


 3975                   HAL_I2C_Slave_Transmit:
 3976                   .LVL153:
 3977                   .LFB71:
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 3978                           .loc 1 1436 1 is_stmt 1 view -0
 3979                           .cfi_startproc
 3980                           @ args = 0, pretend = 0, frame = 8
 3981                           @ frame_needed = 0, uses_anonymous_args = 0
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 3982                           .loc 1 1436 1 is_stmt 0 view .LVU1233
 3983 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 3984                   .LCFI40:
 3985                           .cfi_def_cfa_offset 24
 3986                           .cfi_offset 4, -24
 3987                           .cfi_offset 5, -20
 3988                           .cfi_offset 6, -16
 3989                           .cfi_offset 7, -12
 3990                           .cfi_offset 8, -8
 3991                           .cfi_offset 14, -4
 3992 0004 84B0                 sub     sp, sp, #16
 3993                   .LCFI41:
 3994                           .cfi_def_cfa_offset 40
 3995 0006 0446                 mov     r4, r0
 3996 0008 0F46                 mov     r7, r1
 3997 000a 9046                 mov     r8, r2
 3998 000c 1D46                 mov     r5, r3
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 3999                           .loc 1 1438 3 is_stmt 1 view .LVU1234
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4000                           .loc 1 1438 24 is_stmt 0 view .LVU1235
 4001 000e FFF7FEFF             bl      HAL_GetTick
 4002                   .LVL154:
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4003                           .loc 1 1440 3 is_stmt 1 view .LVU1236
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4004                           .loc 1 1440 11 is_stmt 0 view .LVU1237
 4005 0012 94F83D30             ldrb    r3, [r4, #61]   @ zero_extendqisi2
 4006 0016 DBB2                 uxtb    r3, r3
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4007                           .loc 1 1440 6 view .LVU1238
 4008 0018 202B                 cmp     r3, #32
 4009 001a 40F0A880             bne     .L290
 4010 001e 0646                 mov     r6, r0
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4011                           .loc 1 1442 5 is_stmt 1 view .LVU1239
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4012                           .loc 1 1442 8 is_stmt 0 view .LVU1240
 4013 0020 002F                 cmp     r7, #0
 4014 0022 00F0A980             beq     .L291
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4015                           .loc 1 1442 25 discriminator 1 view .LVU1241
 4016 0026 B8F1000F             cmp     r8, #0
 4017 002a 00F0A780             beq     .L292
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4018                           .loc 1 1448 5 is_stmt 1 view .LVU1242
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4019                           .loc 1 1448 5 view .LVU1243
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 219


 4020 002e 94F83C30             ldrb    r3, [r4, #60]   @ zero_extendqisi2
 4021 0032 012B                 cmp     r3, #1
 4022 0034 00F0A480             beq     .L293
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4023                           .loc 1 1448 5 discriminator 2 view .LVU1244
 4024 0038 0123                 movs    r3, #1
 4025 003a 84F83C30             strb    r3, [r4, #60]
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4026                           .loc 1 1451 5 discriminator 2 view .LVU1245
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4027                           .loc 1 1451 14 is_stmt 0 discriminator 2 view .LVU1246
 4028 003e 2368                 ldr     r3, [r4]
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4029                           .loc 1 1451 24 discriminator 2 view .LVU1247
 4030 0040 1A68                 ldr     r2, [r3]
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4031                           .loc 1 1451 8 discriminator 2 view .LVU1248
 4032 0042 12F0010F             tst     r2, #1
 4033 0046 03D1                 bne     .L284
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4034                           .loc 1 1454 7 is_stmt 1 view .LVU1249
 4035 0048 1A68                 ldr     r2, [r3]
 4036 004a 42F00102             orr     r2, r2, #1
 4037 004e 1A60                 str     r2, [r3]
 4038                   .L284:
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4039                           .loc 1 1458 5 view .LVU1250
 4040 0050 2268                 ldr     r2, [r4]
 4041 0052 1368                 ldr     r3, [r2]
 4042 0054 23F40063             bic     r3, r3, #2048
 4043 0058 1360                 str     r3, [r2]
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 4044                           .loc 1 1460 5 view .LVU1251
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 4045                           .loc 1 1460 23 is_stmt 0 view .LVU1252
 4046 005a 2123                 movs    r3, #33
 4047 005c 84F83D30             strb    r3, [r4, #61]
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 4048                           .loc 1 1461 5 is_stmt 1 view .LVU1253
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 4049                           .loc 1 1461 23 is_stmt 0 view .LVU1254
 4050 0060 2023                 movs    r3, #32
 4051 0062 84F83E30             strb    r3, [r4, #62]
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4052                           .loc 1 1462 5 is_stmt 1 view .LVU1255
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4053                           .loc 1 1462 23 is_stmt 0 view .LVU1256
 4054 0066 0022                 movs    r2, #0
 4055 0068 2264                 str     r2, [r4, #64]
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4056                           .loc 1 1465 5 is_stmt 1 view .LVU1257
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4057                           .loc 1 1465 23 is_stmt 0 view .LVU1258
 4058 006a 6762                 str     r7, [r4, #36]
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 4059                           .loc 1 1466 5 is_stmt 1 view .LVU1259
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 220


 4060                           .loc 1 1466 23 is_stmt 0 view .LVU1260
 4061 006c A4F82A80             strh    r8, [r4, #42]   @ movhi
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4062                           .loc 1 1467 5 is_stmt 1 view .LVU1261
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4063                           .loc 1 1467 29 is_stmt 0 view .LVU1262
 4064 0070 638D                 ldrh    r3, [r4, #42]
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4065                           .loc 1 1467 23 view .LVU1263
 4066 0072 2385                 strh    r3, [r4, #40]   @ movhi
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4067                           .loc 1 1468 5 is_stmt 1 view .LVU1264
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4068                           .loc 1 1468 23 is_stmt 0 view .LVU1265
 4069 0074 464B                 ldr     r3, .L301
 4070 0076 E362                 str     r3, [r4, #44]
1471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4071                           .loc 1 1471 5 is_stmt 1 view .LVU1266
 4072 0078 2168                 ldr     r1, [r4]
 4073 007a 0B68                 ldr     r3, [r1]
 4074 007c 43F48063             orr     r3, r3, #1024
 4075 0080 0B60                 str     r3, [r1]
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4076                           .loc 1 1474 5 view .LVU1267
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4077                           .loc 1 1474 9 is_stmt 0 view .LVU1268
 4078 0082 0096                 str     r6, [sp]
 4079 0084 2B46                 mov     r3, r5
 4080 0086 4349                 ldr     r1, .L301+4
 4081 0088 2046                 mov     r0, r4
 4082                   .LVL155:
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4083                           .loc 1 1474 9 view .LVU1269
 4084 008a FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 4085                   .LVL156:
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4086                           .loc 1 1474 8 view .LVU1270
 4087 008e 0028                 cmp     r0, #0
 4088 0090 78D1                 bne     .L294
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4089                           .loc 1 1480 5 is_stmt 1 view .LVU1271
 4090                   .LBB77:
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4091                           .loc 1 1480 5 view .LVU1272
 4092 0092 0023                 movs    r3, #0
 4093 0094 0293                 str     r3, [sp, #8]
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4094                           .loc 1 1480 5 view .LVU1273
 4095 0096 2368                 ldr     r3, [r4]
 4096 0098 5A69                 ldr     r2, [r3, #20]
 4097 009a 0292                 str     r2, [sp, #8]
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4098                           .loc 1 1480 5 view .LVU1274
 4099 009c 9B69                 ldr     r3, [r3, #24]
 4100 009e 0293                 str     r3, [sp, #8]
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4101                           .loc 1 1480 5 view .LVU1275
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 221


 4102 00a0 029B                 ldr     r3, [sp, #8]
 4103                   .LBE77:
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4104                           .loc 1 1483 5 view .LVU1276
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4105                           .loc 1 1483 19 is_stmt 0 view .LVU1277
 4106 00a2 2369                 ldr     r3, [r4, #16]
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4107                           .loc 1 1483 8 view .LVU1278
 4108 00a4 B3F5404F             cmp     r3, #49152
 4109 00a8 2CD0                 beq     .L298
 4110                   .L286:
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4111                           .loc 1 1495 16 view .LVU1279
 4112 00aa 238D                 ldrh    r3, [r4, #40]
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4113                           .loc 1 1495 11 view .LVU1280
 4114 00ac 002B                 cmp     r3, #0
 4115 00ae 42D0                 beq     .L299
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4116                           .loc 1 1498 7 is_stmt 1 view .LVU1281
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4117                           .loc 1 1498 11 is_stmt 0 view .LVU1282
 4118 00b0 3246                 mov     r2, r6
 4119 00b2 2946                 mov     r1, r5
 4120 00b4 2046                 mov     r0, r4
 4121 00b6 FFF7FEFF             bl      I2C_WaitOnTXEFlagUntilTimeout
 4122                   .LVL157:
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4123                           .loc 1 1498 10 view .LVU1283
 4124 00ba 0028                 cmp     r0, #0
 4125 00bc 34D1                 bne     .L300
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4126                           .loc 1 1507 7 is_stmt 1 view .LVU1284
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4127                           .loc 1 1507 33 is_stmt 0 view .LVU1285
 4128 00be 626A                 ldr     r2, [r4, #36]
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4129                           .loc 1 1507 11 view .LVU1286
 4130 00c0 2368                 ldr     r3, [r4]
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4131                           .loc 1 1507 28 view .LVU1287
 4132 00c2 1278                 ldrb    r2, [r2]        @ zero_extendqisi2
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4133                           .loc 1 1507 26 view .LVU1288
 4134 00c4 1A61                 str     r2, [r3, #16]
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4135                           .loc 1 1510 7 is_stmt 1 view .LVU1289
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4136                           .loc 1 1510 11 is_stmt 0 view .LVU1290
 4137 00c6 616A                 ldr     r1, [r4, #36]
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4138                           .loc 1 1510 21 view .LVU1291
 4139 00c8 4B1C                 adds    r3, r1, #1
 4140 00ca 6362                 str     r3, [r4, #36]
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferSize--;
 4141                           .loc 1 1513 7 is_stmt 1 view .LVU1292
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 222


1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferSize--;
 4142                           .loc 1 1513 11 is_stmt 0 view .LVU1293
 4143 00cc 638D                 ldrh    r3, [r4, #42]
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferSize--;
 4144                           .loc 1 1513 22 view .LVU1294
 4145 00ce 013B                 subs    r3, r3, #1
 4146 00d0 9BB2                 uxth    r3, r3
 4147 00d2 6385                 strh    r3, [r4, #42]   @ movhi
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4148                           .loc 1 1514 7 is_stmt 1 view .LVU1295
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4149                           .loc 1 1514 11 is_stmt 0 view .LVU1296
 4150 00d4 238D                 ldrh    r3, [r4, #40]
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4151                           .loc 1 1514 21 view .LVU1297
 4152 00d6 013B                 subs    r3, r3, #1
 4153 00d8 9BB2                 uxth    r3, r3
 4154 00da 2385                 strh    r3, [r4, #40]   @ movhi
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4155                           .loc 1 1516 7 is_stmt 1 view .LVU1298
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4156                           .loc 1 1516 12 is_stmt 0 view .LVU1299
 4157 00dc 2268                 ldr     r2, [r4]
 4158 00de 5069                 ldr     r0, [r2, #20]
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4159                           .loc 1 1516 10 view .LVU1300
 4160 00e0 10F0040F             tst     r0, #4
 4161 00e4 E1D0                 beq     .L286
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4162                           .loc 1 1516 59 discriminator 1 view .LVU1301
 4163 00e6 002B                 cmp     r3, #0
 4164 00e8 DFD0                 beq     .L286
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4165                           .loc 1 1519 9 is_stmt 1 view .LVU1302
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4166                           .loc 1 1519 30 is_stmt 0 view .LVU1303
 4167 00ea 4B78                 ldrb    r3, [r1, #1]    @ zero_extendqisi2
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4168                           .loc 1 1519 28 view .LVU1304
 4169 00ec 1361                 str     r3, [r2, #16]
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4170                           .loc 1 1522 9 is_stmt 1 view .LVU1305
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4171                           .loc 1 1522 13 is_stmt 0 view .LVU1306
 4172 00ee 636A                 ldr     r3, [r4, #36]
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4173                           .loc 1 1522 23 view .LVU1307
 4174 00f0 0133                 adds    r3, r3, #1
 4175 00f2 6362                 str     r3, [r4, #36]
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
 4176                           .loc 1 1525 9 is_stmt 1 view .LVU1308
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
 4177                           .loc 1 1525 13 is_stmt 0 view .LVU1309
 4178 00f4 638D                 ldrh    r3, [r4, #42]
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferSize--;
 4179                           .loc 1 1525 24 view .LVU1310
 4180 00f6 013B                 subs    r3, r3, #1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 223


 4181 00f8 9BB2                 uxth    r3, r3
 4182 00fa 6385                 strh    r3, [r4, #42]   @ movhi
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4183                           .loc 1 1526 9 is_stmt 1 view .LVU1311
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4184                           .loc 1 1526 13 is_stmt 0 view .LVU1312
 4185 00fc 238D                 ldrh    r3, [r4, #40]
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4186                           .loc 1 1526 23 view .LVU1313
 4187 00fe 013B                 subs    r3, r3, #1
 4188 0100 2385                 strh    r3, [r4, #40]   @ movhi
 4189 0102 D2E7                 b       .L286
 4190                   .L298:
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4191                           .loc 1 1486 7 is_stmt 1 view .LVU1314
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4192                           .loc 1 1486 11 is_stmt 0 view .LVU1315
 4193 0104 0096                 str     r6, [sp]
 4194 0106 2B46                 mov     r3, r5
 4195 0108 0022                 movs    r2, #0
 4196 010a 2249                 ldr     r1, .L301+4
 4197 010c 2046                 mov     r0, r4
 4198 010e FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 4199                   .LVL158:
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4200                           .loc 1 1486 10 view .LVU1316
 4201 0112 0028                 cmp     r0, #0
 4202 0114 38D1                 bne     .L295
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4203                           .loc 1 1492 7 is_stmt 1 view .LVU1317
 4204                   .LBB78:
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4205                           .loc 1 1492 7 view .LVU1318
 4206 0116 0023                 movs    r3, #0
 4207 0118 0393                 str     r3, [sp, #12]
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4208                           .loc 1 1492 7 view .LVU1319
 4209 011a 2368                 ldr     r3, [r4]
 4210 011c 5A69                 ldr     r2, [r3, #20]
 4211 011e 0392                 str     r2, [sp, #12]
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4212                           .loc 1 1492 7 view .LVU1320
 4213 0120 9B69                 ldr     r3, [r3, #24]
 4214 0122 0393                 str     r3, [sp, #12]
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4215                           .loc 1 1492 7 view .LVU1321
 4216 0124 039B                 ldr     r3, [sp, #12]
 4217 0126 C0E7                 b       .L286
 4218                   .L300:
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4219                           .loc 1 1492 7 is_stmt 0 view .LVU1322
 4220                   .LBE78:
1501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4221                           .loc 1 1501 9 is_stmt 1 view .LVU1323
 4222 0128 2268                 ldr     r2, [r4]
 4223 012a 1368                 ldr     r3, [r2]
 4224 012c 23F48063             bic     r3, r3, #1024
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 224


 4225 0130 1360                 str     r3, [r2]
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4226                           .loc 1 1503 9 view .LVU1324
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4227                           .loc 1 1503 16 is_stmt 0 view .LVU1325
 4228 0132 0123                 movs    r3, #1
 4229 0134 1CE0                 b       .L283
 4230                   .L299:
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4231                           .loc 1 1531 5 is_stmt 1 view .LVU1326
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4232                           .loc 1 1531 9 is_stmt 0 view .LVU1327
 4233 0136 0096                 str     r6, [sp]
 4234 0138 2B46                 mov     r3, r5
 4235 013a 0022                 movs    r2, #0
 4236 013c 4FF48231             mov     r1, #66560
 4237 0140 2046                 mov     r0, r4
 4238 0142 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 4239                   .LVL159:
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4240                           .loc 1 1531 8 view .LVU1328
 4241 0146 0346                 mov     r3, r0
 4242 0148 00BB                 cbnz    r0, .L296
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4243                           .loc 1 1537 5 is_stmt 1 view .LVU1329
 4244 014a 2268                 ldr     r2, [r4]
 4245 014c 6FF48061             mvn     r1, #1024
 4246 0150 5161                 str     r1, [r2, #20]
1540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4247                           .loc 1 1540 5 view .LVU1330
 4248 0152 2168                 ldr     r1, [r4]
 4249 0154 0A68                 ldr     r2, [r1]
 4250 0156 22F48062             bic     r2, r2, #1024
 4251 015a 0A60                 str     r2, [r1]
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 4252                           .loc 1 1542 5 view .LVU1331
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 4253                           .loc 1 1542 17 is_stmt 0 view .LVU1332
 4254 015c 2022                 movs    r2, #32
 4255 015e 84F83D20             strb    r2, [r4, #61]
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4256                           .loc 1 1543 5 is_stmt 1 view .LVU1333
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4257                           .loc 1 1543 16 is_stmt 0 view .LVU1334
 4258 0162 0022                 movs    r2, #0
 4259 0164 84F83E20             strb    r2, [r4, #62]
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4260                           .loc 1 1546 5 is_stmt 1 view .LVU1335
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4261                           .loc 1 1546 5 view .LVU1336
 4262 0168 84F83C20             strb    r2, [r4, #60]
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4263                           .loc 1 1548 5 view .LVU1337
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4264                           .loc 1 1548 12 is_stmt 0 view .LVU1338
 4265 016c 00E0                 b       .L283
 4266                   .LVL160:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 225


 4267                   .L290:
1552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4268                           .loc 1 1552 12 view .LVU1339
 4269 016e 0223                 movs    r3, #2
 4270                   .LVL161:
 4271                   .L283:
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4272                           .loc 1 1554 1 view .LVU1340
 4273 0170 1846                 mov     r0, r3
 4274 0172 04B0                 add     sp, sp, #16
 4275                   .LCFI42:
 4276                           .cfi_remember_state
 4277                           .cfi_def_cfa_offset 24
 4278                           @ sp needed
 4279 0174 BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 4280                   .LVL162:
 4281                   .L291:
 4282                   .LCFI43:
 4283                           .cfi_restore_state
1444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4284                           .loc 1 1444 15 view .LVU1341
 4285 0178 0123                 movs    r3, #1
 4286 017a F9E7                 b       .L283
 4287                   .L292:
 4288 017c 0123                 movs    r3, #1
 4289 017e F7E7                 b       .L283
 4290                   .L293:
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4291                           .loc 1 1448 5 view .LVU1342
 4292 0180 0223                 movs    r3, #2
 4293 0182 F5E7                 b       .L283
 4294                   .LVL163:
 4295                   .L294:
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4296                           .loc 1 1476 14 view .LVU1343
 4297 0184 0123                 movs    r3, #1
 4298 0186 F3E7                 b       .L283
 4299                   .L295:
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4300                           .loc 1 1488 16 view .LVU1344
 4301 0188 0123                 movs    r3, #1
 4302 018a F1E7                 b       .L283
 4303                   .L296:
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4304                           .loc 1 1533 14 view .LVU1345
 4305 018c 0123                 movs    r3, #1
 4306 018e EFE7                 b       .L283
 4307                   .L302:
 4308                           .align  2
 4309                   .L301:
 4310 0190 0000FFFF             .word   -65536
 4311 0194 02000100             .word   65538
 4312                           .cfi_endproc
 4313                   .LFE71:
 4315                           .section        .text.HAL_I2C_Slave_Receive,"ax",%progbits
 4316                           .align  1
 4317                           .global HAL_I2C_Slave_Receive
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 226


 4318                           .syntax unified
 4319                           .thumb
 4320                           .thumb_func
 4321                           .fpu softvfp
 4323                   HAL_I2C_Slave_Receive:
 4324                   .LVL164:
 4325                   .LFB72:
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 4326                           .loc 1 1566 1 is_stmt 1 view -0
 4327                           .cfi_startproc
 4328                           @ args = 0, pretend = 0, frame = 8
 4329                           @ frame_needed = 0, uses_anonymous_args = 0
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 4330                           .loc 1 1566 1 is_stmt 0 view .LVU1347
 4331 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 4332                   .LCFI44:
 4333                           .cfi_def_cfa_offset 24
 4334                           .cfi_offset 4, -24
 4335                           .cfi_offset 5, -20
 4336                           .cfi_offset 6, -16
 4337                           .cfi_offset 7, -12
 4338                           .cfi_offset 8, -8
 4339                           .cfi_offset 14, -4
 4340 0004 84B0                 sub     sp, sp, #16
 4341                   .LCFI45:
 4342                           .cfi_def_cfa_offset 40
 4343 0006 0446                 mov     r4, r0
 4344 0008 0F46                 mov     r7, r1
 4345 000a 9046                 mov     r8, r2
 4346 000c 1D46                 mov     r5, r3
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4347                           .loc 1 1568 3 is_stmt 1 view .LVU1348
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4348                           .loc 1 1568 24 is_stmt 0 view .LVU1349
 4349 000e FFF7FEFF             bl      HAL_GetTick
 4350                   .LVL165:
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4351                           .loc 1 1570 3 is_stmt 1 view .LVU1350
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4352                           .loc 1 1570 11 is_stmt 0 view .LVU1351
 4353 0012 94F83D30             ldrb    r3, [r4, #61]   @ zero_extendqisi2
 4354 0016 DBB2                 uxtb    r3, r3
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4355                           .loc 1 1570 6 view .LVU1352
 4356 0018 202B                 cmp     r3, #32
 4357 001a 40F09A80             bne     .L311
 4358 001e 0646                 mov     r6, r0
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4359                           .loc 1 1572 5 is_stmt 1 view .LVU1353
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4360                           .loc 1 1572 8 is_stmt 0 view .LVU1354
 4361 0020 002F                 cmp     r7, #0
 4362 0022 00F09B80             beq     .L312
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4363                           .loc 1 1572 25 discriminator 1 view .LVU1355
 4364 0026 B8F1000F             cmp     r8, #0
 4365 002a 00F09980             beq     .L313
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 227


1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4366                           .loc 1 1578 5 is_stmt 1 view .LVU1356
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4367                           .loc 1 1578 5 view .LVU1357
 4368 002e 94F83C30             ldrb    r3, [r4, #60]   @ zero_extendqisi2
 4369 0032 012B                 cmp     r3, #1
 4370 0034 00F09680             beq     .L314
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4371                           .loc 1 1578 5 discriminator 2 view .LVU1358
 4372 0038 0123                 movs    r3, #1
 4373 003a 84F83C30             strb    r3, [r4, #60]
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4374                           .loc 1 1581 5 discriminator 2 view .LVU1359
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4375                           .loc 1 1581 14 is_stmt 0 discriminator 2 view .LVU1360
 4376 003e 2368                 ldr     r3, [r4]
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4377                           .loc 1 1581 24 discriminator 2 view .LVU1361
 4378 0040 1A68                 ldr     r2, [r3]
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4379                           .loc 1 1581 8 discriminator 2 view .LVU1362
 4380 0042 12F0010F             tst     r2, #1
 4381 0046 03D1                 bne     .L305
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4382                           .loc 1 1584 7 is_stmt 1 view .LVU1363
 4383 0048 1A68                 ldr     r2, [r3]
 4384 004a 42F00102             orr     r2, r2, #1
 4385 004e 1A60                 str     r2, [r3]
 4386                   .L305:
1588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4387                           .loc 1 1588 5 view .LVU1364
 4388 0050 2268                 ldr     r2, [r4]
 4389 0052 1368                 ldr     r3, [r2]
 4390 0054 23F40063             bic     r3, r3, #2048
 4391 0058 1360                 str     r3, [r2]
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 4392                           .loc 1 1590 5 view .LVU1365
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 4393                           .loc 1 1590 23 is_stmt 0 view .LVU1366
 4394 005a 2223                 movs    r3, #34
 4395 005c 84F83D30             strb    r3, [r4, #61]
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 4396                           .loc 1 1591 5 is_stmt 1 view .LVU1367
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 4397                           .loc 1 1591 23 is_stmt 0 view .LVU1368
 4398 0060 2023                 movs    r3, #32
 4399 0062 84F83E30             strb    r3, [r4, #62]
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4400                           .loc 1 1592 5 is_stmt 1 view .LVU1369
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4401                           .loc 1 1592 23 is_stmt 0 view .LVU1370
 4402 0066 0022                 movs    r2, #0
 4403 0068 2264                 str     r2, [r4, #64]
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4404                           .loc 1 1595 5 is_stmt 1 view .LVU1371
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4405                           .loc 1 1595 23 is_stmt 0 view .LVU1372
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 228


 4406 006a 6762                 str     r7, [r4, #36]
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 4407                           .loc 1 1596 5 is_stmt 1 view .LVU1373
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 4408                           .loc 1 1596 23 is_stmt 0 view .LVU1374
 4409 006c A4F82A80             strh    r8, [r4, #42]   @ movhi
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4410                           .loc 1 1597 5 is_stmt 1 view .LVU1375
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4411                           .loc 1 1597 29 is_stmt 0 view .LVU1376
 4412 0070 638D                 ldrh    r3, [r4, #42]
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4413                           .loc 1 1597 23 view .LVU1377
 4414 0072 2385                 strh    r3, [r4, #40]   @ movhi
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4415                           .loc 1 1598 5 is_stmt 1 view .LVU1378
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4416                           .loc 1 1598 23 is_stmt 0 view .LVU1379
 4417 0074 3D4B                 ldr     r3, .L319
 4418 0076 E362                 str     r3, [r4, #44]
1601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4419                           .loc 1 1601 5 is_stmt 1 view .LVU1380
 4420 0078 2168                 ldr     r1, [r4]
 4421 007a 0B68                 ldr     r3, [r1]
 4422 007c 43F48063             orr     r3, r3, #1024
 4423 0080 0B60                 str     r3, [r1]
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4424                           .loc 1 1604 5 view .LVU1381
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4425                           .loc 1 1604 9 is_stmt 0 view .LVU1382
 4426 0082 0096                 str     r6, [sp]
 4427 0084 2B46                 mov     r3, r5
 4428 0086 3A49                 ldr     r1, .L319+4
 4429 0088 2046                 mov     r0, r4
 4430                   .LVL166:
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4431                           .loc 1 1604 9 view .LVU1383
 4432 008a FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 4433                   .LVL167:
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4434                           .loc 1 1604 8 view .LVU1384
 4435 008e 0028                 cmp     r0, #0
 4436 0090 6AD1                 bne     .L315
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4437                           .loc 1 1610 5 is_stmt 1 view .LVU1385
 4438                   .LBB79:
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4439                           .loc 1 1610 5 view .LVU1386
 4440 0092 0023                 movs    r3, #0
 4441 0094 0293                 str     r3, [sp, #8]
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4442                           .loc 1 1610 5 view .LVU1387
 4443 0096 2368                 ldr     r3, [r4]
 4444 0098 5A69                 ldr     r2, [r3, #20]
 4445 009a 0292                 str     r2, [sp, #8]
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4446                           .loc 1 1610 5 view .LVU1388
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 229


 4447 009c 9B69                 ldr     r3, [r3, #24]
 4448 009e 0293                 str     r3, [sp, #8]
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4449                           .loc 1 1610 5 view .LVU1389
 4450 00a0 029B                 ldr     r3, [sp, #8]
 4451                   .LBE79:
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4452                           .loc 1 1612 5 view .LVU1390
 4453                   .L306:
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4454                           .loc 1 1612 16 is_stmt 0 view .LVU1391
 4455 00a2 238D                 ldrh    r3, [r4, #40]
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4456                           .loc 1 1612 11 view .LVU1392
 4457 00a4 002B                 cmp     r3, #0
 4458 00a6 2FD0                 beq     .L317
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4459                           .loc 1 1615 7 is_stmt 1 view .LVU1393
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4460                           .loc 1 1615 11 is_stmt 0 view .LVU1394
 4461 00a8 3246                 mov     r2, r6
 4462 00aa 2946                 mov     r1, r5
 4463 00ac 2046                 mov     r0, r4
 4464 00ae FFF7FEFF             bl      I2C_WaitOnRXNEFlagUntilTimeout
 4465                   .LVL168:
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4466                           .loc 1 1615 10 view .LVU1395
 4467 00b2 10BB                 cbnz    r0, .L318
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4468                           .loc 1 1624 7 is_stmt 1 view .LVU1396
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4469                           .loc 1 1624 38 is_stmt 0 view .LVU1397
 4470 00b4 2368                 ldr     r3, [r4]
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4471                           .loc 1 1624 48 view .LVU1398
 4472 00b6 1A69                 ldr     r2, [r3, #16]
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4473                           .loc 1 1624 12 view .LVU1399
 4474 00b8 636A                 ldr     r3, [r4, #36]
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4475                           .loc 1 1624 23 view .LVU1400
 4476 00ba 1A70                 strb    r2, [r3]
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4477                           .loc 1 1627 7 is_stmt 1 view .LVU1401
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4478                           .loc 1 1627 11 is_stmt 0 view .LVU1402
 4479 00bc 616A                 ldr     r1, [r4, #36]
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4480                           .loc 1 1627 21 view .LVU1403
 4481 00be 4B1C                 adds    r3, r1, #1
 4482 00c0 6362                 str     r3, [r4, #36]
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
 4483                           .loc 1 1630 7 is_stmt 1 view .LVU1404
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
 4484                           .loc 1 1630 11 is_stmt 0 view .LVU1405
 4485 00c2 238D                 ldrh    r3, [r4, #40]
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 230


 4486                           .loc 1 1630 21 view .LVU1406
 4487 00c4 013B                 subs    r3, r3, #1
 4488 00c6 9BB2                 uxth    r3, r3
 4489 00c8 2385                 strh    r3, [r4, #40]   @ movhi
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4490                           .loc 1 1631 7 is_stmt 1 view .LVU1407
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4491                           .loc 1 1631 11 is_stmt 0 view .LVU1408
 4492 00ca 628D                 ldrh    r2, [r4, #42]
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4493                           .loc 1 1631 22 view .LVU1409
 4494 00cc 013A                 subs    r2, r2, #1
 4495 00ce 92B2                 uxth    r2, r2
 4496 00d0 6285                 strh    r2, [r4, #42]   @ movhi
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4497                           .loc 1 1633 7 is_stmt 1 view .LVU1410
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4498                           .loc 1 1633 12 is_stmt 0 view .LVU1411
 4499 00d2 2268                 ldr     r2, [r4]
 4500 00d4 5069                 ldr     r0, [r2, #20]
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4501                           .loc 1 1633 10 view .LVU1412
 4502 00d6 10F0040F             tst     r0, #4
 4503 00da E2D0                 beq     .L306
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4504                           .loc 1 1633 59 discriminator 1 view .LVU1413
 4505 00dc 002B                 cmp     r3, #0
 4506 00de E0D0                 beq     .L306
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4507                           .loc 1 1636 9 is_stmt 1 view .LVU1414
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4508                           .loc 1 1636 50 is_stmt 0 view .LVU1415
 4509 00e0 1369                 ldr     r3, [r2, #16]
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4510                           .loc 1 1636 25 view .LVU1416
 4511 00e2 4B70                 strb    r3, [r1, #1]
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4512                           .loc 1 1639 9 is_stmt 1 view .LVU1417
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4513                           .loc 1 1639 13 is_stmt 0 view .LVU1418
 4514 00e4 636A                 ldr     r3, [r4, #36]
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4515                           .loc 1 1639 23 view .LVU1419
 4516 00e6 0133                 adds    r3, r3, #1
 4517 00e8 6362                 str     r3, [r4, #36]
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 4518                           .loc 1 1642 9 is_stmt 1 view .LVU1420
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 4519                           .loc 1 1642 13 is_stmt 0 view .LVU1421
 4520 00ea 238D                 ldrh    r3, [r4, #40]
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 4521                           .loc 1 1642 23 view .LVU1422
 4522 00ec 013B                 subs    r3, r3, #1
 4523 00ee 2385                 strh    r3, [r4, #40]   @ movhi
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4524                           .loc 1 1643 9 is_stmt 1 view .LVU1423
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 231


 4525                           .loc 1 1643 13 is_stmt 0 view .LVU1424
 4526 00f0 638D                 ldrh    r3, [r4, #42]
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4527                           .loc 1 1643 24 view .LVU1425
 4528 00f2 013B                 subs    r3, r3, #1
 4529 00f4 9BB2                 uxth    r3, r3
 4530 00f6 6385                 strh    r3, [r4, #42]   @ movhi
 4531 00f8 D3E7                 b       .L306
 4532                   .L318:
1618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4533                           .loc 1 1618 9 is_stmt 1 view .LVU1426
 4534 00fa 2268                 ldr     r2, [r4]
 4535 00fc 1368                 ldr     r3, [r2]
 4536 00fe 23F48063             bic     r3, r3, #1024
 4537 0102 1360                 str     r3, [r2]
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4538                           .loc 1 1620 9 view .LVU1427
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4539                           .loc 1 1620 16 is_stmt 0 view .LVU1428
 4540 0104 0123                 movs    r3, #1
 4541 0106 25E0                 b       .L304
 4542                   .L317:
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4543                           .loc 1 1648 5 is_stmt 1 view .LVU1429
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4544                           .loc 1 1648 9 is_stmt 0 view .LVU1430
 4545 0108 3246                 mov     r2, r6
 4546 010a 2946                 mov     r1, r5
 4547 010c 2046                 mov     r0, r4
 4548 010e FFF7FEFF             bl      I2C_WaitOnSTOPFlagUntilTimeout
 4549                   .LVL169:
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4550                           .loc 1 1648 8 view .LVU1431
 4551 0112 0346                 mov     r3, r0
 4552 0114 30B1                 cbz     r0, .L310
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4553                           .loc 1 1651 7 is_stmt 1 view .LVU1432
 4554 0116 2268                 ldr     r2, [r4]
 4555 0118 1368                 ldr     r3, [r2]
 4556 011a 23F48063             bic     r3, r3, #1024
 4557 011e 1360                 str     r3, [r2]
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4558                           .loc 1 1653 7 view .LVU1433
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4559                           .loc 1 1653 14 is_stmt 0 view .LVU1434
 4560 0120 0123                 movs    r3, #1
 4561 0122 17E0                 b       .L304
 4562                   .L310:
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4563                           .loc 1 1657 5 is_stmt 1 view .LVU1435
 4564                   .LBB80:
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4565                           .loc 1 1657 5 view .LVU1436
 4566 0124 0022                 movs    r2, #0
 4567 0126 0392                 str     r2, [sp, #12]
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4568                           .loc 1 1657 5 view .LVU1437
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 232


 4569 0128 2168                 ldr     r1, [r4]
 4570 012a 4869                 ldr     r0, [r1, #20]
 4571 012c 0390                 str     r0, [sp, #12]
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4572                           .loc 1 1657 5 view .LVU1438
 4573 012e 0868                 ldr     r0, [r1]
 4574 0130 40F00100             orr     r0, r0, #1
 4575 0134 0860                 str     r0, [r1]
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4576                           .loc 1 1657 5 view .LVU1439
 4577 0136 0399                 ldr     r1, [sp, #12]
 4578                   .LBE80:
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4579                           .loc 1 1660 5 view .LVU1440
 4580 0138 2068                 ldr     r0, [r4]
 4581 013a 0168                 ldr     r1, [r0]
 4582 013c 21F48061             bic     r1, r1, #1024
 4583 0140 0160                 str     r1, [r0]
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 4584                           .loc 1 1662 5 view .LVU1441
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 4585                           .loc 1 1662 17 is_stmt 0 view .LVU1442
 4586 0142 2021                 movs    r1, #32
 4587 0144 84F83D10             strb    r1, [r4, #61]
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4588                           .loc 1 1663 5 is_stmt 1 view .LVU1443
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4589                           .loc 1 1663 16 is_stmt 0 view .LVU1444
 4590 0148 84F83E20             strb    r2, [r4, #62]
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4591                           .loc 1 1666 5 is_stmt 1 view .LVU1445
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4592                           .loc 1 1666 5 view .LVU1446
 4593 014c 84F83C20             strb    r2, [r4, #60]
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4594                           .loc 1 1668 5 view .LVU1447
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4595                           .loc 1 1668 12 is_stmt 0 view .LVU1448
 4596 0150 00E0                 b       .L304
 4597                   .LVL170:
 4598                   .L311:
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4599                           .loc 1 1672 12 view .LVU1449
 4600 0152 0223                 movs    r3, #2
 4601                   .LVL171:
 4602                   .L304:
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4603                           .loc 1 1674 1 view .LVU1450
 4604 0154 1846                 mov     r0, r3
 4605 0156 04B0                 add     sp, sp, #16
 4606                   .LCFI46:
 4607                           .cfi_remember_state
 4608                           .cfi_def_cfa_offset 24
 4609                           @ sp needed
 4610 0158 BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 4611                   .LVL172:
 4612                   .L312:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 233


 4613                   .LCFI47:
 4614                           .cfi_restore_state
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4615                           .loc 1 1574 14 view .LVU1451
 4616 015c 0123                 movs    r3, #1
 4617 015e F9E7                 b       .L304
 4618                   .L313:
 4619 0160 0123                 movs    r3, #1
 4620 0162 F7E7                 b       .L304
 4621                   .L314:
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4622                           .loc 1 1578 5 view .LVU1452
 4623 0164 0223                 movs    r3, #2
 4624 0166 F5E7                 b       .L304
 4625                   .LVL173:
 4626                   .L315:
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4627                           .loc 1 1606 14 view .LVU1453
 4628 0168 0123                 movs    r3, #1
 4629 016a F3E7                 b       .L304
 4630                   .L320:
 4631                           .align  2
 4632                   .L319:
 4633 016c 0000FFFF             .word   -65536
 4634 0170 02000100             .word   65538
 4635                           .cfi_endproc
 4636                   .LFE72:
 4638                           .section        .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
 4639                           .align  1
 4640                           .global HAL_I2C_Master_Transmit_IT
 4641                           .syntax unified
 4642                           .thumb
 4643                           .thumb_func
 4644                           .fpu softvfp
 4646                   HAL_I2C_Master_Transmit_IT:
 4647                   .LVL174:
 4648                   .LFB73:
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 4649                           .loc 1 1687 1 is_stmt 1 view -0
 4650                           .cfi_startproc
 4651                           @ args = 0, pretend = 0, frame = 8
 4652                           @ frame_needed = 0, uses_anonymous_args = 0
 4653                           @ link register save eliminated.
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 4654                           .loc 1 1687 1 is_stmt 0 view .LVU1455
 4655 0000 30B4                 push    {r4, r5}
 4656                   .LCFI48:
 4657                           .cfi_def_cfa_offset 8
 4658                           .cfi_offset 4, -8
 4659                           .cfi_offset 5, -4
 4660 0002 82B0                 sub     sp, sp, #8
 4661                   .LCFI49:
 4662                           .cfi_def_cfa_offset 16
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4663                           .loc 1 1688 3 is_stmt 1 view .LVU1456
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4664                           .loc 1 1688 17 is_stmt 0 view .LVU1457
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 234


 4665 0004 0024                 movs    r4, #0
 4666 0006 0194                 str     r4, [sp, #4]
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4667                           .loc 1 1690 3 is_stmt 1 view .LVU1458
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4668                           .loc 1 1690 11 is_stmt 0 view .LVU1459
 4669 0008 90F83D40             ldrb    r4, [r0, #61]   @ zero_extendqisi2
 4670 000c E4B2                 uxtb    r4, r4
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4671                           .loc 1 1690 6 view .LVU1460
 4672 000e 202C                 cmp     r4, #32
 4673 0010 56D1                 bne     .L326
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 4674                           .loc 1 1693 5 is_stmt 1 view .LVU1461
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 4675                           .loc 1 1693 60 is_stmt 0 view .LVU1462
 4676 0012 2E4C                 ldr     r4, .L330
 4677 0014 2468                 ldr     r4, [r4]
 4678 0016 E408                 lsrs    r4, r4, #3
 4679 0018 2D4D                 ldr     r5, .L330+4
 4680 001a A5FB0454             umull   r5, r4, r5, r4
 4681 001e 240A                 lsrs    r4, r4, #8
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 4682                           .loc 1 1693 35 view .LVU1463
 4683 0020 04EB8404             add     r4, r4, r4, lsl #2
 4684 0024 04EB8404             add     r4, r4, r4, lsl #2
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 4685                           .loc 1 1693 11 view .LVU1464
 4686 0028 0194                 str     r4, [sp, #4]
 4687                   .L324:
1694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4688                           .loc 1 1694 5 is_stmt 1 view .LVU1465
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 4689                           .loc 1 1696 7 view .LVU1466
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 4690                           .loc 1 1696 12 is_stmt 0 view .LVU1467
 4691 002a 019C                 ldr     r4, [sp, #4]
 4692 002c 013C                 subs    r4, r4, #1
 4693 002e 0194                 str     r4, [sp, #4]
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4694                           .loc 1 1697 7 is_stmt 1 view .LVU1468
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4695                           .loc 1 1697 17 is_stmt 0 view .LVU1469
 4696 0030 019C                 ldr     r4, [sp, #4]
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4697                           .loc 1 1697 10 view .LVU1470
 4698 0032 002C                 cmp     r4, #0
 4699 0034 35D0                 beq     .L329
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4700                           .loc 1 1710 12 view .LVU1471
 4701 0036 0468                 ldr     r4, [r0]
 4702 0038 A569                 ldr     r5, [r4, #24]
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4703                           .loc 1 1710 5 view .LVU1472
 4704 003a 15F0020F             tst     r5, #2
 4705 003e F4D1                 bne     .L324
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 235


 4706                           .loc 1 1713 5 is_stmt 1 view .LVU1473
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4707                           .loc 1 1713 5 view .LVU1474
 4708 0040 90F83C50             ldrb    r5, [r0, #60]   @ zero_extendqisi2
 4709 0044 012D                 cmp     r5, #1
 4710 0046 3FD0                 beq     .L327
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4711                           .loc 1 1713 5 discriminator 2 view .LVU1475
 4712 0048 0125                 movs    r5, #1
 4713 004a 80F83C50             strb    r5, [r0, #60]
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4714                           .loc 1 1716 5 discriminator 2 view .LVU1476
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4715                           .loc 1 1716 24 is_stmt 0 discriminator 2 view .LVU1477
 4716 004e 2568                 ldr     r5, [r4]
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4717                           .loc 1 1716 8 discriminator 2 view .LVU1478
 4718 0050 15F0010F             tst     r5, #1
 4719 0054 03D1                 bne     .L325
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4720                           .loc 1 1719 7 is_stmt 1 view .LVU1479
 4721 0056 2568                 ldr     r5, [r4]
 4722 0058 45F00105             orr     r5, r5, #1
 4723 005c 2560                 str     r5, [r4]
 4724                   .L325:
1723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4725                           .loc 1 1723 5 view .LVU1480
 4726 005e 0568                 ldr     r5, [r0]
 4727 0060 2C68                 ldr     r4, [r5]
 4728 0062 24F40064             bic     r4, r4, #2048
 4729 0066 2C60                 str     r4, [r5]
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 4730                           .loc 1 1725 5 view .LVU1481
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 4731                           .loc 1 1725 21 is_stmt 0 view .LVU1482
 4732 0068 2124                 movs    r4, #33
 4733 006a 80F83D40             strb    r4, [r0, #61]
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 4734                           .loc 1 1726 5 is_stmt 1 view .LVU1483
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 4735                           .loc 1 1726 21 is_stmt 0 view .LVU1484
 4736 006e 1024                 movs    r4, #16
 4737 0070 80F83E40             strb    r4, [r0, #62]
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4738                           .loc 1 1727 5 is_stmt 1 view .LVU1485
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4739                           .loc 1 1727 21 is_stmt 0 view .LVU1486
 4740 0074 0024                 movs    r4, #0
 4741 0076 0464                 str     r4, [r0, #64]
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4742                           .loc 1 1730 5 is_stmt 1 view .LVU1487
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4743                           .loc 1 1730 23 is_stmt 0 view .LVU1488
 4744 0078 4262                 str     r2, [r0, #36]
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 4745                           .loc 1 1731 5 is_stmt 1 view .LVU1489
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 236


 4746                           .loc 1 1731 23 is_stmt 0 view .LVU1490
 4747 007a 4385                 strh    r3, [r0, #42]   @ movhi
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4748                           .loc 1 1732 5 is_stmt 1 view .LVU1491
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4749                           .loc 1 1732 29 is_stmt 0 view .LVU1492
 4750 007c 438D                 ldrh    r3, [r0, #42]
 4751                   .LVL175:
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4752                           .loc 1 1732 23 view .LVU1493
 4753 007e 0385                 strh    r3, [r0, #40]   @ movhi
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 4754                           .loc 1 1733 5 is_stmt 1 view .LVU1494
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 4755                           .loc 1 1733 23 is_stmt 0 view .LVU1495
 4756 0080 144B                 ldr     r3, .L330+8
 4757 0082 C362                 str     r3, [r0, #44]
 4758                   .LVL176:
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4759                           .loc 1 1734 5 is_stmt 1 view .LVU1496
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4760                           .loc 1 1734 23 is_stmt 0 view .LVU1497
 4761 0084 4164                 str     r1, [r0, #68]
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4762                           .loc 1 1737 5 is_stmt 1 view .LVU1498
 4763 0086 0268                 ldr     r2, [r0]
 4764                   .LVL177:
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4765                           .loc 1 1737 5 is_stmt 0 view .LVU1499
 4766 0088 1368                 ldr     r3, [r2]
 4767 008a 43F48073             orr     r3, r3, #256
 4768 008e 1360                 str     r3, [r2]
 4769                   .LVL178:
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4770                           .loc 1 1740 5 is_stmt 1 view .LVU1500
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4771                           .loc 1 1740 5 view .LVU1501
 4772 0090 80F83C40             strb    r4, [r0, #60]
1746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4773                           .loc 1 1746 5 view .LVU1502
 4774 0094 0268                 ldr     r2, [r0]
 4775 0096 5368                 ldr     r3, [r2, #4]
 4776 0098 43F4E063             orr     r3, r3, #1792
 4777 009c 5360                 str     r3, [r2, #4]
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4778                           .loc 1 1748 5 view .LVU1503
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4779                           .loc 1 1748 12 is_stmt 0 view .LVU1504
 4780 009e 2046                 mov     r0, r4
 4781                   .LVL179:
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4782                           .loc 1 1748 12 view .LVU1505
 4783 00a0 0FE0                 b       .L322
 4784                   .LVL180:
 4785                   .L329:
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 4786                           .loc 1 1699 9 is_stmt 1 view .LVU1506
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 237


1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 4787                           .loc 1 1699 35 is_stmt 0 view .LVU1507
 4788 00a2 0023                 movs    r3, #0
 4789                   .LVL181:
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 4790                           .loc 1 1699 35 view .LVU1508
 4791 00a4 0363                 str     r3, [r0, #48]
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 4792                           .loc 1 1700 9 is_stmt 1 view .LVU1509
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 4793                           .loc 1 1700 35 is_stmt 0 view .LVU1510
 4794 00a6 2022                 movs    r2, #32
 4795                   .LVL182:
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 4796                           .loc 1 1700 35 view .LVU1511
 4797 00a8 80F83D20             strb    r2, [r0, #61]
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 4798                           .loc 1 1701 9 is_stmt 1 view .LVU1512
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 4799                           .loc 1 1701 35 is_stmt 0 view .LVU1513
 4800 00ac 80F83E30             strb    r3, [r0, #62]
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4801                           .loc 1 1702 9 is_stmt 1 view .LVU1514
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4802                           .loc 1 1702 35 is_stmt 0 view .LVU1515
 4803 00b0 026C                 ldr     r2, [r0, #64]
 4804 00b2 42F02002             orr     r2, r2, #32
 4805 00b6 0264                 str     r2, [r0, #64]
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4806                           .loc 1 1705 9 is_stmt 1 view .LVU1516
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4807                           .loc 1 1705 9 view .LVU1517
 4808 00b8 80F83C30             strb    r3, [r0, #60]
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4809                           .loc 1 1707 9 view .LVU1518
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4810                           .loc 1 1707 16 is_stmt 0 view .LVU1519
 4811 00bc 0120                 movs    r0, #1
 4812                   .LVL183:
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 4813                           .loc 1 1707 16 view .LVU1520
 4814 00be 00E0                 b       .L322
 4815                   .LVL184:
 4816                   .L326:
1752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4817                           .loc 1 1752 12 view .LVU1521
 4818 00c0 0220                 movs    r0, #2
 4819                   .LVL185:
 4820                   .L322:
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4821                           .loc 1 1754 1 view .LVU1522
 4822 00c2 02B0                 add     sp, sp, #8
 4823                   .LCFI50:
 4824                           .cfi_remember_state
 4825                           .cfi_def_cfa_offset 8
 4826                           @ sp needed
 4827 00c4 30BC                 pop     {r4, r5}
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 238


 4828                   .LCFI51:
 4829                           .cfi_restore 5
 4830                           .cfi_restore 4
 4831                           .cfi_def_cfa_offset 0
 4832 00c6 7047                 bx      lr
 4833                   .LVL186:
 4834                   .L327:
 4835                   .LCFI52:
 4836                           .cfi_restore_state
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4837                           .loc 1 1713 5 view .LVU1523
 4838 00c8 0220                 movs    r0, #2
 4839                   .LVL187:
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4840                           .loc 1 1713 5 view .LVU1524
 4841 00ca FAE7                 b       .L322
 4842                   .L331:
 4843                           .align  2
 4844                   .L330:
 4845 00cc 00000000             .word   SystemCoreClock
 4846 00d0 89B5F814             .word   351843721
 4847 00d4 0000FFFF             .word   -65536
 4848                           .cfi_endproc
 4849                   .LFE73:
 4851                           .section        .text.HAL_I2C_Master_Receive_IT,"ax",%progbits
 4852                           .align  1
 4853                           .global HAL_I2C_Master_Receive_IT
 4854                           .syntax unified
 4855                           .thumb
 4856                           .thumb_func
 4857                           .fpu softvfp
 4859                   HAL_I2C_Master_Receive_IT:
 4860                   .LVL188:
 4861                   .LFB74:
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 4862                           .loc 1 1767 1 is_stmt 1 view -0
 4863                           .cfi_startproc
 4864                           @ args = 0, pretend = 0, frame = 8
 4865                           @ frame_needed = 0, uses_anonymous_args = 0
 4866                           @ link register save eliminated.
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 4867                           .loc 1 1767 1 is_stmt 0 view .LVU1526
 4868 0000 30B4                 push    {r4, r5}
 4869                   .LCFI53:
 4870                           .cfi_def_cfa_offset 8
 4871                           .cfi_offset 4, -8
 4872                           .cfi_offset 5, -4
 4873 0002 82B0                 sub     sp, sp, #8
 4874                   .LCFI54:
 4875                           .cfi_def_cfa_offset 16
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4876                           .loc 1 1768 3 is_stmt 1 view .LVU1527
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4877                           .loc 1 1768 17 is_stmt 0 view .LVU1528
 4878 0004 0024                 movs    r4, #0
 4879 0006 0194                 str     r4, [sp, #4]
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 239


 4880                           .loc 1 1770 3 is_stmt 1 view .LVU1529
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4881                           .loc 1 1770 11 is_stmt 0 view .LVU1530
 4882 0008 90F83D40             ldrb    r4, [r0, #61]   @ zero_extendqisi2
 4883 000c E4B2                 uxtb    r4, r4
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 4884                           .loc 1 1770 6 view .LVU1531
 4885 000e 202C                 cmp     r4, #32
 4886 0010 5BD1                 bne     .L337
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 4887                           .loc 1 1773 5 is_stmt 1 view .LVU1532
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 4888                           .loc 1 1773 60 is_stmt 0 view .LVU1533
 4889 0012 314C                 ldr     r4, .L341
 4890 0014 2468                 ldr     r4, [r4]
 4891 0016 E408                 lsrs    r4, r4, #3
 4892 0018 304D                 ldr     r5, .L341+4
 4893 001a A5FB0454             umull   r5, r4, r5, r4
 4894 001e 240A                 lsrs    r4, r4, #8
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 4895                           .loc 1 1773 35 view .LVU1534
 4896 0020 04EB8404             add     r4, r4, r4, lsl #2
 4897 0024 04EB8404             add     r4, r4, r4, lsl #2
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 4898                           .loc 1 1773 11 view .LVU1535
 4899 0028 0194                 str     r4, [sp, #4]
 4900                   .L335:
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4901                           .loc 1 1774 5 is_stmt 1 view .LVU1536
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 4902                           .loc 1 1776 7 view .LVU1537
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 4903                           .loc 1 1776 12 is_stmt 0 view .LVU1538
 4904 002a 019C                 ldr     r4, [sp, #4]
 4905 002c 013C                 subs    r4, r4, #1
 4906 002e 0194                 str     r4, [sp, #4]
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4907                           .loc 1 1777 7 is_stmt 1 view .LVU1539
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4908                           .loc 1 1777 17 is_stmt 0 view .LVU1540
 4909 0030 019C                 ldr     r4, [sp, #4]
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 4910                           .loc 1 1777 10 view .LVU1541
 4911 0032 002C                 cmp     r4, #0
 4912 0034 3AD0                 beq     .L340
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4913                           .loc 1 1790 12 view .LVU1542
 4914 0036 0468                 ldr     r4, [r0]
 4915 0038 A569                 ldr     r5, [r4, #24]
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4916                           .loc 1 1790 5 view .LVU1543
 4917 003a 15F0020F             tst     r5, #2
 4918 003e F4D1                 bne     .L335
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4919                           .loc 1 1793 5 is_stmt 1 view .LVU1544
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4920                           .loc 1 1793 5 view .LVU1545
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 240


 4921 0040 90F83C50             ldrb    r5, [r0, #60]   @ zero_extendqisi2
 4922 0044 012D                 cmp     r5, #1
 4923 0046 44D0                 beq     .L338
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4924                           .loc 1 1793 5 discriminator 2 view .LVU1546
 4925 0048 0125                 movs    r5, #1
 4926 004a 80F83C50             strb    r5, [r0, #60]
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4927                           .loc 1 1796 5 discriminator 2 view .LVU1547
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4928                           .loc 1 1796 24 is_stmt 0 discriminator 2 view .LVU1548
 4929 004e 2568                 ldr     r5, [r4]
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 4930                           .loc 1 1796 8 discriminator 2 view .LVU1549
 4931 0050 15F0010F             tst     r5, #1
 4932 0054 03D1                 bne     .L336
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 4933                           .loc 1 1799 7 is_stmt 1 view .LVU1550
 4934 0056 2568                 ldr     r5, [r4]
 4935 0058 45F00105             orr     r5, r5, #1
 4936 005c 2560                 str     r5, [r4]
 4937                   .L336:
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4938                           .loc 1 1803 5 view .LVU1551
 4939 005e 0568                 ldr     r5, [r0]
 4940 0060 2C68                 ldr     r4, [r5]
 4941 0062 24F40064             bic     r4, r4, #2048
 4942 0066 2C60                 str     r4, [r5]
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 4943                           .loc 1 1805 5 view .LVU1552
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 4944                           .loc 1 1805 21 is_stmt 0 view .LVU1553
 4945 0068 2224                 movs    r4, #34
 4946 006a 80F83D40             strb    r4, [r0, #61]
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 4947                           .loc 1 1806 5 is_stmt 1 view .LVU1554
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 4948                           .loc 1 1806 21 is_stmt 0 view .LVU1555
 4949 006e 1024                 movs    r4, #16
 4950 0070 80F83E40             strb    r4, [r0, #62]
1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4951                           .loc 1 1807 5 is_stmt 1 view .LVU1556
1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4952                           .loc 1 1807 21 is_stmt 0 view .LVU1557
 4953 0074 0024                 movs    r4, #0
 4954 0076 0464                 str     r4, [r0, #64]
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4955                           .loc 1 1810 5 is_stmt 1 view .LVU1558
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4956                           .loc 1 1810 23 is_stmt 0 view .LVU1559
 4957 0078 4262                 str     r2, [r0, #36]
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 4958                           .loc 1 1811 5 is_stmt 1 view .LVU1560
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 4959                           .loc 1 1811 23 is_stmt 0 view .LVU1561
 4960 007a 4385                 strh    r3, [r0, #42]   @ movhi
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 241


 4961                           .loc 1 1812 5 is_stmt 1 view .LVU1562
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4962                           .loc 1 1812 29 is_stmt 0 view .LVU1563
 4963 007c 438D                 ldrh    r3, [r0, #42]
 4964                   .LVL189:
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4965                           .loc 1 1812 23 view .LVU1564
 4966 007e 0385                 strh    r3, [r0, #40]   @ movhi
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 4967                           .loc 1 1813 5 is_stmt 1 view .LVU1565
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 4968                           .loc 1 1813 23 is_stmt 0 view .LVU1566
 4969 0080 174B                 ldr     r3, .L341+8
 4970 0082 C362                 str     r3, [r0, #44]
 4971                   .LVL190:
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4972                           .loc 1 1814 5 is_stmt 1 view .LVU1567
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4973                           .loc 1 1814 23 is_stmt 0 view .LVU1568
 4974 0084 4164                 str     r1, [r0, #68]
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4975                           .loc 1 1817 5 is_stmt 1 view .LVU1569
 4976 0086 0268                 ldr     r2, [r0]
 4977                   .LVL191:
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4978                           .loc 1 1817 5 is_stmt 0 view .LVU1570
 4979 0088 1368                 ldr     r3, [r2]
 4980 008a 43F48063             orr     r3, r3, #1024
 4981 008e 1360                 str     r3, [r2]
 4982                   .LVL192:
1820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4983                           .loc 1 1820 5 is_stmt 1 view .LVU1571
 4984 0090 0268                 ldr     r2, [r0]
 4985 0092 1368                 ldr     r3, [r2]
 4986 0094 43F48073             orr     r3, r3, #256
 4987 0098 1360                 str     r3, [r2]
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4988                           .loc 1 1823 5 view .LVU1572
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4989                           .loc 1 1823 5 view .LVU1573
 4990 009a 80F83C40             strb    r4, [r0, #60]
1830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 4991                           .loc 1 1830 5 view .LVU1574
 4992 009e 0268                 ldr     r2, [r0]
 4993 00a0 5368                 ldr     r3, [r2, #4]
 4994 00a2 43F4E063             orr     r3, r3, #1792
 4995 00a6 5360                 str     r3, [r2, #4]
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4996                           .loc 1 1832 5 view .LVU1575
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 4997                           .loc 1 1832 12 is_stmt 0 view .LVU1576
 4998 00a8 2046                 mov     r0, r4
 4999                   .LVL193:
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5000                           .loc 1 1832 12 view .LVU1577
 5001 00aa 0FE0                 b       .L333
 5002                   .LVL194:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 242


 5003                   .L340:
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 5004                           .loc 1 1779 9 is_stmt 1 view .LVU1578
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 5005                           .loc 1 1779 35 is_stmt 0 view .LVU1579
 5006 00ac 0023                 movs    r3, #0
 5007                   .LVL195:
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 5008                           .loc 1 1779 35 view .LVU1580
 5009 00ae 0363                 str     r3, [r0, #48]
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 5010                           .loc 1 1780 9 is_stmt 1 view .LVU1581
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 5011                           .loc 1 1780 35 is_stmt 0 view .LVU1582
 5012 00b0 2022                 movs    r2, #32
 5013                   .LVL196:
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 5014                           .loc 1 1780 35 view .LVU1583
 5015 00b2 80F83D20             strb    r2, [r0, #61]
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 5016                           .loc 1 1781 9 is_stmt 1 view .LVU1584
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 5017                           .loc 1 1781 35 is_stmt 0 view .LVU1585
 5018 00b6 80F83E30             strb    r3, [r0, #62]
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5019                           .loc 1 1782 9 is_stmt 1 view .LVU1586
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5020                           .loc 1 1782 35 is_stmt 0 view .LVU1587
 5021 00ba 026C                 ldr     r2, [r0, #64]
 5022 00bc 42F02002             orr     r2, r2, #32
 5023 00c0 0264                 str     r2, [r0, #64]
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5024                           .loc 1 1785 9 is_stmt 1 view .LVU1588
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5025                           .loc 1 1785 9 view .LVU1589
 5026 00c2 80F83C30             strb    r3, [r0, #60]
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5027                           .loc 1 1787 9 view .LVU1590
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5028                           .loc 1 1787 16 is_stmt 0 view .LVU1591
 5029 00c6 0120                 movs    r0, #1
 5030                   .LVL197:
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5031                           .loc 1 1787 16 view .LVU1592
 5032 00c8 00E0                 b       .L333
 5033                   .LVL198:
 5034                   .L337:
1836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5035                           .loc 1 1836 12 view .LVU1593
 5036 00ca 0220                 movs    r0, #2
 5037                   .LVL199:
 5038                   .L333:
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5039                           .loc 1 1838 1 view .LVU1594
 5040 00cc 02B0                 add     sp, sp, #8
 5041                   .LCFI55:
 5042                           .cfi_remember_state
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 243


 5043                           .cfi_def_cfa_offset 8
 5044                           @ sp needed
 5045 00ce 30BC                 pop     {r4, r5}
 5046                   .LCFI56:
 5047                           .cfi_restore 5
 5048                           .cfi_restore 4
 5049                           .cfi_def_cfa_offset 0
 5050 00d0 7047                 bx      lr
 5051                   .LVL200:
 5052                   .L338:
 5053                   .LCFI57:
 5054                           .cfi_restore_state
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5055                           .loc 1 1793 5 view .LVU1595
 5056 00d2 0220                 movs    r0, #2
 5057                   .LVL201:
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5058                           .loc 1 1793 5 view .LVU1596
 5059 00d4 FAE7                 b       .L333
 5060                   .L342:
 5061 00d6 00BF                 .align  2
 5062                   .L341:
 5063 00d8 00000000             .word   SystemCoreClock
 5064 00dc 89B5F814             .word   351843721
 5065 00e0 0000FFFF             .word   -65536
 5066                           .cfi_endproc
 5067                   .LFE74:
 5069                           .section        .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
 5070                           .align  1
 5071                           .global HAL_I2C_Slave_Transmit_IT
 5072                           .syntax unified
 5073                           .thumb
 5074                           .thumb_func
 5075                           .fpu softvfp
 5077                   HAL_I2C_Slave_Transmit_IT:
 5078                   .LVL202:
 5079                   .LFB75:
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5080                           .loc 1 1849 1 is_stmt 1 view -0
 5081                           .cfi_startproc
 5082                           @ args = 0, pretend = 0, frame = 0
 5083                           @ frame_needed = 0, uses_anonymous_args = 0
 5084                           @ link register save eliminated.
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5085                           .loc 1 1851 3 view .LVU1598
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5086                           .loc 1 1851 11 is_stmt 0 view .LVU1599
 5087 0000 90F83D30             ldrb    r3, [r0, #61]   @ zero_extendqisi2
 5088 0004 DBB2                 uxtb    r3, r3
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5089                           .loc 1 1851 6 view .LVU1600
 5090 0006 202B                 cmp     r3, #32
 5091 0008 36D1                 bne     .L346
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5092                           .loc 1 1853 5 is_stmt 1 view .LVU1601
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5093                           .loc 1 1853 8 is_stmt 0 view .LVU1602
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 244


 5094 000a 0029                 cmp     r1, #0
 5095 000c 36D0                 beq     .L347
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5096                           .loc 1 1853 25 discriminator 1 view .LVU1603
 5097 000e 002A                 cmp     r2, #0
 5098 0010 36D0                 beq     .L348
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5099                           .loc 1 1859 5 is_stmt 1 view .LVU1604
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5100                           .loc 1 1859 5 view .LVU1605
 5101 0012 90F83C30             ldrb    r3, [r0, #60]   @ zero_extendqisi2
 5102 0016 012B                 cmp     r3, #1
 5103 0018 34D0                 beq     .L349
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5104                           .loc 1 1849 1 is_stmt 0 discriminator 2 view .LVU1606
 5105 001a 10B4                 push    {r4}
 5106                   .LCFI58:
 5107                           .cfi_def_cfa_offset 4
 5108                           .cfi_offset 4, -4
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5109                           .loc 1 1859 5 is_stmt 1 discriminator 2 view .LVU1607
 5110 001c 0123                 movs    r3, #1
 5111 001e 80F83C30             strb    r3, [r0, #60]
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5112                           .loc 1 1862 5 discriminator 2 view .LVU1608
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5113                           .loc 1 1862 14 is_stmt 0 discriminator 2 view .LVU1609
 5114 0022 0368                 ldr     r3, [r0]
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5115                           .loc 1 1862 24 discriminator 2 view .LVU1610
 5116 0024 1C68                 ldr     r4, [r3]
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5117                           .loc 1 1862 8 discriminator 2 view .LVU1611
 5118 0026 14F0010F             tst     r4, #1
 5119 002a 03D1                 bne     .L345
1865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5120                           .loc 1 1865 7 is_stmt 1 view .LVU1612
 5121 002c 1C68                 ldr     r4, [r3]
 5122 002e 44F00104             orr     r4, r4, #1
 5123 0032 1C60                 str     r4, [r3]
 5124                   .L345:
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5125                           .loc 1 1869 5 view .LVU1613
 5126 0034 0468                 ldr     r4, [r0]
 5127 0036 2368                 ldr     r3, [r4]
 5128 0038 23F40063             bic     r3, r3, #2048
 5129 003c 2360                 str     r3, [r4]
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 5130                           .loc 1 1871 5 view .LVU1614
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 5131                           .loc 1 1871 21 is_stmt 0 view .LVU1615
 5132 003e 2123                 movs    r3, #33
 5133 0040 80F83D30             strb    r3, [r0, #61]
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5134                           .loc 1 1872 5 is_stmt 1 view .LVU1616
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5135                           .loc 1 1872 21 is_stmt 0 view .LVU1617
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 245


 5136 0044 2023                 movs    r3, #32
 5137 0046 80F83E30             strb    r3, [r0, #62]
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5138                           .loc 1 1873 5 is_stmt 1 view .LVU1618
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5139                           .loc 1 1873 21 is_stmt 0 view .LVU1619
 5140 004a 0023                 movs    r3, #0
 5141 004c 0364                 str     r3, [r0, #64]
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 5142                           .loc 1 1876 5 is_stmt 1 view .LVU1620
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 5143                           .loc 1 1876 23 is_stmt 0 view .LVU1621
 5144 004e 4162                 str     r1, [r0, #36]
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 5145                           .loc 1 1877 5 is_stmt 1 view .LVU1622
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 5146                           .loc 1 1877 23 is_stmt 0 view .LVU1623
 5147 0050 4285                 strh    r2, [r0, #42]   @ movhi
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5148                           .loc 1 1878 5 is_stmt 1 view .LVU1624
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5149                           .loc 1 1878 29 is_stmt 0 view .LVU1625
 5150 0052 428D                 ldrh    r2, [r0, #42]
 5151                   .LVL203:
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5152                           .loc 1 1878 23 view .LVU1626
 5153 0054 0285                 strh    r2, [r0, #40]   @ movhi
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5154                           .loc 1 1879 5 is_stmt 1 view .LVU1627
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5155                           .loc 1 1879 23 is_stmt 0 view .LVU1628
 5156 0056 0C4A                 ldr     r2, .L354
 5157 0058 C262                 str     r2, [r0, #44]
 5158                   .LVL204:
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5159                           .loc 1 1882 5 is_stmt 1 view .LVU1629
 5160 005a 0168                 ldr     r1, [r0]
 5161                   .LVL205:
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5162                           .loc 1 1882 5 is_stmt 0 view .LVU1630
 5163 005c 0A68                 ldr     r2, [r1]
 5164 005e 42F48062             orr     r2, r2, #1024
 5165 0062 0A60                 str     r2, [r1]
 5166                   .LVL206:
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5167                           .loc 1 1885 5 is_stmt 1 view .LVU1631
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5168                           .loc 1 1885 5 view .LVU1632
 5169 0064 80F83C30             strb    r3, [r0, #60]
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5170                           .loc 1 1892 5 view .LVU1633
 5171 0068 0168                 ldr     r1, [r0]
 5172 006a 4A68                 ldr     r2, [r1, #4]
 5173 006c 42F4E062             orr     r2, r2, #1792
 5174 0070 4A60                 str     r2, [r1, #4]
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5175                           .loc 1 1894 5 view .LVU1634
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 246


1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5176                           .loc 1 1894 12 is_stmt 0 view .LVU1635
 5177 0072 1846                 mov     r0, r3
 5178                   .LVL207:
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5179                           .loc 1 1900 1 view .LVU1636
 5180 0074 10BC                 pop     {r4}
 5181                   .LCFI59:
 5182                           .cfi_restore 4
 5183                           .cfi_def_cfa_offset 0
 5184 0076 7047                 bx      lr
 5185                   .LVL208:
 5186                   .L346:
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5187                           .loc 1 1898 12 view .LVU1637
 5188 0078 0220                 movs    r0, #2
 5189                   .LVL209:
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5190                           .loc 1 1898 12 view .LVU1638
 5191 007a 7047                 bx      lr
 5192                   .LVL210:
 5193                   .L347:
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5194                           .loc 1 1855 15 view .LVU1639
 5195 007c 0120                 movs    r0, #1
 5196                   .LVL211:
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5197                           .loc 1 1855 15 view .LVU1640
 5198 007e 7047                 bx      lr
 5199                   .LVL212:
 5200                   .L348:
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5201                           .loc 1 1855 15 view .LVU1641
 5202 0080 0120                 movs    r0, #1
 5203                   .LVL213:
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5204                           .loc 1 1855 15 view .LVU1642
 5205 0082 7047                 bx      lr
 5206                   .LVL214:
 5207                   .L349:
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5208                           .loc 1 1859 5 view .LVU1643
 5209 0084 0220                 movs    r0, #2
 5210                   .LVL215:
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5211                           .loc 1 1900 1 view .LVU1644
 5212 0086 7047                 bx      lr
 5213                   .L355:
 5214                           .align  2
 5215                   .L354:
 5216 0088 0000FFFF             .word   -65536
 5217                           .cfi_endproc
 5218                   .LFE75:
 5220                           .section        .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
 5221                           .align  1
 5222                           .global HAL_I2C_Slave_Receive_IT
 5223                           .syntax unified
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 247


 5224                           .thumb
 5225                           .thumb_func
 5226                           .fpu softvfp
 5228                   HAL_I2C_Slave_Receive_IT:
 5229                   .LVL216:
 5230                   .LFB76:
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5231                           .loc 1 1911 1 is_stmt 1 view -0
 5232                           .cfi_startproc
 5233                           @ args = 0, pretend = 0, frame = 0
 5234                           @ frame_needed = 0, uses_anonymous_args = 0
 5235                           @ link register save eliminated.
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5236                           .loc 1 1913 3 view .LVU1646
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5237                           .loc 1 1913 11 is_stmt 0 view .LVU1647
 5238 0000 90F83D30             ldrb    r3, [r0, #61]   @ zero_extendqisi2
 5239 0004 DBB2                 uxtb    r3, r3
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5240                           .loc 1 1913 6 view .LVU1648
 5241 0006 202B                 cmp     r3, #32
 5242 0008 36D1                 bne     .L359
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5243                           .loc 1 1915 5 is_stmt 1 view .LVU1649
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5244                           .loc 1 1915 8 is_stmt 0 view .LVU1650
 5245 000a 0029                 cmp     r1, #0
 5246 000c 36D0                 beq     .L360
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5247                           .loc 1 1915 25 discriminator 1 view .LVU1651
 5248 000e 002A                 cmp     r2, #0
 5249 0010 36D0                 beq     .L361
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5250                           .loc 1 1921 5 is_stmt 1 view .LVU1652
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5251                           .loc 1 1921 5 view .LVU1653
 5252 0012 90F83C30             ldrb    r3, [r0, #60]   @ zero_extendqisi2
 5253 0016 012B                 cmp     r3, #1
 5254 0018 34D0                 beq     .L362
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5255                           .loc 1 1911 1 is_stmt 0 discriminator 2 view .LVU1654
 5256 001a 10B4                 push    {r4}
 5257                   .LCFI60:
 5258                           .cfi_def_cfa_offset 4
 5259                           .cfi_offset 4, -4
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5260                           .loc 1 1921 5 is_stmt 1 discriminator 2 view .LVU1655
 5261 001c 0123                 movs    r3, #1
 5262 001e 80F83C30             strb    r3, [r0, #60]
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5263                           .loc 1 1924 5 discriminator 2 view .LVU1656
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5264                           .loc 1 1924 14 is_stmt 0 discriminator 2 view .LVU1657
 5265 0022 0368                 ldr     r3, [r0]
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5266                           .loc 1 1924 24 discriminator 2 view .LVU1658
 5267 0024 1C68                 ldr     r4, [r3]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 248


1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5268                           .loc 1 1924 8 discriminator 2 view .LVU1659
 5269 0026 14F0010F             tst     r4, #1
 5270 002a 03D1                 bne     .L358
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5271                           .loc 1 1927 7 is_stmt 1 view .LVU1660
 5272 002c 1C68                 ldr     r4, [r3]
 5273 002e 44F00104             orr     r4, r4, #1
 5274 0032 1C60                 str     r4, [r3]
 5275                   .L358:
1931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5276                           .loc 1 1931 5 view .LVU1661
 5277 0034 0468                 ldr     r4, [r0]
 5278 0036 2368                 ldr     r3, [r4]
 5279 0038 23F40063             bic     r3, r3, #2048
 5280 003c 2360                 str     r3, [r4]
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 5281                           .loc 1 1933 5 view .LVU1662
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 5282                           .loc 1 1933 21 is_stmt 0 view .LVU1663
 5283 003e 2223                 movs    r3, #34
 5284 0040 80F83D30             strb    r3, [r0, #61]
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5285                           .loc 1 1934 5 is_stmt 1 view .LVU1664
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5286                           .loc 1 1934 21 is_stmt 0 view .LVU1665
 5287 0044 2023                 movs    r3, #32
 5288 0046 80F83E30             strb    r3, [r0, #62]
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5289                           .loc 1 1935 5 is_stmt 1 view .LVU1666
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5290                           .loc 1 1935 21 is_stmt 0 view .LVU1667
 5291 004a 0023                 movs    r3, #0
 5292 004c 0364                 str     r3, [r0, #64]
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 5293                           .loc 1 1938 5 is_stmt 1 view .LVU1668
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 5294                           .loc 1 1938 23 is_stmt 0 view .LVU1669
 5295 004e 4162                 str     r1, [r0, #36]
1939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 5296                           .loc 1 1939 5 is_stmt 1 view .LVU1670
1939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 5297                           .loc 1 1939 23 is_stmt 0 view .LVU1671
 5298 0050 4285                 strh    r2, [r0, #42]   @ movhi
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5299                           .loc 1 1940 5 is_stmt 1 view .LVU1672
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5300                           .loc 1 1940 29 is_stmt 0 view .LVU1673
 5301 0052 428D                 ldrh    r2, [r0, #42]
 5302                   .LVL217:
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5303                           .loc 1 1940 23 view .LVU1674
 5304 0054 0285                 strh    r2, [r0, #40]   @ movhi
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5305                           .loc 1 1941 5 is_stmt 1 view .LVU1675
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5306                           .loc 1 1941 23 is_stmt 0 view .LVU1676
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 249


 5307 0056 0C4A                 ldr     r2, .L367
 5308 0058 C262                 str     r2, [r0, #44]
 5309                   .LVL218:
1944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5310                           .loc 1 1944 5 is_stmt 1 view .LVU1677
 5311 005a 0168                 ldr     r1, [r0]
 5312                   .LVL219:
1944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5313                           .loc 1 1944 5 is_stmt 0 view .LVU1678
 5314 005c 0A68                 ldr     r2, [r1]
 5315 005e 42F48062             orr     r2, r2, #1024
 5316 0062 0A60                 str     r2, [r1]
 5317                   .LVL220:
1947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5318                           .loc 1 1947 5 is_stmt 1 view .LVU1679
1947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5319                           .loc 1 1947 5 view .LVU1680
 5320 0064 80F83C30             strb    r3, [r0, #60]
1954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5321                           .loc 1 1954 5 view .LVU1681
 5322 0068 0168                 ldr     r1, [r0]
 5323 006a 4A68                 ldr     r2, [r1, #4]
 5324 006c 42F4E062             orr     r2, r2, #1792
 5325 0070 4A60                 str     r2, [r1, #4]
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5326                           .loc 1 1956 5 view .LVU1682
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5327                           .loc 1 1956 12 is_stmt 0 view .LVU1683
 5328 0072 1846                 mov     r0, r3
 5329                   .LVL221:
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5330                           .loc 1 1962 1 view .LVU1684
 5331 0074 10BC                 pop     {r4}
 5332                   .LCFI61:
 5333                           .cfi_restore 4
 5334                           .cfi_def_cfa_offset 0
 5335 0076 7047                 bx      lr
 5336                   .LVL222:
 5337                   .L359:
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5338                           .loc 1 1960 12 view .LVU1685
 5339 0078 0220                 movs    r0, #2
 5340                   .LVL223:
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5341                           .loc 1 1960 12 view .LVU1686
 5342 007a 7047                 bx      lr
 5343                   .LVL224:
 5344                   .L360:
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5345                           .loc 1 1917 15 view .LVU1687
 5346 007c 0120                 movs    r0, #1
 5347                   .LVL225:
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5348                           .loc 1 1917 15 view .LVU1688
 5349 007e 7047                 bx      lr
 5350                   .LVL226:
 5351                   .L361:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 250


1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5352                           .loc 1 1917 15 view .LVU1689
 5353 0080 0120                 movs    r0, #1
 5354                   .LVL227:
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5355                           .loc 1 1917 15 view .LVU1690
 5356 0082 7047                 bx      lr
 5357                   .LVL228:
 5358                   .L362:
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5359                           .loc 1 1921 5 view .LVU1691
 5360 0084 0220                 movs    r0, #2
 5361                   .LVL229:
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5362                           .loc 1 1962 1 view .LVU1692
 5363 0086 7047                 bx      lr
 5364                   .L368:
 5365                           .align  2
 5366                   .L367:
 5367 0088 0000FFFF             .word   -65536
 5368                           .cfi_endproc
 5369                   .LFE76:
 5371                           .section        .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
 5372                           .align  1
 5373                           .global HAL_I2C_Master_Transmit_DMA
 5374                           .syntax unified
 5375                           .thumb
 5376                           .thumb_func
 5377                           .fpu softvfp
 5379                   HAL_I2C_Master_Transmit_DMA:
 5380                   .LVL230:
 5381                   .LFB77:
1975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 5382                           .loc 1 1975 1 is_stmt 1 view -0
 5383                           .cfi_startproc
 5384                           @ args = 0, pretend = 0, frame = 8
 5385                           @ frame_needed = 0, uses_anonymous_args = 0
1975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 5386                           .loc 1 1975 1 is_stmt 0 view .LVU1694
 5387 0000 30B5                 push    {r4, r5, lr}
 5388                   .LCFI62:
 5389                           .cfi_def_cfa_offset 12
 5390                           .cfi_offset 4, -12
 5391                           .cfi_offset 5, -8
 5392                           .cfi_offset 14, -4
 5393 0002 83B0                 sub     sp, sp, #12
 5394                   .LCFI63:
 5395                           .cfi_def_cfa_offset 24
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 5396                           .loc 1 1976 3 is_stmt 1 view .LVU1695
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 5397                           .loc 1 1976 17 is_stmt 0 view .LVU1696
 5398 0004 0024                 movs    r4, #0
 5399 0006 0194                 str     r4, [sp, #4]
1977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5400                           .loc 1 1977 3 is_stmt 1 view .LVU1697
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 251


 5401                           .loc 1 1979 3 view .LVU1698
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5402                           .loc 1 1979 11 is_stmt 0 view .LVU1699
 5403 0008 90F83D40             ldrb    r4, [r0, #61]   @ zero_extendqisi2
 5404 000c E4B2                 uxtb    r4, r4
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5405                           .loc 1 1979 6 view .LVU1700
 5406 000e 202C                 cmp     r4, #32
 5407 0010 40F09A80             bne     .L377
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 5408                           .loc 1 1982 5 is_stmt 1 view .LVU1701
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 5409                           .loc 1 1982 60 is_stmt 0 view .LVU1702
 5410 0014 4F4C                 ldr     r4, .L382
 5411 0016 2468                 ldr     r4, [r4]
 5412 0018 E408                 lsrs    r4, r4, #3
 5413 001a 4F4D                 ldr     r5, .L382+4
 5414 001c A5FB0454             umull   r5, r4, r5, r4
 5415 0020 240A                 lsrs    r4, r4, #8
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 5416                           .loc 1 1982 35 view .LVU1703
 5417 0022 04EB8404             add     r4, r4, r4, lsl #2
 5418 0026 04EB8404             add     r4, r4, r4, lsl #2
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 5419                           .loc 1 1982 11 view .LVU1704
 5420 002a 0194                 str     r4, [sp, #4]
 5421                   .L372:
1983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5422                           .loc 1 1983 5 is_stmt 1 view .LVU1705
1985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 5423                           .loc 1 1985 7 view .LVU1706
1985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 5424                           .loc 1 1985 12 is_stmt 0 view .LVU1707
 5425 002c 019C                 ldr     r4, [sp, #4]
 5426 002e 013C                 subs    r4, r4, #1
 5427 0030 0194                 str     r4, [sp, #4]
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 5428                           .loc 1 1986 7 is_stmt 1 view .LVU1708
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 5429                           .loc 1 1986 17 is_stmt 0 view .LVU1709
 5430 0032 019C                 ldr     r4, [sp, #4]
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 5431                           .loc 1 1986 10 view .LVU1710
 5432 0034 002C                 cmp     r4, #0
 5433 0036 3ED0                 beq     .L380
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5434                           .loc 1 1999 12 view .LVU1711
 5435 0038 0468                 ldr     r4, [r0]
 5436 003a A569                 ldr     r5, [r4, #24]
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5437                           .loc 1 1999 5 view .LVU1712
 5438 003c 15F0020F             tst     r5, #2
 5439 0040 F4D1                 bne     .L372
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5440                           .loc 1 2002 5 is_stmt 1 view .LVU1713
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5441                           .loc 1 2002 5 view .LVU1714
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 252


 5442 0042 90F83C50             ldrb    r5, [r0, #60]   @ zero_extendqisi2
 5443 0046 012D                 cmp     r5, #1
 5444 0048 00F08180             beq     .L378
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5445                           .loc 1 2002 5 discriminator 2 view .LVU1715
 5446 004c 0125                 movs    r5, #1
 5447 004e 80F83C50             strb    r5, [r0, #60]
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5448                           .loc 1 2005 5 discriminator 2 view .LVU1716
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5449                           .loc 1 2005 24 is_stmt 0 discriminator 2 view .LVU1717
 5450 0052 2568                 ldr     r5, [r4]
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5451                           .loc 1 2005 8 discriminator 2 view .LVU1718
 5452 0054 15F0010F             tst     r5, #1
 5453 0058 03D1                 bne     .L373
2008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5454                           .loc 1 2008 7 is_stmt 1 view .LVU1719
 5455 005a 2568                 ldr     r5, [r4]
 5456 005c 45F00105             orr     r5, r5, #1
 5457 0060 2560                 str     r5, [r4]
 5458                   .L373:
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5459                           .loc 1 2012 5 view .LVU1720
 5460 0062 0568                 ldr     r5, [r0]
 5461 0064 2C68                 ldr     r4, [r5]
 5462 0066 24F40064             bic     r4, r4, #2048
 5463 006a 2C60                 str     r4, [r5]
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 5464                           .loc 1 2014 5 view .LVU1721
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 5465                           .loc 1 2014 21 is_stmt 0 view .LVU1722
 5466 006c 2124                 movs    r4, #33
 5467 006e 80F83D40             strb    r4, [r0, #61]
2015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5468                           .loc 1 2015 5 is_stmt 1 view .LVU1723
2015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5469                           .loc 1 2015 21 is_stmt 0 view .LVU1724
 5470 0072 1024                 movs    r4, #16
 5471 0074 80F83E40             strb    r4, [r0, #62]
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5472                           .loc 1 2016 5 is_stmt 1 view .LVU1725
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5473                           .loc 1 2016 21 is_stmt 0 view .LVU1726
 5474 0078 0024                 movs    r4, #0
 5475 007a 0464                 str     r4, [r0, #64]
2019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 5476                           .loc 1 2019 5 is_stmt 1 view .LVU1727
2019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 5477                           .loc 1 2019 23 is_stmt 0 view .LVU1728
 5478 007c 4262                 str     r2, [r0, #36]
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 5479                           .loc 1 2020 5 is_stmt 1 view .LVU1729
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 5480                           .loc 1 2020 23 is_stmt 0 view .LVU1730
 5481 007e 4385                 strh    r3, [r0, #42]   @ movhi
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 253


 5482                           .loc 1 2021 5 is_stmt 1 view .LVU1731
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5483                           .loc 1 2021 29 is_stmt 0 view .LVU1732
 5484 0080 438D                 ldrh    r3, [r0, #42]
 5485                   .LVL231:
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5486                           .loc 1 2021 29 view .LVU1733
 5487 0082 9BB2                 uxth    r3, r3
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5488                           .loc 1 2021 23 view .LVU1734
 5489 0084 0385                 strh    r3, [r0, #40]   @ movhi
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 5490                           .loc 1 2022 5 is_stmt 1 view .LVU1735
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 5491                           .loc 1 2022 23 is_stmt 0 view .LVU1736
 5492 0086 354A                 ldr     r2, .L382+8
 5493                   .LVL232:
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 5494                           .loc 1 2022 23 view .LVU1737
 5495 0088 C262                 str     r2, [r0, #44]
 5496                   .LVL233:
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5497                           .loc 1 2023 5 is_stmt 1 view .LVU1738
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5498                           .loc 1 2023 23 is_stmt 0 view .LVU1739
 5499 008a 4164                 str     r1, [r0, #68]
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5500                           .loc 1 2025 5 is_stmt 1 view .LVU1740
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5501                           .loc 1 2025 8 is_stmt 0 view .LVU1741
 5502 008c 13BB                 cbnz    r3, .L381
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5503                           .loc 1 2079 7 is_stmt 1 view .LVU1742
 5504 008e 0268                 ldr     r2, [r0]
 5505 0090 1368                 ldr     r3, [r2]
 5506 0092 43F48063             orr     r3, r3, #1024
 5507 0096 1360                 str     r3, [r2]
 5508                   .LVL234:
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5509                           .loc 1 2082 7 view .LVU1743
 5510 0098 0268                 ldr     r2, [r0]
 5511 009a 1368                 ldr     r3, [r2]
 5512 009c 43F48073             orr     r3, r3, #256
 5513 00a0 1360                 str     r3, [r2]
2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5514                           .loc 1 2085 7 view .LVU1744
2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5515                           .loc 1 2085 7 view .LVU1745
 5516 00a2 0023                 movs    r3, #0
 5517 00a4 80F83C30             strb    r3, [r0, #60]
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5518                           .loc 1 2092 7 view .LVU1746
 5519 00a8 0268                 ldr     r2, [r0]
 5520 00aa 5368                 ldr     r3, [r2, #4]
 5521 00ac 43F4E063             orr     r3, r3, #1792
 5522 00b0 5360                 str     r3, [r2, #4]
 5523                   .LVL235:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 254


 5524                   .L376:
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5525                           .loc 1 2095 5 view .LVU1747
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5526                           .loc 1 2095 12 is_stmt 0 view .LVU1748
 5527 00b2 0020                 movs    r0, #0
 5528 00b4 49E0                 b       .L370
 5529                   .LVL236:
 5530                   .L380:
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 5531                           .loc 1 1988 9 is_stmt 1 view .LVU1749
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 5532                           .loc 1 1988 35 is_stmt 0 view .LVU1750
 5533 00b6 0023                 movs    r3, #0
 5534                   .LVL237:
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 5535                           .loc 1 1988 35 view .LVU1751
 5536 00b8 0363                 str     r3, [r0, #48]
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 5537                           .loc 1 1989 9 is_stmt 1 view .LVU1752
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 5538                           .loc 1 1989 35 is_stmt 0 view .LVU1753
 5539 00ba 2022                 movs    r2, #32
 5540                   .LVL238:
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 5541                           .loc 1 1989 35 view .LVU1754
 5542 00bc 80F83D20             strb    r2, [r0, #61]
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 5543                           .loc 1 1990 9 is_stmt 1 view .LVU1755
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 5544                           .loc 1 1990 35 is_stmt 0 view .LVU1756
 5545 00c0 80F83E30             strb    r3, [r0, #62]
1991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5546                           .loc 1 1991 9 is_stmt 1 view .LVU1757
1991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5547                           .loc 1 1991 35 is_stmt 0 view .LVU1758
 5548 00c4 026C                 ldr     r2, [r0, #64]
 5549 00c6 42F02002             orr     r2, r2, #32
 5550 00ca 0264                 str     r2, [r0, #64]
1994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5551                           .loc 1 1994 9 is_stmt 1 view .LVU1759
1994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5552                           .loc 1 1994 9 view .LVU1760
 5553 00cc 80F83C30             strb    r3, [r0, #60]
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5554                           .loc 1 1996 9 view .LVU1761
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5555                           .loc 1 1996 16 is_stmt 0 view .LVU1762
 5556 00d0 0120                 movs    r0, #1
 5557                   .LVL239:
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5558                           .loc 1 1996 16 view .LVU1763
 5559 00d2 3AE0                 b       .L370
 5560                   .LVL240:
 5561                   .L381:
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5562                           .loc 1 1996 16 view .LVU1764
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 255


 5563 00d4 0446                 mov     r4, r0
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5564                           .loc 1 2028 7 is_stmt 1 view .LVU1765
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5565                           .loc 1 2028 11 is_stmt 0 view .LVU1766
 5566 00d6 436B                 ldr     r3, [r0, #52]
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5567                           .loc 1 2028 38 view .LVU1767
 5568 00d8 214A                 ldr     r2, .L382+12
 5569 00da 9A62                 str     r2, [r3, #40]
 5570                   .LVL241:
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5571                           .loc 1 2031 7 is_stmt 1 view .LVU1768
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5572                           .loc 1 2031 11 is_stmt 0 view .LVU1769
 5573 00dc 436B                 ldr     r3, [r0, #52]
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5574                           .loc 1 2031 39 view .LVU1770
 5575 00de 214A                 ldr     r2, .L382+16
 5576 00e0 1A63                 str     r2, [r3, #48]
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 5577                           .loc 1 2034 7 is_stmt 1 view .LVU1771
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 5578                           .loc 1 2034 11 is_stmt 0 view .LVU1772
 5579 00e2 426B                 ldr     r2, [r0, #52]
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 5580                           .loc 1 2034 42 view .LVU1773
 5581 00e4 0023                 movs    r3, #0
 5582 00e6 D362                 str     r3, [r2, #44]
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5583                           .loc 1 2035 7 is_stmt 1 view .LVU1774
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5584                           .loc 1 2035 11 is_stmt 0 view .LVU1775
 5585 00e8 426B                 ldr     r2, [r0, #52]
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5586                           .loc 1 2035 39 view .LVU1776
 5587 00ea 5363                 str     r3, [r2, #52]
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5588                           .loc 1 2038 7 is_stmt 1 view .LVU1777
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5589                           .loc 1 2038 95 is_stmt 0 view .LVU1778
 5590 00ec 0268                 ldr     r2, [r0]
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5591                           .loc 1 2038 23 view .LVU1779
 5592 00ee 038D                 ldrh    r3, [r0, #40]
 5593 00f0 1032                 adds    r2, r2, #16
 5594 00f2 416A                 ldr     r1, [r0, #36]
 5595                   .LVL242:
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5596                           .loc 1 2038 23 view .LVU1780
 5597 00f4 406B                 ldr     r0, [r0, #52]
 5598                   .LVL243:
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5599                           .loc 1 2038 23 view .LVU1781
 5600 00f6 FFF7FEFF             bl      HAL_DMA_Start_IT
 5601                   .LVL244:
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 256


 5602                           .loc 1 2040 7 is_stmt 1 view .LVU1782
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 5603                           .loc 1 2040 10 is_stmt 0 view .LVU1783
 5604 00fa B8B9                 cbnz    r0, .L375
2043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5605                           .loc 1 2043 9 is_stmt 1 view .LVU1784
 5606 00fc 2268                 ldr     r2, [r4]
 5607 00fe 1368                 ldr     r3, [r2]
 5608 0100 43F48063             orr     r3, r3, #1024
 5609 0104 1360                 str     r3, [r2]
2046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5610                           .loc 1 2046 9 view .LVU1785
 5611 0106 2268                 ldr     r2, [r4]
 5612 0108 1368                 ldr     r3, [r2]
 5613 010a 43F48073             orr     r3, r3, #256
 5614 010e 1360                 str     r3, [r2]
2049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5615                           .loc 1 2049 9 view .LVU1786
2049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5616                           .loc 1 2049 9 view .LVU1787
 5617 0110 0023                 movs    r3, #0
 5618 0112 84F83C30             strb    r3, [r4, #60]
2056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5619                           .loc 1 2056 9 view .LVU1788
 5620 0116 2268                 ldr     r2, [r4]
 5621 0118 5368                 ldr     r3, [r2, #4]
 5622 011a 43F44073             orr     r3, r3, #768
 5623 011e 5360                 str     r3, [r2, #4]
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5624                           .loc 1 2059 9 view .LVU1789
 5625 0120 2268                 ldr     r2, [r4]
 5626 0122 5368                 ldr     r3, [r2, #4]
 5627 0124 43F40063             orr     r3, r3, #2048
 5628 0128 5360                 str     r3, [r2, #4]
 5629 012a C2E7                 b       .L376
 5630                   .L375:
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 5631                           .loc 1 2064 9 view .LVU1790
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 5632                           .loc 1 2064 25 is_stmt 0 view .LVU1791
 5633 012c 2023                 movs    r3, #32
 5634 012e 84F83D30             strb    r3, [r4, #61]
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5635                           .loc 1 2065 9 is_stmt 1 view .LVU1792
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5636                           .loc 1 2065 25 is_stmt 0 view .LVU1793
 5637 0132 0022                 movs    r2, #0
 5638 0134 84F83E20             strb    r2, [r4, #62]
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5639                           .loc 1 2068 9 is_stmt 1 view .LVU1794
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5640                           .loc 1 2068 25 is_stmt 0 view .LVU1795
 5641 0138 236C                 ldr     r3, [r4, #64]
 5642 013a 43F01003             orr     r3, r3, #16
 5643 013e 2364                 str     r3, [r4, #64]
2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5644                           .loc 1 2071 9 is_stmt 1 view .LVU1796
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 257


2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5645                           .loc 1 2071 9 view .LVU1797
 5646 0140 84F83C20             strb    r2, [r4, #60]
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5647                           .loc 1 2073 9 view .LVU1798
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5648                           .loc 1 2073 16 is_stmt 0 view .LVU1799
 5649 0144 0120                 movs    r0, #1
 5650                   .LVL245:
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5651                           .loc 1 2073 16 view .LVU1800
 5652 0146 00E0                 b       .L370
 5653                   .LVL246:
 5654                   .L377:
2099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5655                           .loc 1 2099 12 view .LVU1801
 5656 0148 0220                 movs    r0, #2
 5657                   .LVL247:
 5658                   .L370:
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5659                           .loc 1 2101 1 view .LVU1802
 5660 014a 03B0                 add     sp, sp, #12
 5661                   .LCFI64:
 5662                           .cfi_remember_state
 5663                           .cfi_def_cfa_offset 12
 5664                           @ sp needed
 5665 014c 30BD                 pop     {r4, r5, pc}
 5666                   .LVL248:
 5667                   .L378:
 5668                   .LCFI65:
 5669                           .cfi_restore_state
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5670                           .loc 1 2002 5 view .LVU1803
 5671 014e 0220                 movs    r0, #2
 5672                   .LVL249:
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5673                           .loc 1 2002 5 view .LVU1804
 5674 0150 FBE7                 b       .L370
 5675                   .L383:
 5676 0152 00BF                 .align  2
 5677                   .L382:
 5678 0154 00000000             .word   SystemCoreClock
 5679 0158 89B5F814             .word   351843721
 5680 015c 0000FFFF             .word   -65536
 5681 0160 00000000             .word   I2C_DMAXferCplt
 5682 0164 00000000             .word   I2C_DMAError
 5683                           .cfi_endproc
 5684                   .LFE77:
 5686                           .section        .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
 5687                           .align  1
 5688                           .global HAL_I2C_Master_Receive_DMA
 5689                           .syntax unified
 5690                           .thumb
 5691                           .thumb_func
 5692                           .fpu softvfp
 5694                   HAL_I2C_Master_Receive_DMA:
 5695                   .LVL250:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 258


 5696                   .LFB78:
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 5697                           .loc 1 2114 1 is_stmt 1 view -0
 5698                           .cfi_startproc
 5699                           @ args = 0, pretend = 0, frame = 8
 5700                           @ frame_needed = 0, uses_anonymous_args = 0
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 5701                           .loc 1 2114 1 is_stmt 0 view .LVU1806
 5702 0000 30B5                 push    {r4, r5, lr}
 5703                   .LCFI66:
 5704                           .cfi_def_cfa_offset 12
 5705                           .cfi_offset 4, -12
 5706                           .cfi_offset 5, -8
 5707                           .cfi_offset 14, -4
 5708 0002 83B0                 sub     sp, sp, #12
 5709                   .LCFI67:
 5710                           .cfi_def_cfa_offset 24
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 5711                           .loc 1 2115 3 is_stmt 1 view .LVU1807
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 5712                           .loc 1 2115 17 is_stmt 0 view .LVU1808
 5713 0004 0024                 movs    r4, #0
 5714 0006 0194                 str     r4, [sp, #4]
2116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5715                           .loc 1 2116 3 is_stmt 1 view .LVU1809
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5716                           .loc 1 2118 3 view .LVU1810
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5717                           .loc 1 2118 11 is_stmt 0 view .LVU1811
 5718 0008 90F83D40             ldrb    r4, [r0, #61]   @ zero_extendqisi2
 5719 000c E4B2                 uxtb    r4, r4
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 5720                           .loc 1 2118 6 view .LVU1812
 5721 000e 202C                 cmp     r4, #32
 5722 0010 40F09A80             bne     .L392
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 5723                           .loc 1 2121 5 is_stmt 1 view .LVU1813
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 5724                           .loc 1 2121 60 is_stmt 0 view .LVU1814
 5725 0014 4F4C                 ldr     r4, .L397
 5726 0016 2468                 ldr     r4, [r4]
 5727 0018 E408                 lsrs    r4, r4, #3
 5728 001a 4F4D                 ldr     r5, .L397+4
 5729 001c A5FB0454             umull   r5, r4, r5, r4
 5730 0020 240A                 lsrs    r4, r4, #8
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 5731                           .loc 1 2121 35 view .LVU1815
 5732 0022 04EB8404             add     r4, r4, r4, lsl #2
 5733 0026 04EB8404             add     r4, r4, r4, lsl #2
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 5734                           .loc 1 2121 11 view .LVU1816
 5735 002a 0194                 str     r4, [sp, #4]
 5736                   .L387:
2122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5737                           .loc 1 2122 5 is_stmt 1 view .LVU1817
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 5738                           .loc 1 2124 7 view .LVU1818
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 259


2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 5739                           .loc 1 2124 12 is_stmt 0 view .LVU1819
 5740 002c 019C                 ldr     r4, [sp, #4]
 5741 002e 013C                 subs    r4, r4, #1
 5742 0030 0194                 str     r4, [sp, #4]
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 5743                           .loc 1 2125 7 is_stmt 1 view .LVU1820
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 5744                           .loc 1 2125 17 is_stmt 0 view .LVU1821
 5745 0032 019C                 ldr     r4, [sp, #4]
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 5746                           .loc 1 2125 10 view .LVU1822
 5747 0034 002C                 cmp     r4, #0
 5748 0036 3ED0                 beq     .L395
2138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5749                           .loc 1 2138 12 view .LVU1823
 5750 0038 0468                 ldr     r4, [r0]
 5751 003a A569                 ldr     r5, [r4, #24]
2138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5752                           .loc 1 2138 5 view .LVU1824
 5753 003c 15F0020F             tst     r5, #2
 5754 0040 F4D1                 bne     .L387
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5755                           .loc 1 2141 5 is_stmt 1 view .LVU1825
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5756                           .loc 1 2141 5 view .LVU1826
 5757 0042 90F83C50             ldrb    r5, [r0, #60]   @ zero_extendqisi2
 5758 0046 012D                 cmp     r5, #1
 5759 0048 00F08180             beq     .L393
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5760                           .loc 1 2141 5 discriminator 2 view .LVU1827
 5761 004c 0125                 movs    r5, #1
 5762 004e 80F83C50             strb    r5, [r0, #60]
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5763                           .loc 1 2144 5 discriminator 2 view .LVU1828
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5764                           .loc 1 2144 24 is_stmt 0 discriminator 2 view .LVU1829
 5765 0052 2568                 ldr     r5, [r4]
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5766                           .loc 1 2144 8 discriminator 2 view .LVU1830
 5767 0054 15F0010F             tst     r5, #1
 5768 0058 03D1                 bne     .L388
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5769                           .loc 1 2147 7 is_stmt 1 view .LVU1831
 5770 005a 2568                 ldr     r5, [r4]
 5771 005c 45F00105             orr     r5, r5, #1
 5772 0060 2560                 str     r5, [r4]
 5773                   .L388:
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5774                           .loc 1 2151 5 view .LVU1832
 5775 0062 0568                 ldr     r5, [r0]
 5776 0064 2C68                 ldr     r4, [r5]
 5777 0066 24F40064             bic     r4, r4, #2048
 5778 006a 2C60                 str     r4, [r5]
2153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 5779                           .loc 1 2153 5 view .LVU1833
2153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 260


 5780                           .loc 1 2153 21 is_stmt 0 view .LVU1834
 5781 006c 2224                 movs    r4, #34
 5782 006e 80F83D40             strb    r4, [r0, #61]
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5783                           .loc 1 2154 5 is_stmt 1 view .LVU1835
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5784                           .loc 1 2154 21 is_stmt 0 view .LVU1836
 5785 0072 1024                 movs    r4, #16
 5786 0074 80F83E40             strb    r4, [r0, #62]
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5787                           .loc 1 2155 5 is_stmt 1 view .LVU1837
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5788                           .loc 1 2155 21 is_stmt 0 view .LVU1838
 5789 0078 0024                 movs    r4, #0
 5790 007a 0464                 str     r4, [r0, #64]
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 5791                           .loc 1 2158 5 is_stmt 1 view .LVU1839
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 5792                           .loc 1 2158 23 is_stmt 0 view .LVU1840
 5793 007c 4262                 str     r2, [r0, #36]
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 5794                           .loc 1 2159 5 is_stmt 1 view .LVU1841
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 5795                           .loc 1 2159 23 is_stmt 0 view .LVU1842
 5796 007e 4385                 strh    r3, [r0, #42]   @ movhi
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5797                           .loc 1 2160 5 is_stmt 1 view .LVU1843
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5798                           .loc 1 2160 29 is_stmt 0 view .LVU1844
 5799 0080 438D                 ldrh    r3, [r0, #42]
 5800                   .LVL251:
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5801                           .loc 1 2160 29 view .LVU1845
 5802 0082 9BB2                 uxth    r3, r3
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5803                           .loc 1 2160 23 view .LVU1846
 5804 0084 0385                 strh    r3, [r0, #40]   @ movhi
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 5805                           .loc 1 2161 5 is_stmt 1 view .LVU1847
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 5806                           .loc 1 2161 23 is_stmt 0 view .LVU1848
 5807 0086 354A                 ldr     r2, .L397+8
 5808                   .LVL252:
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 5809                           .loc 1 2161 23 view .LVU1849
 5810 0088 C262                 str     r2, [r0, #44]
 5811                   .LVL253:
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5812                           .loc 1 2162 5 is_stmt 1 view .LVU1850
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5813                           .loc 1 2162 23 is_stmt 0 view .LVU1851
 5814 008a 4164                 str     r1, [r0, #68]
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5815                           .loc 1 2164 5 is_stmt 1 view .LVU1852
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 5816                           .loc 1 2164 8 is_stmt 0 view .LVU1853
 5817 008c 13BB                 cbnz    r3, .L396
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 261


2218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5818                           .loc 1 2218 7 is_stmt 1 view .LVU1854
 5819 008e 0268                 ldr     r2, [r0]
 5820 0090 1368                 ldr     r3, [r2]
 5821 0092 43F48063             orr     r3, r3, #1024
 5822 0096 1360                 str     r3, [r2]
 5823                   .LVL254:
2221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5824                           .loc 1 2221 7 view .LVU1855
 5825 0098 0268                 ldr     r2, [r0]
 5826 009a 1368                 ldr     r3, [r2]
 5827 009c 43F48073             orr     r3, r3, #256
 5828 00a0 1360                 str     r3, [r2]
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5829                           .loc 1 2224 7 view .LVU1856
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5830                           .loc 1 2224 7 view .LVU1857
 5831 00a2 0023                 movs    r3, #0
 5832 00a4 80F83C30             strb    r3, [r0, #60]
2231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 5833                           .loc 1 2231 7 view .LVU1858
 5834 00a8 0268                 ldr     r2, [r0]
 5835 00aa 5368                 ldr     r3, [r2, #4]
 5836 00ac 43F4E063             orr     r3, r3, #1792
 5837 00b0 5360                 str     r3, [r2, #4]
 5838                   .LVL255:
 5839                   .L391:
2234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5840                           .loc 1 2234 5 view .LVU1859
2234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5841                           .loc 1 2234 12 is_stmt 0 view .LVU1860
 5842 00b2 0020                 movs    r0, #0
 5843 00b4 49E0                 b       .L385
 5844                   .LVL256:
 5845                   .L395:
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 5846                           .loc 1 2127 9 is_stmt 1 view .LVU1861
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 5847                           .loc 1 2127 35 is_stmt 0 view .LVU1862
 5848 00b6 0023                 movs    r3, #0
 5849                   .LVL257:
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 5850                           .loc 1 2127 35 view .LVU1863
 5851 00b8 0363                 str     r3, [r0, #48]
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 5852                           .loc 1 2128 9 is_stmt 1 view .LVU1864
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 5853                           .loc 1 2128 35 is_stmt 0 view .LVU1865
 5854 00ba 2022                 movs    r2, #32
 5855                   .LVL258:
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 5856                           .loc 1 2128 35 view .LVU1866
 5857 00bc 80F83D20             strb    r2, [r0, #61]
2129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 5858                           .loc 1 2129 9 is_stmt 1 view .LVU1867
2129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 5859                           .loc 1 2129 35 is_stmt 0 view .LVU1868
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 262


 5860 00c0 80F83E30             strb    r3, [r0, #62]
2130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5861                           .loc 1 2130 9 is_stmt 1 view .LVU1869
2130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5862                           .loc 1 2130 35 is_stmt 0 view .LVU1870
 5863 00c4 026C                 ldr     r2, [r0, #64]
 5864 00c6 42F02002             orr     r2, r2, #32
 5865 00ca 0264                 str     r2, [r0, #64]
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5866                           .loc 1 2133 9 is_stmt 1 view .LVU1871
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5867                           .loc 1 2133 9 view .LVU1872
 5868 00cc 80F83C30             strb    r3, [r0, #60]
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5869                           .loc 1 2135 9 view .LVU1873
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5870                           .loc 1 2135 16 is_stmt 0 view .LVU1874
 5871 00d0 0120                 movs    r0, #1
 5872                   .LVL259:
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5873                           .loc 1 2135 16 view .LVU1875
 5874 00d2 3AE0                 b       .L385
 5875                   .LVL260:
 5876                   .L396:
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5877                           .loc 1 2135 16 view .LVU1876
 5878 00d4 0446                 mov     r4, r0
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5879                           .loc 1 2167 7 is_stmt 1 view .LVU1877
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5880                           .loc 1 2167 11 is_stmt 0 view .LVU1878
 5881 00d6 836B                 ldr     r3, [r0, #56]
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5882                           .loc 1 2167 38 view .LVU1879
 5883 00d8 214A                 ldr     r2, .L397+12
 5884 00da 9A62                 str     r2, [r3, #40]
 5885                   .LVL261:
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5886                           .loc 1 2170 7 is_stmt 1 view .LVU1880
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5887                           .loc 1 2170 11 is_stmt 0 view .LVU1881
 5888 00dc 836B                 ldr     r3, [r0, #56]
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5889                           .loc 1 2170 39 view .LVU1882
 5890 00de 214A                 ldr     r2, .L397+16
 5891 00e0 1A63                 str     r2, [r3, #48]
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 5892                           .loc 1 2173 7 is_stmt 1 view .LVU1883
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 5893                           .loc 1 2173 11 is_stmt 0 view .LVU1884
 5894 00e2 826B                 ldr     r2, [r0, #56]
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 5895                           .loc 1 2173 42 view .LVU1885
 5896 00e4 0023                 movs    r3, #0
 5897 00e6 D362                 str     r3, [r2, #44]
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5898                           .loc 1 2174 7 is_stmt 1 view .LVU1886
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 263


2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5899                           .loc 1 2174 11 is_stmt 0 view .LVU1887
 5900 00e8 826B                 ldr     r2, [r0, #56]
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5901                           .loc 1 2174 39 view .LVU1888
 5902 00ea 5363                 str     r3, [r2, #52]
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5903                           .loc 1 2177 7 is_stmt 1 view .LVU1889
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5904                           .loc 1 2177 69 is_stmt 0 view .LVU1890
 5905 00ec 0168                 ldr     r1, [r0]
 5906                   .LVL262:
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5907                           .loc 1 2177 23 view .LVU1891
 5908 00ee 038D                 ldrh    r3, [r0, #40]
 5909 00f0 426A                 ldr     r2, [r0, #36]
 5910 00f2 1031                 adds    r1, r1, #16
 5911 00f4 806B                 ldr     r0, [r0, #56]
 5912                   .LVL263:
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5913                           .loc 1 2177 23 view .LVU1892
 5914 00f6 FFF7FEFF             bl      HAL_DMA_Start_IT
 5915                   .LVL264:
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 5916                           .loc 1 2179 7 is_stmt 1 view .LVU1893
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 5917                           .loc 1 2179 10 is_stmt 0 view .LVU1894
 5918 00fa B8B9                 cbnz    r0, .L390
2182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5919                           .loc 1 2182 9 is_stmt 1 view .LVU1895
 5920 00fc 2268                 ldr     r2, [r4]
 5921 00fe 1368                 ldr     r3, [r2]
 5922 0100 43F48063             orr     r3, r3, #1024
 5923 0104 1360                 str     r3, [r2]
2185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5924                           .loc 1 2185 9 view .LVU1896
 5925 0106 2268                 ldr     r2, [r4]
 5926 0108 1368                 ldr     r3, [r2]
 5927 010a 43F48073             orr     r3, r3, #256
 5928 010e 1360                 str     r3, [r2]
2188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5929                           .loc 1 2188 9 view .LVU1897
2188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5930                           .loc 1 2188 9 view .LVU1898
 5931 0110 0023                 movs    r3, #0
 5932 0112 84F83C30             strb    r3, [r4, #60]
2195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5933                           .loc 1 2195 9 view .LVU1899
 5934 0116 2268                 ldr     r2, [r4]
 5935 0118 5368                 ldr     r3, [r2, #4]
 5936 011a 43F44073             orr     r3, r3, #768
 5937 011e 5360                 str     r3, [r2, #4]
2198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5938                           .loc 1 2198 9 view .LVU1900
 5939 0120 2268                 ldr     r2, [r4]
 5940 0122 5368                 ldr     r3, [r2, #4]
 5941 0124 43F40063             orr     r3, r3, #2048
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 264


 5942 0128 5360                 str     r3, [r2, #4]
 5943 012a C2E7                 b       .L391
 5944                   .L390:
2203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 5945                           .loc 1 2203 9 view .LVU1901
2203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 5946                           .loc 1 2203 25 is_stmt 0 view .LVU1902
 5947 012c 2023                 movs    r3, #32
 5948 012e 84F83D30             strb    r3, [r4, #61]
2204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5949                           .loc 1 2204 9 is_stmt 1 view .LVU1903
2204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5950                           .loc 1 2204 25 is_stmt 0 view .LVU1904
 5951 0132 0022                 movs    r2, #0
 5952 0134 84F83E20             strb    r2, [r4, #62]
2207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5953                           .loc 1 2207 9 is_stmt 1 view .LVU1905
2207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5954                           .loc 1 2207 25 is_stmt 0 view .LVU1906
 5955 0138 236C                 ldr     r3, [r4, #64]
 5956 013a 43F01003             orr     r3, r3, #16
 5957 013e 2364                 str     r3, [r4, #64]
2210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5958                           .loc 1 2210 9 is_stmt 1 view .LVU1907
2210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5959                           .loc 1 2210 9 view .LVU1908
 5960 0140 84F83C20             strb    r2, [r4, #60]
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5961                           .loc 1 2212 9 view .LVU1909
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5962                           .loc 1 2212 16 is_stmt 0 view .LVU1910
 5963 0144 0120                 movs    r0, #1
 5964                   .LVL265:
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 5965                           .loc 1 2212 16 view .LVU1911
 5966 0146 00E0                 b       .L385
 5967                   .LVL266:
 5968                   .L392:
2238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 5969                           .loc 1 2238 12 view .LVU1912
 5970 0148 0220                 movs    r0, #2
 5971                   .LVL267:
 5972                   .L385:
2240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5973                           .loc 1 2240 1 view .LVU1913
 5974 014a 03B0                 add     sp, sp, #12
 5975                   .LCFI68:
 5976                           .cfi_remember_state
 5977                           .cfi_def_cfa_offset 12
 5978                           @ sp needed
 5979 014c 30BD                 pop     {r4, r5, pc}
 5980                   .LVL268:
 5981                   .L393:
 5982                   .LCFI69:
 5983                           .cfi_restore_state
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5984                           .loc 1 2141 5 view .LVU1914
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 265


 5985 014e 0220                 movs    r0, #2
 5986                   .LVL269:
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 5987                           .loc 1 2141 5 view .LVU1915
 5988 0150 FBE7                 b       .L385
 5989                   .L398:
 5990 0152 00BF                 .align  2
 5991                   .L397:
 5992 0154 00000000             .word   SystemCoreClock
 5993 0158 89B5F814             .word   351843721
 5994 015c 0000FFFF             .word   -65536
 5995 0160 00000000             .word   I2C_DMAXferCplt
 5996 0164 00000000             .word   I2C_DMAError
 5997                           .cfi_endproc
 5998                   .LFE78:
 6000                           .section        .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
 6001                           .align  1
 6002                           .global HAL_I2C_Slave_Transmit_DMA
 6003                           .syntax unified
 6004                           .thumb
 6005                           .thumb_func
 6006                           .fpu softvfp
 6008                   HAL_I2C_Slave_Transmit_DMA:
 6009                   .LVL270:
 6010                   .LFB79:
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 6011                           .loc 1 2251 1 is_stmt 1 view -0
 6012                           .cfi_startproc
 6013                           @ args = 0, pretend = 0, frame = 0
 6014                           @ frame_needed = 0, uses_anonymous_args = 0
2252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6015                           .loc 1 2252 3 view .LVU1917
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6016                           .loc 1 2254 3 view .LVU1918
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6017                           .loc 1 2254 11 is_stmt 0 view .LVU1919
 6018 0000 90F83D30             ldrb    r3, [r0, #61]   @ zero_extendqisi2
 6019 0004 DBB2                 uxtb    r3, r3
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6020                           .loc 1 2254 6 view .LVU1920
 6021 0006 202B                 cmp     r3, #32
 6022 0008 5DD1                 bne     .L403
2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6023                           .loc 1 2256 5 is_stmt 1 view .LVU1921
2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6024                           .loc 1 2256 8 is_stmt 0 view .LVU1922
 6025 000a 0029                 cmp     r1, #0
 6026 000c 5ED0                 beq     .L404
2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6027                           .loc 1 2256 25 discriminator 1 view .LVU1923
 6028 000e 002A                 cmp     r2, #0
 6029 0010 5ED0                 beq     .L405
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6030                           .loc 1 2262 5 is_stmt 1 view .LVU1924
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6031                           .loc 1 2262 5 view .LVU1925
 6032 0012 90F83C30             ldrb    r3, [r0, #60]   @ zero_extendqisi2
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 266


 6033 0016 012B                 cmp     r3, #1
 6034 0018 5CD0                 beq     .L406
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 6035                           .loc 1 2251 1 is_stmt 0 discriminator 2 view .LVU1926
 6036 001a 10B5                 push    {r4, lr}
 6037                   .LCFI70:
 6038                           .cfi_def_cfa_offset 8
 6039                           .cfi_offset 4, -8
 6040                           .cfi_offset 14, -4
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6041                           .loc 1 2262 5 is_stmt 1 discriminator 2 view .LVU1927
 6042 001c 0123                 movs    r3, #1
 6043 001e 80F83C30             strb    r3, [r0, #60]
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6044                           .loc 1 2265 5 discriminator 2 view .LVU1928
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6045                           .loc 1 2265 14 is_stmt 0 discriminator 2 view .LVU1929
 6046 0022 0368                 ldr     r3, [r0]
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6047                           .loc 1 2265 24 discriminator 2 view .LVU1930
 6048 0024 1C68                 ldr     r4, [r3]
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6049                           .loc 1 2265 8 discriminator 2 view .LVU1931
 6050 0026 14F0010F             tst     r4, #1
 6051 002a 03D1                 bne     .L401
2268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6052                           .loc 1 2268 7 is_stmt 1 view .LVU1932
 6053 002c 1C68                 ldr     r4, [r3]
 6054 002e 44F00104             orr     r4, r4, #1
 6055 0032 1C60                 str     r4, [r3]
 6056                   .L401:
 6057 0034 0446                 mov     r4, r0
2272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6058                           .loc 1 2272 5 view .LVU1933
 6059 0036 0068                 ldr     r0, [r0]
 6060                   .LVL271:
2272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6061                           .loc 1 2272 5 is_stmt 0 view .LVU1934
 6062 0038 0368                 ldr     r3, [r0]
 6063 003a 23F40063             bic     r3, r3, #2048
 6064 003e 0360                 str     r3, [r0]
2274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 6065                           .loc 1 2274 5 is_stmt 1 view .LVU1935
2274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 6066                           .loc 1 2274 21 is_stmt 0 view .LVU1936
 6067 0040 2123                 movs    r3, #33
 6068 0042 84F83D30             strb    r3, [r4, #61]
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 6069                           .loc 1 2275 5 is_stmt 1 view .LVU1937
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 6070                           .loc 1 2275 21 is_stmt 0 view .LVU1938
 6071 0046 2023                 movs    r3, #32
 6072 0048 84F83E30             strb    r3, [r4, #62]
2276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6073                           .loc 1 2276 5 is_stmt 1 view .LVU1939
2276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6074                           .loc 1 2276 21 is_stmt 0 view .LVU1940
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 267


 6075 004c 0023                 movs    r3, #0
 6076 004e 2364                 str     r3, [r4, #64]
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6077                           .loc 1 2279 5 is_stmt 1 view .LVU1941
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6078                           .loc 1 2279 23 is_stmt 0 view .LVU1942
 6079 0050 6162                 str     r1, [r4, #36]
2280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 6080                           .loc 1 2280 5 is_stmt 1 view .LVU1943
2280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 6081                           .loc 1 2280 23 is_stmt 0 view .LVU1944
 6082 0052 6285                 strh    r2, [r4, #42]   @ movhi
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6083                           .loc 1 2281 5 is_stmt 1 view .LVU1945
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6084                           .loc 1 2281 29 is_stmt 0 view .LVU1946
 6085 0054 628D                 ldrh    r2, [r4, #42]
 6086                   .LVL272:
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6087                           .loc 1 2281 23 view .LVU1947
 6088 0056 2285                 strh    r2, [r4, #40]   @ movhi
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6089                           .loc 1 2282 5 is_stmt 1 view .LVU1948
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6090                           .loc 1 2282 23 is_stmt 0 view .LVU1949
 6091 0058 1F4A                 ldr     r2, .L411
 6092 005a E262                 str     r2, [r4, #44]
 6093                   .LVL273:
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6094                           .loc 1 2285 5 is_stmt 1 view .LVU1950
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6095                           .loc 1 2285 9 is_stmt 0 view .LVU1951
 6096 005c 626B                 ldr     r2, [r4, #52]
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6097                           .loc 1 2285 36 view .LVU1952
 6098 005e 1F49                 ldr     r1, .L411+4
 6099                   .LVL274:
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6100                           .loc 1 2285 36 view .LVU1953
 6101 0060 9162                 str     r1, [r2, #40]
 6102                   .LVL275:
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6103                           .loc 1 2288 5 is_stmt 1 view .LVU1954
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6104                           .loc 1 2288 9 is_stmt 0 view .LVU1955
 6105 0062 626B                 ldr     r2, [r4, #52]
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6106                           .loc 1 2288 37 view .LVU1956
 6107 0064 1E49                 ldr     r1, .L411+8
 6108 0066 1163                 str     r1, [r2, #48]
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferAbortCallback = NULL;
 6109                           .loc 1 2291 5 is_stmt 1 view .LVU1957
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferAbortCallback = NULL;
 6110                           .loc 1 2291 9 is_stmt 0 view .LVU1958
 6111 0068 626B                 ldr     r2, [r4, #52]
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferAbortCallback = NULL;
 6112                           .loc 1 2291 40 view .LVU1959
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 268


 6113 006a D362                 str     r3, [r2, #44]
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6114                           .loc 1 2292 5 is_stmt 1 view .LVU1960
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6115                           .loc 1 2292 9 is_stmt 0 view .LVU1961
 6116 006c 626B                 ldr     r2, [r4, #52]
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6117                           .loc 1 2292 37 view .LVU1962
 6118 006e 5363                 str     r3, [r2, #52]
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6119                           .loc 1 2295 5 is_stmt 1 view .LVU1963
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6120                           .loc 1 2295 93 is_stmt 0 view .LVU1964
 6121 0070 2268                 ldr     r2, [r4]
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6122                           .loc 1 2295 21 view .LVU1965
 6123 0072 238D                 ldrh    r3, [r4, #40]
 6124 0074 1032                 adds    r2, r2, #16
 6125 0076 616A                 ldr     r1, [r4, #36]
 6126 0078 606B                 ldr     r0, [r4, #52]
 6127 007a FFF7FEFF             bl      HAL_DMA_Start_IT
 6128                   .LVL276:
2297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6129                           .loc 1 2297 5 is_stmt 1 view .LVU1966
2297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6130                           .loc 1 2297 8 is_stmt 0 view .LVU1967
 6131 007e 0346                 mov     r3, r0
 6132 0080 98B9                 cbnz    r0, .L402
2300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6133                           .loc 1 2300 7 is_stmt 1 view .LVU1968
 6134 0082 2168                 ldr     r1, [r4]
 6135 0084 0A68                 ldr     r2, [r1]
 6136 0086 42F48062             orr     r2, r2, #1024
 6137 008a 0A60                 str     r2, [r1]
2303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6138                           .loc 1 2303 7 view .LVU1969
2303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6139                           .loc 1 2303 7 view .LVU1970
 6140 008c 0022                 movs    r2, #0
 6141 008e 84F83C20             strb    r2, [r4, #60]
2309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6142                           .loc 1 2309 7 view .LVU1971
 6143 0092 2168                 ldr     r1, [r4]
 6144 0094 4A68                 ldr     r2, [r1, #4]
 6145 0096 42F44072             orr     r2, r2, #768
 6146 009a 4A60                 str     r2, [r1, #4]
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6147                           .loc 1 2312 7 view .LVU1972
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6148                           .loc 1 2312 11 is_stmt 0 view .LVU1973
 6149 009c 2168                 ldr     r1, [r4]
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6150                           .loc 1 2312 27 view .LVU1974
 6151 009e 4A68                 ldr     r2, [r1, #4]
 6152 00a0 42F40062             orr     r2, r2, #2048
 6153 00a4 4A60                 str     r2, [r1, #4]
2314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 269


 6154                           .loc 1 2314 7 is_stmt 1 view .LVU1975
 6155                   .L400:
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6156                           .loc 1 2335 1 is_stmt 0 view .LVU1976
 6157 00a6 1846                 mov     r0, r3
 6158                   .LVL277:
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6159                           .loc 1 2335 1 view .LVU1977
 6160 00a8 10BD                 pop     {r4, pc}
 6161                   .LVL278:
 6162                   .L402:
2319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6163                           .loc 1 2319 7 is_stmt 1 view .LVU1978
2319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6164                           .loc 1 2319 23 is_stmt 0 view .LVU1979
 6165 00aa 2023                 movs    r3, #32
 6166 00ac 84F83D30             strb    r3, [r4, #61]
2320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6167                           .loc 1 2320 7 is_stmt 1 view .LVU1980
2320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6168                           .loc 1 2320 23 is_stmt 0 view .LVU1981
 6169 00b0 0022                 movs    r2, #0
 6170 00b2 84F83E20             strb    r2, [r4, #62]
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6171                           .loc 1 2323 7 is_stmt 1 view .LVU1982
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6172                           .loc 1 2323 23 is_stmt 0 view .LVU1983
 6173 00b6 236C                 ldr     r3, [r4, #64]
 6174 00b8 43F01003             orr     r3, r3, #16
 6175 00bc 2364                 str     r3, [r4, #64]
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6176                           .loc 1 2326 7 is_stmt 1 view .LVU1984
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6177                           .loc 1 2326 7 view .LVU1985
 6178 00be 84F83C20             strb    r2, [r4, #60]
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6179                           .loc 1 2328 7 view .LVU1986
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6180                           .loc 1 2328 14 is_stmt 0 view .LVU1987
 6181 00c2 0123                 movs    r3, #1
 6182 00c4 EFE7                 b       .L400
 6183                   .LVL279:
 6184                   .L403:
 6185                   .LCFI71:
 6186                           .cfi_def_cfa_offset 0
 6187                           .cfi_restore 4
 6188                           .cfi_restore 14
2333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 6189                           .loc 1 2333 12 view .LVU1988
 6190 00c6 0223                 movs    r3, #2
 6191                   .L408:
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6192                           .loc 1 2335 1 view .LVU1989
 6193 00c8 1846                 mov     r0, r3
 6194                   .LVL280:
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6195                           .loc 1 2335 1 view .LVU1990
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 270


 6196 00ca 7047                 bx      lr
 6197                   .LVL281:
 6198                   .L404:
2258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6199                           .loc 1 2258 15 view .LVU1991
 6200 00cc 0123                 movs    r3, #1
 6201 00ce FBE7                 b       .L408
 6202                   .L405:
 6203 00d0 0123                 movs    r3, #1
 6204 00d2 F9E7                 b       .L408
 6205                   .L406:
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6206                           .loc 1 2262 5 view .LVU1992
 6207 00d4 0223                 movs    r3, #2
 6208 00d6 F7E7                 b       .L408
 6209                   .L412:
 6210                           .align  2
 6211                   .L411:
 6212 00d8 0000FFFF             .word   -65536
 6213 00dc 00000000             .word   I2C_DMAXferCplt
 6214 00e0 00000000             .word   I2C_DMAError
 6215                           .cfi_endproc
 6216                   .LFE79:
 6218                           .section        .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
 6219                           .align  1
 6220                           .global HAL_I2C_Slave_Receive_DMA
 6221                           .syntax unified
 6222                           .thumb
 6223                           .thumb_func
 6224                           .fpu softvfp
 6226                   HAL_I2C_Slave_Receive_DMA:
 6227                   .LVL282:
 6228                   .LFB80:
2346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 6229                           .loc 1 2346 1 is_stmt 1 view -0
 6230                           .cfi_startproc
 6231                           @ args = 0, pretend = 0, frame = 0
 6232                           @ frame_needed = 0, uses_anonymous_args = 0
2347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6233                           .loc 1 2347 3 view .LVU1994
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6234                           .loc 1 2349 3 view .LVU1995
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6235                           .loc 1 2349 11 is_stmt 0 view .LVU1996
 6236 0000 90F83D30             ldrb    r3, [r0, #61]   @ zero_extendqisi2
 6237 0004 DBB2                 uxtb    r3, r3
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6238                           .loc 1 2349 6 view .LVU1997
 6239 0006 202B                 cmp     r3, #32
 6240 0008 5DD1                 bne     .L417
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6241                           .loc 1 2351 5 is_stmt 1 view .LVU1998
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6242                           .loc 1 2351 8 is_stmt 0 view .LVU1999
 6243 000a 0029                 cmp     r1, #0
 6244 000c 5ED0                 beq     .L418
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 271


 6245                           .loc 1 2351 25 discriminator 1 view .LVU2000
 6246 000e 002A                 cmp     r2, #0
 6247 0010 5ED0                 beq     .L419
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6248                           .loc 1 2357 5 is_stmt 1 view .LVU2001
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6249                           .loc 1 2357 5 view .LVU2002
 6250 0012 90F83C30             ldrb    r3, [r0, #60]   @ zero_extendqisi2
 6251 0016 012B                 cmp     r3, #1
 6252 0018 5CD0                 beq     .L420
2346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 6253                           .loc 1 2346 1 is_stmt 0 discriminator 2 view .LVU2003
 6254 001a 10B5                 push    {r4, lr}
 6255                   .LCFI72:
 6256                           .cfi_def_cfa_offset 8
 6257                           .cfi_offset 4, -8
 6258                           .cfi_offset 14, -4
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6259                           .loc 1 2357 5 is_stmt 1 discriminator 2 view .LVU2004
 6260 001c 0123                 movs    r3, #1
 6261 001e 80F83C30             strb    r3, [r0, #60]
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6262                           .loc 1 2360 5 discriminator 2 view .LVU2005
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6263                           .loc 1 2360 14 is_stmt 0 discriminator 2 view .LVU2006
 6264 0022 0368                 ldr     r3, [r0]
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6265                           .loc 1 2360 24 discriminator 2 view .LVU2007
 6266 0024 1C68                 ldr     r4, [r3]
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6267                           .loc 1 2360 8 discriminator 2 view .LVU2008
 6268 0026 14F0010F             tst     r4, #1
 6269 002a 03D1                 bne     .L415
2363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6270                           .loc 1 2363 7 is_stmt 1 view .LVU2009
 6271 002c 1C68                 ldr     r4, [r3]
 6272 002e 44F00104             orr     r4, r4, #1
 6273 0032 1C60                 str     r4, [r3]
 6274                   .L415:
 6275 0034 0446                 mov     r4, r0
2367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6276                           .loc 1 2367 5 view .LVU2010
 6277 0036 0068                 ldr     r0, [r0]
 6278                   .LVL283:
2367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6279                           .loc 1 2367 5 is_stmt 0 view .LVU2011
 6280 0038 0368                 ldr     r3, [r0]
 6281 003a 23F40063             bic     r3, r3, #2048
 6282 003e 0360                 str     r3, [r0]
2369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 6283                           .loc 1 2369 5 is_stmt 1 view .LVU2012
2369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 6284                           .loc 1 2369 21 is_stmt 0 view .LVU2013
 6285 0040 2223                 movs    r3, #34
 6286 0042 84F83D30             strb    r3, [r4, #61]
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 6287                           .loc 1 2370 5 is_stmt 1 view .LVU2014
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 272


2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 6288                           .loc 1 2370 21 is_stmt 0 view .LVU2015
 6289 0046 2023                 movs    r3, #32
 6290 0048 84F83E30             strb    r3, [r4, #62]
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6291                           .loc 1 2371 5 is_stmt 1 view .LVU2016
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6292                           .loc 1 2371 21 is_stmt 0 view .LVU2017
 6293 004c 0023                 movs    r3, #0
 6294 004e 2364                 str     r3, [r4, #64]
2374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6295                           .loc 1 2374 5 is_stmt 1 view .LVU2018
2374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6296                           .loc 1 2374 23 is_stmt 0 view .LVU2019
 6297 0050 6162                 str     r1, [r4, #36]
2375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 6298                           .loc 1 2375 5 is_stmt 1 view .LVU2020
2375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 6299                           .loc 1 2375 23 is_stmt 0 view .LVU2021
 6300 0052 6285                 strh    r2, [r4, #42]   @ movhi
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6301                           .loc 1 2376 5 is_stmt 1 view .LVU2022
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6302                           .loc 1 2376 29 is_stmt 0 view .LVU2023
 6303 0054 628D                 ldrh    r2, [r4, #42]
 6304                   .LVL284:
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6305                           .loc 1 2376 23 view .LVU2024
 6306 0056 2285                 strh    r2, [r4, #40]   @ movhi
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6307                           .loc 1 2377 5 is_stmt 1 view .LVU2025
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6308                           .loc 1 2377 23 is_stmt 0 view .LVU2026
 6309 0058 1F4A                 ldr     r2, .L425
 6310 005a E262                 str     r2, [r4, #44]
 6311                   .LVL285:
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6312                           .loc 1 2380 5 is_stmt 1 view .LVU2027
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6313                           .loc 1 2380 9 is_stmt 0 view .LVU2028
 6314 005c A26B                 ldr     r2, [r4, #56]
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6315                           .loc 1 2380 36 view .LVU2029
 6316 005e 1F49                 ldr     r1, .L425+4
 6317                   .LVL286:
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6318                           .loc 1 2380 36 view .LVU2030
 6319 0060 9162                 str     r1, [r2, #40]
 6320                   .LVL287:
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6321                           .loc 1 2383 5 is_stmt 1 view .LVU2031
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6322                           .loc 1 2383 9 is_stmt 0 view .LVU2032
 6323 0062 A26B                 ldr     r2, [r4, #56]
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6324                           .loc 1 2383 37 view .LVU2033
 6325 0064 1E49                 ldr     r1, .L425+8
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 273


 6326 0066 1163                 str     r1, [r2, #48]
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferAbortCallback = NULL;
 6327                           .loc 1 2386 5 is_stmt 1 view .LVU2034
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferAbortCallback = NULL;
 6328                           .loc 1 2386 9 is_stmt 0 view .LVU2035
 6329 0068 A26B                 ldr     r2, [r4, #56]
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferAbortCallback = NULL;
 6330                           .loc 1 2386 40 view .LVU2036
 6331 006a D362                 str     r3, [r2, #44]
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6332                           .loc 1 2387 5 is_stmt 1 view .LVU2037
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6333                           .loc 1 2387 9 is_stmt 0 view .LVU2038
 6334 006c A26B                 ldr     r2, [r4, #56]
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6335                           .loc 1 2387 37 view .LVU2039
 6336 006e 5363                 str     r3, [r2, #52]
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6337                           .loc 1 2390 5 is_stmt 1 view .LVU2040
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6338                           .loc 1 2390 67 is_stmt 0 view .LVU2041
 6339 0070 2168                 ldr     r1, [r4]
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6340                           .loc 1 2390 21 view .LVU2042
 6341 0072 238D                 ldrh    r3, [r4, #40]
 6342 0074 626A                 ldr     r2, [r4, #36]
 6343 0076 1031                 adds    r1, r1, #16
 6344 0078 A06B                 ldr     r0, [r4, #56]
 6345 007a FFF7FEFF             bl      HAL_DMA_Start_IT
 6346                   .LVL288:
2392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6347                           .loc 1 2392 5 is_stmt 1 view .LVU2043
2392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6348                           .loc 1 2392 8 is_stmt 0 view .LVU2044
 6349 007e 0346                 mov     r3, r0
 6350 0080 98B9                 cbnz    r0, .L416
2395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6351                           .loc 1 2395 7 is_stmt 1 view .LVU2045
 6352 0082 2168                 ldr     r1, [r4]
 6353 0084 0A68                 ldr     r2, [r1]
 6354 0086 42F48062             orr     r2, r2, #1024
 6355 008a 0A60                 str     r2, [r1]
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6356                           .loc 1 2398 7 view .LVU2046
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6357                           .loc 1 2398 7 view .LVU2047
 6358 008c 0022                 movs    r2, #0
 6359 008e 84F83C20             strb    r2, [r4, #60]
2404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6360                           .loc 1 2404 7 view .LVU2048
 6361 0092 2168                 ldr     r1, [r4]
 6362 0094 4A68                 ldr     r2, [r1, #4]
 6363 0096 42F44072             orr     r2, r2, #768
 6364 009a 4A60                 str     r2, [r1, #4]
2407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6365                           .loc 1 2407 7 view .LVU2049
 6366 009c 2168                 ldr     r1, [r4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 274


 6367 009e 4A68                 ldr     r2, [r1, #4]
 6368 00a0 42F40062             orr     r2, r2, #2048
 6369 00a4 4A60                 str     r2, [r1, #4]
2409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6370                           .loc 1 2409 7 view .LVU2050
 6371                   .L414:
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6372                           .loc 1 2430 1 is_stmt 0 view .LVU2051
 6373 00a6 1846                 mov     r0, r3
 6374                   .LVL289:
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6375                           .loc 1 2430 1 view .LVU2052
 6376 00a8 10BD                 pop     {r4, pc}
 6377                   .LVL290:
 6378                   .L416:
2414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6379                           .loc 1 2414 7 is_stmt 1 view .LVU2053
2414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6380                           .loc 1 2414 23 is_stmt 0 view .LVU2054
 6381 00aa 2023                 movs    r3, #32
 6382 00ac 84F83D30             strb    r3, [r4, #61]
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6383                           .loc 1 2415 7 is_stmt 1 view .LVU2055
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6384                           .loc 1 2415 23 is_stmt 0 view .LVU2056
 6385 00b0 0022                 movs    r2, #0
 6386 00b2 84F83E20             strb    r2, [r4, #62]
2418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6387                           .loc 1 2418 7 is_stmt 1 view .LVU2057
2418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6388                           .loc 1 2418 23 is_stmt 0 view .LVU2058
 6389 00b6 236C                 ldr     r3, [r4, #64]
 6390 00b8 43F01003             orr     r3, r3, #16
 6391 00bc 2364                 str     r3, [r4, #64]
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6392                           .loc 1 2421 7 is_stmt 1 view .LVU2059
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6393                           .loc 1 2421 7 view .LVU2060
 6394 00be 84F83C20             strb    r2, [r4, #60]
2423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6395                           .loc 1 2423 7 view .LVU2061
2423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6396                           .loc 1 2423 14 is_stmt 0 view .LVU2062
 6397 00c2 0123                 movs    r3, #1
 6398 00c4 EFE7                 b       .L414
 6399                   .LVL291:
 6400                   .L417:
 6401                   .LCFI73:
 6402                           .cfi_def_cfa_offset 0
 6403                           .cfi_restore 4
 6404                           .cfi_restore 14
2428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 6405                           .loc 1 2428 12 view .LVU2063
 6406 00c6 0223                 movs    r3, #2
 6407                   .L422:
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6408                           .loc 1 2430 1 view .LVU2064
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 275


 6409 00c8 1846                 mov     r0, r3
 6410                   .LVL292:
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6411                           .loc 1 2430 1 view .LVU2065
 6412 00ca 7047                 bx      lr
 6413                   .LVL293:
 6414                   .L418:
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6415                           .loc 1 2353 15 view .LVU2066
 6416 00cc 0123                 movs    r3, #1
 6417 00ce FBE7                 b       .L422
 6418                   .L419:
 6419 00d0 0123                 movs    r3, #1
 6420 00d2 F9E7                 b       .L422
 6421                   .L420:
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6422                           .loc 1 2357 5 view .LVU2067
 6423 00d4 0223                 movs    r3, #2
 6424 00d6 F7E7                 b       .L422
 6425                   .L426:
 6426                           .align  2
 6427                   .L425:
 6428 00d8 0000FFFF             .word   -65536
 6429 00dc 00000000             .word   I2C_DMAXferCplt
 6430 00e0 00000000             .word   I2C_DMAError
 6431                           .cfi_endproc
 6432                   .LFE80:
 6434                           .section        .text.HAL_I2C_Mem_Write,"ax",%progbits
 6435                           .align  1
 6436                           .global HAL_I2C_Mem_Write
 6437                           .syntax unified
 6438                           .thumb
 6439                           .thumb_func
 6440                           .fpu softvfp
 6442                   HAL_I2C_Mem_Write:
 6443                   .LVL294:
 6444                   .LFB81:
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 6445                           .loc 1 2446 1 is_stmt 1 view -0
 6446                           .cfi_startproc
 6447                           @ args = 12, pretend = 0, frame = 0
 6448                           @ frame_needed = 0, uses_anonymous_args = 0
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 6449                           .loc 1 2446 1 is_stmt 0 view .LVU2069
 6450 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 6451                   .LCFI74:
 6452                           .cfi_def_cfa_offset 24
 6453                           .cfi_offset 4, -24
 6454                           .cfi_offset 5, -20
 6455                           .cfi_offset 6, -16
 6456                           .cfi_offset 7, -12
 6457                           .cfi_offset 8, -8
 6458                           .cfi_offset 14, -4
 6459 0004 82B0                 sub     sp, sp, #8
 6460                   .LCFI75:
 6461                           .cfi_def_cfa_offset 32
 6462 0006 0446                 mov     r4, r0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 276


 6463 0008 0E46                 mov     r6, r1
 6464 000a 1746                 mov     r7, r2
 6465 000c 9846                 mov     r8, r3
2448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6466                           .loc 1 2448 3 is_stmt 1 view .LVU2070
2448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6467                           .loc 1 2448 24 is_stmt 0 view .LVU2071
 6468 000e FFF7FEFF             bl      HAL_GetTick
 6469                   .LVL295:
2451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6470                           .loc 1 2451 3 is_stmt 1 view .LVU2072
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6471                           .loc 1 2453 3 view .LVU2073
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6472                           .loc 1 2453 11 is_stmt 0 view .LVU2074
 6473 0012 94F83D30             ldrb    r3, [r4, #61]   @ zero_extendqisi2
 6474 0016 DBB2                 uxtb    r3, r3
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6475                           .loc 1 2453 6 view .LVU2075
 6476 0018 202B                 cmp     r3, #32
 6477 001a 04D0                 beq     .L442
2551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 6478                           .loc 1 2551 12 view .LVU2076
 6479 001c 0223                 movs    r3, #2
 6480                   .LVL296:
 6481                   .L428:
2553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6482                           .loc 1 2553 1 view .LVU2077
 6483 001e 1846                 mov     r0, r3
 6484 0020 02B0                 add     sp, sp, #8
 6485                   .LCFI76:
 6486                           .cfi_remember_state
 6487                           .cfi_def_cfa_offset 24
 6488                           @ sp needed
 6489 0022 BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 6490                   .LVL297:
 6491                   .L442:
 6492                   .LCFI77:
 6493                           .cfi_restore_state
2553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6494                           .loc 1 2553 1 view .LVU2078
 6495 0026 0546                 mov     r5, r0
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6496                           .loc 1 2456 5 is_stmt 1 view .LVU2079
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6497                           .loc 1 2456 9 is_stmt 0 view .LVU2080
 6498 0028 0090                 str     r0, [sp]
 6499 002a 1923                 movs    r3, #25
 6500 002c 0122                 movs    r2, #1
 6501 002e 4B49                 ldr     r1, .L448
 6502 0030 2046                 mov     r0, r4
 6503                   .LVL298:
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6504                           .loc 1 2456 9 view .LVU2081
 6505 0032 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 6506                   .LVL299:
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 277


 6507                           .loc 1 2456 8 view .LVU2082
 6508 0036 0028                 cmp     r0, #0
 6509 0038 40F08980             bne     .L438
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6510                           .loc 1 2462 5 is_stmt 1 view .LVU2083
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6511                           .loc 1 2462 5 view .LVU2084
 6512 003c 94F83C30             ldrb    r3, [r4, #60]   @ zero_extendqisi2
 6513 0040 012B                 cmp     r3, #1
 6514 0042 00F08680             beq     .L439
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6515                           .loc 1 2462 5 discriminator 2 view .LVU2085
 6516 0046 0123                 movs    r3, #1
 6517 0048 84F83C30             strb    r3, [r4, #60]
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6518                           .loc 1 2465 5 discriminator 2 view .LVU2086
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6519                           .loc 1 2465 14 is_stmt 0 discriminator 2 view .LVU2087
 6520 004c 2368                 ldr     r3, [r4]
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6521                           .loc 1 2465 24 discriminator 2 view .LVU2088
 6522 004e 1A68                 ldr     r2, [r3]
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6523                           .loc 1 2465 8 discriminator 2 view .LVU2089
 6524 0050 12F0010F             tst     r2, #1
 6525 0054 03D1                 bne     .L429
2468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6526                           .loc 1 2468 7 is_stmt 1 view .LVU2090
 6527 0056 1A68                 ldr     r2, [r3]
 6528 0058 42F00102             orr     r2, r2, #1
 6529 005c 1A60                 str     r2, [r3]
 6530                   .L429:
2472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6531                           .loc 1 2472 5 view .LVU2091
 6532 005e 2268                 ldr     r2, [r4]
 6533 0060 1368                 ldr     r3, [r2]
 6534 0062 23F40063             bic     r3, r3, #2048
 6535 0066 1360                 str     r3, [r2]
2474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 6536                           .loc 1 2474 5 view .LVU2092
2474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 6537                           .loc 1 2474 21 is_stmt 0 view .LVU2093
 6538 0068 2123                 movs    r3, #33
 6539 006a 84F83D30             strb    r3, [r4, #61]
2475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 6540                           .loc 1 2475 5 is_stmt 1 view .LVU2094
2475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 6541                           .loc 1 2475 21 is_stmt 0 view .LVU2095
 6542 006e 4023                 movs    r3, #64
 6543 0070 84F83E30             strb    r3, [r4, #62]
2476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6544                           .loc 1 2476 5 is_stmt 1 view .LVU2096
2476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6545                           .loc 1 2476 21 is_stmt 0 view .LVU2097
 6546 0074 0023                 movs    r3, #0
 6547 0076 2364                 str     r3, [r4, #64]
2479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 278


 6548                           .loc 1 2479 5 is_stmt 1 view .LVU2098
2479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6549                           .loc 1 2479 23 is_stmt 0 view .LVU2099
 6550 0078 089B                 ldr     r3, [sp, #32]
 6551 007a 6362                 str     r3, [r4, #36]
2480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 6552                           .loc 1 2480 5 is_stmt 1 view .LVU2100
2480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 6553                           .loc 1 2480 23 is_stmt 0 view .LVU2101
 6554 007c BDF82430             ldrh    r3, [sp, #36]
 6555 0080 6385                 strh    r3, [r4, #42]   @ movhi
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6556                           .loc 1 2481 5 is_stmt 1 view .LVU2102
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6557                           .loc 1 2481 29 is_stmt 0 view .LVU2103
 6558 0082 638D                 ldrh    r3, [r4, #42]
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6559                           .loc 1 2481 23 view .LVU2104
 6560 0084 2385                 strh    r3, [r4, #40]   @ movhi
2482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6561                           .loc 1 2482 5 is_stmt 1 view .LVU2105
2482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6562                           .loc 1 2482 23 is_stmt 0 view .LVU2106
 6563 0086 364B                 ldr     r3, .L448+4
 6564 0088 E362                 str     r3, [r4, #44]
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6565                           .loc 1 2485 5 is_stmt 1 view .LVU2107
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6566                           .loc 1 2485 9 is_stmt 0 view .LVU2108
 6567 008a 0195                 str     r5, [sp, #4]
 6568 008c 0A9B                 ldr     r3, [sp, #40]
 6569 008e 0093                 str     r3, [sp]
 6570 0090 4346                 mov     r3, r8
 6571 0092 3A46                 mov     r2, r7
 6572 0094 3146                 mov     r1, r6
 6573 0096 2046                 mov     r0, r4
 6574 0098 FFF7FEFF             bl      I2C_RequestMemoryWrite
 6575                   .LVL300:
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6576                           .loc 1 2485 8 view .LVU2109
 6577 009c 0028                 cmp     r0, #0
 6578 009e 5AD1                 bne     .L443
 6579                   .L430:
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6580                           .loc 1 2490 16 view .LVU2110
 6581 00a0 238D                 ldrh    r3, [r4, #40]
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6582                           .loc 1 2490 11 view .LVU2111
 6583 00a2 002B                 cmp     r3, #0
 6584 00a4 33D0                 beq     .L444
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 6585                           .loc 1 2493 7 is_stmt 1 view .LVU2112
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 6586                           .loc 1 2493 11 is_stmt 0 view .LVU2113
 6587 00a6 2A46                 mov     r2, r5
 6588 00a8 0A99                 ldr     r1, [sp, #40]
 6589 00aa 2046                 mov     r0, r4
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 279


 6590 00ac FFF7FEFF             bl      I2C_WaitOnTXEFlagUntilTimeout
 6591                   .LVL301:
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 6592                           .loc 1 2493 10 view .LVU2114
 6593 00b0 10BB                 cbnz    r0, .L445
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6594                           .loc 1 2504 7 is_stmt 1 view .LVU2115
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6595                           .loc 1 2504 33 is_stmt 0 view .LVU2116
 6596 00b2 626A                 ldr     r2, [r4, #36]
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6597                           .loc 1 2504 11 view .LVU2117
 6598 00b4 2368                 ldr     r3, [r4]
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6599                           .loc 1 2504 28 view .LVU2118
 6600 00b6 1278                 ldrb    r2, [r2]        @ zero_extendqisi2
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6601                           .loc 1 2504 26 view .LVU2119
 6602 00b8 1A61                 str     r2, [r3, #16]
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6603                           .loc 1 2507 7 is_stmt 1 view .LVU2120
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6604                           .loc 1 2507 11 is_stmt 0 view .LVU2121
 6605 00ba 616A                 ldr     r1, [r4, #36]
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6606                           .loc 1 2507 21 view .LVU2122
 6607 00bc 4B1C                 adds    r3, r1, #1
 6608 00be 6362                 str     r3, [r4, #36]
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
 6609                           .loc 1 2510 7 is_stmt 1 view .LVU2123
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
 6610                           .loc 1 2510 11 is_stmt 0 view .LVU2124
 6611 00c0 238D                 ldrh    r3, [r4, #40]
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->XferCount--;
 6612                           .loc 1 2510 21 view .LVU2125
 6613 00c2 013B                 subs    r3, r3, #1
 6614 00c4 9BB2                 uxth    r3, r3
 6615 00c6 2385                 strh    r3, [r4, #40]   @ movhi
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6616                           .loc 1 2511 7 is_stmt 1 view .LVU2126
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6617                           .loc 1 2511 11 is_stmt 0 view .LVU2127
 6618 00c8 628D                 ldrh    r2, [r4, #42]
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6619                           .loc 1 2511 22 view .LVU2128
 6620 00ca 013A                 subs    r2, r2, #1
 6621 00cc 92B2                 uxth    r2, r2
 6622 00ce 6285                 strh    r2, [r4, #42]   @ movhi
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 6623                           .loc 1 2513 7 is_stmt 1 view .LVU2129
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 6624                           .loc 1 2513 12 is_stmt 0 view .LVU2130
 6625 00d0 2268                 ldr     r2, [r4]
 6626 00d2 5069                 ldr     r0, [r2, #20]
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 6627                           .loc 1 2513 10 view .LVU2131
 6628 00d4 10F0040F             tst     r0, #4
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 280


 6629 00d8 E2D0                 beq     .L430
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 6630                           .loc 1 2513 59 discriminator 1 view .LVU2132
 6631 00da 002B                 cmp     r3, #0
 6632 00dc E0D0                 beq     .L430
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6633                           .loc 1 2516 9 is_stmt 1 view .LVU2133
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6634                           .loc 1 2516 30 is_stmt 0 view .LVU2134
 6635 00de 4B78                 ldrb    r3, [r1, #1]    @ zero_extendqisi2
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6636                           .loc 1 2516 28 view .LVU2135
 6637 00e0 1361                 str     r3, [r2, #16]
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6638                           .loc 1 2519 9 is_stmt 1 view .LVU2136
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6639                           .loc 1 2519 13 is_stmt 0 view .LVU2137
 6640 00e2 636A                 ldr     r3, [r4, #36]
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6641                           .loc 1 2519 23 view .LVU2138
 6642 00e4 0133                 adds    r3, r3, #1
 6643 00e6 6362                 str     r3, [r4, #36]
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 6644                           .loc 1 2522 9 is_stmt 1 view .LVU2139
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 6645                           .loc 1 2522 13 is_stmt 0 view .LVU2140
 6646 00e8 238D                 ldrh    r3, [r4, #40]
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 6647                           .loc 1 2522 23 view .LVU2141
 6648 00ea 013B                 subs    r3, r3, #1
 6649 00ec 2385                 strh    r3, [r4, #40]   @ movhi
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 6650                           .loc 1 2523 9 is_stmt 1 view .LVU2142
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 6651                           .loc 1 2523 13 is_stmt 0 view .LVU2143
 6652 00ee 638D                 ldrh    r3, [r4, #42]
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 6653                           .loc 1 2523 24 view .LVU2144
 6654 00f0 013B                 subs    r3, r3, #1
 6655 00f2 9BB2                 uxth    r3, r3
 6656 00f4 6385                 strh    r3, [r4, #42]   @ movhi
 6657 00f6 D3E7                 b       .L430
 6658                   .L445:
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 6659                           .loc 1 2495 9 is_stmt 1 view .LVU2145
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 6660                           .loc 1 2495 17 is_stmt 0 view .LVU2146
 6661 00f8 236C                 ldr     r3, [r4, #64]
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 6662                           .loc 1 2495 12 view .LVU2147
 6663 00fa 042B                 cmp     r3, #4
 6664 00fc 01D0                 beq     .L446
 6665                   .L432:
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 6666                           .loc 1 2500 9 is_stmt 1 view .LVU2148
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 6667                           .loc 1 2500 16 is_stmt 0 view .LVU2149
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 281


 6668 00fe 0123                 movs    r3, #1
 6669 0100 8DE7                 b       .L428
 6670                   .L446:
2498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 6671                           .loc 1 2498 11 is_stmt 1 view .LVU2150
 6672 0102 2268                 ldr     r2, [r4]
 6673 0104 1368                 ldr     r3, [r2]
 6674 0106 43F40073             orr     r3, r3, #512
 6675 010a 1360                 str     r3, [r2]
 6676 010c F7E7                 b       .L432
 6677                   .L444:
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6678                           .loc 1 2528 5 view .LVU2151
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6679                           .loc 1 2528 9 is_stmt 0 view .LVU2152
 6680 010e 2A46                 mov     r2, r5
 6681 0110 0A99                 ldr     r1, [sp, #40]
 6682 0112 2046                 mov     r0, r4
 6683 0114 FFF7FEFF             bl      I2C_WaitOnBTFFlagUntilTimeout
 6684                   .LVL302:
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6685                           .loc 1 2528 8 view .LVU2153
 6686 0118 0346                 mov     r3, r0
 6687 011a 50B1                 cbz     r0, .L435
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 6688                           .loc 1 2530 7 is_stmt 1 view .LVU2154
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 6689                           .loc 1 2530 15 is_stmt 0 view .LVU2155
 6690 011c 236C                 ldr     r3, [r4, #64]
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 6691                           .loc 1 2530 10 view .LVU2156
 6692 011e 042B                 cmp     r3, #4
 6693 0120 01D0                 beq     .L447
 6694                   .L436:
2535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6695                           .loc 1 2535 7 is_stmt 1 view .LVU2157
2535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6696                           .loc 1 2535 14 is_stmt 0 view .LVU2158
 6697 0122 0123                 movs    r3, #1
 6698 0124 7BE7                 b       .L428
 6699                   .L447:
2533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 6700                           .loc 1 2533 9 is_stmt 1 view .LVU2159
 6701 0126 2268                 ldr     r2, [r4]
 6702 0128 1368                 ldr     r3, [r2]
 6703 012a 43F40073             orr     r3, r3, #512
 6704 012e 1360                 str     r3, [r2]
 6705 0130 F7E7                 b       .L436
 6706                   .L435:
2539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6707                           .loc 1 2539 5 view .LVU2160
 6708 0132 2168                 ldr     r1, [r4]
 6709 0134 0A68                 ldr     r2, [r1]
 6710 0136 42F40072             orr     r2, r2, #512
 6711 013a 0A60                 str     r2, [r1]
2541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 6712                           .loc 1 2541 5 view .LVU2161
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 282


2541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 6713                           .loc 1 2541 17 is_stmt 0 view .LVU2162
 6714 013c 2022                 movs    r2, #32
 6715 013e 84F83D20             strb    r2, [r4, #61]
2542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6716                           .loc 1 2542 5 is_stmt 1 view .LVU2163
2542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6717                           .loc 1 2542 16 is_stmt 0 view .LVU2164
 6718 0142 0022                 movs    r2, #0
 6719 0144 84F83E20             strb    r2, [r4, #62]
2545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6720                           .loc 1 2545 5 is_stmt 1 view .LVU2165
2545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6721                           .loc 1 2545 5 view .LVU2166
 6722 0148 84F83C20             strb    r2, [r4, #60]
2547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 6723                           .loc 1 2547 5 view .LVU2167
2547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 6724                           .loc 1 2547 12 is_stmt 0 view .LVU2168
 6725 014c 67E7                 b       .L428
 6726                   .L438:
2458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6727                           .loc 1 2458 14 view .LVU2169
 6728 014e 0223                 movs    r3, #2
 6729 0150 65E7                 b       .L428
 6730                   .L439:
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6731                           .loc 1 2462 5 view .LVU2170
 6732 0152 0223                 movs    r3, #2
 6733 0154 63E7                 b       .L428
 6734                   .L443:
2487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6735                           .loc 1 2487 14 view .LVU2171
 6736 0156 0123                 movs    r3, #1
 6737 0158 61E7                 b       .L428
 6738                   .L449:
 6739 015a 00BF                 .align  2
 6740                   .L448:
 6741 015c 02001000             .word   1048578
 6742 0160 0000FFFF             .word   -65536
 6743                           .cfi_endproc
 6744                   .LFE81:
 6746                           .section        .text.HAL_I2C_Mem_Read,"ax",%progbits
 6747                           .align  1
 6748                           .global HAL_I2C_Mem_Read
 6749                           .syntax unified
 6750                           .thumb
 6751                           .thumb_func
 6752                           .fpu softvfp
 6754                   HAL_I2C_Mem_Read:
 6755                   .LVL303:
 6756                   .LFB82:
2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 6757                           .loc 1 2569 1 is_stmt 1 view -0
 6758                           .cfi_startproc
 6759                           @ args = 12, pretend = 0, frame = 16
 6760                           @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 283


2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 6761                           .loc 1 2569 1 is_stmt 0 view .LVU2173
 6762 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 6763                   .LCFI78:
 6764                           .cfi_def_cfa_offset 24
 6765                           .cfi_offset 4, -24
 6766                           .cfi_offset 5, -20
 6767                           .cfi_offset 6, -16
 6768                           .cfi_offset 7, -12
 6769                           .cfi_offset 8, -8
 6770                           .cfi_offset 14, -4
 6771 0004 86B0                 sub     sp, sp, #24
 6772                   .LCFI79:
 6773                           .cfi_def_cfa_offset 48
 6774 0006 0446                 mov     r4, r0
 6775 0008 0E46                 mov     r6, r1
 6776 000a 1746                 mov     r7, r2
 6777 000c 9846                 mov     r8, r3
2571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6778                           .loc 1 2571 3 is_stmt 1 view .LVU2174
2571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6779                           .loc 1 2571 24 is_stmt 0 view .LVU2175
 6780 000e FFF7FEFF             bl      HAL_GetTick
 6781                   .LVL304:
2574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6782                           .loc 1 2574 3 is_stmt 1 view .LVU2176
2576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6783                           .loc 1 2576 3 view .LVU2177
2576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6784                           .loc 1 2576 11 is_stmt 0 view .LVU2178
 6785 0012 94F83D30             ldrb    r3, [r4, #61]   @ zero_extendqisi2
 6786 0016 DBB2                 uxtb    r3, r3
2576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 6787                           .loc 1 2576 6 view .LVU2179
 6788 0018 202B                 cmp     r3, #32
 6789 001a 04D0                 beq     .L473
2829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 6790                           .loc 1 2829 12 view .LVU2180
 6791 001c 0226                 movs    r6, #2
 6792                   .LVL305:
 6793                   .L451:
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6794                           .loc 1 2831 1 view .LVU2181
 6795 001e 3046                 mov     r0, r6
 6796 0020 06B0                 add     sp, sp, #24
 6797                   .LCFI80:
 6798                           .cfi_remember_state
 6799                           .cfi_def_cfa_offset 24
 6800                           @ sp needed
 6801 0022 BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 6802                   .LVL306:
 6803                   .L473:
 6804                   .LCFI81:
 6805                           .cfi_restore_state
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6806                           .loc 1 2831 1 view .LVU2182
 6807 0026 0546                 mov     r5, r0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 284


2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6808                           .loc 1 2579 5 is_stmt 1 view .LVU2183
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6809                           .loc 1 2579 9 is_stmt 0 view .LVU2184
 6810 0028 0090                 str     r0, [sp]
 6811 002a 1923                 movs    r3, #25
 6812 002c 0122                 movs    r2, #1
 6813 002e 8C49                 ldr     r1, .L479
 6814 0030 2046                 mov     r0, r4
 6815                   .LVL307:
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6816                           .loc 1 2579 9 view .LVU2185
 6817 0032 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 6818                   .LVL308:
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6819                           .loc 1 2579 8 view .LVU2186
 6820 0036 0028                 cmp     r0, #0
 6821 0038 40F04881             bne     .L464
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6822                           .loc 1 2585 5 is_stmt 1 view .LVU2187
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6823                           .loc 1 2585 5 view .LVU2188
 6824 003c 94F83C30             ldrb    r3, [r4, #60]   @ zero_extendqisi2
 6825 0040 012B                 cmp     r3, #1
 6826 0042 00F04581             beq     .L465
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6827                           .loc 1 2585 5 discriminator 2 view .LVU2189
 6828 0046 0123                 movs    r3, #1
 6829 0048 84F83C30             strb    r3, [r4, #60]
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6830                           .loc 1 2588 5 discriminator 2 view .LVU2190
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6831                           .loc 1 2588 14 is_stmt 0 discriminator 2 view .LVU2191
 6832 004c 2368                 ldr     r3, [r4]
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6833                           .loc 1 2588 24 discriminator 2 view .LVU2192
 6834 004e 1A68                 ldr     r2, [r3]
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6835                           .loc 1 2588 8 discriminator 2 view .LVU2193
 6836 0050 12F0010F             tst     r2, #1
 6837 0054 03D1                 bne     .L452
2591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6838                           .loc 1 2591 7 is_stmt 1 view .LVU2194
 6839 0056 1A68                 ldr     r2, [r3]
 6840 0058 42F00102             orr     r2, r2, #1
 6841 005c 1A60                 str     r2, [r3]
 6842                   .L452:
2595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6843                           .loc 1 2595 5 view .LVU2195
 6844 005e 2268                 ldr     r2, [r4]
 6845 0060 1368                 ldr     r3, [r2]
 6846 0062 23F40063             bic     r3, r3, #2048
 6847 0066 1360                 str     r3, [r2]
2597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 6848                           .loc 1 2597 5 view .LVU2196
2597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 6849                           .loc 1 2597 21 is_stmt 0 view .LVU2197
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 285


 6850 0068 2223                 movs    r3, #34
 6851 006a 84F83D30             strb    r3, [r4, #61]
2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 6852                           .loc 1 2598 5 is_stmt 1 view .LVU2198
2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 6853                           .loc 1 2598 21 is_stmt 0 view .LVU2199
 6854 006e 4023                 movs    r3, #64
 6855 0070 84F83E30             strb    r3, [r4, #62]
2599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6856                           .loc 1 2599 5 is_stmt 1 view .LVU2200
2599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6857                           .loc 1 2599 21 is_stmt 0 view .LVU2201
 6858 0074 0023                 movs    r3, #0
 6859 0076 2364                 str     r3, [r4, #64]
2602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6860                           .loc 1 2602 5 is_stmt 1 view .LVU2202
2602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6861                           .loc 1 2602 23 is_stmt 0 view .LVU2203
 6862 0078 0C9B                 ldr     r3, [sp, #48]
 6863 007a 6362                 str     r3, [r4, #36]
2603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 6864                           .loc 1 2603 5 is_stmt 1 view .LVU2204
2603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 6865                           .loc 1 2603 23 is_stmt 0 view .LVU2205
 6866 007c BDF83430             ldrh    r3, [sp, #52]
 6867 0080 6385                 strh    r3, [r4, #42]   @ movhi
2604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6868                           .loc 1 2604 5 is_stmt 1 view .LVU2206
2604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6869                           .loc 1 2604 29 is_stmt 0 view .LVU2207
 6870 0082 638D                 ldrh    r3, [r4, #42]
2604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6871                           .loc 1 2604 23 view .LVU2208
 6872 0084 2385                 strh    r3, [r4, #40]   @ movhi
2605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6873                           .loc 1 2605 5 is_stmt 1 view .LVU2209
2605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6874                           .loc 1 2605 23 is_stmt 0 view .LVU2210
 6875 0086 774B                 ldr     r3, .L479+4
 6876 0088 E362                 str     r3, [r4, #44]
2608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6877                           .loc 1 2608 5 is_stmt 1 view .LVU2211
2608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6878                           .loc 1 2608 9 is_stmt 0 view .LVU2212
 6879 008a 0195                 str     r5, [sp, #4]
 6880 008c 0E9B                 ldr     r3, [sp, #56]
 6881 008e 0093                 str     r3, [sp]
 6882 0090 4346                 mov     r3, r8
 6883 0092 3A46                 mov     r2, r7
 6884 0094 3146                 mov     r1, r6
 6885 0096 2046                 mov     r0, r4
 6886 0098 FFF7FEFF             bl      I2C_RequestMemoryRead
 6887                   .LVL309:
2608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6888                           .loc 1 2608 8 view .LVU2213
 6889 009c 0646                 mov     r6, r0
 6890 009e 0028                 cmp     r0, #0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 286


 6891 00a0 40F01881             bne     .L466
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6892                           .loc 1 2613 5 is_stmt 1 view .LVU2214
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6893                           .loc 1 2613 13 is_stmt 0 view .LVU2215
 6894 00a4 238D                 ldrh    r3, [r4, #40]
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6895                           .loc 1 2613 8 view .LVU2216
 6896 00a6 5BB9                 cbnz    r3, .L453
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6897                           .loc 1 2616 7 is_stmt 1 view .LVU2217
 6898                   .LBB81:
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6899                           .loc 1 2616 7 view .LVU2218
 6900 00a8 0293                 str     r3, [sp, #8]
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6901                           .loc 1 2616 7 view .LVU2219
 6902 00aa 2368                 ldr     r3, [r4]
 6903 00ac 5A69                 ldr     r2, [r3, #20]
 6904 00ae 0292                 str     r2, [sp, #8]
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6905                           .loc 1 2616 7 view .LVU2220
 6906 00b0 9A69                 ldr     r2, [r3, #24]
 6907 00b2 0292                 str     r2, [sp, #8]
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6908                           .loc 1 2616 7 view .LVU2221
 6909 00b4 029A                 ldr     r2, [sp, #8]
 6910                   .LBE81:
2619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6911                           .loc 1 2619 7 view .LVU2222
 6912 00b6 1A68                 ldr     r2, [r3]
 6913 00b8 42F40072             orr     r2, r2, #512
 6914 00bc 1A60                 str     r2, [r3]
 6915 00be 7DE0                 b       .L456
 6916                   .L453:
2621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6917                           .loc 1 2621 10 view .LVU2223
2621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6918                           .loc 1 2621 13 is_stmt 0 view .LVU2224
 6919 00c0 012B                 cmp     r3, #1
 6920 00c2 0FD0                 beq     .L474
2639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6921                           .loc 1 2639 10 is_stmt 1 view .LVU2225
2639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 6922                           .loc 1 2639 13 is_stmt 0 view .LVU2226
 6923 00c4 022B                 cmp     r3, #2
 6924 00c6 21D0                 beq     .L475
2660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       /* Clear ADDR flag */
 6925                           .loc 1 2660 7 is_stmt 1 view .LVU2227
 6926 00c8 2268                 ldr     r2, [r4]
 6927 00ca 1368                 ldr     r3, [r2]
 6928 00cc 43F48063             orr     r3, r3, #1024
 6929 00d0 1360                 str     r3, [r2]
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6930                           .loc 1 2662 7 view .LVU2228
 6931                   .LBB82:
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 287


 6932                           .loc 1 2662 7 view .LVU2229
 6933 00d2 0023                 movs    r3, #0
 6934 00d4 0593                 str     r3, [sp, #20]
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6935                           .loc 1 2662 7 view .LVU2230
 6936 00d6 2368                 ldr     r3, [r4]
 6937 00d8 5A69                 ldr     r2, [r3, #20]
 6938 00da 0592                 str     r2, [sp, #20]
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6939                           .loc 1 2662 7 view .LVU2231
 6940 00dc 9B69                 ldr     r3, [r3, #24]
 6941 00de 0593                 str     r3, [sp, #20]
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6942                           .loc 1 2662 7 view .LVU2232
 6943 00e0 059B                 ldr     r3, [sp, #20]
 6944 00e2 6BE0                 b       .L456
 6945                   .L474:
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6946                           .loc 1 2662 7 is_stmt 0 view .LVU2233
 6947                   .LBE82:
2624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6948                           .loc 1 2624 7 is_stmt 1 view .LVU2234
 6949 00e4 2268                 ldr     r2, [r4]
 6950 00e6 1368                 ldr     r3, [r2]
 6951 00e8 23F48063             bic     r3, r3, #1024
 6952 00ec 1360                 str     r3, [r2]
2628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6953                           .loc 1 2628 7 view .LVU2235
 6954                   .LBB83:
 6955                   .LBI83:
 140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 6956                           .loc 2 140 27 view .LVU2236
 6957                   .LBB84:
 6958                           .loc 2 142 3 view .LVU2237
 6959                           .syntax unified
 6960                   @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 6961 00ee 72B6                 cpsid i
 6962                   @ 0 "" 2
 6963                           .thumb
 6964                           .syntax unified
 6965                   .LBE84:
 6966                   .LBE83:
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6967                           .loc 1 2631 7 view .LVU2238
 6968                   .LBB85:
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6969                           .loc 1 2631 7 view .LVU2239
 6970 00f0 0023                 movs    r3, #0
 6971 00f2 0393                 str     r3, [sp, #12]
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6972                           .loc 1 2631 7 view .LVU2240
 6973 00f4 2368                 ldr     r3, [r4]
 6974 00f6 5A69                 ldr     r2, [r3, #20]
 6975 00f8 0392                 str     r2, [sp, #12]
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6976                           .loc 1 2631 7 view .LVU2241
 6977 00fa 9A69                 ldr     r2, [r3, #24]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 288


 6978 00fc 0392                 str     r2, [sp, #12]
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6979                           .loc 1 2631 7 view .LVU2242
 6980 00fe 039A                 ldr     r2, [sp, #12]
 6981                   .LBE85:
2634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 6982                           .loc 1 2634 7 view .LVU2243
 6983 0100 1A68                 ldr     r2, [r3]
 6984 0102 42F40072             orr     r2, r2, #512
 6985 0106 1A60                 str     r2, [r3]
2637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 6986                           .loc 1 2637 7 view .LVU2244
 6987                   .LBB86:
 6988                   .LBI86:
 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 6989                           .loc 2 129 27 view .LVU2245
 6990                   .LBB87:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 6991                           .loc 2 131 3 view .LVU2246
 6992                           .syntax unified
 6993                   @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 6994 0108 62B6                 cpsie i
 6995                   @ 0 "" 2
 6996                           .thumb
 6997                           .syntax unified
 6998 010a 57E0                 b       .L456
 6999                   .L475:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 7000                           .loc 2 131 3 is_stmt 0 view .LVU2247
 7001                   .LBE87:
 7002                   .LBE86:
2642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7003                           .loc 1 2642 7 is_stmt 1 view .LVU2248
 7004 010c 2268                 ldr     r2, [r4]
 7005 010e 1368                 ldr     r3, [r2]
 7006 0110 43F40063             orr     r3, r3, #2048
 7007 0114 1360                 str     r3, [r2]
2646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7008                           .loc 1 2646 7 view .LVU2249
 7009                   .LBB88:
 7010                   .LBI88:
 140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 7011                           .loc 2 140 27 view .LVU2250
 7012                   .LBB89:
 7013                           .loc 2 142 3 view .LVU2251
 7014                           .syntax unified
 7015                   @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 7016 0116 72B6                 cpsid i
 7017                   @ 0 "" 2
 7018                           .thumb
 7019                           .syntax unified
 7020                   .LBE89:
 7021                   .LBE88:
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7022                           .loc 1 2649 7 view .LVU2252
 7023                   .LBB90:
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 289


 7024                           .loc 1 2649 7 view .LVU2253
 7025 0118 0023                 movs    r3, #0
 7026 011a 0493                 str     r3, [sp, #16]
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7027                           .loc 1 2649 7 view .LVU2254
 7028 011c 2368                 ldr     r3, [r4]
 7029 011e 5A69                 ldr     r2, [r3, #20]
 7030 0120 0492                 str     r2, [sp, #16]
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7031                           .loc 1 2649 7 view .LVU2255
 7032 0122 9A69                 ldr     r2, [r3, #24]
 7033 0124 0492                 str     r2, [sp, #16]
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7034                           .loc 1 2649 7 view .LVU2256
 7035 0126 049A                 ldr     r2, [sp, #16]
 7036                   .LBE90:
2652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7037                           .loc 1 2652 7 view .LVU2257
 7038 0128 1A68                 ldr     r2, [r3]
 7039 012a 22F48062             bic     r2, r2, #1024
 7040 012e 1A60                 str     r2, [r3]
2655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 7041                           .loc 1 2655 7 view .LVU2258
 7042                   .LBB91:
 7043                   .LBI91:
 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 7044                           .loc 2 129 27 view .LVU2259
 7045                   .LBB92:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 7046                           .loc 2 131 3 view .LVU2260
 7047                           .syntax unified
 7048                   @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 7049 0130 62B6                 cpsie i
 7050                   @ 0 "" 2
 7051                           .thumb
 7052                           .syntax unified
 7053 0132 43E0                 b       .L456
 7054                   .L477:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 7055                           .loc 2 131 3 is_stmt 0 view .LVU2261
 7056                   .LBE92:
 7057                   .LBE91:
2673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7058                           .loc 1 2673 11 is_stmt 1 view .LVU2262
2673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7059                           .loc 1 2673 15 is_stmt 0 view .LVU2263
 7060 0134 2A46                 mov     r2, r5
 7061 0136 0E99                 ldr     r1, [sp, #56]
 7062 0138 2046                 mov     r0, r4
 7063 013a FFF7FEFF             bl      I2C_WaitOnRXNEFlagUntilTimeout
 7064                   .LVL310:
2673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7065                           .loc 1 2673 14 view .LVU2264
 7066 013e 0028                 cmp     r0, #0
 7067 0140 40F0CA80             bne     .L467
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7068                           .loc 1 2679 11 is_stmt 1 view .LVU2265
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 290


2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7069                           .loc 1 2679 42 is_stmt 0 view .LVU2266
 7070 0144 2368                 ldr     r3, [r4]
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7071                           .loc 1 2679 52 view .LVU2267
 7072 0146 1A69                 ldr     r2, [r3, #16]
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7073                           .loc 1 2679 16 view .LVU2268
 7074 0148 636A                 ldr     r3, [r4, #36]
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7075                           .loc 1 2679 27 view .LVU2269
 7076 014a 1A70                 strb    r2, [r3]
2682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7077                           .loc 1 2682 11 is_stmt 1 view .LVU2270
2682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7078                           .loc 1 2682 15 is_stmt 0 view .LVU2271
 7079 014c 636A                 ldr     r3, [r4, #36]
2682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7080                           .loc 1 2682 25 view .LVU2272
 7081 014e 0133                 adds    r3, r3, #1
 7082 0150 6362                 str     r3, [r4, #36]
2685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7083                           .loc 1 2685 11 is_stmt 1 view .LVU2273
2685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7084                           .loc 1 2685 15 is_stmt 0 view .LVU2274
 7085 0152 238D                 ldrh    r3, [r4, #40]
2685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7086                           .loc 1 2685 25 view .LVU2275
 7087 0154 013B                 subs    r3, r3, #1
 7088 0156 2385                 strh    r3, [r4, #40]   @ movhi
2686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7089                           .loc 1 2686 11 is_stmt 1 view .LVU2276
2686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7090                           .loc 1 2686 15 is_stmt 0 view .LVU2277
 7091 0158 638D                 ldrh    r3, [r4, #42]
2686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7092                           .loc 1 2686 26 view .LVU2278
 7093 015a 013B                 subs    r3, r3, #1
 7094 015c 9BB2                 uxth    r3, r3
 7095 015e 6385                 strh    r3, [r4, #42]   @ movhi
 7096 0160 2CE0                 b       .L456
 7097                   .L478:
2692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7098                           .loc 1 2692 11 is_stmt 1 view .LVU2279
2692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7099                           .loc 1 2692 15 is_stmt 0 view .LVU2280
 7100 0162 0095                 str     r5, [sp]
 7101 0164 0E9B                 ldr     r3, [sp, #56]
 7102 0166 0022                 movs    r2, #0
 7103 0168 3F49                 ldr     r1, .L479+8
 7104 016a 2046                 mov     r0, r4
 7105 016c FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 7106                   .LVL311:
2692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7107                           .loc 1 2692 14 view .LVU2281
 7108 0170 0028                 cmp     r0, #0
 7109 0172 40F0B380             bne     .L468
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 291


2699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7110                           .loc 1 2699 11 is_stmt 1 view .LVU2282
 7111                   .LBB93:
 7112                   .LBI93:
 140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 7113                           .loc 2 140 27 view .LVU2283
 7114                   .LBB94:
 7115                           .loc 2 142 3 view .LVU2284
 7116                           .syntax unified
 7117                   @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 7118 0176 72B6                 cpsid i
 7119                   @ 0 "" 2
 7120                           .thumb
 7121                           .syntax unified
 7122                   .LBE94:
 7123                   .LBE93:
2702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7124                           .loc 1 2702 11 view .LVU2285
 7125 0178 2268                 ldr     r2, [r4]
 7126 017a 1368                 ldr     r3, [r2]
 7127 017c 43F40073             orr     r3, r3, #512
 7128 0180 1360                 str     r3, [r2]
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7129                           .loc 1 2705 11 view .LVU2286
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7130                           .loc 1 2705 42 is_stmt 0 view .LVU2287
 7131 0182 2368                 ldr     r3, [r4]
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7132                           .loc 1 2705 52 view .LVU2288
 7133 0184 1A69                 ldr     r2, [r3, #16]
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7134                           .loc 1 2705 16 view .LVU2289
 7135 0186 636A                 ldr     r3, [r4, #36]
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7136                           .loc 1 2705 27 view .LVU2290
 7137 0188 1A70                 strb    r2, [r3]
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7138                           .loc 1 2708 11 is_stmt 1 view .LVU2291
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7139                           .loc 1 2708 15 is_stmt 0 view .LVU2292
 7140 018a 636A                 ldr     r3, [r4, #36]
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7141                           .loc 1 2708 25 view .LVU2293
 7142 018c 0133                 adds    r3, r3, #1
 7143 018e 6362                 str     r3, [r4, #36]
2711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7144                           .loc 1 2711 11 is_stmt 1 view .LVU2294
2711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7145                           .loc 1 2711 15 is_stmt 0 view .LVU2295
 7146 0190 238D                 ldrh    r3, [r4, #40]
2711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7147                           .loc 1 2711 25 view .LVU2296
 7148 0192 013B                 subs    r3, r3, #1
 7149 0194 2385                 strh    r3, [r4, #40]   @ movhi
2712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7150                           .loc 1 2712 11 is_stmt 1 view .LVU2297
2712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 292


 7151                           .loc 1 2712 15 is_stmt 0 view .LVU2298
 7152 0196 638D                 ldrh    r3, [r4, #42]
2712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7153                           .loc 1 2712 26 view .LVU2299
 7154 0198 013B                 subs    r3, r3, #1
 7155 019a 9BB2                 uxth    r3, r3
 7156 019c 6385                 strh    r3, [r4, #42]   @ movhi
2715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7157                           .loc 1 2715 11 is_stmt 1 view .LVU2300
 7158                   .LBB95:
 7159                   .LBI95:
 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 7160                           .loc 2 129 27 view .LVU2301
 7161                   .LBB96:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 7162                           .loc 2 131 3 view .LVU2302
 7163                           .syntax unified
 7164                   @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 7165 019e 62B6                 cpsie i
 7166                   @ 0 "" 2
 7167                           .thumb
 7168                           .syntax unified
 7169                   .LBE96:
 7170                   .LBE95:
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7171                           .loc 1 2718 11 view .LVU2303
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7172                           .loc 1 2718 42 is_stmt 0 view .LVU2304
 7173 01a0 2368                 ldr     r3, [r4]
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7174                           .loc 1 2718 52 view .LVU2305
 7175 01a2 1A69                 ldr     r2, [r3, #16]
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7176                           .loc 1 2718 16 view .LVU2306
 7177 01a4 636A                 ldr     r3, [r4, #36]
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7178                           .loc 1 2718 27 view .LVU2307
 7179 01a6 1A70                 strb    r2, [r3]
2721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7180                           .loc 1 2721 11 is_stmt 1 view .LVU2308
2721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7181                           .loc 1 2721 15 is_stmt 0 view .LVU2309
 7182 01a8 636A                 ldr     r3, [r4, #36]
2721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7183                           .loc 1 2721 25 view .LVU2310
 7184 01aa 0133                 adds    r3, r3, #1
 7185 01ac 6362                 str     r3, [r4, #36]
2724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7186                           .loc 1 2724 11 is_stmt 1 view .LVU2311
2724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7187                           .loc 1 2724 15 is_stmt 0 view .LVU2312
 7188 01ae 238D                 ldrh    r3, [r4, #40]
2724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7189                           .loc 1 2724 25 view .LVU2313
 7190 01b0 013B                 subs    r3, r3, #1
 7191 01b2 2385                 strh    r3, [r4, #40]   @ movhi
2725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 293


 7192                           .loc 1 2725 11 is_stmt 1 view .LVU2314
2725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7193                           .loc 1 2725 15 is_stmt 0 view .LVU2315
 7194 01b4 638D                 ldrh    r3, [r4, #42]
2725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7195                           .loc 1 2725 26 view .LVU2316
 7196 01b6 013B                 subs    r3, r3, #1
 7197 01b8 9BB2                 uxth    r3, r3
 7198 01ba 6385                 strh    r3, [r4, #42]   @ movhi
 7199                   .L456:
2665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7200                           .loc 1 2665 16 view .LVU2317
 7201 01bc 238D                 ldrh    r3, [r4, #40]
2665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7202                           .loc 1 2665 11 view .LVU2318
 7203 01be 002B                 cmp     r3, #0
 7204 01c0 7BD0                 beq     .L476
2667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 7205                           .loc 1 2667 7 is_stmt 1 view .LVU2319
2667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 7206                           .loc 1 2667 10 is_stmt 0 view .LVU2320
 7207 01c2 032B                 cmp     r3, #3
 7208 01c4 52D8                 bhi     .L458
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 7209                           .loc 1 2670 9 is_stmt 1 view .LVU2321
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 7210                           .loc 1 2670 12 is_stmt 0 view .LVU2322
 7211 01c6 012B                 cmp     r3, #1
 7212 01c8 B4D0                 beq     .L477
2689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 7213                           .loc 1 2689 14 is_stmt 1 view .LVU2323
2689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 7214                           .loc 1 2689 17 is_stmt 0 view .LVU2324
 7215 01ca 022B                 cmp     r3, #2
 7216 01cc C9D0                 beq     .L478
2731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7217                           .loc 1 2731 11 is_stmt 1 view .LVU2325
2731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7218                           .loc 1 2731 15 is_stmt 0 view .LVU2326
 7219 01ce 0095                 str     r5, [sp]
 7220 01d0 0E9B                 ldr     r3, [sp, #56]
 7221 01d2 0022                 movs    r2, #0
 7222 01d4 2449                 ldr     r1, .L479+8
 7223 01d6 2046                 mov     r0, r4
 7224 01d8 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 7225                   .LVL312:
2731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7226                           .loc 1 2731 14 view .LVU2327
 7227 01dc 0028                 cmp     r0, #0
 7228 01de 7FD1                 bne     .L469
2737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7229                           .loc 1 2737 11 is_stmt 1 view .LVU2328
 7230 01e0 2268                 ldr     r2, [r4]
 7231 01e2 1368                 ldr     r3, [r2]
 7232 01e4 23F48063             bic     r3, r3, #1024
 7233 01e8 1360                 str     r3, [r2]
2741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 294


 7234                           .loc 1 2741 11 view .LVU2329
 7235                   .LBB97:
 7236                   .LBI97:
 140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 7237                           .loc 2 140 27 view .LVU2330
 7238                   .LBB98:
 7239                           .loc 2 142 3 view .LVU2331
 7240                           .syntax unified
 7241                   @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 7242 01ea 72B6                 cpsid i
 7243                   @ 0 "" 2
 7244                           .thumb
 7245                           .syntax unified
 7246                   .LBE98:
 7247                   .LBE97:
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7248                           .loc 1 2744 11 view .LVU2332
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7249                           .loc 1 2744 42 is_stmt 0 view .LVU2333
 7250 01ec 2368                 ldr     r3, [r4]
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7251                           .loc 1 2744 52 view .LVU2334
 7252 01ee 1A69                 ldr     r2, [r3, #16]
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7253                           .loc 1 2744 16 view .LVU2335
 7254 01f0 636A                 ldr     r3, [r4, #36]
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7255                           .loc 1 2744 27 view .LVU2336
 7256 01f2 1A70                 strb    r2, [r3]
2747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7257                           .loc 1 2747 11 is_stmt 1 view .LVU2337
2747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7258                           .loc 1 2747 15 is_stmt 0 view .LVU2338
 7259 01f4 636A                 ldr     r3, [r4, #36]
2747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7260                           .loc 1 2747 25 view .LVU2339
 7261 01f6 0133                 adds    r3, r3, #1
 7262 01f8 6362                 str     r3, [r4, #36]
2750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7263                           .loc 1 2750 11 is_stmt 1 view .LVU2340
2750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7264                           .loc 1 2750 15 is_stmt 0 view .LVU2341
 7265 01fa 238D                 ldrh    r3, [r4, #40]
2750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7266                           .loc 1 2750 25 view .LVU2342
 7267 01fc 013B                 subs    r3, r3, #1
 7268 01fe 2385                 strh    r3, [r4, #40]   @ movhi
2751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7269                           .loc 1 2751 11 is_stmt 1 view .LVU2343
2751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7270                           .loc 1 2751 15 is_stmt 0 view .LVU2344
 7271 0200 638D                 ldrh    r3, [r4, #42]
2751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7272                           .loc 1 2751 26 view .LVU2345
 7273 0202 013B                 subs    r3, r3, #1
 7274 0204 9BB2                 uxth    r3, r3
 7275 0206 6385                 strh    r3, [r4, #42]   @ movhi
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 295


2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7276                           .loc 1 2754 11 is_stmt 1 view .LVU2346
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7277                           .loc 1 2754 15 is_stmt 0 view .LVU2347
 7278 0208 0095                 str     r5, [sp]
 7279 020a 0E9B                 ldr     r3, [sp, #56]
 7280 020c 0022                 movs    r2, #0
 7281 020e 1649                 ldr     r1, .L479+8
 7282 0210 2046                 mov     r0, r4
 7283 0212 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 7284                   .LVL313:
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 7285                           .loc 1 2754 14 view .LVU2348
 7286 0216 0028                 cmp     r0, #0
 7287 0218 64D1                 bne     .L470
2760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7288                           .loc 1 2760 11 is_stmt 1 view .LVU2349
 7289 021a 2268                 ldr     r2, [r4]
 7290 021c 1368                 ldr     r3, [r2]
 7291 021e 43F40073             orr     r3, r3, #512
 7292 0222 1360                 str     r3, [r2]
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7293                           .loc 1 2763 11 view .LVU2350
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7294                           .loc 1 2763 42 is_stmt 0 view .LVU2351
 7295 0224 2368                 ldr     r3, [r4]
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7296                           .loc 1 2763 52 view .LVU2352
 7297 0226 1A69                 ldr     r2, [r3, #16]
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7298                           .loc 1 2763 16 view .LVU2353
 7299 0228 636A                 ldr     r3, [r4, #36]
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7300                           .loc 1 2763 27 view .LVU2354
 7301 022a 1A70                 strb    r2, [r3]
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7302                           .loc 1 2766 11 is_stmt 1 view .LVU2355
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7303                           .loc 1 2766 15 is_stmt 0 view .LVU2356
 7304 022c 636A                 ldr     r3, [r4, #36]
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7305                           .loc 1 2766 25 view .LVU2357
 7306 022e 0133                 adds    r3, r3, #1
 7307 0230 6362                 str     r3, [r4, #36]
2769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7308                           .loc 1 2769 11 is_stmt 1 view .LVU2358
2769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7309                           .loc 1 2769 15 is_stmt 0 view .LVU2359
 7310 0232 238D                 ldrh    r3, [r4, #40]
2769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7311                           .loc 1 2769 25 view .LVU2360
 7312 0234 013B                 subs    r3, r3, #1
 7313 0236 2385                 strh    r3, [r4, #40]   @ movhi
2770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7314                           .loc 1 2770 11 is_stmt 1 view .LVU2361
2770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7315                           .loc 1 2770 15 is_stmt 0 view .LVU2362
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 296


 7316 0238 638D                 ldrh    r3, [r4, #42]
2770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7317                           .loc 1 2770 26 view .LVU2363
 7318 023a 013B                 subs    r3, r3, #1
 7319 023c 9BB2                 uxth    r3, r3
 7320 023e 6385                 strh    r3, [r4, #42]   @ movhi
2773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7321                           .loc 1 2773 11 is_stmt 1 view .LVU2364
 7322                   .LBB99:
 7323                   .LBI99:
 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 7324                           .loc 2 129 27 view .LVU2365
 7325                   .LBB100:
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 7326                           .loc 2 131 3 view .LVU2366
 7327                           .syntax unified
 7328                   @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 7329 0240 62B6                 cpsie i
 7330                   @ 0 "" 2
 7331                           .thumb
 7332                           .syntax unified
 7333                   .LBE100:
 7334                   .LBE99:
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7335                           .loc 1 2776 11 view .LVU2367
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7336                           .loc 1 2776 42 is_stmt 0 view .LVU2368
 7337 0242 2368                 ldr     r3, [r4]
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7338                           .loc 1 2776 52 view .LVU2369
 7339 0244 1A69                 ldr     r2, [r3, #16]
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7340                           .loc 1 2776 16 view .LVU2370
 7341 0246 636A                 ldr     r3, [r4, #36]
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7342                           .loc 1 2776 27 view .LVU2371
 7343 0248 1A70                 strb    r2, [r3]
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7344                           .loc 1 2779 11 is_stmt 1 view .LVU2372
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7345                           .loc 1 2779 15 is_stmt 0 view .LVU2373
 7346 024a 636A                 ldr     r3, [r4, #36]
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7347                           .loc 1 2779 25 view .LVU2374
 7348 024c 0133                 adds    r3, r3, #1
 7349 024e 6362                 str     r3, [r4, #36]
2782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7350                           .loc 1 2782 11 is_stmt 1 view .LVU2375
2782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7351                           .loc 1 2782 15 is_stmt 0 view .LVU2376
 7352 0250 238D                 ldrh    r3, [r4, #40]
2782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7353                           .loc 1 2782 25 view .LVU2377
 7354 0252 013B                 subs    r3, r3, #1
 7355 0254 2385                 strh    r3, [r4, #40]   @ movhi
2783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7356                           .loc 1 2783 11 is_stmt 1 view .LVU2378
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 297


2783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7357                           .loc 1 2783 15 is_stmt 0 view .LVU2379
 7358 0256 638D                 ldrh    r3, [r4, #42]
2783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7359                           .loc 1 2783 26 view .LVU2380
 7360 0258 013B                 subs    r3, r3, #1
 7361 025a 9BB2                 uxth    r3, r3
 7362 025c 6385                 strh    r3, [r4, #42]   @ movhi
 7363 025e ADE7                 b       .L456
 7364                   .L480:
 7365                           .align  2
 7366                   .L479:
 7367 0260 02001000             .word   1048578
 7368 0264 0000FFFF             .word   -65536
 7369 0268 04000100             .word   65540
 7370                   .L458:
2789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 7371                           .loc 1 2789 9 is_stmt 1 view .LVU2381
2789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 7372                           .loc 1 2789 13 is_stmt 0 view .LVU2382
 7373 026c 2A46                 mov     r2, r5
 7374 026e 0E99                 ldr     r1, [sp, #56]
 7375 0270 2046                 mov     r0, r4
 7376 0272 FFF7FEFF             bl      I2C_WaitOnRXNEFlagUntilTimeout
 7377                   .LVL314:
2789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 7378                           .loc 1 2789 12 view .LVU2383
 7379 0276 0028                 cmp     r0, #0
 7380 0278 36D1                 bne     .L471
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7381                           .loc 1 2795 9 is_stmt 1 view .LVU2384
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7382                           .loc 1 2795 40 is_stmt 0 view .LVU2385
 7383 027a 2368                 ldr     r3, [r4]
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7384                           .loc 1 2795 50 view .LVU2386
 7385 027c 1A69                 ldr     r2, [r3, #16]
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7386                           .loc 1 2795 14 view .LVU2387
 7387 027e 636A                 ldr     r3, [r4, #36]
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7388                           .loc 1 2795 25 view .LVU2388
 7389 0280 1A70                 strb    r2, [r3]
2798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7390                           .loc 1 2798 9 is_stmt 1 view .LVU2389
2798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7391                           .loc 1 2798 13 is_stmt 0 view .LVU2390
 7392 0282 626A                 ldr     r2, [r4, #36]
2798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7393                           .loc 1 2798 23 view .LVU2391
 7394 0284 531C                 adds    r3, r2, #1
 7395 0286 6362                 str     r3, [r4, #36]
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 7396                           .loc 1 2801 9 is_stmt 1 view .LVU2392
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 7397                           .loc 1 2801 13 is_stmt 0 view .LVU2393
 7398 0288 238D                 ldrh    r3, [r4, #40]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 298


2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->XferCount--;
 7399                           .loc 1 2801 23 view .LVU2394
 7400 028a 013B                 subs    r3, r3, #1
 7401 028c 2385                 strh    r3, [r4, #40]   @ movhi
2802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7402                           .loc 1 2802 9 is_stmt 1 view .LVU2395
2802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7403                           .loc 1 2802 13 is_stmt 0 view .LVU2396
 7404 028e 638D                 ldrh    r3, [r4, #42]
2802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7405                           .loc 1 2802 24 view .LVU2397
 7406 0290 013B                 subs    r3, r3, #1
 7407 0292 9BB2                 uxth    r3, r3
 7408 0294 6385                 strh    r3, [r4, #42]   @ movhi
2804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 7409                           .loc 1 2804 9 is_stmt 1 view .LVU2398
2804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 7410                           .loc 1 2804 13 is_stmt 0 view .LVU2399
 7411 0296 2368                 ldr     r3, [r4]
 7412 0298 5969                 ldr     r1, [r3, #20]
2804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 7413                           .loc 1 2804 12 view .LVU2400
 7414 029a 11F0040F             tst     r1, #4
 7415 029e 8DD0                 beq     .L456
2807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7416                           .loc 1 2807 11 is_stmt 1 view .LVU2401
2807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7417                           .loc 1 2807 52 is_stmt 0 view .LVU2402
 7418 02a0 1B69                 ldr     r3, [r3, #16]
2807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7419                           .loc 1 2807 27 view .LVU2403
 7420 02a2 5370                 strb    r3, [r2, #1]
2810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7421                           .loc 1 2810 11 is_stmt 1 view .LVU2404
2810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7422                           .loc 1 2810 15 is_stmt 0 view .LVU2405
 7423 02a4 636A                 ldr     r3, [r4, #36]
2810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7424                           .loc 1 2810 25 view .LVU2406
 7425 02a6 0133                 adds    r3, r3, #1
 7426 02a8 6362                 str     r3, [r4, #36]
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7427                           .loc 1 2813 11 is_stmt 1 view .LVU2407
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7428                           .loc 1 2813 15 is_stmt 0 view .LVU2408
 7429 02aa 238D                 ldrh    r3, [r4, #40]
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->XferCount--;
 7430                           .loc 1 2813 25 view .LVU2409
 7431 02ac 013B                 subs    r3, r3, #1
 7432 02ae 2385                 strh    r3, [r4, #40]   @ movhi
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7433                           .loc 1 2814 11 is_stmt 1 view .LVU2410
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7434                           .loc 1 2814 15 is_stmt 0 view .LVU2411
 7435 02b0 638D                 ldrh    r3, [r4, #42]
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7436                           .loc 1 2814 26 view .LVU2412
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 299


 7437 02b2 013B                 subs    r3, r3, #1
 7438 02b4 9BB2                 uxth    r3, r3
 7439 02b6 6385                 strh    r3, [r4, #42]   @ movhi
 7440 02b8 80E7                 b       .L456
 7441                   .L476:
2819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 7442                           .loc 1 2819 5 is_stmt 1 view .LVU2413
2819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 7443                           .loc 1 2819 17 is_stmt 0 view .LVU2414
 7444 02ba 2023                 movs    r3, #32
 7445 02bc 84F83D30             strb    r3, [r4, #61]
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7446                           .loc 1 2820 5 is_stmt 1 view .LVU2415
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7447                           .loc 1 2820 16 is_stmt 0 view .LVU2416
 7448 02c0 0023                 movs    r3, #0
 7449 02c2 84F83E30             strb    r3, [r4, #62]
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7450                           .loc 1 2823 5 is_stmt 1 view .LVU2417
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7451                           .loc 1 2823 5 view .LVU2418
 7452 02c6 84F83C30             strb    r3, [r4, #60]
2825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 7453                           .loc 1 2825 5 view .LVU2419
2825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 7454                           .loc 1 2825 12 is_stmt 0 view .LVU2420
 7455 02ca A8E6                 b       .L451
 7456                   .L464:
2581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 7457                           .loc 1 2581 14 view .LVU2421
 7458 02cc 0226                 movs    r6, #2
 7459 02ce A6E6                 b       .L451
 7460                   .L465:
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7461                           .loc 1 2585 5 view .LVU2422
 7462 02d0 0226                 movs    r6, #2
 7463 02d2 A4E6                 b       .L451
 7464                   .L466:
2610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 7465                           .loc 1 2610 14 view .LVU2423
 7466 02d4 0126                 movs    r6, #1
 7467 02d6 A2E6                 b       .L451
 7468                   .L467:
2675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 7469                           .loc 1 2675 20 view .LVU2424
 7470 02d8 0126                 movs    r6, #1
 7471 02da A0E6                 b       .L451
 7472                   .L468:
2694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 7473                           .loc 1 2694 20 view .LVU2425
 7474 02dc 0126                 movs    r6, #1
 7475 02de 9EE6                 b       .L451
 7476                   .L469:
2733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 7477                           .loc 1 2733 20 view .LVU2426
 7478 02e0 0126                 movs    r6, #1
 7479 02e2 9CE6                 b       .L451
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 300


 7480                   .L470:
2756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 7481                           .loc 1 2756 20 view .LVU2427
 7482 02e4 0126                 movs    r6, #1
 7483 02e6 9AE6                 b       .L451
 7484                   .L471:
2791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 7485                           .loc 1 2791 18 view .LVU2428
 7486 02e8 0126                 movs    r6, #1
 7487 02ea 98E6                 b       .L451
 7488                           .cfi_endproc
 7489                   .LFE82:
 7491                           .section        .text.HAL_I2C_Mem_Write_IT,"ax",%progbits
 7492                           .align  1
 7493                           .global HAL_I2C_Mem_Write_IT
 7494                           .syntax unified
 7495                           .thumb
 7496                           .thumb_func
 7497                           .fpu softvfp
 7499                   HAL_I2C_Mem_Write_IT:
 7500                   .LVL315:
 7501                   .LFB83:
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 7502                           .loc 1 2846 1 is_stmt 1 view -0
 7503                           .cfi_startproc
 7504                           @ args = 8, pretend = 0, frame = 8
 7505                           @ frame_needed = 0, uses_anonymous_args = 0
 7506                           @ link register save eliminated.
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 7507                           .loc 1 2846 1 is_stmt 0 view .LVU2430
 7508 0000 30B4                 push    {r4, r5}
 7509                   .LCFI82:
 7510                           .cfi_def_cfa_offset 8
 7511                           .cfi_offset 4, -8
 7512                           .cfi_offset 5, -4
 7513 0002 82B0                 sub     sp, sp, #8
 7514                   .LCFI83:
 7515                           .cfi_def_cfa_offset 16
2847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7516                           .loc 1 2847 3 is_stmt 1 view .LVU2431
2847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7517                           .loc 1 2847 17 is_stmt 0 view .LVU2432
 7518 0004 0024                 movs    r4, #0
 7519 0006 0194                 str     r4, [sp, #4]
2850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7520                           .loc 1 2850 3 is_stmt 1 view .LVU2433
2852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 7521                           .loc 1 2852 3 view .LVU2434
2852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 7522                           .loc 1 2852 11 is_stmt 0 view .LVU2435
 7523 0008 90F83D40             ldrb    r4, [r0, #61]   @ zero_extendqisi2
 7524 000c E4B2                 uxtb    r4, r4
2852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 7525                           .loc 1 2852 6 view .LVU2436
 7526 000e 202C                 cmp     r4, #32
 7527 0010 5CD1                 bne     .L486
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 301


 7528                           .loc 1 2855 5 is_stmt 1 view .LVU2437
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 7529                           .loc 1 2855 60 is_stmt 0 view .LVU2438
 7530 0012 314C                 ldr     r4, .L490
 7531 0014 2468                 ldr     r4, [r4]
 7532 0016 E408                 lsrs    r4, r4, #3
 7533 0018 304D                 ldr     r5, .L490+4
 7534 001a A5FB0454             umull   r5, r4, r5, r4
 7535 001e 240A                 lsrs    r4, r4, #8
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 7536                           .loc 1 2855 35 view .LVU2439
 7537 0020 04EB8404             add     r4, r4, r4, lsl #2
 7538 0024 04EB8404             add     r4, r4, r4, lsl #2
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 7539                           .loc 1 2855 11 view .LVU2440
 7540 0028 0194                 str     r4, [sp, #4]
 7541                   .L484:
2856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7542                           .loc 1 2856 5 is_stmt 1 view .LVU2441
2858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 7543                           .loc 1 2858 7 view .LVU2442
2858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 7544                           .loc 1 2858 12 is_stmt 0 view .LVU2443
 7545 002a 019C                 ldr     r4, [sp, #4]
 7546 002c 013C                 subs    r4, r4, #1
 7547 002e 0194                 str     r4, [sp, #4]
2859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 7548                           .loc 1 2859 7 is_stmt 1 view .LVU2444
2859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 7549                           .loc 1 2859 17 is_stmt 0 view .LVU2445
 7550 0030 019C                 ldr     r4, [sp, #4]
2859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 7551                           .loc 1 2859 10 view .LVU2446
 7552 0032 002C                 cmp     r4, #0
 7553 0034 3BD0                 beq     .L489
2872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7554                           .loc 1 2872 12 view .LVU2447
 7555 0036 0468                 ldr     r4, [r0]
 7556 0038 A569                 ldr     r5, [r4, #24]
2872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7557                           .loc 1 2872 5 view .LVU2448
 7558 003a 15F0020F             tst     r5, #2
 7559 003e F4D1                 bne     .L484
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7560                           .loc 1 2875 5 is_stmt 1 view .LVU2449
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7561                           .loc 1 2875 5 view .LVU2450
 7562 0040 90F83C50             ldrb    r5, [r0, #60]   @ zero_extendqisi2
 7563 0044 012D                 cmp     r5, #1
 7564 0046 45D0                 beq     .L487
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7565                           .loc 1 2875 5 discriminator 2 view .LVU2451
 7566 0048 0125                 movs    r5, #1
 7567 004a 80F83C50             strb    r5, [r0, #60]
2878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7568                           .loc 1 2878 5 discriminator 2 view .LVU2452
2878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 302


 7569                           .loc 1 2878 24 is_stmt 0 discriminator 2 view .LVU2453
 7570 004e 2568                 ldr     r5, [r4]
2878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7571                           .loc 1 2878 8 discriminator 2 view .LVU2454
 7572 0050 15F0010F             tst     r5, #1
 7573 0054 03D1                 bne     .L485
2881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 7574                           .loc 1 2881 7 is_stmt 1 view .LVU2455
 7575 0056 2568                 ldr     r5, [r4]
 7576 0058 45F00105             orr     r5, r5, #1
 7577 005c 2560                 str     r5, [r4]
 7578                   .L485:
2885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7579                           .loc 1 2885 5 view .LVU2456
 7580 005e 0568                 ldr     r5, [r0]
 7581 0060 2C68                 ldr     r4, [r5]
 7582 0062 24F40064             bic     r4, r4, #2048
 7583 0066 2C60                 str     r4, [r5]
2887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 7584                           .loc 1 2887 5 view .LVU2457
2887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 7585                           .loc 1 2887 21 is_stmt 0 view .LVU2458
 7586 0068 2124                 movs    r4, #33
 7587 006a 80F83D40             strb    r4, [r0, #61]
2888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 7588                           .loc 1 2888 5 is_stmt 1 view .LVU2459
2888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 7589                           .loc 1 2888 21 is_stmt 0 view .LVU2460
 7590 006e 4024                 movs    r4, #64
 7591 0070 80F83E40             strb    r4, [r0, #62]
2889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7592                           .loc 1 2889 5 is_stmt 1 view .LVU2461
2889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7593                           .loc 1 2889 21 is_stmt 0 view .LVU2462
 7594 0074 0024                 movs    r4, #0
 7595 0076 0464                 str     r4, [r0, #64]
2892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 7596                           .loc 1 2892 5 is_stmt 1 view .LVU2463
2892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 7597                           .loc 1 2892 23 is_stmt 0 view .LVU2464
 7598 0078 049D                 ldr     r5, [sp, #16]
 7599 007a 4562                 str     r5, [r0, #36]
2893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 7600                           .loc 1 2893 5 is_stmt 1 view .LVU2465
2893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 7601                           .loc 1 2893 23 is_stmt 0 view .LVU2466
 7602 007c BDF81450             ldrh    r5, [sp, #20]
 7603 0080 4585                 strh    r5, [r0, #42]   @ movhi
2894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 7604                           .loc 1 2894 5 is_stmt 1 view .LVU2467
2894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 7605                           .loc 1 2894 29 is_stmt 0 view .LVU2468
 7606 0082 458D                 ldrh    r5, [r0, #42]
2894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 7607                           .loc 1 2894 23 view .LVU2469
 7608 0084 0585                 strh    r5, [r0, #40]   @ movhi
2895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 303


 7609                           .loc 1 2895 5 is_stmt 1 view .LVU2470
2895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 7610                           .loc 1 2895 23 is_stmt 0 view .LVU2471
 7611 0086 164D                 ldr     r5, .L490+8
 7612 0088 C562                 str     r5, [r0, #44]
2896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Memaddress  = MemAddress;
 7613                           .loc 1 2896 5 is_stmt 1 view .LVU2472
2896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Memaddress  = MemAddress;
 7614                           .loc 1 2896 23 is_stmt 0 view .LVU2473
 7615 008a 4164                 str     r1, [r0, #68]
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MemaddSize  = MemAddSize;
 7616                           .loc 1 2897 5 is_stmt 1 view .LVU2474
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MemaddSize  = MemAddSize;
 7617                           .loc 1 2897 23 is_stmt 0 view .LVU2475
 7618 008c 8264                 str     r2, [r0, #72]
2898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->EventCount  = 0U;
 7619                           .loc 1 2898 5 is_stmt 1 view .LVU2476
2898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->EventCount  = 0U;
 7620                           .loc 1 2898 23 is_stmt 0 view .LVU2477
 7621 008e C364                 str     r3, [r0, #76]
2899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7622                           .loc 1 2899 5 is_stmt 1 view .LVU2478
2899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7623                           .loc 1 2899 23 is_stmt 0 view .LVU2479
 7624 0090 0465                 str     r4, [r0, #80]
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7625                           .loc 1 2902 5 is_stmt 1 view .LVU2480
 7626 0092 0268                 ldr     r2, [r0]
 7627                   .LVL316:
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7628                           .loc 1 2902 5 is_stmt 0 view .LVU2481
 7629 0094 1368                 ldr     r3, [r2]
 7630                   .LVL317:
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7631                           .loc 1 2902 5 view .LVU2482
 7632 0096 43F48073             orr     r3, r3, #256
 7633 009a 1360                 str     r3, [r2]
2905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7634                           .loc 1 2905 5 is_stmt 1 view .LVU2483
2905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7635                           .loc 1 2905 5 view .LVU2484
 7636 009c 80F83C40             strb    r4, [r0, #60]
2912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7637                           .loc 1 2912 5 view .LVU2485
 7638 00a0 0268                 ldr     r2, [r0]
 7639 00a2 5368                 ldr     r3, [r2, #4]
 7640 00a4 43F4E063             orr     r3, r3, #1792
 7641 00a8 5360                 str     r3, [r2, #4]
2914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 7642                           .loc 1 2914 5 view .LVU2486
2914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 7643                           .loc 1 2914 12 is_stmt 0 view .LVU2487
 7644 00aa 2046                 mov     r0, r4
 7645                   .LVL318:
2914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 7646                           .loc 1 2914 12 view .LVU2488
 7647 00ac 0FE0                 b       .L482
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 304


 7648                   .LVL319:
 7649                   .L489:
2861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 7650                           .loc 1 2861 9 is_stmt 1 view .LVU2489
2861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 7651                           .loc 1 2861 35 is_stmt 0 view .LVU2490
 7652 00ae 0023                 movs    r3, #0
 7653                   .LVL320:
2861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 7654                           .loc 1 2861 35 view .LVU2491
 7655 00b0 0363                 str     r3, [r0, #48]
2862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 7656                           .loc 1 2862 9 is_stmt 1 view .LVU2492
2862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 7657                           .loc 1 2862 35 is_stmt 0 view .LVU2493
 7658 00b2 2022                 movs    r2, #32
 7659                   .LVL321:
2862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 7660                           .loc 1 2862 35 view .LVU2494
 7661 00b4 80F83D20             strb    r2, [r0, #61]
2863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 7662                           .loc 1 2863 9 is_stmt 1 view .LVU2495
2863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 7663                           .loc 1 2863 35 is_stmt 0 view .LVU2496
 7664 00b8 80F83E30             strb    r3, [r0, #62]
2864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7665                           .loc 1 2864 9 is_stmt 1 view .LVU2497
2864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7666                           .loc 1 2864 35 is_stmt 0 view .LVU2498
 7667 00bc 026C                 ldr     r2, [r0, #64]
 7668 00be 42F02002             orr     r2, r2, #32
 7669 00c2 0264                 str     r2, [r0, #64]
2867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7670                           .loc 1 2867 9 is_stmt 1 view .LVU2499
2867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7671                           .loc 1 2867 9 view .LVU2500
 7672 00c4 80F83C30             strb    r3, [r0, #60]
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 7673                           .loc 1 2869 9 view .LVU2501
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 7674                           .loc 1 2869 16 is_stmt 0 view .LVU2502
 7675 00c8 0120                 movs    r0, #1
 7676                   .LVL322:
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 7677                           .loc 1 2869 16 view .LVU2503
 7678 00ca 00E0                 b       .L482
 7679                   .LVL323:
 7680                   .L486:
2918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 7681                           .loc 1 2918 12 view .LVU2504
 7682 00cc 0220                 movs    r0, #2
 7683                   .LVL324:
 7684                   .L482:
2920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7685                           .loc 1 2920 1 view .LVU2505
 7686 00ce 02B0                 add     sp, sp, #8
 7687                   .LCFI84:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 305


 7688                           .cfi_remember_state
 7689                           .cfi_def_cfa_offset 8
 7690                           @ sp needed
 7691 00d0 30BC                 pop     {r4, r5}
 7692                   .LCFI85:
 7693                           .cfi_restore 5
 7694                           .cfi_restore 4
 7695                           .cfi_def_cfa_offset 0
 7696                   .LVL325:
2920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7697                           .loc 1 2920 1 view .LVU2506
 7698 00d2 7047                 bx      lr
 7699                   .LVL326:
 7700                   .L487:
 7701                   .LCFI86:
 7702                           .cfi_restore_state
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7703                           .loc 1 2875 5 view .LVU2507
 7704 00d4 0220                 movs    r0, #2
 7705                   .LVL327:
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7706                           .loc 1 2875 5 view .LVU2508
 7707 00d6 FAE7                 b       .L482
 7708                   .L491:
 7709                           .align  2
 7710                   .L490:
 7711 00d8 00000000             .word   SystemCoreClock
 7712 00dc 89B5F814             .word   351843721
 7713 00e0 0000FFFF             .word   -65536
 7714                           .cfi_endproc
 7715                   .LFE83:
 7717                           .section        .text.HAL_I2C_Mem_Read_IT,"ax",%progbits
 7718                           .align  1
 7719                           .global HAL_I2C_Mem_Read_IT
 7720                           .syntax unified
 7721                           .thumb
 7722                           .thumb_func
 7723                           .fpu softvfp
 7725                   HAL_I2C_Mem_Read_IT:
 7726                   .LVL328:
 7727                   .LFB84:
2934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 7728                           .loc 1 2934 1 is_stmt 1 view -0
 7729                           .cfi_startproc
 7730                           @ args = 8, pretend = 0, frame = 8
 7731                           @ frame_needed = 0, uses_anonymous_args = 0
 7732                           @ link register save eliminated.
2934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 7733                           .loc 1 2934 1 is_stmt 0 view .LVU2510
 7734 0000 30B4                 push    {r4, r5}
 7735                   .LCFI87:
 7736                           .cfi_def_cfa_offset 8
 7737                           .cfi_offset 4, -8
 7738                           .cfi_offset 5, -4
 7739 0002 82B0                 sub     sp, sp, #8
 7740                   .LCFI88:
 7741                           .cfi_def_cfa_offset 16
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 306


2935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7742                           .loc 1 2935 3 is_stmt 1 view .LVU2511
2935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7743                           .loc 1 2935 17 is_stmt 0 view .LVU2512
 7744 0004 0024                 movs    r4, #0
 7745 0006 0194                 str     r4, [sp, #4]
2938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7746                           .loc 1 2938 3 is_stmt 1 view .LVU2513
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 7747                           .loc 1 2940 3 view .LVU2514
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 7748                           .loc 1 2940 11 is_stmt 0 view .LVU2515
 7749 0008 90F83D40             ldrb    r4, [r0, #61]   @ zero_extendqisi2
 7750 000c E4B2                 uxtb    r4, r4
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 7751                           .loc 1 2940 6 view .LVU2516
 7752 000e 202C                 cmp     r4, #32
 7753 0010 63D1                 bne     .L498
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 7754                           .loc 1 2943 5 is_stmt 1 view .LVU2517
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 7755                           .loc 1 2943 60 is_stmt 0 view .LVU2518
 7756 0012 354C                 ldr     r4, .L502
 7757 0014 2468                 ldr     r4, [r4]
 7758 0016 E408                 lsrs    r4, r4, #3
 7759 0018 344D                 ldr     r5, .L502+4
 7760 001a A5FB0454             umull   r5, r4, r5, r4
 7761 001e 240A                 lsrs    r4, r4, #8
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 7762                           .loc 1 2943 35 view .LVU2519
 7763 0020 04EB8404             add     r4, r4, r4, lsl #2
 7764 0024 04EB8404             add     r4, r4, r4, lsl #2
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 7765                           .loc 1 2943 11 view .LVU2520
 7766 0028 0194                 str     r4, [sp, #4]
 7767                   .L495:
2944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7768                           .loc 1 2944 5 is_stmt 1 view .LVU2521
2946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 7769                           .loc 1 2946 7 view .LVU2522
2946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 7770                           .loc 1 2946 12 is_stmt 0 view .LVU2523
 7771 002a 019C                 ldr     r4, [sp, #4]
 7772 002c 013C                 subs    r4, r4, #1
 7773 002e 0194                 str     r4, [sp, #4]
2947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 7774                           .loc 1 2947 7 is_stmt 1 view .LVU2524
2947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 7775                           .loc 1 2947 17 is_stmt 0 view .LVU2525
 7776 0030 019C                 ldr     r4, [sp, #4]
2947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 7777                           .loc 1 2947 10 view .LVU2526
 7778 0032 002C                 cmp     r4, #0
 7779 0034 42D0                 beq     .L501
2960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7780                           .loc 1 2960 12 view .LVU2527
 7781 0036 0468                 ldr     r4, [r0]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 307


 7782 0038 A569                 ldr     r5, [r4, #24]
2960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7783                           .loc 1 2960 5 view .LVU2528
 7784 003a 15F0020F             tst     r5, #2
 7785 003e F4D1                 bne     .L495
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7786                           .loc 1 2963 5 is_stmt 1 view .LVU2529
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7787                           .loc 1 2963 5 view .LVU2530
 7788 0040 90F83C50             ldrb    r5, [r0, #60]   @ zero_extendqisi2
 7789 0044 012D                 cmp     r5, #1
 7790 0046 4CD0                 beq     .L499
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7791                           .loc 1 2963 5 discriminator 2 view .LVU2531
 7792 0048 0125                 movs    r5, #1
 7793 004a 80F83C50             strb    r5, [r0, #60]
2966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7794                           .loc 1 2966 5 discriminator 2 view .LVU2532
2966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7795                           .loc 1 2966 24 is_stmt 0 discriminator 2 view .LVU2533
 7796 004e 2568                 ldr     r5, [r4]
2966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7797                           .loc 1 2966 8 discriminator 2 view .LVU2534
 7798 0050 15F0010F             tst     r5, #1
 7799 0054 03D1                 bne     .L496
2969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 7800                           .loc 1 2969 7 is_stmt 1 view .LVU2535
 7801 0056 2568                 ldr     r5, [r4]
 7802 0058 45F00105             orr     r5, r5, #1
 7803 005c 2560                 str     r5, [r4]
 7804                   .L496:
2973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7805                           .loc 1 2973 5 view .LVU2536
 7806 005e 0568                 ldr     r5, [r0]
 7807 0060 2C68                 ldr     r4, [r5]
 7808 0062 24F40064             bic     r4, r4, #2048
 7809 0066 2C60                 str     r4, [r5]
2975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 7810                           .loc 1 2975 5 view .LVU2537
2975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 7811                           .loc 1 2975 21 is_stmt 0 view .LVU2538
 7812 0068 2224                 movs    r4, #34
 7813 006a 80F83D40             strb    r4, [r0, #61]
2976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 7814                           .loc 1 2976 5 is_stmt 1 view .LVU2539
2976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 7815                           .loc 1 2976 21 is_stmt 0 view .LVU2540
 7816 006e 4024                 movs    r4, #64
 7817 0070 80F83E40             strb    r4, [r0, #62]
2977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7818                           .loc 1 2977 5 is_stmt 1 view .LVU2541
2977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7819                           .loc 1 2977 21 is_stmt 0 view .LVU2542
 7820 0074 0024                 movs    r4, #0
 7821 0076 0464                 str     r4, [r0, #64]
2980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 7822                           .loc 1 2980 5 is_stmt 1 view .LVU2543
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 308


2980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 7823                           .loc 1 2980 23 is_stmt 0 view .LVU2544
 7824 0078 049D                 ldr     r5, [sp, #16]
 7825 007a 4562                 str     r5, [r0, #36]
2981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 7826                           .loc 1 2981 5 is_stmt 1 view .LVU2545
2981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 7827                           .loc 1 2981 23 is_stmt 0 view .LVU2546
 7828 007c BDF81450             ldrh    r5, [sp, #20]
 7829 0080 4585                 strh    r5, [r0, #42]   @ movhi
2982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 7830                           .loc 1 2982 5 is_stmt 1 view .LVU2547
2982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 7831                           .loc 1 2982 29 is_stmt 0 view .LVU2548
 7832 0082 458D                 ldrh    r5, [r0, #42]
2982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 7833                           .loc 1 2982 23 view .LVU2549
 7834 0084 0585                 strh    r5, [r0, #40]   @ movhi
2983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 7835                           .loc 1 2983 5 is_stmt 1 view .LVU2550
2983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 7836                           .loc 1 2983 23 is_stmt 0 view .LVU2551
 7837 0086 1A4D                 ldr     r5, .L502+8
 7838 0088 C562                 str     r5, [r0, #44]
2984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Memaddress  = MemAddress;
 7839                           .loc 1 2984 5 is_stmt 1 view .LVU2552
2984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Memaddress  = MemAddress;
 7840                           .loc 1 2984 23 is_stmt 0 view .LVU2553
 7841 008a 4164                 str     r1, [r0, #68]
2985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MemaddSize  = MemAddSize;
 7842                           .loc 1 2985 5 is_stmt 1 view .LVU2554
2985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->MemaddSize  = MemAddSize;
 7843                           .loc 1 2985 23 is_stmt 0 view .LVU2555
 7844 008c 8264                 str     r2, [r0, #72]
2986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->EventCount  = 0U;
 7845                           .loc 1 2986 5 is_stmt 1 view .LVU2556
2986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->EventCount  = 0U;
 7846                           .loc 1 2986 23 is_stmt 0 view .LVU2557
 7847 008e C364                 str     r3, [r0, #76]
2987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7848                           .loc 1 2987 5 is_stmt 1 view .LVU2558
2987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7849                           .loc 1 2987 23 is_stmt 0 view .LVU2559
 7850 0090 0465                 str     r4, [r0, #80]
2990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7851                           .loc 1 2990 5 is_stmt 1 view .LVU2560
 7852 0092 0268                 ldr     r2, [r0]
 7853                   .LVL329:
2990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7854                           .loc 1 2990 5 is_stmt 0 view .LVU2561
 7855 0094 1368                 ldr     r3, [r2]
 7856                   .LVL330:
2990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7857                           .loc 1 2990 5 view .LVU2562
 7858 0096 43F48063             orr     r3, r3, #1024
 7859 009a 1360                 str     r3, [r2]
2993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 309


 7860                           .loc 1 2993 5 is_stmt 1 view .LVU2563
 7861 009c 0268                 ldr     r2, [r0]
 7862 009e 1368                 ldr     r3, [r2]
 7863 00a0 43F48073             orr     r3, r3, #256
 7864 00a4 1360                 str     r3, [r2]
2996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7865                           .loc 1 2996 5 view .LVU2564
2996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7866                           .loc 1 2996 5 view .LVU2565
 7867 00a6 80F83C40             strb    r4, [r0, #60]
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7868                           .loc 1 2998 5 view .LVU2566
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7869                           .loc 1 2998 13 is_stmt 0 view .LVU2567
 7870 00aa 038D                 ldrh    r3, [r0, #40]
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 7871                           .loc 1 2998 8 view .LVU2568
 7872 00ac 23B1                 cbz     r3, .L497
3005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 7873                           .loc 1 3005 7 is_stmt 1 view .LVU2569
 7874 00ae 0268                 ldr     r2, [r0]
 7875 00b0 5368                 ldr     r3, [r2, #4]
 7876 00b2 43F4E063             orr     r3, r3, #1792
 7877 00b6 5360                 str     r3, [r2, #4]
 7878                   .L497:
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 7879                           .loc 1 3007 5 view .LVU2570
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 7880                           .loc 1 3007 12 is_stmt 0 view .LVU2571
 7881 00b8 0020                 movs    r0, #0
 7882                   .LVL331:
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 7883                           .loc 1 3007 12 view .LVU2572
 7884 00ba 0FE0                 b       .L493
 7885                   .LVL332:
 7886                   .L501:
2949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 7887                           .loc 1 2949 9 is_stmt 1 view .LVU2573
2949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 7888                           .loc 1 2949 35 is_stmt 0 view .LVU2574
 7889 00bc 0023                 movs    r3, #0
 7890                   .LVL333:
2949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 7891                           .loc 1 2949 35 view .LVU2575
 7892 00be 0363                 str     r3, [r0, #48]
2950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 7893                           .loc 1 2950 9 is_stmt 1 view .LVU2576
2950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 7894                           .loc 1 2950 35 is_stmt 0 view .LVU2577
 7895 00c0 2022                 movs    r2, #32
 7896                   .LVL334:
2950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 7897                           .loc 1 2950 35 view .LVU2578
 7898 00c2 80F83D20             strb    r2, [r0, #61]
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 7899                           .loc 1 2951 9 is_stmt 1 view .LVU2579
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 310


 7900                           .loc 1 2951 35 is_stmt 0 view .LVU2580
 7901 00c6 80F83E30             strb    r3, [r0, #62]
2952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7902                           .loc 1 2952 9 is_stmt 1 view .LVU2581
2952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7903                           .loc 1 2952 35 is_stmt 0 view .LVU2582
 7904 00ca 026C                 ldr     r2, [r0, #64]
 7905 00cc 42F02002             orr     r2, r2, #32
 7906 00d0 0264                 str     r2, [r0, #64]
2955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7907                           .loc 1 2955 9 is_stmt 1 view .LVU2583
2955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7908                           .loc 1 2955 9 view .LVU2584
 7909 00d2 80F83C30             strb    r3, [r0, #60]
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 7910                           .loc 1 2957 9 view .LVU2585
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 7911                           .loc 1 2957 16 is_stmt 0 view .LVU2586
 7912 00d6 0120                 movs    r0, #1
 7913                   .LVL335:
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 7914                           .loc 1 2957 16 view .LVU2587
 7915 00d8 00E0                 b       .L493
 7916                   .LVL336:
 7917                   .L498:
3011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 7918                           .loc 1 3011 12 view .LVU2588
 7919 00da 0220                 movs    r0, #2
 7920                   .LVL337:
 7921                   .L493:
3013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7922                           .loc 1 3013 1 view .LVU2589
 7923 00dc 02B0                 add     sp, sp, #8
 7924                   .LCFI89:
 7925                           .cfi_remember_state
 7926                           .cfi_def_cfa_offset 8
 7927                           @ sp needed
 7928 00de 30BC                 pop     {r4, r5}
 7929                   .LCFI90:
 7930                           .cfi_restore 5
 7931                           .cfi_restore 4
 7932                           .cfi_def_cfa_offset 0
 7933                   .LVL338:
3013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7934                           .loc 1 3013 1 view .LVU2590
 7935 00e0 7047                 bx      lr
 7936                   .LVL339:
 7937                   .L499:
 7938                   .LCFI91:
 7939                           .cfi_restore_state
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7940                           .loc 1 2963 5 view .LVU2591
 7941 00e2 0220                 movs    r0, #2
 7942                   .LVL340:
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7943                           .loc 1 2963 5 view .LVU2592
 7944 00e4 FAE7                 b       .L493
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 311


 7945                   .L503:
 7946 00e6 00BF                 .align  2
 7947                   .L502:
 7948 00e8 00000000             .word   SystemCoreClock
 7949 00ec 89B5F814             .word   351843721
 7950 00f0 0000FFFF             .word   -65536
 7951                           .cfi_endproc
 7952                   .LFE84:
 7954                           .section        .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
 7955                           .align  1
 7956                           .global HAL_I2C_Mem_Write_DMA
 7957                           .syntax unified
 7958                           .thumb
 7959                           .thumb_func
 7960                           .fpu softvfp
 7962                   HAL_I2C_Mem_Write_DMA:
 7963                   .LVL341:
 7964                   .LFB85:
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 7965                           .loc 1 3028 1 is_stmt 1 view -0
 7966                           .cfi_startproc
 7967                           @ args = 8, pretend = 0, frame = 8
 7968                           @ frame_needed = 0, uses_anonymous_args = 0
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 7969                           .loc 1 3028 1 is_stmt 0 view .LVU2594
 7970 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 7971                   .LCFI92:
 7972                           .cfi_def_cfa_offset 24
 7973                           .cfi_offset 4, -24
 7974                           .cfi_offset 5, -20
 7975                           .cfi_offset 6, -16
 7976                           .cfi_offset 7, -12
 7977                           .cfi_offset 8, -8
 7978                           .cfi_offset 14, -4
 7979 0004 84B0                 sub     sp, sp, #16
 7980                   .LCFI93:
 7981                           .cfi_def_cfa_offset 40
 7982 0006 0446                 mov     r4, r0
 7983 0008 0D46                 mov     r5, r1
 7984 000a 1646                 mov     r6, r2
 7985 000c 1F46                 mov     r7, r3
3029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 7986                           .loc 1 3029 3 is_stmt 1 view .LVU2595
3029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 7987                           .loc 1 3029 17 is_stmt 0 view .LVU2596
 7988 000e 0023                 movs    r3, #0
 7989                   .LVL342:
3029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 7990                           .loc 1 3029 17 view .LVU2597
 7991 0010 0393                 str     r3, [sp, #12]
3030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7992                           .loc 1 3030 3 is_stmt 1 view .LVU2598
3033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7993                           .loc 1 3033 3 view .LVU2599
3033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7994                           .loc 1 3033 24 is_stmt 0 view .LVU2600
 7995 0012 FFF7FEFF             bl      HAL_GetTick
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 312


 7996                   .LVL343:
3036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 7997                           .loc 1 3036 3 is_stmt 1 view .LVU2601
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 7998                           .loc 1 3038 3 view .LVU2602
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 7999                           .loc 1 3038 11 is_stmt 0 view .LVU2603
 8000 0016 94F83D30             ldrb    r3, [r4, #61]   @ zero_extendqisi2
 8001 001a DBB2                 uxtb    r3, r3
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 8002                           .loc 1 3038 6 view .LVU2604
 8003 001c 202B                 cmp     r3, #32
 8004 001e 40F09D80             bne     .L511
 8005 0022 8046                 mov     r8, r0
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 8006                           .loc 1 3041 5 is_stmt 1 view .LVU2605
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 8007                           .loc 1 3041 60 is_stmt 0 view .LVU2606
 8008 0024 524B                 ldr     r3, .L518
 8009 0026 1B68                 ldr     r3, [r3]
 8010 0028 DB08                 lsrs    r3, r3, #3
 8011 002a 524A                 ldr     r2, .L518+4
 8012 002c A2FB0323             umull   r2, r3, r2, r3
 8013 0030 1B0A                 lsrs    r3, r3, #8
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 8014                           .loc 1 3041 35 view .LVU2607
 8015 0032 03EB8303             add     r3, r3, r3, lsl #2
 8016 0036 03EB8303             add     r3, r3, r3, lsl #2
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 8017                           .loc 1 3041 11 view .LVU2608
 8018 003a 0393                 str     r3, [sp, #12]
 8019                   .L507:
3042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8020                           .loc 1 3042 5 is_stmt 1 view .LVU2609
3044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 8021                           .loc 1 3044 7 view .LVU2610
3044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 8022                           .loc 1 3044 12 is_stmt 0 view .LVU2611
 8023 003c 039B                 ldr     r3, [sp, #12]
 8024 003e 013B                 subs    r3, r3, #1
 8025 0040 0393                 str     r3, [sp, #12]
3045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8026                           .loc 1 3045 7 is_stmt 1 view .LVU2612
3045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8027                           .loc 1 3045 17 is_stmt 0 view .LVU2613
 8028 0042 039B                 ldr     r3, [sp, #12]
3045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8029                           .loc 1 3045 10 view .LVU2614
 8030 0044 002B                 cmp     r3, #0
 8031 0046 3AD0                 beq     .L515
3058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8032                           .loc 1 3058 12 view .LVU2615
 8033 0048 2368                 ldr     r3, [r4]
 8034 004a 9A69                 ldr     r2, [r3, #24]
3058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8035                           .loc 1 3058 5 view .LVU2616
 8036 004c 12F0020F             tst     r2, #2
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 313


 8037 0050 F4D1                 bne     .L507
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8038                           .loc 1 3061 5 is_stmt 1 view .LVU2617
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8039                           .loc 1 3061 5 view .LVU2618
 8040 0052 94F83C20             ldrb    r2, [r4, #60]   @ zero_extendqisi2
 8041 0056 012A                 cmp     r2, #1
 8042 0058 00F08580             beq     .L512
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8043                           .loc 1 3061 5 discriminator 2 view .LVU2619
 8044 005c 0122                 movs    r2, #1
 8045 005e 84F83C20             strb    r2, [r4, #60]
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8046                           .loc 1 3064 5 discriminator 2 view .LVU2620
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8047                           .loc 1 3064 24 is_stmt 0 discriminator 2 view .LVU2621
 8048 0062 1A68                 ldr     r2, [r3]
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8049                           .loc 1 3064 8 discriminator 2 view .LVU2622
 8050 0064 12F0010F             tst     r2, #1
 8051 0068 03D1                 bne     .L508
3067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 8052                           .loc 1 3067 7 is_stmt 1 view .LVU2623
 8053 006a 1A68                 ldr     r2, [r3]
 8054 006c 42F00102             orr     r2, r2, #1
 8055 0070 1A60                 str     r2, [r3]
 8056                   .L508:
3071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8057                           .loc 1 3071 5 view .LVU2624
 8058 0072 2268                 ldr     r2, [r4]
 8059 0074 1368                 ldr     r3, [r2]
 8060 0076 23F40063             bic     r3, r3, #2048
 8061 007a 1360                 str     r3, [r2]
3073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 8062                           .loc 1 3073 5 view .LVU2625
3073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 8063                           .loc 1 3073 21 is_stmt 0 view .LVU2626
 8064 007c 2123                 movs    r3, #33
 8065 007e 84F83D30             strb    r3, [r4, #61]
3074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8066                           .loc 1 3074 5 is_stmt 1 view .LVU2627
3074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8067                           .loc 1 3074 21 is_stmt 0 view .LVU2628
 8068 0082 4023                 movs    r3, #64
 8069 0084 84F83E30             strb    r3, [r4, #62]
3075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8070                           .loc 1 3075 5 is_stmt 1 view .LVU2629
3075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8071                           .loc 1 3075 21 is_stmt 0 view .LVU2630
 8072 0088 0023                 movs    r3, #0
 8073 008a 2364                 str     r3, [r4, #64]
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 8074                           .loc 1 3078 5 is_stmt 1 view .LVU2631
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 8075                           .loc 1 3078 23 is_stmt 0 view .LVU2632
 8076 008c 0A9B                 ldr     r3, [sp, #40]
 8077 008e 6362                 str     r3, [r4, #36]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 314


3079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 8078                           .loc 1 3079 5 is_stmt 1 view .LVU2633
3079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 8079                           .loc 1 3079 23 is_stmt 0 view .LVU2634
 8080 0090 BDF82C30             ldrh    r3, [sp, #44]
 8081 0094 6385                 strh    r3, [r4, #42]   @ movhi
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 8082                           .loc 1 3080 5 is_stmt 1 view .LVU2635
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 8083                           .loc 1 3080 29 is_stmt 0 view .LVU2636
 8084 0096 638D                 ldrh    r3, [r4, #42]
 8085 0098 9BB2                 uxth    r3, r3
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 8086                           .loc 1 3080 23 view .LVU2637
 8087 009a 2385                 strh    r3, [r4, #40]   @ movhi
3081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8088                           .loc 1 3081 5 is_stmt 1 view .LVU2638
3081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8089                           .loc 1 3081 23 is_stmt 0 view .LVU2639
 8090 009c 364A                 ldr     r2, .L518+8
 8091 009e E262                 str     r2, [r4, #44]
3083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8092                           .loc 1 3083 5 is_stmt 1 view .LVU2640
3083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8093                           .loc 1 3083 8 is_stmt 0 view .LVU2641
 8094 00a0 DBB9                 cbnz    r3, .L516
3141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 8095                           .loc 1 3141 7 is_stmt 1 view .LVU2642
3141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 8096                           .loc 1 3141 23 is_stmt 0 view .LVU2643
 8097 00a2 2023                 movs    r3, #32
 8098 00a4 84F83D30             strb    r3, [r4, #61]
3142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8099                           .loc 1 3142 7 is_stmt 1 view .LVU2644
3142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8100                           .loc 1 3142 23 is_stmt 0 view .LVU2645
 8101 00a8 0022                 movs    r2, #0
 8102 00aa 84F83E20             strb    r2, [r4, #62]
3145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8103                           .loc 1 3145 7 is_stmt 1 view .LVU2646
3145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8104                           .loc 1 3145 23 is_stmt 0 view .LVU2647
 8105 00ae 236C                 ldr     r3, [r4, #64]
 8106 00b0 43F04003             orr     r3, r3, #64
 8107 00b4 2364                 str     r3, [r4, #64]
3148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8108                           .loc 1 3148 7 is_stmt 1 view .LVU2648
3148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8109                           .loc 1 3148 7 view .LVU2649
 8110 00b6 84F83C20             strb    r2, [r4, #60]
3150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 8111                           .loc 1 3150 7 view .LVU2650
3150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 8112                           .loc 1 3150 14 is_stmt 0 view .LVU2651
 8113 00ba 0123                 movs    r3, #1
 8114 00bc 4FE0                 b       .L505
 8115                   .L515:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 315


3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 8116                           .loc 1 3047 9 is_stmt 1 view .LVU2652
3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 8117                           .loc 1 3047 35 is_stmt 0 view .LVU2653
 8118 00be 2363                 str     r3, [r4, #48]
3048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 8119                           .loc 1 3048 9 is_stmt 1 view .LVU2654
3048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 8120                           .loc 1 3048 35 is_stmt 0 view .LVU2655
 8121 00c0 2022                 movs    r2, #32
 8122 00c2 84F83D20             strb    r2, [r4, #61]
3049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 8123                           .loc 1 3049 9 is_stmt 1 view .LVU2656
3049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 8124                           .loc 1 3049 35 is_stmt 0 view .LVU2657
 8125 00c6 84F83E30             strb    r3, [r4, #62]
3050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8126                           .loc 1 3050 9 is_stmt 1 view .LVU2658
3050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8127                           .loc 1 3050 35 is_stmt 0 view .LVU2659
 8128 00ca 226C                 ldr     r2, [r4, #64]
 8129 00cc 42F02002             orr     r2, r2, #32
 8130 00d0 2264                 str     r2, [r4, #64]
3053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8131                           .loc 1 3053 9 is_stmt 1 view .LVU2660
3053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8132                           .loc 1 3053 9 view .LVU2661
 8133 00d2 84F83C30             strb    r3, [r4, #60]
3055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8134                           .loc 1 3055 9 view .LVU2662
3055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8135                           .loc 1 3055 16 is_stmt 0 view .LVU2663
 8136 00d6 0123                 movs    r3, #1
 8137 00d8 41E0                 b       .L505
 8138                   .L516:
3086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8139                           .loc 1 3086 7 is_stmt 1 view .LVU2664
3086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8140                           .loc 1 3086 11 is_stmt 0 view .LVU2665
 8141 00da 636B                 ldr     r3, [r4, #52]
3086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8142                           .loc 1 3086 38 view .LVU2666
 8143 00dc 274A                 ldr     r2, .L518+12
 8144 00de 9A62                 str     r2, [r3, #40]
3089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8145                           .loc 1 3089 7 is_stmt 1 view .LVU2667
3089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8146                           .loc 1 3089 11 is_stmt 0 view .LVU2668
 8147 00e0 636B                 ldr     r3, [r4, #52]
3089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8148                           .loc 1 3089 39 view .LVU2669
 8149 00e2 274A                 ldr     r2, .L518+16
 8150 00e4 1A63                 str     r2, [r3, #48]
3092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 8151                           .loc 1 3092 7 is_stmt 1 view .LVU2670
3092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 8152                           .loc 1 3092 11 is_stmt 0 view .LVU2671
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 316


 8153 00e6 626B                 ldr     r2, [r4, #52]
3092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 8154                           .loc 1 3092 42 view .LVU2672
 8155 00e8 0023                 movs    r3, #0
 8156 00ea D362                 str     r3, [r2, #44]
3093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8157                           .loc 1 3093 7 is_stmt 1 view .LVU2673
3093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8158                           .loc 1 3093 11 is_stmt 0 view .LVU2674
 8159 00ec 626B                 ldr     r2, [r4, #52]
3093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8160                           .loc 1 3093 39 view .LVU2675
 8161 00ee 5363                 str     r3, [r2, #52]
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8162                           .loc 1 3096 7 is_stmt 1 view .LVU2676
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8163                           .loc 1 3096 95 is_stmt 0 view .LVU2677
 8164 00f0 2268                 ldr     r2, [r4]
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8165                           .loc 1 3096 23 view .LVU2678
 8166 00f2 238D                 ldrh    r3, [r4, #40]
 8167 00f4 1032                 adds    r2, r2, #16
 8168 00f6 616A                 ldr     r1, [r4, #36]
 8169 00f8 606B                 ldr     r0, [r4, #52]
 8170                   .LVL344:
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8171                           .loc 1 3096 23 view .LVU2679
 8172 00fa FFF7FEFF             bl      HAL_DMA_Start_IT
 8173                   .LVL345:
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8174                           .loc 1 3098 7 is_stmt 1 view .LVU2680
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8175                           .loc 1 3098 10 is_stmt 0 view .LVU2681
 8176 00fe 68B1                 cbz     r0, .L517
3126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 8177                           .loc 1 3126 9 is_stmt 1 view .LVU2682
3126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 8178                           .loc 1 3126 25 is_stmt 0 view .LVU2683
 8179 0100 2023                 movs    r3, #32
 8180 0102 84F83D30             strb    r3, [r4, #61]
3127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8181                           .loc 1 3127 9 is_stmt 1 view .LVU2684
3127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8182                           .loc 1 3127 25 is_stmt 0 view .LVU2685
 8183 0106 0022                 movs    r2, #0
 8184 0108 84F83E20             strb    r2, [r4, #62]
3130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8185                           .loc 1 3130 9 is_stmt 1 view .LVU2686
3130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8186                           .loc 1 3130 25 is_stmt 0 view .LVU2687
 8187 010c 236C                 ldr     r3, [r4, #64]
 8188 010e 43F01003             orr     r3, r3, #16
 8189 0112 2364                 str     r3, [r4, #64]
3133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8190                           .loc 1 3133 9 is_stmt 1 view .LVU2688
3133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8191                           .loc 1 3133 9 view .LVU2689
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 317


 8192 0114 84F83C20             strb    r2, [r4, #60]
3135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8193                           .loc 1 3135 9 view .LVU2690
3135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8194                           .loc 1 3135 16 is_stmt 0 view .LVU2691
 8195 0118 0123                 movs    r3, #1
 8196 011a 20E0                 b       .L505
 8197                   .L517:
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8198                           .loc 1 3101 9 is_stmt 1 view .LVU2692
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8199                           .loc 1 3101 13 is_stmt 0 view .LVU2693
 8200 011c CDF80480             str     r8, [sp, #4]
 8201 0120 2323                 movs    r3, #35
 8202 0122 0093                 str     r3, [sp]
 8203 0124 3B46                 mov     r3, r7
 8204 0126 3246                 mov     r2, r6
 8205 0128 2946                 mov     r1, r5
 8206 012a 2046                 mov     r0, r4
 8207                   .LVL346:
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8208                           .loc 1 3101 13 view .LVU2694
 8209 012c FFF7FEFF             bl      I2C_RequestMemoryWrite
 8210                   .LVL347:
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8211                           .loc 1 3101 12 view .LVU2695
 8212 0130 0346                 mov     r3, r0
 8213 0132 D0B9                 cbnz    r0, .L513
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8214                           .loc 1 3107 9 is_stmt 1 view .LVU2696
 8215                   .LBB101:
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8216                           .loc 1 3107 9 view .LVU2697
 8217 0134 0021                 movs    r1, #0
 8218 0136 0291                 str     r1, [sp, #8]
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8219                           .loc 1 3107 9 view .LVU2698
 8220 0138 2268                 ldr     r2, [r4]
 8221 013a 5069                 ldr     r0, [r2, #20]
 8222 013c 0290                 str     r0, [sp, #8]
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8223                           .loc 1 3107 9 view .LVU2699
 8224 013e 9069                 ldr     r0, [r2, #24]
 8225 0140 0290                 str     r0, [sp, #8]
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8226                           .loc 1 3107 9 view .LVU2700
 8227 0142 0298                 ldr     r0, [sp, #8]
 8228                   .LBE101:
3110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8229                           .loc 1 3110 9 view .LVU2701
3110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8230                           .loc 1 3110 9 view .LVU2702
 8231 0144 84F83C10             strb    r1, [r4, #60]
3116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8232                           .loc 1 3116 9 view .LVU2703
 8233 0148 5168                 ldr     r1, [r2, #4]
 8234 014a 41F48071             orr     r1, r1, #256
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 318


 8235 014e 5160                 str     r1, [r2, #4]
3119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8236                           .loc 1 3119 9 view .LVU2704
 8237 0150 2168                 ldr     r1, [r4]
 8238 0152 4A68                 ldr     r2, [r1, #4]
 8239 0154 42F40062             orr     r2, r2, #2048
 8240 0158 4A60                 str     r2, [r1, #4]
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8241                           .loc 1 3121 9 view .LVU2705
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8242                           .loc 1 3121 16 is_stmt 0 view .LVU2706
 8243 015a 00E0                 b       .L505
 8244                   .LVL348:
 8245                   .L511:
3155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 8246                           .loc 1 3155 12 view .LVU2707
 8247 015c 0223                 movs    r3, #2
 8248                   .LVL349:
 8249                   .L505:
3157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8250                           .loc 1 3157 1 view .LVU2708
 8251 015e 1846                 mov     r0, r3
 8252 0160 04B0                 add     sp, sp, #16
 8253                   .LCFI94:
 8254                           .cfi_remember_state
 8255                           .cfi_def_cfa_offset 24
 8256                           @ sp needed
 8257 0162 BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 8258                   .LVL350:
 8259                   .L512:
 8260                   .LCFI95:
 8261                           .cfi_restore_state
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8262                           .loc 1 3061 5 view .LVU2709
 8263 0166 0223                 movs    r3, #2
 8264 0168 F9E7                 b       .L505
 8265                   .LVL351:
 8266                   .L513:
3103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 8267                           .loc 1 3103 18 view .LVU2710
 8268 016a 0123                 movs    r3, #1
 8269 016c F7E7                 b       .L505
 8270                   .L519:
 8271 016e 00BF                 .align  2
 8272                   .L518:
 8273 0170 00000000             .word   SystemCoreClock
 8274 0174 89B5F814             .word   351843721
 8275 0178 0000FFFF             .word   -65536
 8276 017c 00000000             .word   I2C_DMAXferCplt
 8277 0180 00000000             .word   I2C_DMAError
 8278                           .cfi_endproc
 8279                   .LFE85:
 8281                           .section        .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
 8282                           .align  1
 8283                           .global HAL_I2C_Mem_Read_DMA
 8284                           .syntax unified
 8285                           .thumb
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 319


 8286                           .thumb_func
 8287                           .fpu softvfp
 8289                   HAL_I2C_Mem_Read_DMA:
 8290                   .LVL352:
 8291                   .LFB86:
3172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 8292                           .loc 1 3172 1 is_stmt 1 view -0
 8293                           .cfi_startproc
 8294                           @ args = 8, pretend = 0, frame = 16
 8295                           @ frame_needed = 0, uses_anonymous_args = 0
3172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Init tickstart for timeout management*/
 8296                           .loc 1 3172 1 is_stmt 0 view .LVU2712
 8297 0000 2DE9F041             push    {r4, r5, r6, r7, r8, lr}
 8298                   .LCFI96:
 8299                           .cfi_def_cfa_offset 24
 8300                           .cfi_offset 4, -24
 8301                           .cfi_offset 5, -20
 8302                           .cfi_offset 6, -16
 8303                           .cfi_offset 7, -12
 8304                           .cfi_offset 8, -8
 8305                           .cfi_offset 14, -4
 8306 0004 86B0                 sub     sp, sp, #24
 8307                   .LCFI97:
 8308                           .cfi_def_cfa_offset 48
 8309 0006 0446                 mov     r4, r0
 8310 0008 0D46                 mov     r5, r1
 8311 000a 1646                 mov     r6, r2
 8312 000c 1F46                 mov     r7, r3
3174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 8313                           .loc 1 3174 3 is_stmt 1 view .LVU2713
3174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 8314                           .loc 1 3174 24 is_stmt 0 view .LVU2714
 8315 000e FFF7FEFF             bl      HAL_GetTick
 8316                   .LVL353:
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 8317                           .loc 1 3175 3 is_stmt 1 view .LVU2715
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 8318                           .loc 1 3175 17 is_stmt 0 view .LVU2716
 8319 0012 0023                 movs    r3, #0
 8320 0014 0593                 str     r3, [sp, #20]
3176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8321                           .loc 1 3176 3 is_stmt 1 view .LVU2717
3179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8322                           .loc 1 3179 3 view .LVU2718
3181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 8323                           .loc 1 3181 3 view .LVU2719
3181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 8324                           .loc 1 3181 11 is_stmt 0 view .LVU2720
 8325 0016 94F83D30             ldrb    r3, [r4, #61]   @ zero_extendqisi2
 8326 001a DBB2                 uxtb    r3, r3
3181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 8327                           .loc 1 3181 6 view .LVU2721
 8328 001c 202B                 cmp     r3, #32
 8329 001e 40F0BC80             bne     .L530
 8330 0022 8046                 mov     r8, r0
3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 8331                           .loc 1 3184 5 is_stmt 1 view .LVU2722
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 320


3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 8332                           .loc 1 3184 60 is_stmt 0 view .LVU2723
 8333 0024 624B                 ldr     r3, .L538
 8334 0026 1B68                 ldr     r3, [r3]
 8335 0028 DB08                 lsrs    r3, r3, #3
 8336 002a 624A                 ldr     r2, .L538+4
 8337 002c A2FB0323             umull   r2, r3, r2, r3
 8338 0030 1B0A                 lsrs    r3, r3, #8
3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 8339                           .loc 1 3184 35 view .LVU2724
 8340 0032 03EB8303             add     r3, r3, r3, lsl #2
 8341 0036 03EB8303             add     r3, r3, r3, lsl #2
3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     do
 8342                           .loc 1 3184 11 view .LVU2725
 8343 003a 0593                 str     r3, [sp, #20]
 8344                   .L523:
3185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8345                           .loc 1 3185 5 is_stmt 1 view .LVU2726
3187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 8346                           .loc 1 3187 7 view .LVU2727
3187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       if (count == 0U)
 8347                           .loc 1 3187 12 is_stmt 0 view .LVU2728
 8348 003c 059B                 ldr     r3, [sp, #20]
 8349 003e 013B                 subs    r3, r3, #1
 8350 0040 0593                 str     r3, [sp, #20]
3188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8351                           .loc 1 3188 7 is_stmt 1 view .LVU2729
3188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8352                           .loc 1 3188 17 is_stmt 0 view .LVU2730
 8353 0042 059B                 ldr     r3, [sp, #20]
3188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8354                           .loc 1 3188 10 view .LVU2731
 8355 0044 002B                 cmp     r3, #0
 8356 0046 4ED0                 beq     .L535
3201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8357                           .loc 1 3201 12 view .LVU2732
 8358 0048 2368                 ldr     r3, [r4]
 8359 004a 9A69                 ldr     r2, [r3, #24]
3201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8360                           .loc 1 3201 5 view .LVU2733
 8361 004c 12F0020F             tst     r2, #2
 8362 0050 F4D1                 bne     .L523
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8363                           .loc 1 3204 5 is_stmt 1 view .LVU2734
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8364                           .loc 1 3204 5 view .LVU2735
 8365 0052 94F83C20             ldrb    r2, [r4, #60]   @ zero_extendqisi2
 8366 0056 012A                 cmp     r2, #1
 8367 0058 00F0A380             beq     .L531
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8368                           .loc 1 3204 5 discriminator 2 view .LVU2736
 8369 005c 0122                 movs    r2, #1
 8370 005e 84F83C20             strb    r2, [r4, #60]
3207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8371                           .loc 1 3207 5 discriminator 2 view .LVU2737
3207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8372                           .loc 1 3207 24 is_stmt 0 discriminator 2 view .LVU2738
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 321


 8373 0062 1A68                 ldr     r2, [r3]
3207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8374                           .loc 1 3207 8 discriminator 2 view .LVU2739
 8375 0064 12F0010F             tst     r2, #1
 8376 0068 03D1                 bne     .L524
3210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 8377                           .loc 1 3210 7 is_stmt 1 view .LVU2740
 8378 006a 1A68                 ldr     r2, [r3]
 8379 006c 42F00102             orr     r2, r2, #1
 8380 0070 1A60                 str     r2, [r3]
 8381                   .L524:
3214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8382                           .loc 1 3214 5 view .LVU2741
 8383 0072 2268                 ldr     r2, [r4]
 8384 0074 1368                 ldr     r3, [r2]
 8385 0076 23F40063             bic     r3, r3, #2048
 8386 007a 1360                 str     r3, [r2]
3216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 8387                           .loc 1 3216 5 view .LVU2742
3216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 8388                           .loc 1 3216 21 is_stmt 0 view .LVU2743
 8389 007c 2223                 movs    r3, #34
 8390 007e 84F83D30             strb    r3, [r4, #61]
3217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8391                           .loc 1 3217 5 is_stmt 1 view .LVU2744
3217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8392                           .loc 1 3217 21 is_stmt 0 view .LVU2745
 8393 0082 4023                 movs    r3, #64
 8394 0084 84F83E30             strb    r3, [r4, #62]
3218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8395                           .loc 1 3218 5 is_stmt 1 view .LVU2746
3218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8396                           .loc 1 3218 21 is_stmt 0 view .LVU2747
 8397 0088 0023                 movs    r3, #0
 8398 008a 2364                 str     r3, [r4, #64]
3221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 8399                           .loc 1 3221 5 is_stmt 1 view .LVU2748
3221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 8400                           .loc 1 3221 23 is_stmt 0 view .LVU2749
 8401 008c 0C9B                 ldr     r3, [sp, #48]
 8402 008e 6362                 str     r3, [r4, #36]
3222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 8403                           .loc 1 3222 5 is_stmt 1 view .LVU2750
3222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 8404                           .loc 1 3222 23 is_stmt 0 view .LVU2751
 8405 0090 BDF83430             ldrh    r3, [sp, #52]
 8406 0094 6385                 strh    r3, [r4, #42]   @ movhi
3223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 8407                           .loc 1 3223 5 is_stmt 1 view .LVU2752
3223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 8408                           .loc 1 3223 29 is_stmt 0 view .LVU2753
 8409 0096 638D                 ldrh    r3, [r4, #42]
 8410 0098 9BB2                 uxth    r3, r3
3223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 8411                           .loc 1 3223 23 view .LVU2754
 8412 009a 2385                 strh    r3, [r4, #40]   @ movhi
3224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 322


 8413                           .loc 1 3224 5 is_stmt 1 view .LVU2755
3224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8414                           .loc 1 3224 23 is_stmt 0 view .LVU2756
 8415 009c 464A                 ldr     r2, .L538+8
 8416 009e E262                 str     r2, [r4, #44]
3226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8417                           .loc 1 3226 5 is_stmt 1 view .LVU2757
3226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8418                           .loc 1 3226 8 is_stmt 0 view .LVU2758
 8419 00a0 002B                 cmp     r3, #0
 8420 00a2 5CD0                 beq     .L525
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8421                           .loc 1 3229 7 is_stmt 1 view .LVU2759
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8422                           .loc 1 3229 11 is_stmt 0 view .LVU2760
 8423 00a4 A36B                 ldr     r3, [r4, #56]
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8424                           .loc 1 3229 38 view .LVU2761
 8425 00a6 454A                 ldr     r2, .L538+12
 8426 00a8 9A62                 str     r2, [r3, #40]
3232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8427                           .loc 1 3232 7 is_stmt 1 view .LVU2762
3232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8428                           .loc 1 3232 11 is_stmt 0 view .LVU2763
 8429 00aa A36B                 ldr     r3, [r4, #56]
3232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8430                           .loc 1 3232 39 view .LVU2764
 8431 00ac 444A                 ldr     r2, .L538+16
 8432 00ae 1A63                 str     r2, [r3, #48]
3235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 8433                           .loc 1 3235 7 is_stmt 1 view .LVU2765
3235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 8434                           .loc 1 3235 11 is_stmt 0 view .LVU2766
 8435 00b0 A26B                 ldr     r2, [r4, #56]
3235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 8436                           .loc 1 3235 42 view .LVU2767
 8437 00b2 0023                 movs    r3, #0
 8438 00b4 D362                 str     r3, [r2, #44]
3236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8439                           .loc 1 3236 7 is_stmt 1 view .LVU2768
3236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8440                           .loc 1 3236 11 is_stmt 0 view .LVU2769
 8441 00b6 A26B                 ldr     r2, [r4, #56]
3236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8442                           .loc 1 3236 39 view .LVU2770
 8443 00b8 5363                 str     r3, [r2, #52]
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8444                           .loc 1 3239 7 is_stmt 1 view .LVU2771
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8445                           .loc 1 3239 69 is_stmt 0 view .LVU2772
 8446 00ba 2168                 ldr     r1, [r4]
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8447                           .loc 1 3239 23 view .LVU2773
 8448 00bc 238D                 ldrh    r3, [r4, #40]
 8449 00be 626A                 ldr     r2, [r4, #36]
 8450 00c0 1031                 adds    r1, r1, #16
 8451 00c2 A06B                 ldr     r0, [r4, #56]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 323


 8452                   .LVL354:
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8453                           .loc 1 3239 23 view .LVU2774
 8454 00c4 FFF7FEFF             bl      HAL_DMA_Start_IT
 8455                   .LVL355:
3241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8456                           .loc 1 3241 7 is_stmt 1 view .LVU2775
3241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8457                           .loc 1 3241 10 is_stmt 0 view .LVU2776
 8458 00c8 D8B1                 cbz     r0, .L536
3278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 8459                           .loc 1 3278 9 is_stmt 1 view .LVU2777
3278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 8460                           .loc 1 3278 25 is_stmt 0 view .LVU2778
 8461 00ca 2023                 movs    r3, #32
 8462 00cc 84F83D30             strb    r3, [r4, #61]
3279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8463                           .loc 1 3279 9 is_stmt 1 view .LVU2779
3279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8464                           .loc 1 3279 25 is_stmt 0 view .LVU2780
 8465 00d0 0022                 movs    r2, #0
 8466 00d2 84F83E20             strb    r2, [r4, #62]
3282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8467                           .loc 1 3282 9 is_stmt 1 view .LVU2781
3282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8468                           .loc 1 3282 25 is_stmt 0 view .LVU2782
 8469 00d6 236C                 ldr     r3, [r4, #64]
 8470 00d8 43F01003             orr     r3, r3, #16
 8471 00dc 2364                 str     r3, [r4, #64]
3285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8472                           .loc 1 3285 9 is_stmt 1 view .LVU2783
3285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8473                           .loc 1 3285 9 view .LVU2784
 8474 00de 84F83C20             strb    r2, [r4, #60]
3287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8475                           .loc 1 3287 9 view .LVU2785
3287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8476                           .loc 1 3287 16 is_stmt 0 view .LVU2786
 8477 00e2 0120                 movs    r0, #1
 8478                   .LVL356:
3287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8479                           .loc 1 3287 16 view .LVU2787
 8480 00e4 5AE0                 b       .L521
 8481                   .LVL357:
 8482                   .L535:
3190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 8483                           .loc 1 3190 9 is_stmt 1 view .LVU2788
3190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State               = HAL_I2C_STATE_READY;
 8484                           .loc 1 3190 35 is_stmt 0 view .LVU2789
 8485 00e6 2363                 str     r3, [r4, #48]
3191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 8486                           .loc 1 3191 9 is_stmt 1 view .LVU2790
3191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode                = HAL_I2C_MODE_NONE;
 8487                           .loc 1 3191 35 is_stmt 0 view .LVU2791
 8488 00e8 2022                 movs    r2, #32
 8489 00ea 84F83D20             strb    r2, [r4, #61]
3192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 324


 8490                           .loc 1 3192 9 is_stmt 1 view .LVU2792
3192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 8491                           .loc 1 3192 35 is_stmt 0 view .LVU2793
 8492 00ee 84F83E30             strb    r3, [r4, #62]
3193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8493                           .loc 1 3193 9 is_stmt 1 view .LVU2794
3193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8494                           .loc 1 3193 35 is_stmt 0 view .LVU2795
 8495 00f2 226C                 ldr     r2, [r4, #64]
 8496 00f4 42F02002             orr     r2, r2, #32
 8497 00f8 2264                 str     r2, [r4, #64]
3196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8498                           .loc 1 3196 9 is_stmt 1 view .LVU2796
3196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8499                           .loc 1 3196 9 view .LVU2797
 8500 00fa 84F83C30             strb    r3, [r4, #60]
3198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8501                           .loc 1 3198 9 view .LVU2798
3198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8502                           .loc 1 3198 16 is_stmt 0 view .LVU2799
 8503 00fe 0120                 movs    r0, #1
 8504                   .LVL358:
3198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8505                           .loc 1 3198 16 view .LVU2800
 8506 0100 4CE0                 b       .L521
 8507                   .LVL359:
 8508                   .L536:
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8509                           .loc 1 3244 9 is_stmt 1 view .LVU2801
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8510                           .loc 1 3244 13 is_stmt 0 view .LVU2802
 8511 0102 CDF80480             str     r8, [sp, #4]
 8512 0106 2323                 movs    r3, #35
 8513 0108 0093                 str     r3, [sp]
 8514 010a 3B46                 mov     r3, r7
 8515 010c 3246                 mov     r2, r6
 8516 010e 2946                 mov     r1, r5
 8517 0110 2046                 mov     r0, r4
 8518                   .LVL360:
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8519                           .loc 1 3244 13 view .LVU2803
 8520 0112 FFF7FEFF             bl      I2C_RequestMemoryRead
 8521                   .LVL361:
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8522                           .loc 1 3244 12 view .LVU2804
 8523 0116 0028                 cmp     r0, #0
 8524 0118 45D1                 bne     .L532
3249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8525                           .loc 1 3249 9 is_stmt 1 view .LVU2805
3249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8526                           .loc 1 3249 17 is_stmt 0 view .LVU2806
 8527 011a 238D                 ldrh    r3, [r4, #40]
3249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8528                           .loc 1 3249 12 view .LVU2807
 8529 011c 012B                 cmp     r3, #1
 8530 011e 18D0                 beq     .L537
3257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 325


 8531                           .loc 1 3257 11 is_stmt 1 view .LVU2808
 8532 0120 2268                 ldr     r2, [r4]
 8533 0122 5368                 ldr     r3, [r2, #4]
 8534 0124 43F48053             orr     r3, r3, #4096
 8535 0128 5360                 str     r3, [r2, #4]
 8536                   .L528:
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8537                           .loc 1 3261 9 view .LVU2809
 8538                   .LBB102:
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8539                           .loc 1 3261 9 view .LVU2810
 8540 012a 0022                 movs    r2, #0
 8541 012c 0392                 str     r2, [sp, #12]
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8542                           .loc 1 3261 9 view .LVU2811
 8543 012e 2368                 ldr     r3, [r4]
 8544 0130 5969                 ldr     r1, [r3, #20]
 8545 0132 0391                 str     r1, [sp, #12]
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8546                           .loc 1 3261 9 view .LVU2812
 8547 0134 9969                 ldr     r1, [r3, #24]
 8548 0136 0391                 str     r1, [sp, #12]
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8549                           .loc 1 3261 9 view .LVU2813
 8550 0138 0399                 ldr     r1, [sp, #12]
 8551                   .LBE102:
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8552                           .loc 1 3264 9 view .LVU2814
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8553                           .loc 1 3264 9 view .LVU2815
 8554 013a 84F83C20             strb    r2, [r4, #60]
3270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8555                           .loc 1 3270 9 view .LVU2816
 8556 013e 5A68                 ldr     r2, [r3, #4]
 8557 0140 42F48072             orr     r2, r2, #256
 8558 0144 5A60                 str     r2, [r3, #4]
3273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8559                           .loc 1 3273 9 view .LVU2817
3273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8560                           .loc 1 3273 13 is_stmt 0 view .LVU2818
 8561 0146 2268                 ldr     r2, [r4]
3273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8562                           .loc 1 3273 29 view .LVU2819
 8563 0148 5368                 ldr     r3, [r2, #4]
 8564 014a 43F40063             orr     r3, r3, #2048
 8565 014e 5360                 str     r3, [r2, #4]
 8566 0150 21E0                 b       .L529
 8567                   .L537:
3252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 8568                           .loc 1 3252 11 is_stmt 1 view .LVU2820
 8569 0152 2268                 ldr     r2, [r4]
 8570 0154 1368                 ldr     r3, [r2]
 8571 0156 23F48063             bic     r3, r3, #1024
 8572 015a 1360                 str     r3, [r2]
 8573 015c E5E7                 b       .L528
 8574                   .LVL362:
 8575                   .L525:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 326


3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8576                           .loc 1 3293 7 view .LVU2821
3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8577                           .loc 1 3293 11 is_stmt 0 view .LVU2822
 8578 015e CDF80480             str     r8, [sp, #4]
 8579 0162 2323                 movs    r3, #35
 8580 0164 0093                 str     r3, [sp]
 8581 0166 3B46                 mov     r3, r7
 8582 0168 3246                 mov     r2, r6
 8583 016a 2946                 mov     r1, r5
 8584 016c 2046                 mov     r0, r4
 8585                   .LVL363:
3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8586                           .loc 1 3293 11 view .LVU2823
 8587 016e FFF7FEFF             bl      I2C_RequestMemoryRead
 8588                   .LVL364:
3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8589                           .loc 1 3293 10 view .LVU2824
 8590 0172 D0B9                 cbnz    r0, .L533
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8591                           .loc 1 3299 7 is_stmt 1 view .LVU2825
 8592                   .LBB103:
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8593                           .loc 1 3299 7 view .LVU2826
 8594 0174 0021                 movs    r1, #0
 8595 0176 0491                 str     r1, [sp, #16]
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8596                           .loc 1 3299 7 view .LVU2827
 8597 0178 2368                 ldr     r3, [r4]
 8598 017a 5A69                 ldr     r2, [r3, #20]
 8599 017c 0492                 str     r2, [sp, #16]
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8600                           .loc 1 3299 7 view .LVU2828
 8601 017e 9A69                 ldr     r2, [r3, #24]
 8602 0180 0492                 str     r2, [sp, #16]
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8603                           .loc 1 3299 7 view .LVU2829
 8604 0182 049A                 ldr     r2, [sp, #16]
 8605                   .LBE103:
3302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8606                           .loc 1 3302 7 view .LVU2830
 8607 0184 1A68                 ldr     r2, [r3]
 8608 0186 42F40072             orr     r2, r2, #512
 8609 018a 1A60                 str     r2, [r3]
3304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8610                           .loc 1 3304 7 view .LVU2831
3304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8611                           .loc 1 3304 19 is_stmt 0 view .LVU2832
 8612 018c 2023                 movs    r3, #32
 8613 018e 84F83D30             strb    r3, [r4, #61]
3307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 8614                           .loc 1 3307 7 is_stmt 1 view .LVU2833
3307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 8615                           .loc 1 3307 7 view .LVU2834
 8616 0192 84F83C10             strb    r1, [r4, #60]
 8617                   .L529:
3310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 327


 8618                           .loc 1 3310 5 view .LVU2835
3310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 8619                           .loc 1 3310 12 is_stmt 0 view .LVU2836
 8620 0196 0020                 movs    r0, #0
 8621 0198 00E0                 b       .L521
 8622                   .LVL365:
 8623                   .L530:
3314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 8624                           .loc 1 3314 12 view .LVU2837
 8625 019a 0220                 movs    r0, #2
 8626                   .LVL366:
 8627                   .L521:
3316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8628                           .loc 1 3316 1 view .LVU2838
 8629 019c 06B0                 add     sp, sp, #24
 8630                   .LCFI98:
 8631                           .cfi_remember_state
 8632                           .cfi_def_cfa_offset 24
 8633                           @ sp needed
 8634 019e BDE8F081             pop     {r4, r5, r6, r7, r8, pc}
 8635                   .LVL367:
 8636                   .L531:
 8637                   .LCFI99:
 8638                           .cfi_restore_state
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8639                           .loc 1 3204 5 view .LVU2839
 8640 01a2 0220                 movs    r0, #2
 8641                   .LVL368:
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8642                           .loc 1 3204 5 view .LVU2840
 8643 01a4 FAE7                 b       .L521
 8644                   .L532:
3246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 8645                           .loc 1 3246 18 view .LVU2841
 8646 01a6 0120                 movs    r0, #1
 8647 01a8 F8E7                 b       .L521
 8648                   .L533:
3295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8649                           .loc 1 3295 16 view .LVU2842
 8650 01aa 0120                 movs    r0, #1
 8651 01ac F6E7                 b       .L521
 8652                   .L539:
 8653 01ae 00BF                 .align  2
 8654                   .L538:
 8655 01b0 00000000             .word   SystemCoreClock
 8656 01b4 89B5F814             .word   351843721
 8657 01b8 0000FFFF             .word   -65536
 8658 01bc 00000000             .word   I2C_DMAXferCplt
 8659 01c0 00000000             .word   I2C_DMAError
 8660                           .cfi_endproc
 8661                   .LFE86:
 8663                           .section        .text.HAL_I2C_IsDeviceReady,"ax",%progbits
 8664                           .align  1
 8665                           .global HAL_I2C_IsDeviceReady
 8666                           .syntax unified
 8667                           .thumb
 8668                           .thumb_func
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 328


 8669                           .fpu softvfp
 8671                   HAL_I2C_IsDeviceReady:
 8672                   .LVL369:
 8673                   .LFB87:
3330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Get tick */
 8674                           .loc 1 3330 1 is_stmt 1 view -0
 8675                           .cfi_startproc
 8676                           @ args = 0, pretend = 0, frame = 8
 8677                           @ frame_needed = 0, uses_anonymous_args = 0
3330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Get tick */
 8678                           .loc 1 3330 1 is_stmt 0 view .LVU2844
 8679 0000 2DE9F043             push    {r4, r5, r6, r7, r8, r9, lr}
 8680                   .LCFI100:
 8681                           .cfi_def_cfa_offset 28
 8682                           .cfi_offset 4, -28
 8683                           .cfi_offset 5, -24
 8684                           .cfi_offset 6, -20
 8685                           .cfi_offset 7, -16
 8686                           .cfi_offset 8, -12
 8687                           .cfi_offset 9, -8
 8688                           .cfi_offset 14, -4
 8689 0004 85B0                 sub     sp, sp, #20
 8690                   .LCFI101:
 8691                           .cfi_def_cfa_offset 48
 8692 0006 0446                 mov     r4, r0
 8693 0008 8846                 mov     r8, r1
 8694 000a 9146                 mov     r9, r2
 8695 000c 1D46                 mov     r5, r3
3332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t I2C_Trials = 1U;
 8696                           .loc 1 3332 3 is_stmt 1 view .LVU2845
3332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t I2C_Trials = 1U;
 8697                           .loc 1 3332 24 is_stmt 0 view .LVU2846
 8698 000e FFF7FEFF             bl      HAL_GetTick
 8699                   .LVL370:
3333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   FlagStatus tmp1;
 8700                           .loc 1 3333 3 is_stmt 1 view .LVU2847
3334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   FlagStatus tmp2;
 8701                           .loc 1 3334 3 view .LVU2848
3335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8702                           .loc 1 3335 3 view .LVU2849
3337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 8703                           .loc 1 3337 3 view .LVU2850
3337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 8704                           .loc 1 3337 11 is_stmt 0 view .LVU2851
 8705 0012 94F83D30             ldrb    r3, [r4, #61]   @ zero_extendqisi2
 8706 0016 DBB2                 uxtb    r3, r3
3337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 8707                           .loc 1 3337 6 view .LVU2852
 8708 0018 202B                 cmp     r3, #32
 8709 001a 04D0                 beq     .L557
3445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 8710                           .loc 1 3445 12 view .LVU2853
 8711 001c 0223                 movs    r3, #2
 8712                   .LVL371:
 8713                   .L541:
3447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8714                           .loc 1 3447 1 view .LVU2854
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 329


 8715 001e 1846                 mov     r0, r3
 8716 0020 05B0                 add     sp, sp, #20
 8717                   .LCFI102:
 8718                           .cfi_remember_state
 8719                           .cfi_def_cfa_offset 28
 8720                           @ sp needed
 8721 0022 BDE8F083             pop     {r4, r5, r6, r7, r8, r9, pc}
 8722                   .LVL372:
 8723                   .L557:
 8724                   .LCFI103:
 8725                           .cfi_restore_state
3447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8726                           .loc 1 3447 1 view .LVU2855
 8727 0026 0646                 mov     r6, r0
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8728                           .loc 1 3340 5 is_stmt 1 view .LVU2856
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8729                           .loc 1 3340 9 is_stmt 0 view .LVU2857
 8730 0028 0090                 str     r0, [sp]
 8731 002a 1923                 movs    r3, #25
 8732 002c 0122                 movs    r2, #1
 8733 002e 5449                 ldr     r1, .L560
 8734 0030 2046                 mov     r0, r4
 8735                   .LVL373:
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8736                           .loc 1 3340 9 view .LVU2858
 8737 0032 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 8738                   .LVL374:
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8739                           .loc 1 3340 8 view .LVU2859
 8740 0036 0028                 cmp     r0, #0
 8741 0038 40F09780             bne     .L551
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8742                           .loc 1 3346 5 is_stmt 1 view .LVU2860
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8743                           .loc 1 3346 5 view .LVU2861
 8744 003c 94F83C30             ldrb    r3, [r4, #60]   @ zero_extendqisi2
 8745 0040 012B                 cmp     r3, #1
 8746 0042 00F09480             beq     .L552
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8747                           .loc 1 3346 5 discriminator 2 view .LVU2862
 8748 0046 0123                 movs    r3, #1
 8749 0048 84F83C30             strb    r3, [r4, #60]
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8750                           .loc 1 3349 5 discriminator 2 view .LVU2863
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8751                           .loc 1 3349 14 is_stmt 0 discriminator 2 view .LVU2864
 8752 004c 2368                 ldr     r3, [r4]
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8753                           .loc 1 3349 24 discriminator 2 view .LVU2865
 8754 004e 1A68                 ldr     r2, [r3]
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8755                           .loc 1 3349 8 discriminator 2 view .LVU2866
 8756 0050 12F0010F             tst     r2, #1
 8757 0054 03D1                 bne     .L542
3352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 8758                           .loc 1 3352 7 is_stmt 1 view .LVU2867
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 330


 8759 0056 1A68                 ldr     r2, [r3]
 8760 0058 42F00102             orr     r2, r2, #1
 8761 005c 1A60                 str     r2, [r3]
 8762                   .L542:
3356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8763                           .loc 1 3356 5 view .LVU2868
 8764 005e 2268                 ldr     r2, [r4]
 8765 0060 1368                 ldr     r3, [r2]
 8766 0062 23F40063             bic     r3, r3, #2048
 8767 0066 1360                 str     r3, [r2]
3358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8768                           .loc 1 3358 5 view .LVU2869
3358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8769                           .loc 1 3358 17 is_stmt 0 view .LVU2870
 8770 0068 2423                 movs    r3, #36
 8771 006a 84F83D30             strb    r3, [r4, #61]
3359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 8772                           .loc 1 3359 5 is_stmt 1 view .LVU2871
3359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 8773                           .loc 1 3359 21 is_stmt 0 view .LVU2872
 8774 006e 0023                 movs    r3, #0
 8775 0070 2364                 str     r3, [r4, #64]
3360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8776                           .loc 1 3360 5 is_stmt 1 view .LVU2873
3360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8777                           .loc 1 3360 23 is_stmt 0 view .LVU2874
 8778 0072 A3F58033             sub     r3, r3, #65536
 8779 0076 E362                 str     r3, [r4, #44]
3333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   FlagStatus tmp1;
 8780                           .loc 1 3333 12 view .LVU2875
 8781 0078 0127                 movs    r7, #1
 8782 007a 34E0                 b       .L549
 8783                   .LVL375:
 8784                   .L544:
3386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 8785                           .loc 1 3386 11 is_stmt 1 view .LVU2876
3386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 8786                           .loc 1 3386 23 is_stmt 0 view .LVU2877
 8787 007c A023                 movs    r3, #160
 8788 007e 84F83D30             strb    r3, [r4, #61]
 8789                   .L545:
3388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
 8790                           .loc 1 3388 9 is_stmt 1 view .LVU2878
3388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
 8791                           .loc 1 3388 16 is_stmt 0 view .LVU2879
 8792 0082 2368                 ldr     r3, [r4]
 8793 0084 5A69                 ldr     r2, [r3, #20]
 8794 0086 C2F34002             ubfx    r2, r2, #1, #1
 8795                   .LVL376:
3389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8796                           .loc 1 3389 9 is_stmt 1 view .LVU2880
3389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8797                           .loc 1 3389 16 is_stmt 0 view .LVU2881
 8798 008a 5969                 ldr     r1, [r3, #20]
 8799 008c C1F38021             ubfx    r1, r1, #10, #1
 8800                   .LVL377:
 8801                   .L543:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 331


3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8802                           .loc 1 3382 19 view .LVU2882
 8803 0090 94F83D30             ldrb    r3, [r4, #61]   @ zero_extendqisi2
 8804 0094 DBB2                 uxtb    r3, r3
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8805                           .loc 1 3382 13 view .LVU2883
 8806 0096 A02B                 cmp     r3, #160
 8807 0098 09D0                 beq     .L546
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8808                           .loc 1 3382 53 discriminator 1 view .LVU2884
 8809 009a 42B9                 cbnz    r2, .L546
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8810                           .loc 1 3382 72 discriminator 2 view .LVU2885
 8811 009c 39B9                 cbnz    r1, .L546
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8812                           .loc 1 3384 9 is_stmt 1 view .LVU2886
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8813                           .loc 1 3384 15 is_stmt 0 view .LVU2887
 8814 009e FFF7FEFF             bl      HAL_GetTick
 8815                   .LVL378:
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8816                           .loc 1 3384 29 view .LVU2888
 8817 00a2 801B                 subs    r0, r0, r6
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8818                           .loc 1 3384 12 view .LVU2889
 8819 00a4 A842                 cmp     r0, r5
 8820 00a6 E9D8                 bhi     .L544
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8821                           .loc 1 3384 53 discriminator 1 view .LVU2890
 8822 00a8 002D                 cmp     r5, #0
 8823 00aa EAD1                 bne     .L545
 8824 00ac E6E7                 b       .L544
 8825                   .LVL379:
 8826                   .L546:
3392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8827                           .loc 1 3392 7 is_stmt 1 view .LVU2891
3392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8828                           .loc 1 3392 19 is_stmt 0 view .LVU2892
 8829 00ae 2023                 movs    r3, #32
 8830 00b0 84F83D30             strb    r3, [r4, #61]
3395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8831                           .loc 1 3395 7 is_stmt 1 view .LVU2893
3395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8832                           .loc 1 3395 11 is_stmt 0 view .LVU2894
 8833 00b4 2368                 ldr     r3, [r4]
 8834 00b6 5A69                 ldr     r2, [r3, #20]
 8835                   .LVL380:
3395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8836                           .loc 1 3395 10 view .LVU2895
 8837 00b8 12F0020F             tst     r2, #2
 8838 00bc 31D1                 bne     .L558
3419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8839                           .loc 1 3419 9 is_stmt 1 view .LVU2896
 8840 00be 1A68                 ldr     r2, [r3]
 8841 00c0 42F40072             orr     r2, r2, #512
 8842 00c4 1A60                 str     r2, [r3]
3422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 332


 8843                           .loc 1 3422 9 view .LVU2897
 8844 00c6 2368                 ldr     r3, [r4]
 8845 00c8 6FF48062             mvn     r2, #1024
 8846 00cc 5A61                 str     r2, [r3, #20]
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8847                           .loc 1 3425 9 view .LVU2898
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8848                           .loc 1 3425 13 is_stmt 0 view .LVU2899
 8849 00ce 0096                 str     r6, [sp]
 8850 00d0 1923                 movs    r3, #25
 8851 00d2 0122                 movs    r2, #1
 8852 00d4 2A49                 ldr     r1, .L560
 8853                   .LVL381:
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8854                           .loc 1 3425 13 view .LVU2900
 8855 00d6 2046                 mov     r0, r4
 8856 00d8 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 8857                   .LVL382:
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8858                           .loc 1 3425 12 view .LVU2901
 8859 00dc 0028                 cmp     r0, #0
 8860 00de 4CD1                 bne     .L555
3432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 8861                           .loc 1 3432 7 is_stmt 1 view .LVU2902
3432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 8862                           .loc 1 3432 17 is_stmt 0 view .LVU2903
 8863 00e0 0137                 adds    r7, r7, #1
 8864                   .LVL383:
3434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8865                           .loc 1 3434 5 view .LVU2904
 8866 00e2 4F45                 cmp     r7, r9
 8867 00e4 39D2                 bcs     .L559
 8868                   .LVL384:
 8869                   .L549:
3362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 8870                           .loc 1 3362 5 is_stmt 1 view .LVU2905
3365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8871                           .loc 1 3365 7 view .LVU2906
 8872 00e6 2268                 ldr     r2, [r4]
 8873 00e8 1368                 ldr     r3, [r2]
 8874 00ea 43F48073             orr     r3, r3, #256
 8875 00ee 1360                 str     r3, [r2]
3368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8876                           .loc 1 3368 7 view .LVU2907
3368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8877                           .loc 1 3368 11 is_stmt 0 view .LVU2908
 8878 00f0 0096                 str     r6, [sp]
 8879 00f2 2B46                 mov     r3, r5
 8880 00f4 0022                 movs    r2, #0
 8881 00f6 4FF00111             mov     r1, #65537
 8882 00fa 2046                 mov     r0, r4
 8883 00fc FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 8884                   .LVL385:
3368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8885                           .loc 1 3368 10 view .LVU2909
 8886 0100 0028                 cmp     r0, #0
 8887 0102 36D1                 bne     .L553
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 333


3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8888                           .loc 1 3374 7 is_stmt 1 view .LVU2910
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8889                           .loc 1 3374 11 is_stmt 0 view .LVU2911
 8890 0104 2368                 ldr     r3, [r4]
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8891                           .loc 1 3374 28 view .LVU2912
 8892 0106 08F0FE02             and     r2, r8, #254
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8893                           .loc 1 3374 26 view .LVU2913
 8894 010a 1A61                 str     r2, [r3, #16]
3378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8895                           .loc 1 3378 7 is_stmt 1 view .LVU2914
3378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8896                           .loc 1 3378 19 is_stmt 0 view .LVU2915
 8897 010c FFF7FEFF             bl      HAL_GetTick
 8898                   .LVL386:
 8899 0110 0646                 mov     r6, r0
 8900                   .LVL387:
3380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
 8901                           .loc 1 3380 7 is_stmt 1 view .LVU2916
3380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
 8902                           .loc 1 3380 14 is_stmt 0 view .LVU2917
 8903 0112 2368                 ldr     r3, [r4]
 8904 0114 5A69                 ldr     r2, [r3, #20]
 8905 0116 C2F34002             ubfx    r2, r2, #1, #1
 8906                   .LVL388:
3381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       while ((hi2c->State != HAL_I2C_STATE_TIMEOUT) && (tmp1 == RESET) && (tmp2 == RESET))
 8907                           .loc 1 3381 7 is_stmt 1 view .LVU2918
3381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       while ((hi2c->State != HAL_I2C_STATE_TIMEOUT) && (tmp1 == RESET) && (tmp2 == RESET))
 8908                           .loc 1 3381 14 is_stmt 0 view .LVU2919
 8909 011a 5969                 ldr     r1, [r3, #20]
 8910 011c C1F38021             ubfx    r1, r1, #10, #1
 8911                   .LVL389:
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8912                           .loc 1 3382 7 is_stmt 1 view .LVU2920
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 8913                           .loc 1 3382 13 is_stmt 0 view .LVU2921
 8914 0120 B6E7                 b       .L543
 8915                   .LVL390:
 8916                   .L558:
3398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8917                           .loc 1 3398 9 is_stmt 1 view .LVU2922
 8918 0122 1A68                 ldr     r2, [r3]
 8919 0124 42F40072             orr     r2, r2, #512
 8920 0128 1A60                 str     r2, [r3]
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8921                           .loc 1 3401 9 view .LVU2923
 8922                   .LBB104:
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8923                           .loc 1 3401 9 view .LVU2924
 8924 012a 0023                 movs    r3, #0
 8925 012c 0393                 str     r3, [sp, #12]
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8926                           .loc 1 3401 9 view .LVU2925
 8927 012e 2368                 ldr     r3, [r4]
 8928 0130 5A69                 ldr     r2, [r3, #20]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 334


 8929 0132 0392                 str     r2, [sp, #12]
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8930                           .loc 1 3401 9 view .LVU2926
 8931 0134 9B69                 ldr     r3, [r3, #24]
 8932 0136 0393                 str     r3, [sp, #12]
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8933                           .loc 1 3401 9 view .LVU2927
 8934 0138 039B                 ldr     r3, [sp, #12]
 8935                   .LBE104:
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8936                           .loc 1 3404 9 view .LVU2928
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8937                           .loc 1 3404 13 is_stmt 0 view .LVU2929
 8938 013a 0096                 str     r6, [sp]
 8939 013c 1923                 movs    r3, #25
 8940 013e 0122                 movs    r2, #1
 8941 0140 0F49                 ldr     r1, .L560
 8942                   .LVL391:
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8943                           .loc 1 3404 13 view .LVU2930
 8944 0142 2046                 mov     r0, r4
 8945 0144 FFF7FEFF             bl      I2C_WaitOnFlagUntilTimeout
 8946                   .LVL392:
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 8947                           .loc 1 3404 12 view .LVU2931
 8948 0148 0346                 mov     r3, r0
 8949 014a A0B9                 cbnz    r0, .L554
3409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8950                           .loc 1 3409 9 is_stmt 1 view .LVU2932
3409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8951                           .loc 1 3409 21 is_stmt 0 view .LVU2933
 8952 014c 2022                 movs    r2, #32
 8953 014e 84F83D20             strb    r2, [r4, #61]
3412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8954                           .loc 1 3412 9 is_stmt 1 view .LVU2934
3412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8955                           .loc 1 3412 9 view .LVU2935
 8956 0152 0022                 movs    r2, #0
 8957 0154 84F83C20             strb    r2, [r4, #60]
3414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8958                           .loc 1 3414 9 view .LVU2936
3414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8959                           .loc 1 3414 16 is_stmt 0 view .LVU2937
 8960 0158 61E7                 b       .L541
 8961                   .L559:
3436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8962                           .loc 1 3436 5 is_stmt 1 view .LVU2938
3436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8963                           .loc 1 3436 17 is_stmt 0 view .LVU2939
 8964 015a 2023                 movs    r3, #32
 8965 015c 84F83D30             strb    r3, [r4, #61]
3439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8966                           .loc 1 3439 5 is_stmt 1 view .LVU2940
3439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8967                           .loc 1 3439 5 view .LVU2941
 8968 0160 0023                 movs    r3, #0
 8969 0162 84F83C30             strb    r3, [r4, #60]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 335


3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 8970                           .loc 1 3441 5 view .LVU2942
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 8971                           .loc 1 3441 12 is_stmt 0 view .LVU2943
 8972 0166 0123                 movs    r3, #1
 8973 0168 59E7                 b       .L541
 8974                   .LVL393:
 8975                   .L551:
3342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 8976                           .loc 1 3342 14 view .LVU2944
 8977 016a 0223                 movs    r3, #2
 8978 016c 57E7                 b       .L541
 8979                   .L552:
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 8980                           .loc 1 3346 5 view .LVU2945
 8981 016e 0223                 movs    r3, #2
 8982 0170 55E7                 b       .L541
 8983                   .LVL394:
 8984                   .L553:
3370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 8985                           .loc 1 3370 16 view .LVU2946
 8986 0172 0123                 movs    r3, #1
 8987 0174 53E7                 b       .L541
 8988                   .L554:
3406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 8989                           .loc 1 3406 18 view .LVU2947
 8990 0176 0123                 movs    r3, #1
 8991 0178 51E7                 b       .L541
 8992                   .L555:
3427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 8993                           .loc 1 3427 18 view .LVU2948
 8994 017a 0123                 movs    r3, #1
 8995 017c 4FE7                 b       .L541
 8996                   .L561:
 8997 017e 00BF                 .align  2
 8998                   .L560:
 8999 0180 02001000             .word   1048578
 9000                           .cfi_endproc
 9001                   .LFE87:
 9003                           .section        .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits
 9004                           .align  1
 9005                           .global HAL_I2C_Master_Seq_Transmit_IT
 9006                           .syntax unified
 9007                           .thumb
 9008                           .thumb_func
 9009                           .fpu softvfp
 9011                   HAL_I2C_Master_Seq_Transmit_IT:
 9012                   .LVL395:
 9013                   .LFB88:
3462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
 9014                           .loc 1 3462 1 is_stmt 1 view -0
 9015                           .cfi_startproc
 9016                           @ args = 4, pretend = 0, frame = 8
 9017                           @ frame_needed = 0, uses_anonymous_args = 0
 9018                           @ link register save eliminated.
3462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
 9019                           .loc 1 3462 1 is_stmt 0 view .LVU2950
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 336


 9020 0000 70B4                 push    {r4, r5, r6}
 9021                   .LCFI104:
 9022                           .cfi_def_cfa_offset 12
 9023                           .cfi_offset 4, -12
 9024                           .cfi_offset 5, -8
 9025                           .cfi_offset 6, -4
 9026 0002 83B0                 sub     sp, sp, #12
 9027                   .LCFI105:
 9028                           .cfi_def_cfa_offset 24
 9029 0004 069D                 ldr     r5, [sp, #24]
3463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count      = 0x00U;
 9030                           .loc 1 3463 3 is_stmt 1 view .LVU2951
3463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count      = 0x00U;
 9031                           .loc 1 3463 17 is_stmt 0 view .LVU2952
 9032 0006 0024                 movs    r4, #0
 9033 0008 0194                 str     r4, [sp, #4]
3464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9034                           .loc 1 3464 3 is_stmt 1 view .LVU2953
3464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9035                           .loc 1 3464 17 is_stmt 0 view .LVU2954
 9036 000a 0094                 str     r4, [sp]
3467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9037                           .loc 1 3467 3 is_stmt 1 view .LVU2955
3469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9038                           .loc 1 3469 3 view .LVU2956
3469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9039                           .loc 1 3469 11 is_stmt 0 view .LVU2957
 9040 000c 90F83D40             ldrb    r4, [r0, #61]   @ zero_extendqisi2
 9041 0010 E4B2                 uxtb    r4, r4
3469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9042                           .loc 1 3469 6 view .LVU2958
 9043 0012 202C                 cmp     r4, #32
 9044 0014 69D1                 bne     .L571
3472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9045                           .loc 1 3472 5 is_stmt 1 view .LVU2959
3472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9046                           .loc 1 3472 8 is_stmt 0 view .LVU2960
 9047 0016 082D                 cmp     r5, #8
 9048 0018 3AD0                 beq     .L564
3472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9049                           .loc 1 3472 51 discriminator 1 view .LVU2961
 9050 001a 012D                 cmp     r5, #1
 9051 001c 38D0                 beq     .L564
 9052                   .L565:
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9053                           .loc 1 3496 5 is_stmt 1 view .LVU2962
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9054                           .loc 1 3496 5 view .LVU2963
 9055 001e 90F83C40             ldrb    r4, [r0, #60]   @ zero_extendqisi2
 9056 0022 012C                 cmp     r4, #1
 9057 0024 63D0                 beq     .L572
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9058                           .loc 1 3496 5 discriminator 2 view .LVU2964
 9059 0026 0124                 movs    r4, #1
 9060 0028 80F83C40             strb    r4, [r0, #60]
3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9061                           .loc 1 3499 5 discriminator 2 view .LVU2965
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 337


3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9062                           .loc 1 3499 14 is_stmt 0 discriminator 2 view .LVU2966
 9063 002c 0468                 ldr     r4, [r0]
3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9064                           .loc 1 3499 24 discriminator 2 view .LVU2967
 9065 002e 2668                 ldr     r6, [r4]
3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9066                           .loc 1 3499 8 discriminator 2 view .LVU2968
 9067 0030 16F0010F             tst     r6, #1
 9068 0034 03D1                 bne     .L568
3502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9069                           .loc 1 3502 7 is_stmt 1 view .LVU2969
 9070 0036 2668                 ldr     r6, [r4]
 9071 0038 46F00106             orr     r6, r6, #1
 9072 003c 2660                 str     r6, [r4]
 9073                   .L568:
3506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9074                           .loc 1 3506 5 view .LVU2970
 9075 003e 0668                 ldr     r6, [r0]
 9076 0040 3468                 ldr     r4, [r6]
 9077 0042 24F40064             bic     r4, r4, #2048
 9078 0046 3460                 str     r4, [r6]
3508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 9079                           .loc 1 3508 5 view .LVU2971
3508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 9080                           .loc 1 3508 21 is_stmt 0 view .LVU2972
 9081 0048 2124                 movs    r4, #33
 9082 004a 80F83D40             strb    r4, [r0, #61]
3509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 9083                           .loc 1 3509 5 is_stmt 1 view .LVU2973
3509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 9084                           .loc 1 3509 21 is_stmt 0 view .LVU2974
 9085 004e 1024                 movs    r4, #16
 9086 0050 80F83E40             strb    r4, [r0, #62]
3510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9087                           .loc 1 3510 5 is_stmt 1 view .LVU2975
3510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9088                           .loc 1 3510 21 is_stmt 0 view .LVU2976
 9089 0054 0024                 movs    r4, #0
 9090 0056 0464                 str     r4, [r0, #64]
3513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 9091                           .loc 1 3513 5 is_stmt 1 view .LVU2977
3513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 9092                           .loc 1 3513 23 is_stmt 0 view .LVU2978
 9093 0058 4262                 str     r2, [r0, #36]
3514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 9094                           .loc 1 3514 5 is_stmt 1 view .LVU2979
3514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 9095                           .loc 1 3514 23 is_stmt 0 view .LVU2980
 9096 005a 4385                 strh    r3, [r0, #42]   @ movhi
3515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9097                           .loc 1 3515 5 is_stmt 1 view .LVU2981
3515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9098                           .loc 1 3515 29 is_stmt 0 view .LVU2982
 9099 005c 438D                 ldrh    r3, [r0, #42]
 9100                   .LVL396:
3515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 338


 9101                           .loc 1 3515 23 view .LVU2983
 9102 005e 0385                 strh    r3, [r0, #40]   @ movhi
3516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 9103                           .loc 1 3516 5 is_stmt 1 view .LVU2984
3516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 9104                           .loc 1 3516 23 is_stmt 0 view .LVU2985
 9105 0060 C562                 str     r5, [r0, #44]
 9106                   .LVL397:
3517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9107                           .loc 1 3517 5 is_stmt 1 view .LVU2986
3517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9108                           .loc 1 3517 23 is_stmt 0 view .LVU2987
 9109 0062 4164                 str     r1, [r0, #68]
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9110                           .loc 1 3519 5 is_stmt 1 view .LVU2988
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9111                           .loc 1 3519 22 is_stmt 0 view .LVU2989
 9112 0064 036B                 ldr     r3, [r0, #48]
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9113                           .loc 1 3519 16 view .LVU2990
 9114 0066 0193                 str     r3, [sp, #4]
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9115                           .loc 1 3523 5 is_stmt 1 view .LVU2991
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9116                           .loc 1 3523 21 is_stmt 0 view .LVU2992
 9117 0068 019B                 ldr     r3, [sp, #4]
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9118                           .loc 1 3523 8 view .LVU2993
 9119 006a 112B                 cmp     r3, #17
 9120 006c 36D0                 beq     .L574
 9121                   .L569:
3526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9122                           .loc 1 3526 7 is_stmt 1 view .LVU2994
 9123 006e 0268                 ldr     r2, [r0]
 9124                   .LVL398:
3526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9125                           .loc 1 3526 7 is_stmt 0 view .LVU2995
 9126 0070 1368                 ldr     r3, [r2]
 9127 0072 43F48073             orr     r3, r3, #256
 9128 0076 1360                 str     r3, [r2]
 9129                   .LVL399:
 9130                   .L570:
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9131                           .loc 1 3530 5 is_stmt 1 view .LVU2996
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9132                           .loc 1 3530 5 view .LVU2997
 9133 0078 0023                 movs    r3, #0
 9134 007a 80F83C30             strb    r3, [r0, #60]
3537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9135                           .loc 1 3537 5 view .LVU2998
 9136 007e 0168                 ldr     r1, [r0]
 9137                   .LVL400:
3537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9138                           .loc 1 3537 5 is_stmt 0 view .LVU2999
 9139 0080 4A68                 ldr     r2, [r1, #4]
 9140 0082 42F4E062             orr     r2, r2, #1792
 9141 0086 4A60                 str     r2, [r1, #4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 339


3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9142                           .loc 1 3539 5 is_stmt 1 view .LVU3000
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9143                           .loc 1 3539 12 is_stmt 0 view .LVU3001
 9144 0088 1846                 mov     r0, r3
 9145                   .LVL401:
 9146                   .L563:
3545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9147                           .loc 1 3545 1 view .LVU3002
 9148 008a 03B0                 add     sp, sp, #12
 9149                   .LCFI106:
 9150                           .cfi_remember_state
 9151                           .cfi_def_cfa_offset 12
 9152                           @ sp needed
 9153 008c 70BC                 pop     {r4, r5, r6}
 9154                   .LCFI107:
 9155                           .cfi_restore 6
 9156                           .cfi_restore 5
 9157                           .cfi_restore 4
 9158                           .cfi_def_cfa_offset 0
 9159                   .LVL402:
3545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9160                           .loc 1 3545 1 view .LVU3003
 9161 008e 7047                 bx      lr
 9162                   .LVL403:
 9163                   .L564:
 9164                   .LCFI108:
 9165                           .cfi_restore_state
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9166                           .loc 1 3475 7 is_stmt 1 view .LVU3004
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9167                           .loc 1 3475 62 is_stmt 0 view .LVU3005
 9168 0090 184C                 ldr     r4, .L576
 9169 0092 2468                 ldr     r4, [r4]
 9170 0094 E408                 lsrs    r4, r4, #3
 9171 0096 184E                 ldr     r6, .L576+4
 9172 0098 A6FB0464             umull   r6, r4, r6, r4
 9173 009c 240A                 lsrs    r4, r4, #8
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9174                           .loc 1 3475 37 view .LVU3006
 9175 009e 04EB8404             add     r4, r4, r4, lsl #2
 9176 00a2 04EB8404             add     r4, r4, r4, lsl #2
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9177                           .loc 1 3475 13 view .LVU3007
 9178 00a6 0094                 str     r4, [sp]
 9179                   .L567:
3476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9180                           .loc 1 3476 7 is_stmt 1 view .LVU3008
3478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
 9181                           .loc 1 3478 9 view .LVU3009
3478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
 9182                           .loc 1 3478 14 is_stmt 0 view .LVU3010
 9183 00a8 009C                 ldr     r4, [sp]
 9184 00aa 013C                 subs    r4, r4, #1
 9185 00ac 0094                 str     r4, [sp]
3479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9186                           .loc 1 3479 9 is_stmt 1 view .LVU3011
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 340


3479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9187                           .loc 1 3479 19 is_stmt 0 view .LVU3012
 9188 00ae 009C                 ldr     r4, [sp]
3479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9189                           .loc 1 3479 12 view .LVU3013
 9190 00b0 2CB1                 cbz     r4, .L575
3492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9191                           .loc 1 3492 14 view .LVU3014
 9192 00b2 0468                 ldr     r4, [r0]
 9193 00b4 A469                 ldr     r4, [r4, #24]
3492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9194                           .loc 1 3492 7 view .LVU3015
 9195 00b6 14F0020F             tst     r4, #2
 9196 00ba F5D1                 bne     .L567
 9197 00bc AFE7                 b       .L565
 9198                   .L575:
3481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 9199                           .loc 1 3481 11 is_stmt 1 view .LVU3016
3481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 9200                           .loc 1 3481 37 is_stmt 0 view .LVU3017
 9201 00be 0023                 movs    r3, #0
 9202                   .LVL404:
3481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 9203                           .loc 1 3481 37 view .LVU3018
 9204 00c0 0363                 str     r3, [r0, #48]
3482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 9205                           .loc 1 3482 11 is_stmt 1 view .LVU3019
3482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 9206                           .loc 1 3482 37 is_stmt 0 view .LVU3020
 9207 00c2 2022                 movs    r2, #32
 9208                   .LVL405:
3482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 9209                           .loc 1 3482 37 view .LVU3021
 9210 00c4 80F83D20             strb    r2, [r0, #61]
3483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 9211                           .loc 1 3483 11 is_stmt 1 view .LVU3022
3483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 9212                           .loc 1 3483 37 is_stmt 0 view .LVU3023
 9213 00c8 80F83E30             strb    r3, [r0, #62]
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9214                           .loc 1 3484 11 is_stmt 1 view .LVU3024
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9215                           .loc 1 3484 37 is_stmt 0 view .LVU3025
 9216 00cc 026C                 ldr     r2, [r0, #64]
 9217 00ce 42F02002             orr     r2, r2, #32
 9218 00d2 0264                 str     r2, [r0, #64]
3487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9219                           .loc 1 3487 11 is_stmt 1 view .LVU3026
3487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9220                           .loc 1 3487 11 view .LVU3027
 9221 00d4 80F83C30             strb    r3, [r0, #60]
3489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9222                           .loc 1 3489 11 view .LVU3028
3489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9223                           .loc 1 3489 18 is_stmt 0 view .LVU3029
 9224 00d8 0120                 movs    r0, #1
 9225                   .LVL406:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 341


3489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9226                           .loc 1 3489 18 view .LVU3030
 9227 00da D6E7                 b       .L563
 9228                   .LVL407:
 9229                   .L574:
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9230                           .loc 1 3523 54 discriminator 1 view .LVU3031
 9231 00dc B5F52A0F             cmp     r5, #11141120
 9232 00e0 C5D0                 beq     .L569
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9233                           .loc 1 3523 54 discriminator 3 view .LVU3032
 9234 00e2 B5F12A4F             cmp     r5, #-1442840576
 9235 00e6 C7D1                 bne     .L570
 9236 00e8 C1E7                 b       .L569
 9237                   .LVL408:
 9238                   .L571:
3543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9239                           .loc 1 3543 12 view .LVU3033
 9240 00ea 0220                 movs    r0, #2
 9241                   .LVL409:
3543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9242                           .loc 1 3543 12 view .LVU3034
 9243 00ec CDE7                 b       .L563
 9244                   .LVL410:
 9245                   .L572:
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9246                           .loc 1 3496 5 view .LVU3035
 9247 00ee 0220                 movs    r0, #2
 9248                   .LVL411:
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9249                           .loc 1 3496 5 view .LVU3036
 9250 00f0 CBE7                 b       .L563
 9251                   .L577:
 9252 00f2 00BF                 .align  2
 9253                   .L576:
 9254 00f4 00000000             .word   SystemCoreClock
 9255 00f8 89B5F814             .word   351843721
 9256                           .cfi_endproc
 9257                   .LFE88:
 9259                           .section        .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits
 9260                           .align  1
 9261                           .global HAL_I2C_Master_Seq_Transmit_DMA
 9262                           .syntax unified
 9263                           .thumb
 9264                           .thumb_func
 9265                           .fpu softvfp
 9267                   HAL_I2C_Master_Seq_Transmit_DMA:
 9268                   .LVL412:
 9269                   .LFB89:
3560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
 9270                           .loc 1 3560 1 is_stmt 1 view -0
 9271                           .cfi_startproc
 9272                           @ args = 4, pretend = 0, frame = 8
 9273                           @ frame_needed = 0, uses_anonymous_args = 0
3560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
 9274                           .loc 1 3560 1 is_stmt 0 view .LVU3038
 9275 0000 70B5                 push    {r4, r5, r6, lr}
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 342


 9276                   .LCFI109:
 9277                           .cfi_def_cfa_offset 16
 9278                           .cfi_offset 4, -16
 9279                           .cfi_offset 5, -12
 9280                           .cfi_offset 6, -8
 9281                           .cfi_offset 14, -4
 9282 0002 82B0                 sub     sp, sp, #8
 9283                   .LCFI110:
 9284                           .cfi_def_cfa_offset 24
 9285 0004 069D                 ldr     r5, [sp, #24]
3561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count      = 0x00U;
 9286                           .loc 1 3561 3 is_stmt 1 view .LVU3039
3561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count      = 0x00U;
 9287                           .loc 1 3561 17 is_stmt 0 view .LVU3040
 9288 0006 0024                 movs    r4, #0
 9289 0008 0194                 str     r4, [sp, #4]
3562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 9290                           .loc 1 3562 3 is_stmt 1 view .LVU3041
3562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 9291                           .loc 1 3562 17 is_stmt 0 view .LVU3042
 9292 000a 0094                 str     r4, [sp]
3563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9293                           .loc 1 3563 3 is_stmt 1 view .LVU3043
3566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9294                           .loc 1 3566 3 view .LVU3044
3568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9295                           .loc 1 3568 3 view .LVU3045
3568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9296                           .loc 1 3568 11 is_stmt 0 view .LVU3046
 9297 000c 90F83D40             ldrb    r4, [r0, #61]   @ zero_extendqisi2
 9298 0010 E4B2                 uxtb    r4, r4
3568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9299                           .loc 1 3568 6 view .LVU3047
 9300 0012 202C                 cmp     r4, #32
 9301 0014 40F0BD80             bne     .L594
3571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9302                           .loc 1 3571 5 is_stmt 1 view .LVU3048
3571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9303                           .loc 1 3571 8 is_stmt 0 view .LVU3049
 9304 0018 082D                 cmp     r5, #8
 9305 001a 41D0                 beq     .L580
3571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9306                           .loc 1 3571 51 discriminator 1 view .LVU3050
 9307 001c 012D                 cmp     r5, #1
 9308 001e 3FD0                 beq     .L580
 9309                   .L581:
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9310                           .loc 1 3595 5 is_stmt 1 view .LVU3051
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9311                           .loc 1 3595 5 view .LVU3052
 9312 0020 90F83C40             ldrb    r4, [r0, #60]   @ zero_extendqisi2
 9313 0024 012C                 cmp     r4, #1
 9314 0026 00F0B780             beq     .L595
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9315                           .loc 1 3595 5 discriminator 2 view .LVU3053
 9316 002a 0124                 movs    r4, #1
 9317 002c 80F83C40             strb    r4, [r0, #60]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 343


3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9318                           .loc 1 3598 5 discriminator 2 view .LVU3054
3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9319                           .loc 1 3598 14 is_stmt 0 discriminator 2 view .LVU3055
 9320 0030 0468                 ldr     r4, [r0]
3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9321                           .loc 1 3598 24 discriminator 2 view .LVU3056
 9322 0032 2668                 ldr     r6, [r4]
3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9323                           .loc 1 3598 8 discriminator 2 view .LVU3057
 9324 0034 16F0010F             tst     r6, #1
 9325 0038 03D1                 bne     .L584
3601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9326                           .loc 1 3601 7 is_stmt 1 view .LVU3058
 9327 003a 2668                 ldr     r6, [r4]
 9328 003c 46F00106             orr     r6, r6, #1
 9329 0040 2660                 str     r6, [r4]
 9330                   .L584:
3605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9331                           .loc 1 3605 5 view .LVU3059
 9332 0042 0668                 ldr     r6, [r0]
 9333 0044 3468                 ldr     r4, [r6]
 9334 0046 24F40064             bic     r4, r4, #2048
 9335 004a 3460                 str     r4, [r6]
3607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 9336                           .loc 1 3607 5 view .LVU3060
3607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 9337                           .loc 1 3607 21 is_stmt 0 view .LVU3061
 9338 004c 2124                 movs    r4, #33
 9339 004e 80F83D40             strb    r4, [r0, #61]
3608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 9340                           .loc 1 3608 5 is_stmt 1 view .LVU3062
3608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 9341                           .loc 1 3608 21 is_stmt 0 view .LVU3063
 9342 0052 1024                 movs    r4, #16
 9343 0054 80F83E40             strb    r4, [r0, #62]
3609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9344                           .loc 1 3609 5 is_stmt 1 view .LVU3064
3609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9345                           .loc 1 3609 21 is_stmt 0 view .LVU3065
 9346 0058 0024                 movs    r4, #0
 9347 005a 0464                 str     r4, [r0, #64]
3612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 9348                           .loc 1 3612 5 is_stmt 1 view .LVU3066
3612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 9349                           .loc 1 3612 23 is_stmt 0 view .LVU3067
 9350 005c 4262                 str     r2, [r0, #36]
3613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 9351                           .loc 1 3613 5 is_stmt 1 view .LVU3068
3613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 9352                           .loc 1 3613 23 is_stmt 0 view .LVU3069
 9353 005e 4385                 strh    r3, [r0, #42]   @ movhi
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9354                           .loc 1 3614 5 is_stmt 1 view .LVU3070
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9355                           .loc 1 3614 29 is_stmt 0 view .LVU3071
 9356 0060 438D                 ldrh    r3, [r0, #42]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 344


 9357                   .LVL413:
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9358                           .loc 1 3614 29 view .LVU3072
 9359 0062 9BB2                 uxth    r3, r3
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9360                           .loc 1 3614 23 view .LVU3073
 9361 0064 0385                 strh    r3, [r0, #40]   @ movhi
3615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 9362                           .loc 1 3615 5 is_stmt 1 view .LVU3074
3615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 9363                           .loc 1 3615 23 is_stmt 0 view .LVU3075
 9364 0066 C562                 str     r5, [r0, #44]
 9365                   .LVL414:
3616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9366                           .loc 1 3616 5 is_stmt 1 view .LVU3076
3616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9367                           .loc 1 3616 23 is_stmt 0 view .LVU3077
 9368 0068 4164                 str     r1, [r0, #68]
3618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9369                           .loc 1 3618 5 is_stmt 1 view .LVU3078
3618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9370                           .loc 1 3618 22 is_stmt 0 view .LVU3079
 9371 006a 026B                 ldr     r2, [r0, #48]
 9372                   .LVL415:
3618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9373                           .loc 1 3618 16 view .LVU3080
 9374 006c 0192                 str     r2, [sp, #4]
3620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9375                           .loc 1 3620 5 is_stmt 1 view .LVU3081
3620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9376                           .loc 1 3620 8 is_stmt 0 view .LVU3082
 9377 006e 002B                 cmp     r3, #0
 9378 0070 3CD1                 bne     .L597
3684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9379                           .loc 1 3684 7 is_stmt 1 view .LVU3083
 9380 0072 0268                 ldr     r2, [r0]
 9381 0074 1368                 ldr     r3, [r2]
 9382 0076 43F48063             orr     r3, r3, #1024
 9383 007a 1360                 str     r3, [r2]
 9384                   .LVL416:
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9385                           .loc 1 3688 7 view .LVU3084
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9386                           .loc 1 3688 23 is_stmt 0 view .LVU3085
 9387 007c 019B                 ldr     r3, [sp, #4]
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9388                           .loc 1 3688 10 view .LVU3086
 9389 007e 112B                 cmp     r3, #17
 9390 0080 7ED0                 beq     .L598
 9391                   .L592:
3691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 9392                           .loc 1 3691 9 is_stmt 1 view .LVU3087
 9393 0082 0268                 ldr     r2, [r0]
 9394 0084 1368                 ldr     r3, [r2]
 9395 0086 43F48073             orr     r3, r3, #256
 9396 008a 1360                 str     r3, [r2]
 9397                   .L593:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 345


3695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9398                           .loc 1 3695 7 view .LVU3088
3695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9399                           .loc 1 3695 7 view .LVU3089
 9400 008c 0023                 movs    r3, #0
 9401 008e 80F83C30             strb    r3, [r0, #60]
3702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9402                           .loc 1 3702 7 view .LVU3090
 9403 0092 0268                 ldr     r2, [r0]
 9404 0094 5368                 ldr     r3, [r2, #4]
 9405 0096 43F4E063             orr     r3, r3, #1792
 9406 009a 5360                 str     r3, [r2, #4]
 9407                   .LVL417:
 9408                   .L591:
3705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9409                           .loc 1 3705 5 view .LVU3091
3705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9410                           .loc 1 3705 12 is_stmt 0 view .LVU3092
 9411 009c 0020                 movs    r0, #0
 9412 009e 79E0                 b       .L579
 9413                   .LVL418:
 9414                   .L580:
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9415                           .loc 1 3574 7 is_stmt 1 view .LVU3093
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9416                           .loc 1 3574 62 is_stmt 0 view .LVU3094
 9417 00a0 3E4C                 ldr     r4, .L601
 9418 00a2 2468                 ldr     r4, [r4]
 9419 00a4 E408                 lsrs    r4, r4, #3
 9420 00a6 3E4E                 ldr     r6, .L601+4
 9421 00a8 A6FB0464             umull   r6, r4, r6, r4
 9422 00ac 240A                 lsrs    r4, r4, #8
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9423                           .loc 1 3574 37 view .LVU3095
 9424 00ae 04EB8404             add     r4, r4, r4, lsl #2
 9425 00b2 04EB8404             add     r4, r4, r4, lsl #2
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9426                           .loc 1 3574 13 view .LVU3096
 9427 00b6 0094                 str     r4, [sp]
 9428                   .L583:
3575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9429                           .loc 1 3575 7 is_stmt 1 view .LVU3097
3577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
 9430                           .loc 1 3577 9 view .LVU3098
3577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
 9431                           .loc 1 3577 14 is_stmt 0 view .LVU3099
 9432 00b8 009C                 ldr     r4, [sp]
 9433 00ba 013C                 subs    r4, r4, #1
 9434 00bc 0094                 str     r4, [sp]
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9435                           .loc 1 3578 9 is_stmt 1 view .LVU3100
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9436                           .loc 1 3578 19 is_stmt 0 view .LVU3101
 9437 00be 009C                 ldr     r4, [sp]
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9438                           .loc 1 3578 12 view .LVU3102
 9439 00c0 2CB1                 cbz     r4, .L599
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 346


3591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9440                           .loc 1 3591 14 view .LVU3103
 9441 00c2 0468                 ldr     r4, [r0]
 9442 00c4 A469                 ldr     r4, [r4, #24]
3591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9443                           .loc 1 3591 7 view .LVU3104
 9444 00c6 14F0020F             tst     r4, #2
 9445 00ca F5D1                 bne     .L583
 9446 00cc A8E7                 b       .L581
 9447                   .L599:
3580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 9448                           .loc 1 3580 11 is_stmt 1 view .LVU3105
3580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 9449                           .loc 1 3580 37 is_stmt 0 view .LVU3106
 9450 00ce 0023                 movs    r3, #0
 9451                   .LVL419:
3580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 9452                           .loc 1 3580 37 view .LVU3107
 9453 00d0 0363                 str     r3, [r0, #48]
3581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 9454                           .loc 1 3581 11 is_stmt 1 view .LVU3108
3581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 9455                           .loc 1 3581 37 is_stmt 0 view .LVU3109
 9456 00d2 2022                 movs    r2, #32
 9457                   .LVL420:
3581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 9458                           .loc 1 3581 37 view .LVU3110
 9459 00d4 80F83D20             strb    r2, [r0, #61]
3582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 9460                           .loc 1 3582 11 is_stmt 1 view .LVU3111
3582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 9461                           .loc 1 3582 37 is_stmt 0 view .LVU3112
 9462 00d8 80F83E30             strb    r3, [r0, #62]
3583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9463                           .loc 1 3583 11 is_stmt 1 view .LVU3113
3583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9464                           .loc 1 3583 37 is_stmt 0 view .LVU3114
 9465 00dc 026C                 ldr     r2, [r0, #64]
 9466 00de 42F02002             orr     r2, r2, #32
 9467 00e2 0264                 str     r2, [r0, #64]
3586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9468                           .loc 1 3586 11 is_stmt 1 view .LVU3115
3586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9469                           .loc 1 3586 11 view .LVU3116
 9470 00e4 80F83C30             strb    r3, [r0, #60]
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9471                           .loc 1 3588 11 view .LVU3117
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9472                           .loc 1 3588 18 is_stmt 0 view .LVU3118
 9473 00e8 0120                 movs    r0, #1
 9474                   .LVL421:
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9475                           .loc 1 3588 18 view .LVU3119
 9476 00ea 53E0                 b       .L579
 9477                   .LVL422:
 9478                   .L597:
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 347


 9479                           .loc 1 3588 18 view .LVU3120
 9480 00ec 0446                 mov     r4, r0
3623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9481                           .loc 1 3623 7 is_stmt 1 view .LVU3121
3623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9482                           .loc 1 3623 11 is_stmt 0 view .LVU3122
 9483 00ee 436B                 ldr     r3, [r0, #52]
3623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9484                           .loc 1 3623 38 view .LVU3123
 9485 00f0 2C4A                 ldr     r2, .L601+8
 9486 00f2 9A62                 str     r2, [r3, #40]
 9487                   .LVL423:
3626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9488                           .loc 1 3626 7 is_stmt 1 view .LVU3124
3626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9489                           .loc 1 3626 11 is_stmt 0 view .LVU3125
 9490 00f4 436B                 ldr     r3, [r0, #52]
3626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9491                           .loc 1 3626 39 view .LVU3126
 9492 00f6 2C4A                 ldr     r2, .L601+12
 9493 00f8 1A63                 str     r2, [r3, #48]
3629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 9494                           .loc 1 3629 7 is_stmt 1 view .LVU3127
3629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 9495                           .loc 1 3629 11 is_stmt 0 view .LVU3128
 9496 00fa 426B                 ldr     r2, [r0, #52]
3629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 9497                           .loc 1 3629 42 view .LVU3129
 9498 00fc 0023                 movs    r3, #0
 9499 00fe D362                 str     r3, [r2, #44]
3630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9500                           .loc 1 3630 7 is_stmt 1 view .LVU3130
3630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9501                           .loc 1 3630 11 is_stmt 0 view .LVU3131
 9502 0100 426B                 ldr     r2, [r0, #52]
3630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9503                           .loc 1 3630 39 view .LVU3132
 9504 0102 5363                 str     r3, [r2, #52]
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9505                           .loc 1 3633 7 is_stmt 1 view .LVU3133
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9506                           .loc 1 3633 95 is_stmt 0 view .LVU3134
 9507 0104 0268                 ldr     r2, [r0]
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9508                           .loc 1 3633 23 view .LVU3135
 9509 0106 038D                 ldrh    r3, [r0, #40]
 9510 0108 1032                 adds    r2, r2, #16
 9511 010a 416A                 ldr     r1, [r0, #36]
 9512                   .LVL424:
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9513                           .loc 1 3633 23 view .LVU3136
 9514 010c 406B                 ldr     r0, [r0, #52]
 9515                   .LVL425:
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9516                           .loc 1 3633 23 view .LVU3137
 9517 010e FFF7FEFF             bl      HAL_DMA_Start_IT
 9518                   .LVL426:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 348


3635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9519                           .loc 1 3635 7 is_stmt 1 view .LVU3138
3635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9520                           .loc 1 3635 10 is_stmt 0 view .LVU3139
 9521 0112 38BB                 cbnz    r0, .L586
3638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9522                           .loc 1 3638 9 is_stmt 1 view .LVU3140
 9523 0114 2268                 ldr     r2, [r4]
 9524 0116 1368                 ldr     r3, [r2]
 9525 0118 43F48063             orr     r3, r3, #1024
 9526 011c 1360                 str     r3, [r2]
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9527                           .loc 1 3642 9 view .LVU3141
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9528                           .loc 1 3642 25 is_stmt 0 view .LVU3142
 9529 011e 019B                 ldr     r3, [sp, #4]
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9530                           .loc 1 3642 12 view .LVU3143
 9531 0120 112B                 cmp     r3, #17
 9532 0122 18D0                 beq     .L600
 9533                   .L587:
3645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9534                           .loc 1 3645 11 is_stmt 1 view .LVU3144
 9535 0124 2268                 ldr     r2, [r4]
 9536 0126 1368                 ldr     r3, [r2]
 9537 0128 43F48073             orr     r3, r3, #256
 9538 012c 1360                 str     r3, [r2]
 9539                   .L588:
3649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9540                           .loc 1 3649 9 view .LVU3145
3649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9541                           .loc 1 3649 9 view .LVU3146
 9542 012e 0023                 movs    r3, #0
 9543 0130 84F83C30             strb    r3, [r4, #60]
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9544                           .loc 1 3657 9 view .LVU3147
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9545                           .loc 1 3657 12 is_stmt 0 view .LVU3148
 9546 0134 042D                 cmp     r5, #4
 9547 0136 03D0                 beq     .L589
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9548                           .loc 1 3657 45 discriminator 1 view .LVU3149
 9549 0138 202D                 cmp     r5, #32
 9550 013a 01D0                 beq     .L589
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9551                           .loc 1 3657 80 discriminator 2 view .LVU3150
 9552 013c 102D                 cmp     r5, #16
 9553 013e 04D1                 bne     .L590
 9554                   .L589:
3660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9555                           .loc 1 3660 11 is_stmt 1 view .LVU3151
 9556 0140 2268                 ldr     r2, [r4]
 9557 0142 5368                 ldr     r3, [r2, #4]
 9558 0144 43F40063             orr     r3, r3, #2048
 9559 0148 5360                 str     r3, [r2, #4]
 9560                   .L590:
3664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 349


 9561                           .loc 1 3664 9 view .LVU3152
 9562 014a 2268                 ldr     r2, [r4]
 9563 014c 5368                 ldr     r3, [r2, #4]
 9564 014e 43F44073             orr     r3, r3, #768
 9565 0152 5360                 str     r3, [r2, #4]
 9566 0154 A2E7                 b       .L591
 9567                   .L600:
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9568                           .loc 1 3642 58 is_stmt 0 discriminator 1 view .LVU3153
 9569 0156 B5F52A0F             cmp     r5, #11141120
 9570 015a E3D0                 beq     .L587
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9571                           .loc 1 3642 58 discriminator 3 view .LVU3154
 9572 015c B5F12A4F             cmp     r5, #-1442840576
 9573 0160 E5D1                 bne     .L588
 9574 0162 DFE7                 b       .L587
 9575                   .L586:
3669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 9576                           .loc 1 3669 9 is_stmt 1 view .LVU3155
3669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 9577                           .loc 1 3669 25 is_stmt 0 view .LVU3156
 9578 0164 2023                 movs    r3, #32
 9579 0166 84F83D30             strb    r3, [r4, #61]
3670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9580                           .loc 1 3670 9 is_stmt 1 view .LVU3157
3670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9581                           .loc 1 3670 25 is_stmt 0 view .LVU3158
 9582 016a 0022                 movs    r2, #0
 9583 016c 84F83E20             strb    r2, [r4, #62]
3673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9584                           .loc 1 3673 9 is_stmt 1 view .LVU3159
3673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9585                           .loc 1 3673 25 is_stmt 0 view .LVU3160
 9586 0170 236C                 ldr     r3, [r4, #64]
 9587 0172 43F01003             orr     r3, r3, #16
 9588 0176 2364                 str     r3, [r4, #64]
3676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9589                           .loc 1 3676 9 is_stmt 1 view .LVU3161
3676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9590                           .loc 1 3676 9 view .LVU3162
 9591 0178 84F83C20             strb    r2, [r4, #60]
3678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 9592                           .loc 1 3678 9 view .LVU3163
3678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 9593                           .loc 1 3678 16 is_stmt 0 view .LVU3164
 9594 017c 0120                 movs    r0, #1
 9595                   .LVL427:
3678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 9596                           .loc 1 3678 16 view .LVU3165
 9597 017e 09E0                 b       .L579
 9598                   .LVL428:
 9599                   .L598:
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9600                           .loc 1 3688 56 discriminator 1 view .LVU3166
 9601 0180 B5F52A0F             cmp     r5, #11141120
 9602 0184 3FF47DAF             beq     .L592
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 350


 9603                           .loc 1 3688 56 discriminator 3 view .LVU3167
 9604 0188 B5F12A4F             cmp     r5, #-1442840576
 9605 018c 7FF47EAF             bne     .L593
 9606 0190 77E7                 b       .L592
 9607                   .LVL429:
 9608                   .L594:
3709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9609                           .loc 1 3709 12 view .LVU3168
 9610 0192 0220                 movs    r0, #2
 9611                   .LVL430:
 9612                   .L579:
3711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9613                           .loc 1 3711 1 view .LVU3169
 9614 0194 02B0                 add     sp, sp, #8
 9615                   .LCFI111:
 9616                           .cfi_remember_state
 9617                           .cfi_def_cfa_offset 16
 9618                           @ sp needed
 9619 0196 70BD                 pop     {r4, r5, r6, pc}
 9620                   .LVL431:
 9621                   .L595:
 9622                   .LCFI112:
 9623                           .cfi_restore_state
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9624                           .loc 1 3595 5 view .LVU3170
 9625 0198 0220                 movs    r0, #2
 9626                   .LVL432:
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9627                           .loc 1 3595 5 view .LVU3171
 9628 019a FBE7                 b       .L579
 9629                   .L602:
 9630                           .align  2
 9631                   .L601:
 9632 019c 00000000             .word   SystemCoreClock
 9633 01a0 89B5F814             .word   351843721
 9634 01a4 00000000             .word   I2C_DMAXferCplt
 9635 01a8 00000000             .word   I2C_DMAError
 9636                           .cfi_endproc
 9637                   .LFE89:
 9639                           .section        .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits
 9640                           .align  1
 9641                           .global HAL_I2C_Master_Seq_Receive_IT
 9642                           .syntax unified
 9643                           .thumb
 9644                           .thumb_func
 9645                           .fpu softvfp
 9647                   HAL_I2C_Master_Seq_Receive_IT:
 9648                   .LVL433:
 9649                   .LFB90:
3726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
 9650                           .loc 1 3726 1 is_stmt 1 view -0
 9651                           .cfi_startproc
 9652                           @ args = 4, pretend = 0, frame = 8
 9653                           @ frame_needed = 0, uses_anonymous_args = 0
 9654                           @ link register save eliminated.
3726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
 9655                           .loc 1 3726 1 is_stmt 0 view .LVU3173
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 351


 9656 0000 70B4                 push    {r4, r5, r6}
 9657                   .LCFI113:
 9658                           .cfi_def_cfa_offset 12
 9659                           .cfi_offset 4, -12
 9660                           .cfi_offset 5, -8
 9661                           .cfi_offset 6, -4
 9662 0002 83B0                 sub     sp, sp, #12
 9663                   .LCFI114:
 9664                           .cfi_def_cfa_offset 24
 9665 0004 069D                 ldr     r5, [sp, #24]
3727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 9666                           .loc 1 3727 3 is_stmt 1 view .LVU3174
3727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 9667                           .loc 1 3727 17 is_stmt 0 view .LVU3175
 9668 0006 0024                 movs    r4, #0
 9669 0008 0194                 str     r4, [sp, #4]
3728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
 9670                           .loc 1 3728 3 is_stmt 1 view .LVU3176
3728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
 9671                           .loc 1 3728 17 is_stmt 0 view .LVU3177
 9672 000a 0094                 str     r4, [sp]
3729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9673                           .loc 1 3729 3 is_stmt 1 view .LVU3178
 9674                   .LVL434:
3732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9675                           .loc 1 3732 3 view .LVU3179
3734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9676                           .loc 1 3734 3 view .LVU3180
3734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9677                           .loc 1 3734 11 is_stmt 0 view .LVU3181
 9678 000c 90F83D40             ldrb    r4, [r0, #61]   @ zero_extendqisi2
 9679 0010 E4B2                 uxtb    r4, r4
3734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9680                           .loc 1 3734 6 view .LVU3182
 9681 0012 202C                 cmp     r4, #32
 9682 0014 40F09180             bne     .L616
3737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9683                           .loc 1 3737 5 is_stmt 1 view .LVU3183
3737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9684                           .loc 1 3737 8 is_stmt 0 view .LVU3184
 9685 0018 082D                 cmp     r5, #8
 9686 001a 45D0                 beq     .L605
3737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9687                           .loc 1 3737 51 discriminator 1 view .LVU3185
 9688 001c 012D                 cmp     r5, #1
 9689 001e 43D0                 beq     .L605
 9690                   .L606:
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9691                           .loc 1 3761 5 is_stmt 1 view .LVU3186
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9692                           .loc 1 3761 5 view .LVU3187
 9693 0020 90F83C40             ldrb    r4, [r0, #60]   @ zero_extendqisi2
 9694 0024 012C                 cmp     r4, #1
 9695 0026 00F08A80             beq     .L617
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9696                           .loc 1 3761 5 discriminator 2 view .LVU3188
 9697 002a 0124                 movs    r4, #1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 352


 9698 002c 80F83C40             strb    r4, [r0, #60]
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9699                           .loc 1 3764 5 discriminator 2 view .LVU3189
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9700                           .loc 1 3764 14 is_stmt 0 discriminator 2 view .LVU3190
 9701 0030 0468                 ldr     r4, [r0]
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9702                           .loc 1 3764 24 discriminator 2 view .LVU3191
 9703 0032 2668                 ldr     r6, [r4]
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9704                           .loc 1 3764 8 discriminator 2 view .LVU3192
 9705 0034 16F0010F             tst     r6, #1
 9706 0038 03D1                 bne     .L609
3767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9707                           .loc 1 3767 7 is_stmt 1 view .LVU3193
 9708 003a 2668                 ldr     r6, [r4]
 9709 003c 46F00106             orr     r6, r6, #1
 9710 0040 2660                 str     r6, [r4]
 9711                   .L609:
3771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9712                           .loc 1 3771 5 view .LVU3194
 9713 0042 0668                 ldr     r6, [r0]
 9714 0044 3468                 ldr     r4, [r6]
 9715 0046 24F40064             bic     r4, r4, #2048
 9716 004a 3460                 str     r4, [r6]
3773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 9717                           .loc 1 3773 5 view .LVU3195
3773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 9718                           .loc 1 3773 21 is_stmt 0 view .LVU3196
 9719 004c 2224                 movs    r4, #34
 9720 004e 80F83D40             strb    r4, [r0, #61]
3774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 9721                           .loc 1 3774 5 is_stmt 1 view .LVU3197
3774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 9722                           .loc 1 3774 21 is_stmt 0 view .LVU3198
 9723 0052 1024                 movs    r4, #16
 9724 0054 80F83E40             strb    r4, [r0, #62]
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9725                           .loc 1 3775 5 is_stmt 1 view .LVU3199
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9726                           .loc 1 3775 21 is_stmt 0 view .LVU3200
 9727 0058 0024                 movs    r4, #0
 9728 005a 0464                 str     r4, [r0, #64]
3778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 9729                           .loc 1 3778 5 is_stmt 1 view .LVU3201
3778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 9730                           .loc 1 3778 23 is_stmt 0 view .LVU3202
 9731 005c 4262                 str     r2, [r0, #36]
3779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 9732                           .loc 1 3779 5 is_stmt 1 view .LVU3203
3779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 9733                           .loc 1 3779 23 is_stmt 0 view .LVU3204
 9734 005e 4385                 strh    r3, [r0, #42]   @ movhi
3780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9735                           .loc 1 3780 5 is_stmt 1 view .LVU3205
3780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9736                           .loc 1 3780 29 is_stmt 0 view .LVU3206
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 353


 9737 0060 438D                 ldrh    r3, [r0, #42]
 9738                   .LVL435:
3780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9739                           .loc 1 3780 23 view .LVU3207
 9740 0062 0385                 strh    r3, [r0, #40]   @ movhi
3781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 9741                           .loc 1 3781 5 is_stmt 1 view .LVU3208
3781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 9742                           .loc 1 3781 23 is_stmt 0 view .LVU3209
 9743 0064 C562                 str     r5, [r0, #44]
 9744                   .LVL436:
3782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9745                           .loc 1 3782 5 is_stmt 1 view .LVU3210
3782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9746                           .loc 1 3782 23 is_stmt 0 view .LVU3211
 9747 0066 4164                 str     r1, [r0, #68]
3784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9748                           .loc 1 3784 5 is_stmt 1 view .LVU3212
3784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9749                           .loc 1 3784 22 is_stmt 0 view .LVU3213
 9750 0068 036B                 ldr     r3, [r0, #48]
3784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9751                           .loc 1 3784 16 view .LVU3214
 9752 006a 0193                 str     r3, [sp, #4]
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9753                           .loc 1 3786 5 is_stmt 1 view .LVU3215
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9754                           .loc 1 3786 14 is_stmt 0 view .LVU3216
 9755 006c 438D                 ldrh    r3, [r0, #42]
 9756 006e 9BB2                 uxth    r3, r3
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9757                           .loc 1 3786 8 view .LVU3217
 9758 0070 022B                 cmp     r3, #2
 9759 0072 3FD0                 beq     .L619
 9760                   .L610:
3808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9761                           .loc 1 3808 7 is_stmt 1 view .LVU3218
 9762 0074 0268                 ldr     r2, [r0]
 9763                   .LVL437:
3808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9764                           .loc 1 3808 7 is_stmt 0 view .LVU3219
 9765 0076 1368                 ldr     r3, [r2]
 9766 0078 43F48063             orr     r3, r3, #1024
 9767 007c 1360                 str     r3, [r2]
 9768                   .LVL438:
3729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9769                           .loc 1 3729 12 view .LVU3220
 9770 007e 4FF4E064             mov     r4, #1792
 9771                   .LVL439:
 9772                   .L613:
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9773                           .loc 1 3813 5 is_stmt 1 view .LVU3221
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9774                           .loc 1 3813 21 is_stmt 0 view .LVU3222
 9775 0082 019B                 ldr     r3, [sp, #4]
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9776                           .loc 1 3813 8 view .LVU3223
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 354


 9777 0084 122B                 cmp     r3, #18
 9778 0086 51D0                 beq     .L620
 9779                   .L614:
3816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9780                           .loc 1 3816 7 is_stmt 1 view .LVU3224
 9781 0088 0168                 ldr     r1, [r0]
 9782                   .LVL440:
3816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9783                           .loc 1 3816 7 is_stmt 0 view .LVU3225
 9784 008a 0B68                 ldr     r3, [r1]
 9785 008c 43F48073             orr     r3, r3, #256
 9786 0090 0B60                 str     r3, [r1]
 9787                   .L615:
3820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9788                           .loc 1 3820 5 is_stmt 1 view .LVU3226
3820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9789                           .loc 1 3820 5 view .LVU3227
 9790 0092 0023                 movs    r3, #0
 9791 0094 80F83C30             strb    r3, [r0, #60]
3827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9792                           .loc 1 3827 5 view .LVU3228
 9793 0098 0168                 ldr     r1, [r0]
 9794 009a 4A68                 ldr     r2, [r1, #4]
 9795 009c 2243                 orrs    r2, r2, r4
 9796 009e 4A60                 str     r2, [r1, #4]
3829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9797                           .loc 1 3829 5 view .LVU3229
3829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9798                           .loc 1 3829 12 is_stmt 0 view .LVU3230
 9799 00a0 1846                 mov     r0, r3
 9800                   .LVL441:
 9801                   .L604:
3835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9802                           .loc 1 3835 1 view .LVU3231
 9803 00a2 03B0                 add     sp, sp, #12
 9804                   .LCFI115:
 9805                           .cfi_remember_state
 9806                           .cfi_def_cfa_offset 12
 9807                           @ sp needed
 9808 00a4 70BC                 pop     {r4, r5, r6}
 9809                   .LCFI116:
 9810                           .cfi_restore 6
 9811                           .cfi_restore 5
 9812                           .cfi_restore 4
 9813                           .cfi_def_cfa_offset 0
 9814                   .LVL442:
3835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9815                           .loc 1 3835 1 view .LVU3232
 9816 00a6 7047                 bx      lr
 9817                   .LVL443:
 9818                   .L605:
 9819                   .LCFI117:
 9820                           .cfi_restore_state
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9821                           .loc 1 3740 7 is_stmt 1 view .LVU3233
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9822                           .loc 1 3740 62 is_stmt 0 view .LVU3234
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 355


 9823 00a8 264C                 ldr     r4, .L623
 9824 00aa 2468                 ldr     r4, [r4]
 9825 00ac E408                 lsrs    r4, r4, #3
 9826 00ae 264E                 ldr     r6, .L623+4
 9827 00b0 A6FB0464             umull   r6, r4, r6, r4
 9828 00b4 240A                 lsrs    r4, r4, #8
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9829                           .loc 1 3740 37 view .LVU3235
 9830 00b6 04EB8404             add     r4, r4, r4, lsl #2
 9831 00ba 04EB8404             add     r4, r4, r4, lsl #2
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 9832                           .loc 1 3740 13 view .LVU3236
 9833 00be 0094                 str     r4, [sp]
 9834                   .L608:
3741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9835                           .loc 1 3741 7 is_stmt 1 view .LVU3237
3743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
 9836                           .loc 1 3743 9 view .LVU3238
3743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
 9837                           .loc 1 3743 14 is_stmt 0 view .LVU3239
 9838 00c0 009C                 ldr     r4, [sp]
 9839 00c2 013C                 subs    r4, r4, #1
 9840 00c4 0094                 str     r4, [sp]
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9841                           .loc 1 3744 9 is_stmt 1 view .LVU3240
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9842                           .loc 1 3744 19 is_stmt 0 view .LVU3241
 9843 00c6 009C                 ldr     r4, [sp]
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 9844                           .loc 1 3744 12 view .LVU3242
 9845 00c8 2CB1                 cbz     r4, .L621
3757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9846                           .loc 1 3757 14 view .LVU3243
 9847 00ca 0468                 ldr     r4, [r0]
 9848 00cc A469                 ldr     r4, [r4, #24]
3757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 9849                           .loc 1 3757 7 view .LVU3244
 9850 00ce 14F0020F             tst     r4, #2
 9851 00d2 F5D1                 bne     .L608
 9852 00d4 A4E7                 b       .L606
 9853                   .L621:
3746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 9854                           .loc 1 3746 11 is_stmt 1 view .LVU3245
3746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 9855                           .loc 1 3746 37 is_stmt 0 view .LVU3246
 9856 00d6 0023                 movs    r3, #0
 9857                   .LVL444:
3746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 9858                           .loc 1 3746 37 view .LVU3247
 9859 00d8 0363                 str     r3, [r0, #48]
3747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 9860                           .loc 1 3747 11 is_stmt 1 view .LVU3248
3747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 9861                           .loc 1 3747 37 is_stmt 0 view .LVU3249
 9862 00da 2022                 movs    r2, #32
 9863                   .LVL445:
3747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 356


 9864                           .loc 1 3747 37 view .LVU3250
 9865 00dc 80F83D20             strb    r2, [r0, #61]
3748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 9866                           .loc 1 3748 11 is_stmt 1 view .LVU3251
3748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 9867                           .loc 1 3748 37 is_stmt 0 view .LVU3252
 9868 00e0 80F83E30             strb    r3, [r0, #62]
3749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9869                           .loc 1 3749 11 is_stmt 1 view .LVU3253
3749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9870                           .loc 1 3749 37 is_stmt 0 view .LVU3254
 9871 00e4 026C                 ldr     r2, [r0, #64]
 9872 00e6 42F02002             orr     r2, r2, #32
 9873 00ea 0264                 str     r2, [r0, #64]
3752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9874                           .loc 1 3752 11 is_stmt 1 view .LVU3255
3752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9875                           .loc 1 3752 11 view .LVU3256
 9876 00ec 80F83C30             strb    r3, [r0, #60]
3754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9877                           .loc 1 3754 11 view .LVU3257
3754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9878                           .loc 1 3754 18 is_stmt 0 view .LVU3258
 9879 00f0 0120                 movs    r0, #1
 9880                   .LVL446:
3754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 9881                           .loc 1 3754 18 view .LVU3259
 9882 00f2 D6E7                 b       .L604
 9883                   .LVL447:
 9884                   .L619:
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9885                           .loc 1 3786 33 discriminator 1 view .LVU3260
 9886 00f4 202D                 cmp     r5, #32
 9887 00f6 01D0                 beq     .L611
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9888                           .loc 1 3786 69 discriminator 2 view .LVU3261
 9889 00f8 102D                 cmp     r5, #16
 9890 00fa BBD1                 bne     .L610
 9891                   .L611:
3788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9892                           .loc 1 3788 7 is_stmt 1 view .LVU3262
3788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9893                           .loc 1 3788 22 is_stmt 0 view .LVU3263
 9894 00fc 019B                 ldr     r3, [sp, #4]
3788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 9895                           .loc 1 3788 10 view .LVU3264
 9896 00fe 122B                 cmp     r3, #18
 9897 0100 07D0                 beq     .L622
3802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 9898                           .loc 1 3802 9 is_stmt 1 view .LVU3265
 9899 0102 0268                 ldr     r2, [r0]
 9900                   .LVL448:
3802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 9901                           .loc 1 3802 9 is_stmt 0 view .LVU3266
 9902 0104 1368                 ldr     r3, [r2]
 9903 0106 43F48063             orr     r3, r3, #1024
 9904 010a 1360                 str     r3, [r2]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 357


 9905                   .LVL449:
3729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9906                           .loc 1 3729 12 view .LVU3267
 9907 010c 4FF4E064             mov     r4, #1792
 9908 0110 B7E7                 b       .L613
 9909                   .LVL450:
 9910                   .L622:
3791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9911                           .loc 1 3791 9 is_stmt 1 view .LVU3268
 9912 0112 0268                 ldr     r2, [r0]
 9913                   .LVL451:
3791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9914                           .loc 1 3791 9 is_stmt 0 view .LVU3269
 9915 0114 1368                 ldr     r3, [r2]
 9916 0116 23F48063             bic     r3, r3, #1024
 9917 011a 1360                 str     r3, [r2]
 9918                   .LVL452:
3794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9919                           .loc 1 3794 9 is_stmt 1 view .LVU3270
 9920 011c 0268                 ldr     r2, [r0]
 9921 011e 1368                 ldr     r3, [r2]
 9922 0120 43F40063             orr     r3, r3, #2048
 9923 0124 1360                 str     r3, [r2]
3797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 9924                           .loc 1 3797 9 view .LVU3271
 9925                   .LVL453:
3797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 9926                           .loc 1 3797 18 is_stmt 0 view .LVU3272
 9927 0126 4FF44074             mov     r4, #768
 9928 012a AAE7                 b       .L613
 9929                   .LVL454:
 9930                   .L620:
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9931                           .loc 1 3813 54 discriminator 1 view .LVU3273
 9932 012c B5F52A0F             cmp     r5, #11141120
 9933 0130 AAD0                 beq     .L614
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 9934                           .loc 1 3813 54 discriminator 3 view .LVU3274
 9935 0132 B5F12A4F             cmp     r5, #-1442840576
 9936 0136 ACD1                 bne     .L615
 9937 0138 A6E7                 b       .L614
 9938                   .LVL455:
 9939                   .L616:
3833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9940                           .loc 1 3833 12 view .LVU3275
 9941 013a 0220                 movs    r0, #2
 9942                   .LVL456:
3833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 9943                           .loc 1 3833 12 view .LVU3276
 9944 013c B1E7                 b       .L604
 9945                   .LVL457:
 9946                   .L617:
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9947                           .loc 1 3761 5 view .LVU3277
 9948 013e 0220                 movs    r0, #2
 9949                   .LVL458:
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 358


 9950                           .loc 1 3761 5 view .LVU3278
 9951 0140 AFE7                 b       .L604
 9952                   .L624:
 9953 0142 00BF                 .align  2
 9954                   .L623:
 9955 0144 00000000             .word   SystemCoreClock
 9956 0148 89B5F814             .word   351843721
 9957                           .cfi_endproc
 9958                   .LFE90:
 9960                           .section        .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits
 9961                           .align  1
 9962                           .global HAL_I2C_Master_Seq_Receive_DMA
 9963                           .syntax unified
 9964                           .thumb
 9965                           .thumb_func
 9966                           .fpu softvfp
 9968                   HAL_I2C_Master_Seq_Receive_DMA:
 9969                   .LVL459:
 9970                   .LFB91:
3850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
 9971                           .loc 1 3850 1 is_stmt 1 view -0
 9972                           .cfi_startproc
 9973                           @ args = 4, pretend = 0, frame = 8
 9974                           @ frame_needed = 0, uses_anonymous_args = 0
3850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t Prev_State = 0x00U;
 9975                           .loc 1 3850 1 is_stmt 0 view .LVU3280
 9976 0000 70B5                 push    {r4, r5, r6, lr}
 9977                   .LCFI118:
 9978                           .cfi_def_cfa_offset 16
 9979                           .cfi_offset 4, -16
 9980                           .cfi_offset 5, -12
 9981                           .cfi_offset 6, -8
 9982                           .cfi_offset 14, -4
 9983 0002 82B0                 sub     sp, sp, #8
 9984                   .LCFI119:
 9985                           .cfi_def_cfa_offset 24
 9986 0004 069D                 ldr     r5, [sp, #24]
3851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 9987                           .loc 1 3851 3 is_stmt 1 view .LVU3281
3851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   __IO uint32_t count = 0U;
 9988                           .loc 1 3851 17 is_stmt 0 view .LVU3282
 9989 0006 0024                 movs    r4, #0
 9990 0008 0194                 str     r4, [sp, #4]
3852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
 9991                           .loc 1 3852 3 is_stmt 1 view .LVU3283
3852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR);
 9992                           .loc 1 3852 17 is_stmt 0 view .LVU3284
 9993 000a 0094                 str     r4, [sp]
3853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 9994                           .loc 1 3853 3 is_stmt 1 view .LVU3285
 9995                   .LVL460:
3854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9996                           .loc 1 3854 3 view .LVU3286
3857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 9997                           .loc 1 3857 3 view .LVU3287
3859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9998                           .loc 1 3859 3 view .LVU3288
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 359


3859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 9999                           .loc 1 3859 11 is_stmt 0 view .LVU3289
 10000 000c 90F83D40            ldrb    r4, [r0, #61]   @ zero_extendqisi2
 10001 0010 E4B2                uxtb    r4, r4
3859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 10002                          .loc 1 3859 6 view .LVU3290
 10003 0012 202C                cmp     r4, #32
 10004 0014 40F0F280            bne     .L646
3862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10005                          .loc 1 3862 5 is_stmt 1 view .LVU3291
3862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10006                          .loc 1 3862 8 is_stmt 0 view .LVU3292
 10007 0018 082D                cmp     r5, #8
 10008 001a 77D0                beq     .L627
3862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10009                          .loc 1 3862 51 discriminator 1 view .LVU3293
 10010 001c 012D                cmp     r5, #1
 10011 001e 75D0                beq     .L627
 10012                  .L628:
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10013                          .loc 1 3886 5 is_stmt 1 view .LVU3294
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10014                          .loc 1 3886 5 view .LVU3295
 10015 0020 90F83C40            ldrb    r4, [r0, #60]   @ zero_extendqisi2
 10016 0024 012C                cmp     r4, #1
 10017 0026 00F0EC80            beq     .L647
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10018                          .loc 1 3886 5 discriminator 2 view .LVU3296
 10019 002a 0124                movs    r4, #1
 10020 002c 80F83C40            strb    r4, [r0, #60]
3889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10021                          .loc 1 3889 5 discriminator 2 view .LVU3297
3889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10022                          .loc 1 3889 14 is_stmt 0 discriminator 2 view .LVU3298
 10023 0030 0468                ldr     r4, [r0]
3889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10024                          .loc 1 3889 24 discriminator 2 view .LVU3299
 10025 0032 2668                ldr     r6, [r4]
3889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10026                          .loc 1 3889 8 discriminator 2 view .LVU3300
 10027 0034 16F0010F            tst     r6, #1
 10028 0038 03D1                bne     .L631
3892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10029                          .loc 1 3892 7 is_stmt 1 view .LVU3301
 10030 003a 2668                ldr     r6, [r4]
 10031 003c 46F00106            orr     r6, r6, #1
 10032 0040 2660                str     r6, [r4]
 10033                  .L631:
3896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10034                          .loc 1 3896 5 view .LVU3302
 10035 0042 0668                ldr     r6, [r0]
 10036 0044 3468                ldr     r4, [r6]
 10037 0046 24F40064            bic     r4, r4, #2048
 10038 004a 3460                str     r4, [r6]
3899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10039                          .loc 1 3899 5 view .LVU3303
 10040 004c 0668                ldr     r6, [r0]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 360


 10041 004e 7468                ldr     r4, [r6, #4]
 10042 0050 24F48054            bic     r4, r4, #4096
 10043 0054 7460                str     r4, [r6, #4]
3901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 10044                          .loc 1 3901 5 view .LVU3304
3901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 10045                          .loc 1 3901 21 is_stmt 0 view .LVU3305
 10046 0056 2224                movs    r4, #34
 10047 0058 80F83D40            strb    r4, [r0, #61]
3902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 10048                          .loc 1 3902 5 is_stmt 1 view .LVU3306
3902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 10049                          .loc 1 3902 21 is_stmt 0 view .LVU3307
 10050 005c 1024                movs    r4, #16
 10051 005e 80F83E40            strb    r4, [r0, #62]
3903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10052                          .loc 1 3903 5 is_stmt 1 view .LVU3308
3903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10053                          .loc 1 3903 21 is_stmt 0 view .LVU3309
 10054 0062 0024                movs    r4, #0
 10055 0064 0464                str     r4, [r0, #64]
3906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 10056                          .loc 1 3906 5 is_stmt 1 view .LVU3310
3906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 10057                          .loc 1 3906 23 is_stmt 0 view .LVU3311
 10058 0066 4262                str     r2, [r0, #36]
3907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 10059                          .loc 1 3907 5 is_stmt 1 view .LVU3312
3907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 10060                          .loc 1 3907 23 is_stmt 0 view .LVU3313
 10061 0068 4385                strh    r3, [r0, #42]   @ movhi
3908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 10062                          .loc 1 3908 5 is_stmt 1 view .LVU3314
3908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 10063                          .loc 1 3908 29 is_stmt 0 view .LVU3315
 10064 006a 438D                ldrh    r3, [r0, #42]
 10065                  .LVL461:
3908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 10066                          .loc 1 3908 29 view .LVU3316
 10067 006c 9BB2                uxth    r3, r3
3908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 10068                          .loc 1 3908 23 view .LVU3317
 10069 006e 0385                strh    r3, [r0, #40]   @ movhi
3909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 10070                          .loc 1 3909 5 is_stmt 1 view .LVU3318
3909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 10071                          .loc 1 3909 23 is_stmt 0 view .LVU3319
 10072 0070 C562                str     r5, [r0, #44]
 10073                  .LVL462:
3910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10074                          .loc 1 3910 5 is_stmt 1 view .LVU3320
3910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10075                          .loc 1 3910 23 is_stmt 0 view .LVU3321
 10076 0072 4164                str     r1, [r0, #68]
3912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10077                          .loc 1 3912 5 is_stmt 1 view .LVU3322
3912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 361


 10078                          .loc 1 3912 22 is_stmt 0 view .LVU3323
 10079 0074 026B                ldr     r2, [r0, #48]
 10080                  .LVL463:
3912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10081                          .loc 1 3912 16 view .LVU3324
 10082 0076 0192                str     r2, [sp, #4]
3914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10083                          .loc 1 3914 5 is_stmt 1 view .LVU3325
3914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10084                          .loc 1 3914 8 is_stmt 0 view .LVU3326
 10085 0078 002B                cmp     r3, #0
 10086 007a 00F0A180            beq     .L632
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10087                          .loc 1 3916 7 is_stmt 1 view .LVU3327
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10088                          .loc 1 3916 16 is_stmt 0 view .LVU3328
 10089 007e 438D                ldrh    r3, [r0, #42]
 10090 0080 9BB2                uxth    r3, r3
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10091                          .loc 1 3916 10 view .LVU3329
 10092 0082 022B                cmp     r3, #2
 10093 0084 68D0                beq     .L650
 10094                  .L633:
3938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10095                          .loc 1 3938 9 is_stmt 1 view .LVU3330
 10096 0086 0268                ldr     r2, [r0]
 10097 0088 1368                ldr     r3, [r2]
 10098 008a 43F48063            orr     r3, r3, #1024
 10099 008e 1360                str     r3, [r2]
 10100                  .LVL464:
3940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10101                          .loc 1 3940 9 view .LVU3331
3940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10102                          .loc 1 3940 12 is_stmt 0 view .LVU3332
 10103 0090 202D                cmp     r5, #32
 10104 0092 04D0                beq     .L637
3940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10105                          .loc 1 3940 45 discriminator 1 view .LVU3333
 10106 0094 B5F12A4F            cmp     r5, #-1442840576
 10107 0098 01D0                beq     .L637
3940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10108                          .loc 1 3940 90 discriminator 2 view .LVU3334
 10109 009a 102D                cmp     r5, #16
 10110 009c 04D1                bne     .L636
 10111                  .L637:
3943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10112                          .loc 1 3943 11 is_stmt 1 view .LVU3335
 10113 009e 0268                ldr     r2, [r0]
 10114 00a0 5368                ldr     r3, [r2, #4]
 10115 00a2 43F48053            orr     r3, r3, #4096
 10116 00a6 5360                str     r3, [r2, #4]
 10117                  .L636:
3943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10118                          .loc 1 3943 11 is_stmt 0 view .LVU3336
 10119 00a8 0446                mov     r4, r0
3948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10120                          .loc 1 3948 7 is_stmt 1 view .LVU3337
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 362


3948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10121                          .loc 1 3948 11 is_stmt 0 view .LVU3338
 10122 00aa 836B                ldr     r3, [r0, #56]
3948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10123                          .loc 1 3948 38 view .LVU3339
 10124 00ac 564A                ldr     r2, .L655
 10125 00ae 9A62                str     r2, [r3, #40]
3951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10126                          .loc 1 3951 7 is_stmt 1 view .LVU3340
3951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10127                          .loc 1 3951 11 is_stmt 0 view .LVU3341
 10128 00b0 836B                ldr     r3, [r0, #56]
3951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10129                          .loc 1 3951 39 view .LVU3342
 10130 00b2 564A                ldr     r2, .L655+4
 10131 00b4 1A63                str     r2, [r3, #48]
3954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 10132                          .loc 1 3954 7 is_stmt 1 view .LVU3343
3954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 10133                          .loc 1 3954 11 is_stmt 0 view .LVU3344
 10134 00b6 826B                ldr     r2, [r0, #56]
3954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 10135                          .loc 1 3954 42 view .LVU3345
 10136 00b8 0023                movs    r3, #0
 10137 00ba D362                str     r3, [r2, #44]
3955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10138                          .loc 1 3955 7 is_stmt 1 view .LVU3346
3955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10139                          .loc 1 3955 11 is_stmt 0 view .LVU3347
 10140 00bc 826B                ldr     r2, [r0, #56]
3955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10141                          .loc 1 3955 39 view .LVU3348
 10142 00be 5363                str     r3, [r2, #52]
3958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10143                          .loc 1 3958 7 is_stmt 1 view .LVU3349
3958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10144                          .loc 1 3958 69 is_stmt 0 view .LVU3350
 10145 00c0 0168                ldr     r1, [r0]
 10146                  .LVL465:
3958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10147                          .loc 1 3958 23 view .LVU3351
 10148 00c2 038D                ldrh    r3, [r0, #40]
 10149 00c4 426A                ldr     r2, [r0, #36]
 10150 00c6 1031                adds    r1, r1, #16
 10151 00c8 806B                ldr     r0, [r0, #56]
 10152                  .LVL466:
3958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10153                          .loc 1 3958 23 view .LVU3352
 10154 00ca FFF7FEFF            bl      HAL_DMA_Start_IT
 10155                  .LVL467:
3960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10156                          .loc 1 3960 7 is_stmt 1 view .LVU3353
3960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10157                          .loc 1 3960 10 is_stmt 0 view .LVU3354
 10158 00ce 0028                cmp     r0, #0
 10159 00d0 68D1                bne     .L638
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 363


 10160                          .loc 1 3964 9 is_stmt 1 view .LVU3355
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10161                          .loc 1 3964 25 is_stmt 0 view .LVU3356
 10162 00d2 019B                ldr     r3, [sp, #4]
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10163                          .loc 1 3964 12 view .LVU3357
 10164 00d4 122B                cmp     r3, #18
 10165 00d6 5CD0                beq     .L651
 10166                  .L639:
3967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10167                          .loc 1 3967 11 is_stmt 1 view .LVU3358
 10168 00d8 2268                ldr     r2, [r4]
 10169 00da 1368                ldr     r3, [r2]
 10170 00dc 43F48073            orr     r3, r3, #256
 10171 00e0 1360                str     r3, [r2]
3970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10172                          .loc 1 3970 11 view .LVU3359
 10173                  .LVL468:
3970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10174                          .loc 1 3970 20 is_stmt 0 view .LVU3360
 10175 00e2 4FF44070            mov     r0, #768
 10176                  .LVL469:
 10177                  .L640:
3979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10178                          .loc 1 3979 9 is_stmt 1 view .LVU3361
3979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10179                          .loc 1 3979 9 view .LVU3362
 10180 00e6 0023                movs    r3, #0
 10181 00e8 84F83C30            strb    r3, [r4, #60]
3987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10182                          .loc 1 3987 9 view .LVU3363
3987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10183                          .loc 1 3987 12 is_stmt 0 view .LVU3364
 10184 00ec 042D                cmp     r5, #4
 10185 00ee 03D0                beq     .L641
3987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10186                          .loc 1 3987 45 discriminator 1 view .LVU3365
 10187 00f0 202D                cmp     r5, #32
 10188 00f2 01D0                beq     .L641
3987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10189                          .loc 1 3987 80 discriminator 2 view .LVU3366
 10190 00f4 102D                cmp     r5, #16
 10191 00f6 04D1                bne     .L642
 10192                  .L641:
3990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10193                          .loc 1 3990 11 is_stmt 1 view .LVU3367
 10194 00f8 2168                ldr     r1, [r4]
 10195 00fa 4A68                ldr     r2, [r1, #4]
 10196 00fc 42F40062            orr     r2, r2, #2048
 10197 0100 4A60                str     r2, [r1, #4]
 10198                  .L642:
3994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 10199                          .loc 1 3994 9 view .LVU3368
 10200 0102 2268                ldr     r2, [r4]
 10201 0104 5368                ldr     r3, [r2, #4]
 10202 0106 0343                orrs    r3, r3, r0
 10203 0108 5360                str     r3, [r2, #4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 364


 10204 010a 6EE0                b       .L643
 10205                  .LVL470:
 10206                  .L627:
3865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 10207                          .loc 1 3865 7 view .LVU3369
3865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 10208                          .loc 1 3865 62 is_stmt 0 view .LVU3370
 10209 010c 404C                ldr     r4, .L655+8
 10210 010e 2468                ldr     r4, [r4]
 10211 0110 E408                lsrs    r4, r4, #3
 10212 0112 404E                ldr     r6, .L655+12
 10213 0114 A6FB0464            umull   r6, r4, r6, r4
 10214 0118 240A                lsrs    r4, r4, #8
3865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 10215                          .loc 1 3865 37 view .LVU3371
 10216 011a 04EB8404            add     r4, r4, r4, lsl #2
 10217 011e 04EB8404            add     r4, r4, r4, lsl #2
3865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       do
 10218                          .loc 1 3865 13 view .LVU3372
 10219 0122 0094                str     r4, [sp]
 10220                  .L630:
3866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10221                          .loc 1 3866 7 is_stmt 1 view .LVU3373
3868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
 10222                          .loc 1 3868 9 view .LVU3374
3868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         if (count == 0U)
 10223                          .loc 1 3868 14 is_stmt 0 view .LVU3375
 10224 0124 009C                ldr     r4, [sp]
 10225 0126 013C                subs    r4, r4, #1
 10226 0128 0094                str     r4, [sp]
3869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10227                          .loc 1 3869 9 is_stmt 1 view .LVU3376
3869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10228                          .loc 1 3869 19 is_stmt 0 view .LVU3377
 10229 012a 009C                ldr     r4, [sp]
3869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10230                          .loc 1 3869 12 view .LVU3378
 10231 012c 2CB1                cbz     r4, .L652
3882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10232                          .loc 1 3882 14 view .LVU3379
 10233 012e 0468                ldr     r4, [r0]
 10234 0130 A469                ldr     r4, [r4, #24]
3882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10235                          .loc 1 3882 7 view .LVU3380
 10236 0132 14F0020F            tst     r4, #2
 10237 0136 F5D1                bne     .L630
 10238 0138 72E7                b       .L628
 10239                  .L652:
3871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 10240                          .loc 1 3871 11 is_stmt 1 view .LVU3381
3871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 10241                          .loc 1 3871 37 is_stmt 0 view .LVU3382
 10242 013a 0023                movs    r3, #0
 10243                  .LVL471:
3871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->State               = HAL_I2C_STATE_READY;
 10244                          .loc 1 3871 37 view .LVU3383
 10245 013c 0363                str     r3, [r0, #48]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 365


3872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 10246                          .loc 1 3872 11 is_stmt 1 view .LVU3384
3872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 10247                          .loc 1 3872 37 is_stmt 0 view .LVU3385
 10248 013e 2022                movs    r2, #32
 10249                  .LVL472:
3872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->Mode                = HAL_I2C_MODE_NONE;
 10250                          .loc 1 3872 37 view .LVU3386
 10251 0140 80F83D20            strb    r2, [r0, #61]
3873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 10252                          .loc 1 3873 11 is_stmt 1 view .LVU3387
3873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           hi2c->ErrorCode           |= HAL_I2C_ERROR_TIMEOUT;
 10253                          .loc 1 3873 37 is_stmt 0 view .LVU3388
 10254 0144 80F83E30            strb    r3, [r0, #62]
3874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10255                          .loc 1 3874 11 is_stmt 1 view .LVU3389
3874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10256                          .loc 1 3874 37 is_stmt 0 view .LVU3390
 10257 0148 026C                ldr     r2, [r0, #64]
 10258 014a 42F02002            orr     r2, r2, #32
 10259 014e 0264                str     r2, [r0, #64]
3877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10260                          .loc 1 3877 11 is_stmt 1 view .LVU3391
3877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10261                          .loc 1 3877 11 view .LVU3392
 10262 0150 80F83C30            strb    r3, [r0, #60]
3879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10263                          .loc 1 3879 11 view .LVU3393
3879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10264                          .loc 1 3879 18 is_stmt 0 view .LVU3394
 10265 0154 0120                movs    r0, #1
 10266                  .LVL473:
3879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10267                          .loc 1 3879 18 view .LVU3395
 10268 0156 52E0                b       .L626
 10269                  .LVL474:
 10270                  .L650:
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10271                          .loc 1 3916 35 discriminator 1 view .LVU3396
 10272 0158 202D                cmp     r5, #32
 10273 015a 01D0                beq     .L634
3916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10274                          .loc 1 3916 71 discriminator 2 view .LVU3397
 10275 015c 102D                cmp     r5, #16
 10276 015e 92D1                bne     .L633
 10277                  .L634:
3918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10278                          .loc 1 3918 9 is_stmt 1 view .LVU3398
3918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10279                          .loc 1 3918 24 is_stmt 0 view .LVU3399
 10280 0160 019B                ldr     r3, [sp, #4]
3918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10281                          .loc 1 3918 12 view .LVU3400
 10282 0162 122B                cmp     r3, #18
 10283 0164 05D0                beq     .L653
3932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10284                          .loc 1 3932 11 is_stmt 1 view .LVU3401
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 366


 10285 0166 0268                ldr     r2, [r0]
 10286 0168 1368                ldr     r3, [r2]
 10287 016a 43F48063            orr     r3, r3, #1024
 10288 016e 1360                str     r3, [r2]
 10289                  .LVL475:
3932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10290                          .loc 1 3932 11 is_stmt 0 view .LVU3402
 10291 0170 9AE7                b       .L636
 10292                  .LVL476:
 10293                  .L653:
3921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10294                          .loc 1 3921 11 is_stmt 1 view .LVU3403
 10295 0172 0268                ldr     r2, [r0]
 10296 0174 1368                ldr     r3, [r2]
 10297 0176 23F48063            bic     r3, r3, #1024
 10298 017a 1360                str     r3, [r2]
 10299                  .LVL477:
3924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10300                          .loc 1 3924 11 view .LVU3404
 10301 017c 0268                ldr     r2, [r0]
 10302 017e 1368                ldr     r3, [r2]
 10303 0180 43F40063            orr     r3, r3, #2048
 10304 0184 1360                str     r3, [r2]
3927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10305                          .loc 1 3927 11 view .LVU3405
 10306 0186 0268                ldr     r2, [r0]
 10307 0188 5368                ldr     r3, [r2, #4]
 10308 018a 43F48053            orr     r3, r3, #4096
 10309 018e 5360                str     r3, [r2, #4]
 10310 0190 8AE7                b       .L636
 10311                  .LVL478:
 10312                  .L651:
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10313                          .loc 1 3964 58 is_stmt 0 discriminator 1 view .LVU3406
 10314 0192 B5F52A0F            cmp     r5, #11141120
 10315 0196 9FD0                beq     .L639
3964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10316                          .loc 1 3964 58 discriminator 3 view .LVU3407
 10317 0198 B5F12A4F            cmp     r5, #-1442840576
 10318 019c 9CD0                beq     .L639
3975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10319                          .loc 1 3975 20 view .LVU3408
 10320 019e 4FF48070            mov     r0, #256
 10321                  .LVL479:
3975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 10322                          .loc 1 3975 20 view .LVU3409
 10323 01a2 A0E7                b       .L640
 10324                  .LVL480:
 10325                  .L638:
3999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 10326                          .loc 1 3999 9 is_stmt 1 view .LVU3410
3999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 10327                          .loc 1 3999 25 is_stmt 0 view .LVU3411
 10328 01a4 2023                movs    r3, #32
 10329 01a6 84F83D30            strb    r3, [r4, #61]
4000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10330                          .loc 1 4000 9 is_stmt 1 view .LVU3412
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 367


4000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10331                          .loc 1 4000 25 is_stmt 0 view .LVU3413
 10332 01aa 0022                movs    r2, #0
 10333 01ac 84F83E20            strb    r2, [r4, #62]
4003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10334                          .loc 1 4003 9 is_stmt 1 view .LVU3414
4003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10335                          .loc 1 4003 25 is_stmt 0 view .LVU3415
 10336 01b0 236C                ldr     r3, [r4, #64]
 10337 01b2 43F01003            orr     r3, r3, #16
 10338 01b6 2364                str     r3, [r4, #64]
4006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10339                          .loc 1 4006 9 is_stmt 1 view .LVU3416
4006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10340                          .loc 1 4006 9 view .LVU3417
 10341 01b8 84F83C20            strb    r2, [r4, #60]
4008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 10342                          .loc 1 4008 9 view .LVU3418
4008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 10343                          .loc 1 4008 16 is_stmt 0 view .LVU3419
 10344 01bc 0120                movs    r0, #1
 10345                  .LVL481:
4008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 10346                          .loc 1 4008 16 view .LVU3420
 10347 01be 1EE0                b       .L626
 10348                  .LVL482:
 10349                  .L632:
4014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10350                          .loc 1 4014 7 is_stmt 1 view .LVU3421
 10351 01c0 0268                ldr     r2, [r0]
 10352 01c2 1368                ldr     r3, [r2]
 10353 01c4 43F48063            orr     r3, r3, #1024
 10354 01c8 1360                str     r3, [r2]
 10355                  .LVL483:
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10356                          .loc 1 4018 7 view .LVU3422
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10357                          .loc 1 4018 23 is_stmt 0 view .LVU3423
 10358 01ca 019B                ldr     r3, [sp, #4]
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10359                          .loc 1 4018 10 view .LVU3424
 10360 01cc 122B                cmp     r3, #18
 10361 01ce 0ED0                beq     .L654
 10362                  .L644:
4021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 10363                          .loc 1 4021 9 is_stmt 1 view .LVU3425
 10364 01d0 0268                ldr     r2, [r0]
 10365 01d2 1368                ldr     r3, [r2]
 10366 01d4 43F48073            orr     r3, r3, #256
 10367 01d8 1360                str     r3, [r2]
 10368                  .L645:
4025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10369                          .loc 1 4025 7 view .LVU3426
4025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10370                          .loc 1 4025 7 view .LVU3427
 10371 01da 0023                movs    r3, #0
 10372 01dc 80F83C30            strb    r3, [r0, #60]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 368


4032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10373                          .loc 1 4032 7 view .LVU3428
 10374 01e0 0268                ldr     r2, [r0]
 10375 01e2 5368                ldr     r3, [r2, #4]
 10376 01e4 43F4E063            orr     r3, r3, #1792
 10377 01e8 5360                str     r3, [r2, #4]
 10378                  .LVL484:
 10379                  .L643:
4034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 10380                          .loc 1 4034 5 view .LVU3429
4034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 10381                          .loc 1 4034 12 is_stmt 0 view .LVU3430
 10382 01ea 0020                movs    r0, #0
 10383 01ec 07E0                b       .L626
 10384                  .LVL485:
 10385                  .L654:
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10386                          .loc 1 4018 56 discriminator 1 view .LVU3431
 10387 01ee B5F52A0F            cmp     r5, #11141120
 10388 01f2 EDD0                beq     .L644
4018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10389                          .loc 1 4018 56 discriminator 3 view .LVU3432
 10390 01f4 B5F12A4F            cmp     r5, #-1442840576
 10391 01f8 EFD1                bne     .L645
 10392 01fa E9E7                b       .L644
 10393                  .LVL486:
 10394                  .L646:
4038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 10395                          .loc 1 4038 12 view .LVU3433
 10396 01fc 0220                movs    r0, #2
 10397                  .LVL487:
 10398                  .L626:
4040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10399                          .loc 1 4040 1 view .LVU3434
 10400 01fe 02B0                add     sp, sp, #8
 10401                  .LCFI120:
 10402                          .cfi_remember_state
 10403                          .cfi_def_cfa_offset 16
 10404                          @ sp needed
 10405 0200 70BD                pop     {r4, r5, r6, pc}
 10406                  .LVL488:
 10407                  .L647:
 10408                  .LCFI121:
 10409                          .cfi_restore_state
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10410                          .loc 1 3886 5 view .LVU3435
 10411 0202 0220                movs    r0, #2
 10412                  .LVL489:
3886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10413                          .loc 1 3886 5 view .LVU3436
 10414 0204 FBE7                b       .L626
 10415                  .L656:
 10416 0206 00BF                .align  2
 10417                  .L655:
 10418 0208 00000000            .word   I2C_DMAXferCplt
 10419 020c 00000000            .word   I2C_DMAError
 10420 0210 00000000            .word   SystemCoreClock
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 369


 10421 0214 89B5F814            .word   351843721
 10422                          .cfi_endproc
 10423                  .LFE91:
 10425                          .section        .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits
 10426                          .align  1
 10427                          .global HAL_I2C_Slave_Seq_Transmit_IT
 10428                          .syntax unified
 10429                          .thumb
 10430                          .thumb_func
 10431                          .fpu softvfp
 10433                  HAL_I2C_Slave_Seq_Transmit_IT:
 10434                  .LVL490:
 10435                  .LFB92:
4053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
 10436                          .loc 1 4053 1 is_stmt 1 view -0
 10437                          .cfi_startproc
 10438                          @ args = 0, pretend = 0, frame = 8
 10439                          @ frame_needed = 0, uses_anonymous_args = 0
 10440                          @ link register save eliminated.
4053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
 10441                          .loc 1 4053 1 is_stmt 0 view .LVU3438
 10442 0000 30B4                push    {r4, r5}
 10443                  .LCFI122:
 10444                          .cfi_def_cfa_offset 8
 10445                          .cfi_offset 4, -8
 10446                          .cfi_offset 5, -4
 10447 0002 82B0                sub     sp, sp, #8
 10448                  .LCFI123:
 10449                          .cfi_def_cfa_offset 16
4055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10450                          .loc 1 4055 3 is_stmt 1 view .LVU3439
4057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 10451                          .loc 1 4057 3 view .LVU3440
4057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 10452                          .loc 1 4057 22 is_stmt 0 view .LVU3441
 10453 0004 90F83D40            ldrb    r4, [r0, #61]   @ zero_extendqisi2
4057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 10454                          .loc 1 4057 6 view .LVU3442
 10455 0008 04F02804            and     r4, r4, #40
 10456 000c 282C                cmp     r4, #40
 10457 000e 34D1                bne     .L660
4059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10458                          .loc 1 4059 5 is_stmt 1 view .LVU3443
4059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10459                          .loc 1 4059 8 is_stmt 0 view .LVU3444
 10460 0010 0029                cmp     r1, #0
 10461 0012 36D0                beq     .L661
4059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10462                          .loc 1 4059 25 discriminator 1 view .LVU3445
 10463 0014 002A                cmp     r2, #0
 10464 0016 36D0                beq     .L662
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10465                          .loc 1 4065 5 is_stmt 1 view .LVU3446
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10466                          .loc 1 4065 5 view .LVU3447
 10467 0018 90F83C40            ldrb    r4, [r0, #60]   @ zero_extendqisi2
 10468 001c 012C                cmp     r4, #1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 370


 10469 001e 34D0                beq     .L663
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10470                          .loc 1 4065 5 discriminator 2 view .LVU3448
 10471 0020 0124                movs    r4, #1
 10472 0022 80F83C40            strb    r4, [r0, #60]
4068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10473                          .loc 1 4068 5 discriminator 2 view .LVU3449
4068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10474                          .loc 1 4068 14 is_stmt 0 discriminator 2 view .LVU3450
 10475 0026 0468                ldr     r4, [r0]
4068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10476                          .loc 1 4068 24 discriminator 2 view .LVU3451
 10477 0028 2568                ldr     r5, [r4]
4068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10478                          .loc 1 4068 8 discriminator 2 view .LVU3452
 10479 002a 15F0010F            tst     r5, #1
 10480 002e 03D1                bne     .L659
4071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10481                          .loc 1 4071 7 is_stmt 1 view .LVU3453
 10482 0030 2568                ldr     r5, [r4]
 10483 0032 45F00105            orr     r5, r5, #1
 10484 0036 2560                str     r5, [r4]
 10485                  .L659:
4075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10486                          .loc 1 4075 5 view .LVU3454
 10487 0038 0568                ldr     r5, [r0]
 10488 003a 2C68                ldr     r4, [r5]
 10489 003c 24F40064            bic     r4, r4, #2048
 10490 0040 2C60                str     r4, [r5]
4077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 10491                          .loc 1 4077 5 view .LVU3455
4077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 10492                          .loc 1 4077 21 is_stmt 0 view .LVU3456
 10493 0042 2924                movs    r4, #41
 10494 0044 80F83D40            strb    r4, [r0, #61]
4078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 10495                          .loc 1 4078 5 is_stmt 1 view .LVU3457
4078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 10496                          .loc 1 4078 21 is_stmt 0 view .LVU3458
 10497 0048 2024                movs    r4, #32
 10498 004a 80F83E40            strb    r4, [r0, #62]
4079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10499                          .loc 1 4079 5 is_stmt 1 view .LVU3459
4079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10500                          .loc 1 4079 21 is_stmt 0 view .LVU3460
 10501 004e 0024                movs    r4, #0
 10502 0050 0464                str     r4, [r0, #64]
4082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 10503                          .loc 1 4082 5 is_stmt 1 view .LVU3461
4082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 10504                          .loc 1 4082 23 is_stmt 0 view .LVU3462
 10505 0052 4162                str     r1, [r0, #36]
4083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 10506                          .loc 1 4083 5 is_stmt 1 view .LVU3463
4083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 10507                          .loc 1 4083 23 is_stmt 0 view .LVU3464
 10508 0054 4285                strh    r2, [r0, #42]   @ movhi
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 371


4084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 10509                          .loc 1 4084 5 is_stmt 1 view .LVU3465
4084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 10510                          .loc 1 4084 29 is_stmt 0 view .LVU3466
 10511 0056 428D                ldrh    r2, [r0, #42]
 10512                  .LVL491:
4084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 10513                          .loc 1 4084 23 view .LVU3467
 10514 0058 0285                strh    r2, [r0, #40]   @ movhi
4085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10515                          .loc 1 4085 5 is_stmt 1 view .LVU3468
4085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10516                          .loc 1 4085 23 is_stmt 0 view .LVU3469
 10517 005a C362                str     r3, [r0, #44]
 10518                  .LVL492:
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10519                          .loc 1 4088 5 is_stmt 1 view .LVU3470
 10520                  .LBB105:
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10521                          .loc 1 4088 5 view .LVU3471
 10522 005c 0194                str     r4, [sp, #4]
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10523                          .loc 1 4088 5 view .LVU3472
 10524 005e 0368                ldr     r3, [r0]
 10525                  .LVL493:
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10526                          .loc 1 4088 5 is_stmt 0 view .LVU3473
 10527 0060 5A69                ldr     r2, [r3, #20]
 10528 0062 0192                str     r2, [sp, #4]
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10529                          .loc 1 4088 5 is_stmt 1 view .LVU3474
 10530 0064 9A69                ldr     r2, [r3, #24]
 10531 0066 0192                str     r2, [sp, #4]
4088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10532                          .loc 1 4088 5 view .LVU3475
 10533 0068 019A                ldr     r2, [sp, #4]
 10534                  .LBE105:
4091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10535                          .loc 1 4091 5 view .LVU3476
4091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10536                          .loc 1 4091 5 view .LVU3477
 10537 006a 80F83C40            strb    r4, [r0, #60]
4098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10538                          .loc 1 4098 5 view .LVU3478
 10539 006e 5A68                ldr     r2, [r3, #4]
 10540 0070 42F4E062            orr     r2, r2, #1792
 10541 0074 5A60                str     r2, [r3, #4]
4100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 10542                          .loc 1 4100 5 view .LVU3479
4100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 10543                          .loc 1 4100 12 is_stmt 0 view .LVU3480
 10544 0076 2046                mov     r0, r4
 10545                  .LVL494:
4100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 10546                          .loc 1 4100 12 view .LVU3481
 10547 0078 00E0                b       .L658
 10548                  .LVL495:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 372


 10549                  .L660:
4104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 10550                          .loc 1 4104 12 view .LVU3482
 10551 007a 0220                movs    r0, #2
 10552                  .LVL496:
 10553                  .L658:
4106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10554                          .loc 1 4106 1 view .LVU3483
 10555 007c 02B0                add     sp, sp, #8
 10556                  .LCFI124:
 10557                          .cfi_remember_state
 10558                          .cfi_def_cfa_offset 8
 10559                          @ sp needed
 10560 007e 30BC                pop     {r4, r5}
 10561                  .LCFI125:
 10562                          .cfi_restore 5
 10563                          .cfi_restore 4
 10564                          .cfi_def_cfa_offset 0
 10565 0080 7047                bx      lr
 10566                  .LVL497:
 10567                  .L661:
 10568                  .LCFI126:
 10569                          .cfi_restore_state
4061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10570                          .loc 1 4061 15 view .LVU3484
 10571 0082 0120                movs    r0, #1
 10572                  .LVL498:
4061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10573                          .loc 1 4061 15 view .LVU3485
 10574 0084 FAE7                b       .L658
 10575                  .LVL499:
 10576                  .L662:
4061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10577                          .loc 1 4061 15 view .LVU3486
 10578 0086 0120                movs    r0, #1
 10579                  .LVL500:
4061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10580                          .loc 1 4061 15 view .LVU3487
 10581 0088 F8E7                b       .L658
 10582                  .LVL501:
 10583                  .L663:
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10584                          .loc 1 4065 5 view .LVU3488
 10585 008a 0220                movs    r0, #2
 10586                  .LVL502:
4065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10587                          .loc 1 4065 5 view .LVU3489
 10588 008c F6E7                b       .L658
 10589                          .cfi_endproc
 10590                  .LFE92:
 10592                          .section        .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits
 10593                          .align  1
 10594                          .global HAL_I2C_Slave_Seq_Transmit_DMA
 10595                          .syntax unified
 10596                          .thumb
 10597                          .thumb_func
 10598                          .fpu softvfp
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 373


 10600                  HAL_I2C_Slave_Seq_Transmit_DMA:
 10601                  .LVL503:
 10602                  .LFB93:
4119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 10603                          .loc 1 4119 1 is_stmt 1 view -0
 10604                          .cfi_startproc
 10605                          @ args = 0, pretend = 0, frame = 8
 10606                          @ frame_needed = 0, uses_anonymous_args = 0
4119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 10607                          .loc 1 4119 1 is_stmt 0 view .LVU3491
 10608 0000 F0B5                push    {r4, r5, r6, r7, lr}
 10609                  .LCFI127:
 10610                          .cfi_def_cfa_offset 20
 10611                          .cfi_offset 4, -20
 10612                          .cfi_offset 5, -16
 10613                          .cfi_offset 6, -12
 10614                          .cfi_offset 7, -8
 10615                          .cfi_offset 14, -4
 10616 0002 83B0                sub     sp, sp, #12
 10617                  .LCFI128:
 10618                          .cfi_def_cfa_offset 32
4120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10619                          .loc 1 4120 3 is_stmt 1 view .LVU3492
4123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10620                          .loc 1 4123 3 view .LVU3493
4125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 10621                          .loc 1 4125 3 view .LVU3494
4125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 10622                          .loc 1 4125 22 is_stmt 0 view .LVU3495
 10623 0004 90F83D50            ldrb    r5, [r0, #61]   @ zero_extendqisi2
4125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 10624                          .loc 1 4125 6 view .LVU3496
 10625 0008 05F02805            and     r5, r5, #40
 10626 000c 282D                cmp     r5, #40
 10627 000e 40F0A680            bne     .L671
4127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10628                          .loc 1 4127 5 is_stmt 1 view .LVU3497
4127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10629                          .loc 1 4127 8 is_stmt 0 view .LVU3498
 10630 0012 0029                cmp     r1, #0
 10631 0014 00F0A780            beq     .L672
4127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10632                          .loc 1 4127 25 discriminator 1 view .LVU3499
 10633 0018 002A                cmp     r2, #0
 10634 001a 00F0A680            beq     .L673
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10635                          .loc 1 4133 5 is_stmt 1 view .LVU3500
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10636                          .loc 1 4133 5 view .LVU3501
 10637 001e 90F83C40            ldrb    r4, [r0, #60]   @ zero_extendqisi2
 10638 0022 012C                cmp     r4, #1
 10639 0024 00F0A380            beq     .L674
 10640 0028 1F46                mov     r7, r3
 10641 002a 1646                mov     r6, r2
 10642 002c 0D46                mov     r5, r1
 10643 002e 0446                mov     r4, r0
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 374


 10644                          .loc 1 4133 5 discriminator 2 view .LVU3502
 10645 0030 0123                movs    r3, #1
 10646                  .LVL504:
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10647                          .loc 1 4133 5 is_stmt 0 discriminator 2 view .LVU3503
 10648 0032 80F83C30            strb    r3, [r0, #60]
4136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10649                          .loc 1 4136 5 is_stmt 1 discriminator 2 view .LVU3504
 10650 0036 0268                ldr     r2, [r0]
 10651                  .LVL505:
4136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10652                          .loc 1 4136 5 is_stmt 0 discriminator 2 view .LVU3505
 10653 0038 5368                ldr     r3, [r2, #4]
 10654 003a 23F44073            bic     r3, r3, #768
 10655 003e 5360                str     r3, [r2, #4]
4140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10656                          .loc 1 4140 5 is_stmt 1 discriminator 2 view .LVU3506
4140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10657                          .loc 1 4140 13 is_stmt 0 discriminator 2 view .LVU3507
 10658 0040 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 10659 0044 DBB2                uxtb    r3, r3
4140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10660                          .loc 1 4140 8 discriminator 2 view .LVU3508
 10661 0046 2A2B                cmp     r3, #42
 10662 0048 4CD0                beq     .L676
4162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10663                          .loc 1 4162 10 is_stmt 1 view .LVU3509
4162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10664                          .loc 1 4162 18 is_stmt 0 view .LVU3510
 10665 004a 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 10666 004e DBB2                uxtb    r3, r3
4162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10667                          .loc 1 4162 13 view .LVU3511
 10668 0050 292B                cmp     r3, #41
 10669 0052 5FD0                beq     .L677
 10670                  .LVL506:
 10671                  .L668:
4187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10672                          .loc 1 4187 5 is_stmt 1 view .LVU3512
4190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10673                          .loc 1 4190 5 view .LVU3513
4190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10674                          .loc 1 4190 14 is_stmt 0 view .LVU3514
 10675 0054 2368                ldr     r3, [r4]
4190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10676                          .loc 1 4190 24 view .LVU3515
 10677 0056 1A68                ldr     r2, [r3]
4190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10678                          .loc 1 4190 8 view .LVU3516
 10679 0058 12F0010F            tst     r2, #1
 10680 005c 03D1                bne     .L669
4193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10681                          .loc 1 4193 7 is_stmt 1 view .LVU3517
 10682 005e 1A68                ldr     r2, [r3]
 10683 0060 42F00102            orr     r2, r2, #1
 10684 0064 1A60                str     r2, [r3]
 10685                  .L669:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 375


4197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10686                          .loc 1 4197 5 view .LVU3518
 10687 0066 2268                ldr     r2, [r4]
 10688 0068 1368                ldr     r3, [r2]
 10689 006a 23F40063            bic     r3, r3, #2048
 10690 006e 1360                str     r3, [r2]
4199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 10691                          .loc 1 4199 5 view .LVU3519
4199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 10692                          .loc 1 4199 21 is_stmt 0 view .LVU3520
 10693 0070 2923                movs    r3, #41
 10694 0072 84F83D30            strb    r3, [r4, #61]
4200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 10695                          .loc 1 4200 5 is_stmt 1 view .LVU3521
4200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 10696                          .loc 1 4200 21 is_stmt 0 view .LVU3522
 10697 0076 2023                movs    r3, #32
 10698 0078 84F83E30            strb    r3, [r4, #62]
4201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10699                          .loc 1 4201 5 is_stmt 1 view .LVU3523
4201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10700                          .loc 1 4201 21 is_stmt 0 view .LVU3524
 10701 007c 0023                movs    r3, #0
 10702 007e 2364                str     r3, [r4, #64]
4204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 10703                          .loc 1 4204 5 is_stmt 1 view .LVU3525
4204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 10704                          .loc 1 4204 23 is_stmt 0 view .LVU3526
 10705 0080 6562                str     r5, [r4, #36]
4205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 10706                          .loc 1 4205 5 is_stmt 1 view .LVU3527
4205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 10707                          .loc 1 4205 23 is_stmt 0 view .LVU3528
 10708 0082 6685                strh    r6, [r4, #42]   @ movhi
4206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 10709                          .loc 1 4206 5 is_stmt 1 view .LVU3529
4206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 10710                          .loc 1 4206 29 is_stmt 0 view .LVU3530
 10711 0084 628D                ldrh    r2, [r4, #42]
4206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 10712                          .loc 1 4206 23 view .LVU3531
 10713 0086 2285                strh    r2, [r4, #40]   @ movhi
4207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10714                          .loc 1 4207 5 is_stmt 1 view .LVU3532
4207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10715                          .loc 1 4207 23 is_stmt 0 view .LVU3533
 10716 0088 E762                str     r7, [r4, #44]
4210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10717                          .loc 1 4210 5 is_stmt 1 view .LVU3534
4210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10718                          .loc 1 4210 9 is_stmt 0 view .LVU3535
 10719 008a 626B                ldr     r2, [r4, #52]
4210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10720                          .loc 1 4210 36 view .LVU3536
 10721 008c 3949                ldr     r1, .L678
 10722 008e 9162                str     r1, [r2, #40]
4213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 376


 10723                          .loc 1 4213 5 is_stmt 1 view .LVU3537
4213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10724                          .loc 1 4213 9 is_stmt 0 view .LVU3538
 10725 0090 626B                ldr     r2, [r4, #52]
4213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10726                          .loc 1 4213 37 view .LVU3539
 10727 0092 3949                ldr     r1, .L678+4
 10728 0094 1163                str     r1, [r2, #48]
4216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferAbortCallback = NULL;
 10729                          .loc 1 4216 5 is_stmt 1 view .LVU3540
4216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferAbortCallback = NULL;
 10730                          .loc 1 4216 9 is_stmt 0 view .LVU3541
 10731 0096 626B                ldr     r2, [r4, #52]
4216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmatx->XferAbortCallback = NULL;
 10732                          .loc 1 4216 40 view .LVU3542
 10733 0098 D362                str     r3, [r2, #44]
4217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10734                          .loc 1 4217 5 is_stmt 1 view .LVU3543
4217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10735                          .loc 1 4217 9 is_stmt 0 view .LVU3544
 10736 009a 626B                ldr     r2, [r4, #52]
4217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10737                          .loc 1 4217 37 view .LVU3545
 10738 009c 5363                str     r3, [r2, #52]
4220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10739                          .loc 1 4220 5 is_stmt 1 view .LVU3546
4220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10740                          .loc 1 4220 93 is_stmt 0 view .LVU3547
 10741 009e 2268                ldr     r2, [r4]
4220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10742                          .loc 1 4220 21 view .LVU3548
 10743 00a0 238D                ldrh    r3, [r4, #40]
 10744 00a2 1032                adds    r2, r2, #16
 10745 00a4 616A                ldr     r1, [r4, #36]
 10746 00a6 606B                ldr     r0, [r4, #52]
 10747 00a8 FFF7FEFF            bl      HAL_DMA_Start_IT
 10748                  .LVL507:
4222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10749                          .loc 1 4222 5 is_stmt 1 view .LVU3549
4222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10750                          .loc 1 4222 8 is_stmt 0 view .LVU3550
 10751 00ac 0346                mov     r3, r0
 10752 00ae 0028                cmp     r0, #0
 10753 00b0 47D1                bne     .L670
4225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10754                          .loc 1 4225 7 is_stmt 1 view .LVU3551
 10755 00b2 2168                ldr     r1, [r4]
 10756 00b4 0A68                ldr     r2, [r1]
 10757 00b6 42F48062            orr     r2, r2, #1024
 10758 00ba 0A60                str     r2, [r1]
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10759                          .loc 1 4228 7 view .LVU3552
 10760                  .LBB106:
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10761                          .loc 1 4228 7 view .LVU3553
 10762 00bc 0021                movs    r1, #0
 10763 00be 0191                str     r1, [sp, #4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 377


4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10764                          .loc 1 4228 7 view .LVU3554
 10765 00c0 2268                ldr     r2, [r4]
 10766 00c2 5069                ldr     r0, [r2, #20]
 10767                  .LVL508:
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10768                          .loc 1 4228 7 is_stmt 0 view .LVU3555
 10769 00c4 0190                str     r0, [sp, #4]
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10770                          .loc 1 4228 7 is_stmt 1 view .LVU3556
 10771 00c6 9069                ldr     r0, [r2, #24]
 10772 00c8 0190                str     r0, [sp, #4]
4228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10773                          .loc 1 4228 7 view .LVU3557
 10774 00ca 0198                ldr     r0, [sp, #4]
 10775                  .LBE106:
4231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10776                          .loc 1 4231 7 view .LVU3558
4231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10777                          .loc 1 4231 7 view .LVU3559
 10778 00cc 84F83C10            strb    r1, [r4, #60]
4237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10779                          .loc 1 4237 7 view .LVU3560
 10780 00d0 5168                ldr     r1, [r2, #4]
 10781 00d2 41F44071            orr     r1, r1, #768
 10782 00d6 5160                str     r1, [r2, #4]
4240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10783                          .loc 1 4240 7 view .LVU3561
4240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10784                          .loc 1 4240 11 is_stmt 0 view .LVU3562
 10785 00d8 2168                ldr     r1, [r4]
4240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10786                          .loc 1 4240 27 view .LVU3563
 10787 00da 4A68                ldr     r2, [r1, #4]
 10788 00dc 42F40062            orr     r2, r2, #2048
 10789 00e0 4A60                str     r2, [r1, #4]
4242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10790                          .loc 1 4242 7 is_stmt 1 view .LVU3564
4242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10791                          .loc 1 4242 14 is_stmt 0 view .LVU3565
 10792 00e2 3DE0                b       .L666
 10793                  .LVL509:
 10794                  .L676:
4142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10795                          .loc 1 4142 7 is_stmt 1 view .LVU3566
4142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10796                          .loc 1 4142 16 is_stmt 0 view .LVU3567
 10797 00e4 0368                ldr     r3, [r0]
4142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10798                          .loc 1 4142 26 view .LVU3568
 10799 00e6 5A68                ldr     r2, [r3, #4]
4142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10800                          .loc 1 4142 10 view .LVU3569
 10801 00e8 12F4006F            tst     r2, #2048
 10802 00ec B2D0                beq     .L668
4145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10803                          .loc 1 4145 9 is_stmt 1 view .LVU3570
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 378


4145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10804                          .loc 1 4145 17 is_stmt 0 view .LVU3571
 10805 00ee 826B                ldr     r2, [r0, #56]
4145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10806                          .loc 1 4145 12 view .LVU3572
 10807 00f0 002A                cmp     r2, #0
 10808 00f2 AFD0                beq     .L668
4147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10809                          .loc 1 4147 11 is_stmt 1 view .LVU3573
 10810 00f4 5A68                ldr     r2, [r3, #4]
 10811 00f6 22F40062            bic     r2, r2, #2048
 10812 00fa 5A60                str     r2, [r3, #4]
4151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10813                          .loc 1 4151 11 view .LVU3574
4151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10814                          .loc 1 4151 15 is_stmt 0 view .LVU3575
 10815 00fc 836B                ldr     r3, [r0, #56]
4151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10816                          .loc 1 4151 43 view .LVU3576
 10817 00fe 1F4A                ldr     r2, .L678+8
 10818 0100 5A63                str     r2, [r3, #52]
4154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 10819                          .loc 1 4154 11 is_stmt 1 view .LVU3577
4154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 10820                          .loc 1 4154 15 is_stmt 0 view .LVU3578
 10821 0102 806B                ldr     r0, [r0, #56]
 10822                  .LVL510:
4154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 10823                          .loc 1 4154 15 view .LVU3579
 10824 0104 FFF7FEFF            bl      HAL_DMA_Abort_IT
 10825                  .LVL511:
4154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 10826                          .loc 1 4154 14 view .LVU3580
 10827 0108 0028                cmp     r0, #0
 10828 010a A3D0                beq     .L668
4157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 10829                          .loc 1 4157 13 is_stmt 1 view .LVU3581
4157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 10830                          .loc 1 4157 17 is_stmt 0 view .LVU3582
 10831 010c A06B                ldr     r0, [r4, #56]
4157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 10832                          .loc 1 4157 25 view .LVU3583
 10833 010e 436B                ldr     r3, [r0, #52]
4157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 10834                          .loc 1 4157 13 view .LVU3584
 10835 0110 9847                blx     r3
 10836                  .LVL512:
 10837 0112 9FE7                b       .L668
 10838                  .LVL513:
 10839                  .L677:
4164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10840                          .loc 1 4164 7 is_stmt 1 view .LVU3585
4164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10841                          .loc 1 4164 16 is_stmt 0 view .LVU3586
 10842 0114 0368                ldr     r3, [r0]
4164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10843                          .loc 1 4164 26 view .LVU3587
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 379


 10844 0116 5A68                ldr     r2, [r3, #4]
4164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 10845                          .loc 1 4164 10 view .LVU3588
 10846 0118 12F4006F            tst     r2, #2048
 10847 011c 9AD0                beq     .L668
4166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10848                          .loc 1 4166 9 is_stmt 1 view .LVU3589
 10849 011e 5A68                ldr     r2, [r3, #4]
 10850 0120 22F40062            bic     r2, r2, #2048
 10851 0124 5A60                str     r2, [r3, #4]
4169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10852                          .loc 1 4169 9 view .LVU3590
4169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10853                          .loc 1 4169 17 is_stmt 0 view .LVU3591
 10854 0126 436B                ldr     r3, [r0, #52]
4169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 10855                          .loc 1 4169 12 view .LVU3592
 10856 0128 002B                cmp     r3, #0
 10857 012a 93D0                beq     .L668
4173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10858                          .loc 1 4173 11 is_stmt 1 view .LVU3593
4173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10859                          .loc 1 4173 43 is_stmt 0 view .LVU3594
 10860 012c 134A                ldr     r2, .L678+8
 10861 012e 5A63                str     r2, [r3, #52]
4176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 10862                          .loc 1 4176 11 is_stmt 1 view .LVU3595
4176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 10863                          .loc 1 4176 15 is_stmt 0 view .LVU3596
 10864 0130 406B                ldr     r0, [r0, #52]
 10865                  .LVL514:
4176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 10866                          .loc 1 4176 15 view .LVU3597
 10867 0132 FFF7FEFF            bl      HAL_DMA_Abort_IT
 10868                  .LVL515:
4176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 10869                          .loc 1 4176 14 view .LVU3598
 10870 0136 0028                cmp     r0, #0
 10871 0138 8CD0                beq     .L668
4179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 10872                          .loc 1 4179 13 is_stmt 1 view .LVU3599
4179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 10873                          .loc 1 4179 17 is_stmt 0 view .LVU3600
 10874 013a 606B                ldr     r0, [r4, #52]
4179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 10875                          .loc 1 4179 25 view .LVU3601
 10876 013c 436B                ldr     r3, [r0, #52]
4179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 10877                          .loc 1 4179 13 view .LVU3602
 10878 013e 9847                blx     r3
 10879                  .LVL516:
 10880 0140 88E7                b       .L668
 10881                  .LVL517:
 10882                  .L670:
4247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 10883                          .loc 1 4247 7 is_stmt 1 view .LVU3603
4247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 380


 10884                          .loc 1 4247 23 is_stmt 0 view .LVU3604
 10885 0142 2023                movs    r3, #32
 10886 0144 84F83D30            strb    r3, [r4, #61]
4248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10887                          .loc 1 4248 7 is_stmt 1 view .LVU3605
4248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10888                          .loc 1 4248 23 is_stmt 0 view .LVU3606
 10889 0148 0022                movs    r2, #0
 10890 014a 84F83E20            strb    r2, [r4, #62]
4251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10891                          .loc 1 4251 7 is_stmt 1 view .LVU3607
4251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10892                          .loc 1 4251 23 is_stmt 0 view .LVU3608
 10893 014e 236C                ldr     r3, [r4, #64]
 10894 0150 43F01003            orr     r3, r3, #16
 10895 0154 2364                str     r3, [r4, #64]
4254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10896                          .loc 1 4254 7 is_stmt 1 view .LVU3609
4254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10897                          .loc 1 4254 7 view .LVU3610
 10898 0156 84F83C20            strb    r2, [r4, #60]
4256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10899                          .loc 1 4256 7 view .LVU3611
4256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10900                          .loc 1 4256 14 is_stmt 0 view .LVU3612
 10901 015a 0123                movs    r3, #1
 10902 015c 00E0                b       .L666
 10903                  .LVL518:
 10904                  .L671:
4261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 10905                          .loc 1 4261 12 view .LVU3613
 10906 015e 0223                movs    r3, #2
 10907                  .LVL519:
 10908                  .L666:
4263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10909                          .loc 1 4263 1 view .LVU3614
 10910 0160 1846                mov     r0, r3
 10911 0162 03B0                add     sp, sp, #12
 10912                  .LCFI129:
 10913                          .cfi_remember_state
 10914                          .cfi_def_cfa_offset 20
 10915                          @ sp needed
 10916 0164 F0BD                pop     {r4, r5, r6, r7, pc}
 10917                  .LVL520:
 10918                  .L672:
 10919                  .LCFI130:
 10920                          .cfi_restore_state
4129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10921                          .loc 1 4129 15 view .LVU3615
 10922 0166 0123                movs    r3, #1
 10923                  .LVL521:
4129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10924                          .loc 1 4129 15 view .LVU3616
 10925 0168 FAE7                b       .L666
 10926                  .LVL522:
 10927                  .L673:
4129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 381


 10928                          .loc 1 4129 15 view .LVU3617
 10929 016a 0123                movs    r3, #1
 10930                  .LVL523:
4129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 10931                          .loc 1 4129 15 view .LVU3618
 10932 016c F8E7                b       .L666
 10933                  .LVL524:
 10934                  .L674:
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10935                          .loc 1 4133 5 view .LVU3619
 10936 016e 0223                movs    r3, #2
 10937                  .LVL525:
4133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10938                          .loc 1 4133 5 view .LVU3620
 10939 0170 F6E7                b       .L666
 10940                  .L679:
 10941 0172 00BF                .align  2
 10942                  .L678:
 10943 0174 00000000            .word   I2C_DMAXferCplt
 10944 0178 00000000            .word   I2C_DMAError
 10945 017c 00000000            .word   I2C_DMAAbort
 10946                          .cfi_endproc
 10947                  .LFE93:
 10949                          .section        .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits
 10950                          .align  1
 10951                          .global HAL_I2C_Slave_Seq_Receive_IT
 10952                          .syntax unified
 10953                          .thumb
 10954                          .thumb_func
 10955                          .fpu softvfp
 10957                  HAL_I2C_Slave_Seq_Receive_IT:
 10958                  .LVL526:
 10959                  .LFB94:
4276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
 10960                          .loc 1 4276 1 is_stmt 1 view -0
 10961                          .cfi_startproc
 10962                          @ args = 0, pretend = 0, frame = 8
 10963                          @ frame_needed = 0, uses_anonymous_args = 0
 10964                          @ link register save eliminated.
4276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Check the parameters */
 10965                          .loc 1 4276 1 is_stmt 0 view .LVU3622
 10966 0000 30B4                push    {r4, r5}
 10967                  .LCFI131:
 10968                          .cfi_def_cfa_offset 8
 10969                          .cfi_offset 4, -8
 10970                          .cfi_offset 5, -4
 10971 0002 82B0                sub     sp, sp, #8
 10972                  .LCFI132:
 10973                          .cfi_def_cfa_offset 16
4278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10974                          .loc 1 4278 3 is_stmt 1 view .LVU3623
4280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 10975                          .loc 1 4280 3 view .LVU3624
4280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 10976                          .loc 1 4280 22 is_stmt 0 view .LVU3625
 10977 0004 90F83D40            ldrb    r4, [r0, #61]   @ zero_extendqisi2
4280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 382


 10978                          .loc 1 4280 6 view .LVU3626
 10979 0008 04F02804            and     r4, r4, #40
 10980 000c 282C                cmp     r4, #40
 10981 000e 34D1                bne     .L683
4282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10982                          .loc 1 4282 5 is_stmt 1 view .LVU3627
4282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10983                          .loc 1 4282 8 is_stmt 0 view .LVU3628
 10984 0010 0029                cmp     r1, #0
 10985 0012 36D0                beq     .L684
4282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10986                          .loc 1 4282 25 discriminator 1 view .LVU3629
 10987 0014 002A                cmp     r2, #0
 10988 0016 36D0                beq     .L685
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10989                          .loc 1 4288 5 is_stmt 1 view .LVU3630
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10990                          .loc 1 4288 5 view .LVU3631
 10991 0018 90F83C40            ldrb    r4, [r0, #60]   @ zero_extendqisi2
 10992 001c 012C                cmp     r4, #1
 10993 001e 34D0                beq     .L686
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 10994                          .loc 1 4288 5 discriminator 2 view .LVU3632
 10995 0020 0124                movs    r4, #1
 10996 0022 80F83C40            strb    r4, [r0, #60]
4291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10997                          .loc 1 4291 5 discriminator 2 view .LVU3633
4291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 10998                          .loc 1 4291 14 is_stmt 0 discriminator 2 view .LVU3634
 10999 0026 0468                ldr     r4, [r0]
4291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11000                          .loc 1 4291 24 discriminator 2 view .LVU3635
 11001 0028 2568                ldr     r5, [r4]
4291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11002                          .loc 1 4291 8 discriminator 2 view .LVU3636
 11003 002a 15F0010F            tst     r5, #1
 11004 002e 03D1                bne     .L682
4294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11005                          .loc 1 4294 7 is_stmt 1 view .LVU3637
 11006 0030 2568                ldr     r5, [r4]
 11007 0032 45F00105            orr     r5, r5, #1
 11008 0036 2560                str     r5, [r4]
 11009                  .L682:
4298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11010                          .loc 1 4298 5 view .LVU3638
 11011 0038 0568                ldr     r5, [r0]
 11012 003a 2C68                ldr     r4, [r5]
 11013 003c 24F40064            bic     r4, r4, #2048
 11014 0040 2C60                str     r4, [r5]
4300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 11015                          .loc 1 4300 5 view .LVU3639
4300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 11016                          .loc 1 4300 21 is_stmt 0 view .LVU3640
 11017 0042 2A24                movs    r4, #42
 11018 0044 80F83D40            strb    r4, [r0, #61]
4301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 11019                          .loc 1 4301 5 is_stmt 1 view .LVU3641
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 383


4301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 11020                          .loc 1 4301 21 is_stmt 0 view .LVU3642
 11021 0048 2024                movs    r4, #32
 11022 004a 80F83E40            strb    r4, [r0, #62]
4302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11023                          .loc 1 4302 5 is_stmt 1 view .LVU3643
4302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11024                          .loc 1 4302 21 is_stmt 0 view .LVU3644
 11025 004e 0024                movs    r4, #0
 11026 0050 0464                str     r4, [r0, #64]
4305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 11027                          .loc 1 4305 5 is_stmt 1 view .LVU3645
4305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 11028                          .loc 1 4305 23 is_stmt 0 view .LVU3646
 11029 0052 4162                str     r1, [r0, #36]
4306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 11030                          .loc 1 4306 5 is_stmt 1 view .LVU3647
4306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 11031                          .loc 1 4306 23 is_stmt 0 view .LVU3648
 11032 0054 4285                strh    r2, [r0, #42]   @ movhi
4307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 11033                          .loc 1 4307 5 is_stmt 1 view .LVU3649
4307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 11034                          .loc 1 4307 29 is_stmt 0 view .LVU3650
 11035 0056 428D                ldrh    r2, [r0, #42]
 11036                  .LVL527:
4307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 11037                          .loc 1 4307 23 view .LVU3651
 11038 0058 0285                strh    r2, [r0, #40]   @ movhi
4308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11039                          .loc 1 4308 5 is_stmt 1 view .LVU3652
4308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11040                          .loc 1 4308 23 is_stmt 0 view .LVU3653
 11041 005a C362                str     r3, [r0, #44]
 11042                  .LVL528:
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11043                          .loc 1 4311 5 is_stmt 1 view .LVU3654
 11044                  .LBB107:
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11045                          .loc 1 4311 5 view .LVU3655
 11046 005c 0194                str     r4, [sp, #4]
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11047                          .loc 1 4311 5 view .LVU3656
 11048 005e 0368                ldr     r3, [r0]
 11049                  .LVL529:
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11050                          .loc 1 4311 5 is_stmt 0 view .LVU3657
 11051 0060 5A69                ldr     r2, [r3, #20]
 11052 0062 0192                str     r2, [sp, #4]
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11053                          .loc 1 4311 5 is_stmt 1 view .LVU3658
 11054 0064 9A69                ldr     r2, [r3, #24]
 11055 0066 0192                str     r2, [sp, #4]
4311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11056                          .loc 1 4311 5 view .LVU3659
 11057 0068 019A                ldr     r2, [sp, #4]
 11058                  .LBE107:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 384


4314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11059                          .loc 1 4314 5 view .LVU3660
4314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11060                          .loc 1 4314 5 view .LVU3661
 11061 006a 80F83C40            strb    r4, [r0, #60]
4321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11062                          .loc 1 4321 5 view .LVU3662
 11063 006e 5A68                ldr     r2, [r3, #4]
 11064 0070 42F4E062            orr     r2, r2, #1792
 11065 0074 5A60                str     r2, [r3, #4]
4323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11066                          .loc 1 4323 5 view .LVU3663
4323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11067                          .loc 1 4323 12 is_stmt 0 view .LVU3664
 11068 0076 2046                mov     r0, r4
 11069                  .LVL530:
4323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11070                          .loc 1 4323 12 view .LVU3665
 11071 0078 00E0                b       .L681
 11072                  .LVL531:
 11073                  .L683:
4327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11074                          .loc 1 4327 12 view .LVU3666
 11075 007a 0220                movs    r0, #2
 11076                  .LVL532:
 11077                  .L681:
4329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11078                          .loc 1 4329 1 view .LVU3667
 11079 007c 02B0                add     sp, sp, #8
 11080                  .LCFI133:
 11081                          .cfi_remember_state
 11082                          .cfi_def_cfa_offset 8
 11083                          @ sp needed
 11084 007e 30BC                pop     {r4, r5}
 11085                  .LCFI134:
 11086                          .cfi_restore 5
 11087                          .cfi_restore 4
 11088                          .cfi_def_cfa_offset 0
 11089 0080 7047                bx      lr
 11090                  .LVL533:
 11091                  .L684:
 11092                  .LCFI135:
 11093                          .cfi_restore_state
4284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11094                          .loc 1 4284 15 view .LVU3668
 11095 0082 0120                movs    r0, #1
 11096                  .LVL534:
4284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11097                          .loc 1 4284 15 view .LVU3669
 11098 0084 FAE7                b       .L681
 11099                  .LVL535:
 11100                  .L685:
4284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11101                          .loc 1 4284 15 view .LVU3670
 11102 0086 0120                movs    r0, #1
 11103                  .LVL536:
4284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 385


 11104                          .loc 1 4284 15 view .LVU3671
 11105 0088 F8E7                b       .L681
 11106                  .LVL537:
 11107                  .L686:
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11108                          .loc 1 4288 5 view .LVU3672
 11109 008a 0220                movs    r0, #2
 11110                  .LVL538:
4288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11111                          .loc 1 4288 5 view .LVU3673
 11112 008c F6E7                b       .L681
 11113                          .cfi_endproc
 11114                  .LFE94:
 11116                          .section        .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits
 11117                          .align  1
 11118                          .global HAL_I2C_Slave_Seq_Receive_DMA
 11119                          .syntax unified
 11120                          .thumb
 11121                          .thumb_func
 11122                          .fpu softvfp
 11124                  HAL_I2C_Slave_Seq_Receive_DMA:
 11125                  .LVL539:
 11126                  .LFB95:
4342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 11127                          .loc 1 4342 1 is_stmt 1 view -0
 11128                          .cfi_startproc
 11129                          @ args = 0, pretend = 0, frame = 8
 11130                          @ frame_needed = 0, uses_anonymous_args = 0
4342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 11131                          .loc 1 4342 1 is_stmt 0 view .LVU3675
 11132 0000 F0B5                push    {r4, r5, r6, r7, lr}
 11133                  .LCFI136:
 11134                          .cfi_def_cfa_offset 20
 11135                          .cfi_offset 4, -20
 11136                          .cfi_offset 5, -16
 11137                          .cfi_offset 6, -12
 11138                          .cfi_offset 7, -8
 11139                          .cfi_offset 14, -4
 11140 0002 83B0                sub     sp, sp, #12
 11141                  .LCFI137:
 11142                          .cfi_def_cfa_offset 32
4343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11143                          .loc 1 4343 3 is_stmt 1 view .LVU3676
4346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11144                          .loc 1 4346 3 view .LVU3677
4348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11145                          .loc 1 4348 3 view .LVU3678
4348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11146                          .loc 1 4348 22 is_stmt 0 view .LVU3679
 11147 0004 90F83D50            ldrb    r5, [r0, #61]   @ zero_extendqisi2
4348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11148                          .loc 1 4348 6 view .LVU3680
 11149 0008 05F02805            and     r5, r5, #40
 11150 000c 282D                cmp     r5, #40
 11151 000e 40F0A680            bne     .L694
4350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11152                          .loc 1 4350 5 is_stmt 1 view .LVU3681
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 386


4350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11153                          .loc 1 4350 8 is_stmt 0 view .LVU3682
 11154 0012 0029                cmp     r1, #0
 11155 0014 00F0A780            beq     .L695
4350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11156                          .loc 1 4350 25 discriminator 1 view .LVU3683
 11157 0018 002A                cmp     r2, #0
 11158 001a 00F0A680            beq     .L696
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11159                          .loc 1 4356 5 is_stmt 1 view .LVU3684
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11160                          .loc 1 4356 5 view .LVU3685
 11161 001e 90F83C40            ldrb    r4, [r0, #60]   @ zero_extendqisi2
 11162 0022 012C                cmp     r4, #1
 11163 0024 00F0A380            beq     .L697
 11164 0028 1F46                mov     r7, r3
 11165 002a 1646                mov     r6, r2
 11166 002c 0D46                mov     r5, r1
 11167 002e 0446                mov     r4, r0
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11168                          .loc 1 4356 5 discriminator 2 view .LVU3686
 11169 0030 0123                movs    r3, #1
 11170                  .LVL540:
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11171                          .loc 1 4356 5 is_stmt 0 discriminator 2 view .LVU3687
 11172 0032 80F83C30            strb    r3, [r0, #60]
4359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11173                          .loc 1 4359 5 is_stmt 1 discriminator 2 view .LVU3688
 11174 0036 0268                ldr     r2, [r0]
 11175                  .LVL541:
4359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11176                          .loc 1 4359 5 is_stmt 0 discriminator 2 view .LVU3689
 11177 0038 5368                ldr     r3, [r2, #4]
 11178 003a 23F44073            bic     r3, r3, #768
 11179 003e 5360                str     r3, [r2, #4]
4363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11180                          .loc 1 4363 5 is_stmt 1 discriminator 2 view .LVU3690
4363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11181                          .loc 1 4363 13 is_stmt 0 discriminator 2 view .LVU3691
 11182 0040 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 11183 0044 DBB2                uxtb    r3, r3
4363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11184                          .loc 1 4363 8 discriminator 2 view .LVU3692
 11185 0046 2A2B                cmp     r3, #42
 11186 0048 4CD0                beq     .L699
4385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11187                          .loc 1 4385 10 is_stmt 1 view .LVU3693
4385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11188                          .loc 1 4385 18 is_stmt 0 view .LVU3694
 11189 004a 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 11190 004e DBB2                uxtb    r3, r3
4385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11191                          .loc 1 4385 13 view .LVU3695
 11192 0050 292B                cmp     r3, #41
 11193 0052 5FD0                beq     .L700
 11194                  .LVL542:
 11195                  .L691:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 387


4410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11196                          .loc 1 4410 5 is_stmt 1 view .LVU3696
4413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11197                          .loc 1 4413 5 view .LVU3697
4413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11198                          .loc 1 4413 14 is_stmt 0 view .LVU3698
 11199 0054 2368                ldr     r3, [r4]
4413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11200                          .loc 1 4413 24 view .LVU3699
 11201 0056 1A68                ldr     r2, [r3]
4413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11202                          .loc 1 4413 8 view .LVU3700
 11203 0058 12F0010F            tst     r2, #1
 11204 005c 03D1                bne     .L692
4416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11205                          .loc 1 4416 7 is_stmt 1 view .LVU3701
 11206 005e 1A68                ldr     r2, [r3]
 11207 0060 42F00102            orr     r2, r2, #1
 11208 0064 1A60                str     r2, [r3]
 11209                  .L692:
4420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11210                          .loc 1 4420 5 view .LVU3702
 11211 0066 2268                ldr     r2, [r4]
 11212 0068 1368                ldr     r3, [r2]
 11213 006a 23F40063            bic     r3, r3, #2048
 11214 006e 1360                str     r3, [r2]
4422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 11215                          .loc 1 4422 5 view .LVU3703
4422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 11216                          .loc 1 4422 21 is_stmt 0 view .LVU3704
 11217 0070 2A23                movs    r3, #42
 11218 0072 84F83D30            strb    r3, [r4, #61]
4423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 11219                          .loc 1 4423 5 is_stmt 1 view .LVU3705
4423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 11220                          .loc 1 4423 21 is_stmt 0 view .LVU3706
 11221 0076 2023                movs    r3, #32
 11222 0078 84F83E30            strb    r3, [r4, #62]
4424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11223                          .loc 1 4424 5 is_stmt 1 view .LVU3707
4424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11224                          .loc 1 4424 21 is_stmt 0 view .LVU3708
 11225 007c 0023                movs    r3, #0
 11226 007e 2364                str     r3, [r4, #64]
4427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 11227                          .loc 1 4427 5 is_stmt 1 view .LVU3709
4427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 11228                          .loc 1 4427 23 is_stmt 0 view .LVU3710
 11229 0080 6562                str     r5, [r4, #36]
4428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 11230                          .loc 1 4428 5 is_stmt 1 view .LVU3711
4428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 11231                          .loc 1 4428 23 is_stmt 0 view .LVU3712
 11232 0082 6685                strh    r6, [r4, #42]   @ movhi
4429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 11233                          .loc 1 4429 5 is_stmt 1 view .LVU3713
4429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 388


 11234                          .loc 1 4429 29 is_stmt 0 view .LVU3714
 11235 0084 628D                ldrh    r2, [r4, #42]
4429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 11236                          .loc 1 4429 23 view .LVU3715
 11237 0086 2285                strh    r2, [r4, #40]   @ movhi
4430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11238                          .loc 1 4430 5 is_stmt 1 view .LVU3716
4430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11239                          .loc 1 4430 23 is_stmt 0 view .LVU3717
 11240 0088 E762                str     r7, [r4, #44]
4433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11241                          .loc 1 4433 5 is_stmt 1 view .LVU3718
4433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11242                          .loc 1 4433 9 is_stmt 0 view .LVU3719
 11243 008a A26B                ldr     r2, [r4, #56]
4433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11244                          .loc 1 4433 36 view .LVU3720
 11245 008c 3949                ldr     r1, .L701
 11246 008e 9162                str     r1, [r2, #40]
4436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11247                          .loc 1 4436 5 is_stmt 1 view .LVU3721
4436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11248                          .loc 1 4436 9 is_stmt 0 view .LVU3722
 11249 0090 A26B                ldr     r2, [r4, #56]
4436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11250                          .loc 1 4436 37 view .LVU3723
 11251 0092 3949                ldr     r1, .L701+4
 11252 0094 1163                str     r1, [r2, #48]
4439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferAbortCallback = NULL;
 11253                          .loc 1 4439 5 is_stmt 1 view .LVU3724
4439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferAbortCallback = NULL;
 11254                          .loc 1 4439 9 is_stmt 0 view .LVU3725
 11255 0096 A26B                ldr     r2, [r4, #56]
4439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->hdmarx->XferAbortCallback = NULL;
 11256                          .loc 1 4439 40 view .LVU3726
 11257 0098 D362                str     r3, [r2, #44]
4440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11258                          .loc 1 4440 5 is_stmt 1 view .LVU3727
4440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11259                          .loc 1 4440 9 is_stmt 0 view .LVU3728
 11260 009a A26B                ldr     r2, [r4, #56]
4440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11261                          .loc 1 4440 37 view .LVU3729
 11262 009c 5363                str     r3, [r2, #52]
4443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11263                          .loc 1 4443 5 is_stmt 1 view .LVU3730
4443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11264                          .loc 1 4443 67 is_stmt 0 view .LVU3731
 11265 009e 2168                ldr     r1, [r4]
4443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11266                          .loc 1 4443 21 view .LVU3732
 11267 00a0 238D                ldrh    r3, [r4, #40]
 11268 00a2 626A                ldr     r2, [r4, #36]
 11269 00a4 1031                adds    r1, r1, #16
 11270 00a6 A06B                ldr     r0, [r4, #56]
 11271 00a8 FFF7FEFF            bl      HAL_DMA_Start_IT
 11272                  .LVL543:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 389


4445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11273                          .loc 1 4445 5 is_stmt 1 view .LVU3733
4445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11274                          .loc 1 4445 8 is_stmt 0 view .LVU3734
 11275 00ac 0346                mov     r3, r0
 11276 00ae 0028                cmp     r0, #0
 11277 00b0 47D1                bne     .L693
4448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11278                          .loc 1 4448 7 is_stmt 1 view .LVU3735
 11279 00b2 2168                ldr     r1, [r4]
 11280 00b4 0A68                ldr     r2, [r1]
 11281 00b6 42F48062            orr     r2, r2, #1024
 11282 00ba 0A60                str     r2, [r1]
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11283                          .loc 1 4451 7 view .LVU3736
 11284                  .LBB108:
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11285                          .loc 1 4451 7 view .LVU3737
 11286 00bc 0021                movs    r1, #0
 11287 00be 0191                str     r1, [sp, #4]
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11288                          .loc 1 4451 7 view .LVU3738
 11289 00c0 2268                ldr     r2, [r4]
 11290 00c2 5069                ldr     r0, [r2, #20]
 11291                  .LVL544:
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11292                          .loc 1 4451 7 is_stmt 0 view .LVU3739
 11293 00c4 0190                str     r0, [sp, #4]
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11294                          .loc 1 4451 7 is_stmt 1 view .LVU3740
 11295 00c6 9069                ldr     r0, [r2, #24]
 11296 00c8 0190                str     r0, [sp, #4]
4451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11297                          .loc 1 4451 7 view .LVU3741
 11298 00ca 0198                ldr     r0, [sp, #4]
 11299                  .LBE108:
4454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11300                          .loc 1 4454 7 view .LVU3742
4454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11301                          .loc 1 4454 7 view .LVU3743
 11302 00cc 84F83C10            strb    r1, [r4, #60]
4457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11303                          .loc 1 4457 7 view .LVU3744
 11304 00d0 5168                ldr     r1, [r2, #4]
 11305 00d2 41F40061            orr     r1, r1, #2048
 11306 00d6 5160                str     r1, [r2, #4]
4463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11307                          .loc 1 4463 7 view .LVU3745
 11308 00d8 2168                ldr     r1, [r4]
 11309 00da 4A68                ldr     r2, [r1, #4]
 11310 00dc 42F44072            orr     r2, r2, #768
 11311 00e0 4A60                str     r2, [r1, #4]
4465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11312                          .loc 1 4465 7 view .LVU3746
4465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11313                          .loc 1 4465 14 is_stmt 0 view .LVU3747
 11314 00e2 3DE0                b       .L689
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 390


 11315                  .LVL545:
 11316                  .L699:
4365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 11317                          .loc 1 4365 7 is_stmt 1 view .LVU3748
4365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 11318                          .loc 1 4365 16 is_stmt 0 view .LVU3749
 11319 00e4 0368                ldr     r3, [r0]
4365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 11320                          .loc 1 4365 26 view .LVU3750
 11321 00e6 5A68                ldr     r2, [r3, #4]
4365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 11322                          .loc 1 4365 10 view .LVU3751
 11323 00e8 12F4006F            tst     r2, #2048
 11324 00ec B2D0                beq     .L691
4368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 11325                          .loc 1 4368 9 is_stmt 1 view .LVU3752
4368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 11326                          .loc 1 4368 17 is_stmt 0 view .LVU3753
 11327 00ee 826B                ldr     r2, [r0, #56]
4368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 11328                          .loc 1 4368 12 view .LVU3754
 11329 00f0 002A                cmp     r2, #0
 11330 00f2 AFD0                beq     .L691
4370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11331                          .loc 1 4370 11 is_stmt 1 view .LVU3755
 11332 00f4 5A68                ldr     r2, [r3, #4]
 11333 00f6 22F40062            bic     r2, r2, #2048
 11334 00fa 5A60                str     r2, [r3, #4]
4374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11335                          .loc 1 4374 11 view .LVU3756
4374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11336                          .loc 1 4374 15 is_stmt 0 view .LVU3757
 11337 00fc 836B                ldr     r3, [r0, #56]
4374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11338                          .loc 1 4374 43 view .LVU3758
 11339 00fe 1F4A                ldr     r2, .L701+8
 11340 0100 5A63                str     r2, [r3, #52]
4377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 11341                          .loc 1 4377 11 is_stmt 1 view .LVU3759
4377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 11342                          .loc 1 4377 15 is_stmt 0 view .LVU3760
 11343 0102 806B                ldr     r0, [r0, #56]
 11344                  .LVL546:
4377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 11345                          .loc 1 4377 15 view .LVU3761
 11346 0104 FFF7FEFF            bl      HAL_DMA_Abort_IT
 11347                  .LVL547:
4377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 11348                          .loc 1 4377 14 view .LVU3762
 11349 0108 0028                cmp     r0, #0
 11350 010a A3D0                beq     .L691
4380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 11351                          .loc 1 4380 13 is_stmt 1 view .LVU3763
4380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 11352                          .loc 1 4380 17 is_stmt 0 view .LVU3764
 11353 010c A06B                ldr     r0, [r4, #56]
4380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 391


 11354                          .loc 1 4380 25 view .LVU3765
 11355 010e 436B                ldr     r3, [r0, #52]
4380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 11356                          .loc 1 4380 13 view .LVU3766
 11357 0110 9847                blx     r3
 11358                  .LVL548:
 11359 0112 9FE7                b       .L691
 11360                  .LVL549:
 11361                  .L700:
4387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 11362                          .loc 1 4387 7 is_stmt 1 view .LVU3767
4387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 11363                          .loc 1 4387 16 is_stmt 0 view .LVU3768
 11364 0114 0368                ldr     r3, [r0]
4387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 11365                          .loc 1 4387 26 view .LVU3769
 11366 0116 5A68                ldr     r2, [r3, #4]
4387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 11367                          .loc 1 4387 10 view .LVU3770
 11368 0118 12F4006F            tst     r2, #2048
 11369 011c 9AD0                beq     .L691
4389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11370                          .loc 1 4389 9 is_stmt 1 view .LVU3771
 11371 011e 5A68                ldr     r2, [r3, #4]
 11372 0120 22F40062            bic     r2, r2, #2048
 11373 0124 5A60                str     r2, [r3, #4]
4392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 11374                          .loc 1 4392 9 view .LVU3772
4392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 11375                          .loc 1 4392 17 is_stmt 0 view .LVU3773
 11376 0126 436B                ldr     r3, [r0, #52]
4392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 11377                          .loc 1 4392 12 view .LVU3774
 11378 0128 002B                cmp     r3, #0
 11379 012a 93D0                beq     .L691
4396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11380                          .loc 1 4396 11 is_stmt 1 view .LVU3775
4396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11381                          .loc 1 4396 43 is_stmt 0 view .LVU3776
 11382 012c 134A                ldr     r2, .L701+8
 11383 012e 5A63                str     r2, [r3, #52]
4399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 11384                          .loc 1 4399 11 is_stmt 1 view .LVU3777
4399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 11385                          .loc 1 4399 15 is_stmt 0 view .LVU3778
 11386 0130 406B                ldr     r0, [r0, #52]
 11387                  .LVL550:
4399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 11388                          .loc 1 4399 15 view .LVU3779
 11389 0132 FFF7FEFF            bl      HAL_DMA_Abort_IT
 11390                  .LVL551:
4399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 11391                          .loc 1 4399 14 view .LVU3780
 11392 0136 0028                cmp     r0, #0
 11393 0138 8CD0                beq     .L691
4402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 11394                          .loc 1 4402 13 is_stmt 1 view .LVU3781
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 392


4402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 11395                          .loc 1 4402 17 is_stmt 0 view .LVU3782
 11396 013a 606B                ldr     r0, [r4, #52]
4402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 11397                          .loc 1 4402 25 view .LVU3783
 11398 013c 436B                ldr     r3, [r0, #52]
4402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 11399                          .loc 1 4402 13 view .LVU3784
 11400 013e 9847                blx     r3
 11401                  .LVL552:
 11402 0140 88E7                b       .L691
 11403                  .LVL553:
 11404                  .L693:
4470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 11405                          .loc 1 4470 7 is_stmt 1 view .LVU3785
4470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 11406                          .loc 1 4470 23 is_stmt 0 view .LVU3786
 11407 0142 2023                movs    r3, #32
 11408 0144 84F83D30            strb    r3, [r4, #61]
4471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11409                          .loc 1 4471 7 is_stmt 1 view .LVU3787
4471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11410                          .loc 1 4471 23 is_stmt 0 view .LVU3788
 11411 0148 0022                movs    r2, #0
 11412 014a 84F83E20            strb    r2, [r4, #62]
4474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11413                          .loc 1 4474 7 is_stmt 1 view .LVU3789
4474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11414                          .loc 1 4474 23 is_stmt 0 view .LVU3790
 11415 014e 236C                ldr     r3, [r4, #64]
 11416 0150 43F01003            orr     r3, r3, #16
 11417 0154 2364                str     r3, [r4, #64]
4477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11418                          .loc 1 4477 7 is_stmt 1 view .LVU3791
4477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11419                          .loc 1 4477 7 view .LVU3792
 11420 0156 84F83C20            strb    r2, [r4, #60]
4479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11421                          .loc 1 4479 7 view .LVU3793
4479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11422                          .loc 1 4479 14 is_stmt 0 view .LVU3794
 11423 015a 0123                movs    r3, #1
 11424 015c 00E0                b       .L689
 11425                  .LVL554:
 11426                  .L694:
4484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11427                          .loc 1 4484 12 view .LVU3795
 11428 015e 0223                movs    r3, #2
 11429                  .LVL555:
 11430                  .L689:
4486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11431                          .loc 1 4486 1 view .LVU3796
 11432 0160 1846                mov     r0, r3
 11433 0162 03B0                add     sp, sp, #12
 11434                  .LCFI138:
 11435                          .cfi_remember_state
 11436                          .cfi_def_cfa_offset 20
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 393


 11437                          @ sp needed
 11438 0164 F0BD                pop     {r4, r5, r6, r7, pc}
 11439                  .LVL556:
 11440                  .L695:
 11441                  .LCFI139:
 11442                          .cfi_restore_state
4352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11443                          .loc 1 4352 15 view .LVU3797
 11444 0166 0123                movs    r3, #1
 11445                  .LVL557:
4352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11446                          .loc 1 4352 15 view .LVU3798
 11447 0168 FAE7                b       .L689
 11448                  .LVL558:
 11449                  .L696:
4352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11450                          .loc 1 4352 15 view .LVU3799
 11451 016a 0123                movs    r3, #1
 11452                  .LVL559:
4352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11453                          .loc 1 4352 15 view .LVU3800
 11454 016c F8E7                b       .L689
 11455                  .LVL560:
 11456                  .L697:
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11457                          .loc 1 4356 5 view .LVU3801
 11458 016e 0223                movs    r3, #2
 11459                  .LVL561:
4356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11460                          .loc 1 4356 5 view .LVU3802
 11461 0170 F6E7                b       .L689
 11462                  .L702:
 11463 0172 00BF                .align  2
 11464                  .L701:
 11465 0174 00000000            .word   I2C_DMAXferCplt
 11466 0178 00000000            .word   I2C_DMAError
 11467 017c 00000000            .word   I2C_DMAAbort
 11468                          .cfi_endproc
 11469                  .LFE95:
 11471                          .section        .text.HAL_I2C_EnableListen_IT,"ax",%progbits
 11472                          .align  1
 11473                          .global HAL_I2C_EnableListen_IT
 11474                          .syntax unified
 11475                          .thumb
 11476                          .thumb_func
 11477                          .fpu softvfp
 11479                  HAL_I2C_EnableListen_IT:
 11480                  .LVL562:
 11481                  .LFB96:
4495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
 11482                          .loc 1 4495 1 is_stmt 1 view -0
 11483                          .cfi_startproc
 11484                          @ args = 0, pretend = 0, frame = 0
 11485                          @ frame_needed = 0, uses_anonymous_args = 0
 11486                          @ link register save eliminated.
4496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11487                          .loc 1 4496 3 view .LVU3804
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 394


4496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11488                          .loc 1 4496 11 is_stmt 0 view .LVU3805
 11489 0000 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 11490 0004 DBB2                uxtb    r3, r3
4496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11491                          .loc 1 4496 6 view .LVU3806
 11492 0006 202B                cmp     r3, #32
 11493 0008 01D0                beq     .L707
4517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11494                          .loc 1 4517 12 view .LVU3807
 11495 000a 0220                movs    r0, #2
 11496                  .LVL563:
4519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11497                          .loc 1 4519 1 view .LVU3808
 11498 000c 7047                bx      lr
 11499                  .LVL564:
 11500                  .L707:
4498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11501                          .loc 1 4498 5 is_stmt 1 view .LVU3809
4498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11502                          .loc 1 4498 17 is_stmt 0 view .LVU3810
 11503 000e 2823                movs    r3, #40
 11504 0010 80F83D30            strb    r3, [r0, #61]
4501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11505                          .loc 1 4501 5 is_stmt 1 view .LVU3811
4501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11506                          .loc 1 4501 14 is_stmt 0 view .LVU3812
 11507 0014 0368                ldr     r3, [r0]
4501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11508                          .loc 1 4501 24 view .LVU3813
 11509 0016 1A68                ldr     r2, [r3]
4501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11510                          .loc 1 4501 8 view .LVU3814
 11511 0018 12F0010F            tst     r2, #1
 11512 001c 03D1                bne     .L705
4504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11513                          .loc 1 4504 7 is_stmt 1 view .LVU3815
 11514 001e 1A68                ldr     r2, [r3]
 11515 0020 42F00102            orr     r2, r2, #1
 11516 0024 1A60                str     r2, [r3]
 11517                  .L705:
4508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11518                          .loc 1 4508 5 view .LVU3816
 11519 0026 0268                ldr     r2, [r0]
 11520 0028 1368                ldr     r3, [r2]
 11521 002a 43F48063            orr     r3, r3, #1024
 11522 002e 1360                str     r3, [r2]
4511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11523                          .loc 1 4511 5 view .LVU3817
 11524 0030 0268                ldr     r2, [r0]
 11525 0032 5368                ldr     r3, [r2, #4]
 11526 0034 43F44073            orr     r3, r3, #768
 11527 0038 5360                str     r3, [r2, #4]
4513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11528                          .loc 1 4513 5 view .LVU3818
4513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11529                          .loc 1 4513 12 is_stmt 0 view .LVU3819
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 395


 11530 003a 0020                movs    r0, #0
 11531                  .LVL565:
4513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11532                          .loc 1 4513 12 view .LVU3820
 11533 003c 7047                bx      lr
 11534                          .cfi_endproc
 11535                  .LFE96:
 11537                          .section        .text.HAL_I2C_DisableListen_IT,"ax",%progbits
 11538                          .align  1
 11539                          .global HAL_I2C_DisableListen_IT
 11540                          .syntax unified
 11541                          .thumb
 11542                          .thumb_func
 11543                          .fpu softvfp
 11545                  HAL_I2C_DisableListen_IT:
 11546                  .LVL566:
 11547                  .LFB97:
4528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 11548                          .loc 1 4528 1 is_stmt 1 view -0
 11549                          .cfi_startproc
 11550                          @ args = 0, pretend = 0, frame = 0
 11551                          @ frame_needed = 0, uses_anonymous_args = 0
 11552                          @ link register save eliminated.
4530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11553                          .loc 1 4530 3 view .LVU3822
4533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11554                          .loc 1 4533 3 view .LVU3823
4533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11555                          .loc 1 4533 11 is_stmt 0 view .LVU3824
 11556 0000 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 11557 0004 DBB2                uxtb    r3, r3
4533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11558                          .loc 1 4533 6 view .LVU3825
 11559 0006 282B                cmp     r3, #40
 11560 0008 01D0                beq     .L711
4550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11561                          .loc 1 4550 12 view .LVU3826
 11562 000a 0220                movs    r0, #2
 11563                  .LVL567:
4552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11564                          .loc 1 4552 1 view .LVU3827
 11565 000c 7047                bx      lr
 11566                  .LVL568:
 11567                  .L711:
4535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
 11568                          .loc 1 4535 5 is_stmt 1 view .LVU3828
4535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
 11569                          .loc 1 4535 26 is_stmt 0 view .LVU3829
 11570 000e 90F83D20            ldrb    r2, [r0, #61]   @ zero_extendqisi2
 11571                  .LVL569:
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 11572                          .loc 1 4536 5 is_stmt 1 view .LVU3830
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 11573                          .loc 1 4536 48 is_stmt 0 view .LVU3831
 11574 0012 90F83E30            ldrb    r3, [r0, #62]   @ zero_extendqisi2
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 11575                          .loc 1 4536 31 view .LVU3832
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 396


 11576 0016 02F00302            and     r2, r2, #3
 11577                  .LVL570:
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 11578                          .loc 1 4536 31 view .LVU3833
 11579 001a 1343                orrs    r3, r3, r2
4536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 11580                          .loc 1 4536 25 view .LVU3834
 11581 001c 0363                str     r3, [r0, #48]
4537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 11582                          .loc 1 4537 5 is_stmt 1 view .LVU3835
4537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 11583                          .loc 1 4537 17 is_stmt 0 view .LVU3836
 11584 001e 2023                movs    r3, #32
 11585 0020 80F83D30            strb    r3, [r0, #61]
4538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11586                          .loc 1 4538 5 is_stmt 1 view .LVU3837
4538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11587                          .loc 1 4538 16 is_stmt 0 view .LVU3838
 11588 0024 0023                movs    r3, #0
 11589 0026 80F83E30            strb    r3, [r0, #62]
4541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11590                          .loc 1 4541 5 is_stmt 1 view .LVU3839
 11591 002a 0168                ldr     r1, [r0]
 11592 002c 0A68                ldr     r2, [r1]
 11593 002e 22F48062            bic     r2, r2, #1024
 11594 0032 0A60                str     r2, [r1]
4544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11595                          .loc 1 4544 5 view .LVU3840
 11596 0034 0168                ldr     r1, [r0]
 11597 0036 4A68                ldr     r2, [r1, #4]
 11598 0038 22F44072            bic     r2, r2, #768
 11599 003c 4A60                str     r2, [r1, #4]
4546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11600                          .loc 1 4546 5 view .LVU3841
4546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11601                          .loc 1 4546 12 is_stmt 0 view .LVU3842
 11602 003e 1846                mov     r0, r3
 11603                  .LVL571:
4546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11604                          .loc 1 4546 12 view .LVU3843
 11605 0040 7047                bx      lr
 11606                          .cfi_endproc
 11607                  .LFE97:
 11609                          .section        .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
 11610                          .align  1
 11611                          .weak   HAL_I2C_MasterTxCpltCallback
 11612                          .syntax unified
 11613                          .thumb
 11614                          .thumb_func
 11615                          .fpu softvfp
 11617                  HAL_I2C_MasterTxCpltCallback:
 11618                  .LVL572:
 11619                  .LFB101:
4859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 11620                          .loc 1 4859 1 is_stmt 1 view -0
 11621                          .cfi_startproc
 11622                          @ args = 0, pretend = 0, frame = 0
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 397


 11623                          @ frame_needed = 0, uses_anonymous_args = 0
 11624                          @ link register save eliminated.
4861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11625                          .loc 1 4861 3 view .LVU3845
4866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11626                          .loc 1 4866 1 is_stmt 0 view .LVU3846
 11627 0000 7047                bx      lr
 11628                          .cfi_endproc
 11629                  .LFE101:
 11631                          .section        .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
 11632                          .align  1
 11633                          .weak   HAL_I2C_MasterRxCpltCallback
 11634                          .syntax unified
 11635                          .thumb
 11636                          .thumb_func
 11637                          .fpu softvfp
 11639                  HAL_I2C_MasterRxCpltCallback:
 11640                  .LVL573:
 11641                  .LFB102:
4875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 11642                          .loc 1 4875 1 is_stmt 1 view -0
 11643                          .cfi_startproc
 11644                          @ args = 0, pretend = 0, frame = 0
 11645                          @ frame_needed = 0, uses_anonymous_args = 0
 11646                          @ link register save eliminated.
4877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11647                          .loc 1 4877 3 view .LVU3848
4882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11648                          .loc 1 4882 1 is_stmt 0 view .LVU3849
 11649 0000 7047                bx      lr
 11650                          .cfi_endproc
 11651                  .LFE102:
 11653                          .section        .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
 11654                          .align  1
 11655                          .weak   HAL_I2C_SlaveTxCpltCallback
 11656                          .syntax unified
 11657                          .thumb
 11658                          .thumb_func
 11659                          .fpu softvfp
 11661                  HAL_I2C_SlaveTxCpltCallback:
 11662                  .LVL574:
 11663                  .LFB103:
4890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 11664                          .loc 1 4890 1 is_stmt 1 view -0
 11665                          .cfi_startproc
 11666                          @ args = 0, pretend = 0, frame = 0
 11667                          @ frame_needed = 0, uses_anonymous_args = 0
 11668                          @ link register save eliminated.
4892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11669                          .loc 1 4892 3 view .LVU3851
4897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11670                          .loc 1 4897 1 is_stmt 0 view .LVU3852
 11671 0000 7047                bx      lr
 11672                          .cfi_endproc
 11673                  .LFE103:
 11675                          .section        .text.I2C_SlaveTransmit_TXE,"ax",%progbits
 11676                          .align  1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 398


 11677                          .syntax unified
 11678                          .thumb
 11679                          .thumb_func
 11680                          .fpu softvfp
 11682                  I2C_SlaveTransmit_TXE:
 11683                  .LVL575:
 11684                  .LFB121:
5748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 11685                          .loc 1 5748 1 is_stmt 1 view -0
 11686                          .cfi_startproc
 11687                          @ args = 0, pretend = 0, frame = 0
 11688                          @ frame_needed = 0, uses_anonymous_args = 0
5748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 11689                          .loc 1 5748 1 is_stmt 0 view .LVU3854
 11690 0000 08B5                push    {r3, lr}
 11691                  .LCFI140:
 11692                          .cfi_def_cfa_offset 8
 11693                          .cfi_offset 3, -8
 11694                          .cfi_offset 14, -4
5750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11695                          .loc 1 5750 3 is_stmt 1 view .LVU3855
5750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11696                          .loc 1 5750 24 is_stmt 0 view .LVU3856
 11697 0002 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 11698 0006 DAB2                uxtb    r2, r3
 11699                  .LVL576:
5752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11700                          .loc 1 5752 3 is_stmt 1 view .LVU3857
5752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11701                          .loc 1 5752 11 is_stmt 0 view .LVU3858
 11702 0008 438D                ldrh    r3, [r0, #42]
 11703 000a 9BB2                uxth    r3, r3
5752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11704                          .loc 1 5752 6 view .LVU3859
 11705 000c 7BB1                cbz     r3, .L715
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11706                          .loc 1 5755 5 is_stmt 1 view .LVU3860
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11707                          .loc 1 5755 31 is_stmt 0 view .LVU3861
 11708 000e 416A                ldr     r1, [r0, #36]
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11709                          .loc 1 5755 9 view .LVU3862
 11710 0010 0368                ldr     r3, [r0]
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11711                          .loc 1 5755 26 view .LVU3863
 11712 0012 0978                ldrb    r1, [r1]        @ zero_extendqisi2
5755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11713                          .loc 1 5755 24 view .LVU3864
 11714 0014 1961                str     r1, [r3, #16]
5758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11715                          .loc 1 5758 5 is_stmt 1 view .LVU3865
5758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11716                          .loc 1 5758 9 is_stmt 0 view .LVU3866
 11717 0016 436A                ldr     r3, [r0, #36]
5758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11718                          .loc 1 5758 19 view .LVU3867
 11719 0018 0133                adds    r3, r3, #1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 399


 11720 001a 4362                str     r3, [r0, #36]
5761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11721                          .loc 1 5761 5 is_stmt 1 view .LVU3868
5761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11722                          .loc 1 5761 9 is_stmt 0 view .LVU3869
 11723 001c 438D                ldrh    r3, [r0, #42]
5761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11724                          .loc 1 5761 20 view .LVU3870
 11725 001e 013B                subs    r3, r3, #1
 11726 0020 9BB2                uxth    r3, r3
 11727 0022 4385                strh    r3, [r0, #42]   @ movhi
5763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11728                          .loc 1 5763 5 is_stmt 1 view .LVU3871
5763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11729                          .loc 1 5763 14 is_stmt 0 view .LVU3872
 11730 0024 438D                ldrh    r3, [r0, #42]
 11731 0026 9BB2                uxth    r3, r3
5763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11732                          .loc 1 5763 8 view .LVU3873
 11733 0028 0BB9                cbnz    r3, .L715
5763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11734                          .loc 1 5763 33 discriminator 1 view .LVU3874
 11735 002a 292A                cmp     r2, #41
 11736 002c 00D0                beq     .L718
 11737                  .LVL577:
 11738                  .L715:
5780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11739                          .loc 1 5780 1 view .LVU3875
 11740 002e 08BD                pop     {r3, pc}
 11741                  .LVL578:
 11742                  .L718:
5766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11743                          .loc 1 5766 7 is_stmt 1 view .LVU3876
 11744 0030 0268                ldr     r2, [r0]
 11745                  .LVL579:
5766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11746                          .loc 1 5766 7 is_stmt 0 view .LVU3877
 11747 0032 5368                ldr     r3, [r2, #4]
 11748 0034 23F48063            bic     r3, r3, #1024
 11749 0038 5360                str     r3, [r2, #4]
5769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 11750                          .loc 1 5769 7 is_stmt 1 view .LVU3878
5769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 11751                          .loc 1 5769 27 is_stmt 0 view .LVU3879
 11752 003a 2123                movs    r3, #33
 11753 003c 0363                str     r3, [r0, #48]
5770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11754                          .loc 1 5770 7 is_stmt 1 view .LVU3880
5770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11755                          .loc 1 5770 19 is_stmt 0 view .LVU3881
 11756 003e 2823                movs    r3, #40
 11757 0040 80F83D30            strb    r3, [r0, #61]
5776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 11758                          .loc 1 5776 7 is_stmt 1 view .LVU3882
 11759 0044 FFF7FEFF            bl      HAL_I2C_SlaveTxCpltCallback
 11760                  .LVL580:
5780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 400


 11761                          .loc 1 5780 1 is_stmt 0 view .LVU3883
 11762 0048 F1E7                b       .L715
 11763                          .cfi_endproc
 11764                  .LFE121:
 11766                          .section        .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
 11767                          .align  1
 11768                          .weak   HAL_I2C_SlaveRxCpltCallback
 11769                          .syntax unified
 11770                          .thumb
 11771                          .thumb_func
 11772                          .fpu softvfp
 11774                  HAL_I2C_SlaveRxCpltCallback:
 11775                  .LVL581:
 11776                  .LFB104:
4906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 11777                          .loc 1 4906 1 is_stmt 1 view -0
 11778                          .cfi_startproc
 11779                          @ args = 0, pretend = 0, frame = 0
 11780                          @ frame_needed = 0, uses_anonymous_args = 0
 11781                          @ link register save eliminated.
4908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11782                          .loc 1 4908 3 view .LVU3885
4913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11783                          .loc 1 4913 1 is_stmt 0 view .LVU3886
 11784 0000 7047                bx      lr
 11785                          .cfi_endproc
 11786                  .LFE104:
 11788                          .section        .text.I2C_SlaveReceive_RXNE,"ax",%progbits
 11789                          .align  1
 11790                          .syntax unified
 11791                          .thumb
 11792                          .thumb_func
 11793                          .fpu softvfp
 11795                  I2C_SlaveReceive_RXNE:
 11796                  .LVL582:
 11797                  .LFB123:
5810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 11798                          .loc 1 5810 1 is_stmt 1 view -0
 11799                          .cfi_startproc
 11800                          @ args = 0, pretend = 0, frame = 0
 11801                          @ frame_needed = 0, uses_anonymous_args = 0
5810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 11802                          .loc 1 5810 1 is_stmt 0 view .LVU3888
 11803 0000 08B5                push    {r3, lr}
 11804                  .LCFI141:
 11805                          .cfi_def_cfa_offset 8
 11806                          .cfi_offset 3, -8
 11807                          .cfi_offset 14, -4
5812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11808                          .loc 1 5812 3 is_stmt 1 view .LVU3889
5812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11809                          .loc 1 5812 24 is_stmt 0 view .LVU3890
 11810 0002 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 11811 0006 DAB2                uxtb    r2, r3
 11812                  .LVL583:
5814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11813                          .loc 1 5814 3 is_stmt 1 view .LVU3891
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 401


5814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11814                          .loc 1 5814 11 is_stmt 0 view .LVU3892
 11815 0008 438D                ldrh    r3, [r0, #42]
 11816 000a 9BB2                uxth    r3, r3
5814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11817                          .loc 1 5814 6 view .LVU3893
 11818 000c 7BB1                cbz     r3, .L720
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11819                          .loc 1 5817 5 is_stmt 1 view .LVU3894
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11820                          .loc 1 5817 36 is_stmt 0 view .LVU3895
 11821 000e 0368                ldr     r3, [r0]
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11822                          .loc 1 5817 46 view .LVU3896
 11823 0010 1969                ldr     r1, [r3, #16]
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11824                          .loc 1 5817 10 view .LVU3897
 11825 0012 436A                ldr     r3, [r0, #36]
5817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11826                          .loc 1 5817 21 view .LVU3898
 11827 0014 1970                strb    r1, [r3]
5820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11828                          .loc 1 5820 5 is_stmt 1 view .LVU3899
5820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11829                          .loc 1 5820 9 is_stmt 0 view .LVU3900
 11830 0016 436A                ldr     r3, [r0, #36]
5820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11831                          .loc 1 5820 19 view .LVU3901
 11832 0018 0133                adds    r3, r3, #1
 11833 001a 4362                str     r3, [r0, #36]
5823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11834                          .loc 1 5823 5 is_stmt 1 view .LVU3902
5823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11835                          .loc 1 5823 9 is_stmt 0 view .LVU3903
 11836 001c 438D                ldrh    r3, [r0, #42]
5823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11837                          .loc 1 5823 20 view .LVU3904
 11838 001e 013B                subs    r3, r3, #1
 11839 0020 9BB2                uxth    r3, r3
 11840 0022 4385                strh    r3, [r0, #42]   @ movhi
5825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11841                          .loc 1 5825 5 is_stmt 1 view .LVU3905
5825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11842                          .loc 1 5825 14 is_stmt 0 view .LVU3906
 11843 0024 438D                ldrh    r3, [r0, #42]
 11844 0026 9BB2                uxth    r3, r3
5825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11845                          .loc 1 5825 8 view .LVU3907
 11846 0028 0BB9                cbnz    r3, .L720
5825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11847                          .loc 1 5825 33 discriminator 1 view .LVU3908
 11848 002a 2A2A                cmp     r2, #42
 11849 002c 00D0                beq     .L723
 11850                  .LVL584:
 11851                  .L720:
5842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11852                          .loc 1 5842 1 view .LVU3909
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 402


 11853 002e 08BD                pop     {r3, pc}
 11854                  .LVL585:
 11855                  .L723:
5828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11856                          .loc 1 5828 7 is_stmt 1 view .LVU3910
 11857 0030 0268                ldr     r2, [r0]
 11858                  .LVL586:
5828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11859                          .loc 1 5828 7 is_stmt 0 view .LVU3911
 11860 0032 5368                ldr     r3, [r2, #4]
 11861 0034 23F48063            bic     r3, r3, #1024
 11862 0038 5360                str     r3, [r2, #4]
5831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 11863                          .loc 1 5831 7 is_stmt 1 view .LVU3912
5831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 11864                          .loc 1 5831 27 is_stmt 0 view .LVU3913
 11865 003a 2223                movs    r3, #34
 11866 003c 0363                str     r3, [r0, #48]
5832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11867                          .loc 1 5832 7 is_stmt 1 view .LVU3914
5832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11868                          .loc 1 5832 19 is_stmt 0 view .LVU3915
 11869 003e 2823                movs    r3, #40
 11870 0040 80F83D30            strb    r3, [r0, #61]
5838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 11871                          .loc 1 5838 7 is_stmt 1 view .LVU3916
 11872 0044 FFF7FEFF            bl      HAL_I2C_SlaveRxCpltCallback
 11873                  .LVL587:
5842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11874                          .loc 1 5842 1 is_stmt 0 view .LVU3917
 11875 0048 F1E7                b       .L720
 11876                          .cfi_endproc
 11877                  .LFE123:
 11879                          .section        .text.HAL_I2C_AddrCallback,"ax",%progbits
 11880                          .align  1
 11881                          .weak   HAL_I2C_AddrCallback
 11882                          .syntax unified
 11883                          .thumb
 11884                          .thumb_func
 11885                          .fpu softvfp
 11887                  HAL_I2C_AddrCallback:
 11888                  .LVL588:
 11889                  .LFB105:
4924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 11890                          .loc 1 4924 1 is_stmt 1 view -0
 11891                          .cfi_startproc
 11892                          @ args = 0, pretend = 0, frame = 0
 11893                          @ frame_needed = 0, uses_anonymous_args = 0
 11894                          @ link register save eliminated.
4926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(TransferDirection);
 11895                          .loc 1 4926 3 view .LVU3919
4927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   UNUSED(AddrMatchCode);
 11896                          .loc 1 4927 3 view .LVU3920
4928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11897                          .loc 1 4928 3 view .LVU3921
4933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11898                          .loc 1 4933 1 is_stmt 0 view .LVU3922
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 403


 11899 0000 7047                bx      lr
 11900                          .cfi_endproc
 11901                  .LFE105:
 11903                          .section        .text.I2C_Slave_ADDR,"ax",%progbits
 11904                          .align  1
 11905                          .syntax unified
 11906                          .thumb
 11907                          .thumb_func
 11908                          .fpu softvfp
 11910                  I2C_Slave_ADDR:
 11911                  .LVL589:
 11912                  .LFB125:
5873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint8_t TransferDirection = I2C_DIRECTION_RECEIVE;
 11913                          .loc 1 5873 1 is_stmt 1 view -0
 11914                          .cfi_startproc
 11915                          @ args = 0, pretend = 0, frame = 0
 11916                          @ frame_needed = 0, uses_anonymous_args = 0
5873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint8_t TransferDirection = I2C_DIRECTION_RECEIVE;
 11917                          .loc 1 5873 1 is_stmt 0 view .LVU3924
 11918 0000 08B5                push    {r3, lr}
 11919                  .LCFI142:
 11920                          .cfi_def_cfa_offset 8
 11921                          .cfi_offset 3, -8
 11922                          .cfi_offset 14, -4
5874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint16_t SlaveAddrCode;
 11923                          .loc 1 5874 3 is_stmt 1 view .LVU3925
 11924                  .LVL590:
5875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11925                          .loc 1 5875 3 view .LVU3926
5877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11926                          .loc 1 5877 3 view .LVU3927
5877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11927                          .loc 1 5877 22 is_stmt 0 view .LVU3928
 11928 0002 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
5877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 11929                          .loc 1 5877 6 view .LVU3929
 11930 0006 03F02803            and     r3, r3, #40
 11931 000a 282B                cmp     r3, #40
 11932 000c 07D0                beq     .L733
5910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11933                          .loc 1 5910 5 is_stmt 1 view .LVU3930
 11934 000e 0368                ldr     r3, [r0]
 11935 0010 6FF00202            mvn     r2, #2
 11936 0014 5A61                str     r2, [r3, #20]
5913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11937                          .loc 1 5913 5 view .LVU3931
5913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 11938                          .loc 1 5913 5 view .LVU3932
 11939 0016 0023                movs    r3, #0
 11940 0018 80F83C30            strb    r3, [r0, #60]
 11941                  .LVL591:
 11942                  .L725:
5915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11943                          .loc 1 5915 1 is_stmt 0 view .LVU3933
 11944 001c 08BD                pop     {r3, pc}
 11945                  .LVL592:
 11946                  .L733:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 404


5880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11947                          .loc 1 5880 5 is_stmt 1 view .LVU3934
 11948 001e 0268                ldr     r2, [r0]
 11949 0020 5368                ldr     r3, [r2, #4]
 11950 0022 23F48063            bic     r3, r3, #1024
 11951 0026 5360                str     r3, [r2, #4]
5883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11952                          .loc 1 5883 5 view .LVU3935
5883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11953                          .loc 1 5883 8 is_stmt 0 view .LVU3936
 11954 0028 11F0040F            tst     r1, #4
 11955 002c 0BD0                beq     .L731
5874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint16_t SlaveAddrCode;
 11956                          .loc 1 5874 11 view .LVU3937
 11957 002e 0023                movs    r3, #0
 11958                  .L727:
 11959                  .LVL593:
5888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11960                          .loc 1 5888 5 is_stmt 1 view .LVU3938
5888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 11961                          .loc 1 5888 8 is_stmt 0 view .LVU3939
 11962 0030 11F0800F            tst     r1, #128
 11963 0034 09D1                bne     .L728
5890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11964                          .loc 1 5890 7 is_stmt 1 view .LVU3940
5890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11965                          .loc 1 5890 21 is_stmt 0 view .LVU3941
 11966 0036 8289                ldrh    r2, [r0, #12]
 11967                  .LVL594:
 11968                  .L729:
5898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11969                          .loc 1 5898 5 is_stmt 1 view .LVU3942
5898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11970                          .loc 1 5898 5 view .LVU3943
 11971 0038 0021                movs    r1, #0
 11972                  .LVL595:
5898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 11973                          .loc 1 5898 5 is_stmt 0 view .LVU3944
 11974 003a 80F83C10            strb    r1, [r0, #60]
5904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 11975                          .loc 1 5904 5 is_stmt 1 view .LVU3945
 11976 003e 1946                mov     r1, r3
 11977 0040 FFF7FEFF            bl      HAL_I2C_AddrCallback
 11978                  .LVL596:
5904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 11979                          .loc 1 5904 5 is_stmt 0 view .LVU3946
 11980 0044 EAE7                b       .L725
 11981                  .LVL597:
 11982                  .L731:
5885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11983                          .loc 1 5885 25 view .LVU3947
 11984 0046 0123                movs    r3, #1
 11985 0048 F2E7                b       .L727
 11986                  .LVL598:
 11987                  .L728:
5894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11988                          .loc 1 5894 7 is_stmt 1 view .LVU3948
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 405


5894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11989                          .loc 1 5894 21 is_stmt 0 view .LVU3949
 11990 004a 028B                ldrh    r2, [r0, #24]
 11991                  .LVL599:
5894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 11992                          .loc 1 5894 21 view .LVU3950
 11993 004c F4E7                b       .L729
 11994                          .cfi_endproc
 11995                  .LFE125:
 11997                          .section        .text.HAL_I2C_ListenCpltCallback,"ax",%progbits
 11998                          .align  1
 11999                          .weak   HAL_I2C_ListenCpltCallback
 12000                          .syntax unified
 12001                          .thumb
 12002                          .thumb_func
 12003                          .fpu softvfp
 12005                  HAL_I2C_ListenCpltCallback:
 12006                  .LVL600:
 12007                  .LFB106:
4942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 12008                          .loc 1 4942 1 is_stmt 1 view -0
 12009                          .cfi_startproc
 12010                          @ args = 0, pretend = 0, frame = 0
 12011                          @ frame_needed = 0, uses_anonymous_args = 0
 12012                          @ link register save eliminated.
4944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12013                          .loc 1 4944 3 view .LVU3952
4949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12014                          .loc 1 4949 1 is_stmt 0 view .LVU3953
 12015 0000 7047                bx      lr
 12016                          .cfi_endproc
 12017                  .LFE106:
 12019                          .section        .text.I2C_Slave_AF,"ax",%progbits
 12020                          .align  1
 12021                          .syntax unified
 12022                          .thumb
 12023                          .thumb_func
 12024                          .fpu softvfp
 12026                  I2C_Slave_AF:
 12027                  .LVL601:
 12028                  .LFB127:
6093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 12029                          .loc 1 6093 1 is_stmt 1 view -0
 12030                          .cfi_startproc
 12031                          @ args = 0, pretend = 0, frame = 0
 12032                          @ frame_needed = 0, uses_anonymous_args = 0
6093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 12033                          .loc 1 6093 1 is_stmt 0 view .LVU3955
 12034 0000 08B5                push    {r3, lr}
 12035                  .LCFI143:
 12036                          .cfi_def_cfa_offset 8
 12037                          .cfi_offset 3, -8
 12038                          .cfi_offset 14, -4
6095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
 12039                          .loc 1 6095 3 is_stmt 1 view .LVU3956
6095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
 12040                          .loc 1 6095 24 is_stmt 0 view .LVU3957
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 406


 12041 0002 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 12042 0006 DBB2                uxtb    r3, r3
 12043                  .LVL602:
6096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12044                          .loc 1 6096 3 is_stmt 1 view .LVU3958
6096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12045                          .loc 1 6096 12 is_stmt 0 view .LVU3959
 12046 0008 C26A                ldr     r2, [r0, #44]
 12047                  .LVL603:
6098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (CurrentState == HAL_I2C_STATE_LISTEN))
 12048                          .loc 1 6098 3 is_stmt 1 view .LVU3960
6098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (CurrentState == HAL_I2C_STATE_LISTEN))
 12049                          .loc 1 6098 6 is_stmt 0 view .LVU3961
 12050 000a 082A                cmp     r2, #8
 12051 000c 01D0                beq     .L736
6098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (CurrentState == HAL_I2C_STATE_LISTEN))
 12052                          .loc 1 6098 58 discriminator 2 view .LVU3962
 12053 000e 202A                cmp     r2, #32
 12054 0010 01D1                bne     .L737
 12055                  .L736:
6098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       (CurrentState == HAL_I2C_STATE_LISTEN))
 12056                          .loc 1 6098 101 discriminator 3 view .LVU3963
 12057 0012 282B                cmp     r3, #40
 12058 0014 06D0                beq     .L741
 12059                  .L737:
6123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12060                          .loc 1 6123 8 is_stmt 1 view .LVU3964
6123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12061                          .loc 1 6123 11 is_stmt 0 view .LVU3965
 12062 0016 212B                cmp     r3, #33
 12063 0018 1ED0                beq     .L742
6149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 12064                          .loc 1 6149 5 is_stmt 1 view .LVU3966
 12065 001a 0368                ldr     r3, [r0]
 12066                  .LVL604:
6149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 12067                          .loc 1 6149 5 is_stmt 0 view .LVU3967
 12068 001c 6FF48062            mvn     r2, #1024
 12069                  .LVL605:
6149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 12070                          .loc 1 6149 5 view .LVU3968
 12071 0020 5A61                str     r2, [r3, #20]
 12072                  .LVL606:
 12073                  .L735:
6151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12074                          .loc 1 6151 1 view .LVU3969
 12075 0022 08BD                pop     {r3, pc}
 12076                  .LVL607:
 12077                  .L741:
6101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12078                          .loc 1 6101 5 is_stmt 1 view .LVU3970
6101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12079                          .loc 1 6101 23 is_stmt 0 view .LVU3971
 12080 0024 1A4B                ldr     r3, .L743
 12081                  .LVL608:
6101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12082                          .loc 1 6101 23 view .LVU3972
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 407


 12083 0026 C362                str     r3, [r0, #44]
6104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12084                          .loc 1 6104 5 is_stmt 1 view .LVU3973
 12085 0028 0268                ldr     r2, [r0]
 12086                  .LVL609:
6104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12087                          .loc 1 6104 5 is_stmt 0 view .LVU3974
 12088 002a 5368                ldr     r3, [r2, #4]
 12089 002c 23F4E063            bic     r3, r3, #1792
 12090 0030 5360                str     r3, [r2, #4]
6107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12091                          .loc 1 6107 5 is_stmt 1 view .LVU3975
 12092 0032 0368                ldr     r3, [r0]
 12093 0034 6FF48062            mvn     r2, #1024
 12094 0038 5A61                str     r2, [r3, #20]
6110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12095                          .loc 1 6110 5 view .LVU3976
 12096 003a 0268                ldr     r2, [r0]
 12097 003c 1368                ldr     r3, [r2]
 12098 003e 23F48063            bic     r3, r3, #1024
 12099 0042 1360                str     r3, [r2]
6112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
 12100                          .loc 1 6112 5 view .LVU3977
6112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
 12101                          .loc 1 6112 25 is_stmt 0 view .LVU3978
 12102 0044 0023                movs    r3, #0
 12103 0046 0363                str     r3, [r0, #48]
6113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
 12104                          .loc 1 6113 5 is_stmt 1 view .LVU3979
6113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
 12105                          .loc 1 6113 25 is_stmt 0 view .LVU3980
 12106 0048 2022                movs    r2, #32
 12107 004a 80F83D20            strb    r2, [r0, #61]
6114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12108                          .loc 1 6114 5 is_stmt 1 view .LVU3981
6114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12109                          .loc 1 6114 25 is_stmt 0 view .LVU3982
 12110 004e 80F83E30            strb    r3, [r0, #62]
6120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12111                          .loc 1 6120 5 is_stmt 1 view .LVU3983
 12112 0052 FFF7FEFF            bl      HAL_I2C_ListenCpltCallback
 12113                  .LVL610:
6120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12114                          .loc 1 6120 5 is_stmt 0 view .LVU3984
 12115 0056 E4E7                b       .L735
 12116                  .LVL611:
 12117                  .L742:
6125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
 12118                          .loc 1 6125 5 is_stmt 1 view .LVU3985
6125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
 12119                          .loc 1 6125 25 is_stmt 0 view .LVU3986
 12120 0058 0D4B                ldr     r3, .L743
 12121                  .LVL612:
6125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
 12122                          .loc 1 6125 25 view .LVU3987
 12123 005a C362                str     r3, [r0, #44]
6126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 408


 12124                          .loc 1 6126 5 is_stmt 1 view .LVU3988
6126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
 12125                          .loc 1 6126 25 is_stmt 0 view .LVU3989
 12126 005c 2123                movs    r3, #33
 12127 005e 0363                str     r3, [r0, #48]
6127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
 12128                          .loc 1 6127 5 is_stmt 1 view .LVU3990
6127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
 12129                          .loc 1 6127 25 is_stmt 0 view .LVU3991
 12130 0060 2023                movs    r3, #32
 12131 0062 80F83D30            strb    r3, [r0, #61]
6128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12132                          .loc 1 6128 5 is_stmt 1 view .LVU3992
6128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12133                          .loc 1 6128 25 is_stmt 0 view .LVU3993
 12134 0066 0023                movs    r3, #0
 12135 0068 80F83E30            strb    r3, [r0, #62]
6131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12136                          .loc 1 6131 5 is_stmt 1 view .LVU3994
 12137 006c 0268                ldr     r2, [r0]
 12138                  .LVL613:
6131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12139                          .loc 1 6131 5 is_stmt 0 view .LVU3995
 12140 006e 5368                ldr     r3, [r2, #4]
 12141 0070 23F4E063            bic     r3, r3, #1792
 12142 0074 5360                str     r3, [r2, #4]
6134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12143                          .loc 1 6134 5 is_stmt 1 view .LVU3996
 12144 0076 0368                ldr     r3, [r0]
 12145 0078 6FF48062            mvn     r2, #1024
 12146 007c 5A61                str     r2, [r3, #20]
6137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12147                          .loc 1 6137 5 view .LVU3997
 12148 007e 0268                ldr     r2, [r0]
 12149 0080 1368                ldr     r3, [r2]
 12150 0082 23F48063            bic     r3, r3, #1024
 12151 0086 1360                str     r3, [r2]
6142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12152                          .loc 1 6142 5 view .LVU3998
 12153 0088 FFF7FEFF            bl      HAL_I2C_SlaveTxCpltCallback
 12154                  .LVL614:
6142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12155                          .loc 1 6142 5 is_stmt 0 view .LVU3999
 12156 008c C9E7                b       .L735
 12157                  .L744:
 12158 008e 00BF                .align  2
 12159                  .L743:
 12160 0090 0000FFFF            .word   -65536
 12161                          .cfi_endproc
 12162                  .LFE127:
 12164                          .section        .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
 12165                          .align  1
 12166                          .weak   HAL_I2C_MemTxCpltCallback
 12167                          .syntax unified
 12168                          .thumb
 12169                          .thumb_func
 12170                          .fpu softvfp
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 409


 12172                  HAL_I2C_MemTxCpltCallback:
 12173                  .LVL615:
 12174                  .LFB107:
4958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 12175                          .loc 1 4958 1 is_stmt 1 view -0
 12176                          .cfi_startproc
 12177                          @ args = 0, pretend = 0, frame = 0
 12178                          @ frame_needed = 0, uses_anonymous_args = 0
 12179                          @ link register save eliminated.
4960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12180                          .loc 1 4960 3 view .LVU4001
4965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12181                          .loc 1 4965 1 is_stmt 0 view .LVU4002
 12182 0000 7047                bx      lr
 12183                          .cfi_endproc
 12184                  .LFE107:
 12186                          .section        .text.I2C_MasterTransmit_TXE,"ax",%progbits
 12187                          .align  1
 12188                          .syntax unified
 12189                          .thumb
 12190                          .thumb_func
 12191                          .fpu softvfp
 12193                  I2C_MasterTransmit_TXE:
 12194                  .LVL616:
 12195                  .LFB114:
5087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 12196                          .loc 1 5087 1 is_stmt 1 view -0
 12197                          .cfi_startproc
 12198                          @ args = 0, pretend = 0, frame = 0
 12199                          @ frame_needed = 0, uses_anonymous_args = 0
5087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 12200                          .loc 1 5087 1 is_stmt 0 view .LVU4004
 12201 0000 10B5                push    {r4, lr}
 12202                  .LCFI144:
 12203                          .cfi_def_cfa_offset 8
 12204                          .cfi_offset 4, -8
 12205                          .cfi_offset 14, -4
5089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef CurrentMode   = hi2c->Mode;
 12206                          .loc 1 5089 3 is_stmt 1 view .LVU4005
5089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef CurrentMode   = hi2c->Mode;
 12207                          .loc 1 5089 24 is_stmt 0 view .LVU4006
 12208 0002 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 12209 0006 DBB2                uxtb    r3, r3
 12210                  .LVL617:
5090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
 12211                          .loc 1 5090 3 is_stmt 1 view .LVU4007
5090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
 12212                          .loc 1 5090 23 is_stmt 0 view .LVU4008
 12213 0008 90F83E20            ldrb    r2, [r0, #62]   @ zero_extendqisi2
 12214 000c D2B2                uxtb    r2, r2
 12215                  .LVL618:
5091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12216                          .loc 1 5091 3 is_stmt 1 view .LVU4009
5091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12217                          .loc 1 5091 12 is_stmt 0 view .LVU4010
 12218 000e C46A                ldr     r4, [r0, #44]
 12219                  .LVL619:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 410


5093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12220                          .loc 1 5093 3 is_stmt 1 view .LVU4011
5093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12221                          .loc 1 5093 12 is_stmt 0 view .LVU4012
 12222 0010 018D                ldrh    r1, [r0, #40]
5093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12223                          .loc 1 5093 6 view .LVU4013
 12224 0012 09B9                cbnz    r1, .L747
5093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12225                          .loc 1 5093 30 discriminator 1 view .LVU4014
 12226 0014 212B                cmp     r3, #33
 12227 0016 04D0                beq     .L759
 12228                  .L747:
5141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            ((CurrentMode == HAL_I2C_MODE_MEM) && (CurrentState == HAL_I2C_STATE_BUSY_RX)))
 12229                          .loc 1 5141 8 is_stmt 1 view .LVU4015
5141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            ((CurrentMode == HAL_I2C_MODE_MEM) && (CurrentState == HAL_I2C_STATE_BUSY_RX)))
 12230                          .loc 1 5141 11 is_stmt 0 view .LVU4016
 12231 0018 212B                cmp     r3, #33
 12232 001a 3BD0                beq     .L751
5141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****            ((CurrentMode == HAL_I2C_MODE_MEM) && (CurrentState == HAL_I2C_STATE_BUSY_RX)))
 12233                          .loc 1 5141 52 discriminator 1 view .LVU4017
 12234 001c 402A                cmp     r2, #64
 12235 001e 37D0                beq     .L760
 12236                  .LVL620:
 12237                  .L746:
5224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12238                          .loc 1 5224 1 view .LVU4018
 12239 0020 10BD                pop     {r4, pc}
 12240                  .LVL621:
 12241                  .L759:
5096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12242                          .loc 1 5096 5 is_stmt 1 view .LVU4019
5096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12243                          .loc 1 5096 8 is_stmt 0 view .LVU4020
 12244 0022 082C                cmp     r4, #8
 12245 0024 04D0                beq     .L748
5096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12246                          .loc 1 5096 58 discriminator 1 view .LVU4021
 12247 0026 202C                cmp     r4, #32
 12248 0028 02D0                beq     .L748
5096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12249                          .loc 1 5096 100 discriminator 2 view .LVU4022
 12250 002a 14F5803F            cmn     r4, #65536
 12251 002e 19D1                bne     .L761
 12252                  .L748:
5113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12253                          .loc 1 5113 7 is_stmt 1 view .LVU4023
 12254 0030 0268                ldr     r2, [r0]
 12255                  .LVL622:
5113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12256                          .loc 1 5113 7 is_stmt 0 view .LVU4024
 12257 0032 5368                ldr     r3, [r2, #4]
 12258                  .LVL623:
5113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12259                          .loc 1 5113 7 view .LVU4025
 12260 0034 23F4E063            bic     r3, r3, #1792
 12261 0038 5360                str     r3, [r2, #4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 411


5116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12262                          .loc 1 5116 7 is_stmt 1 view .LVU4026
 12263 003a 0268                ldr     r2, [r0]
 12264 003c 1368                ldr     r3, [r2]
 12265 003e 43F40073            orr     r3, r3, #512
 12266 0042 1360                str     r3, [r2]
5118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
 12267                          .loc 1 5118 7 view .LVU4027
5118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
 12268                          .loc 1 5118 27 is_stmt 0 view .LVU4028
 12269 0044 0023                movs    r3, #0
 12270 0046 0363                str     r3, [r0, #48]
5119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12271                          .loc 1 5119 7 is_stmt 1 view .LVU4029
5119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12272                          .loc 1 5119 19 is_stmt 0 view .LVU4030
 12273 0048 2023                movs    r3, #32
 12274 004a 80F83D30            strb    r3, [r0, #61]
5121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12275                          .loc 1 5121 7 is_stmt 1 view .LVU4031
5121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12276                          .loc 1 5121 15 is_stmt 0 view .LVU4032
 12277 004e 90F83E30            ldrb    r3, [r0, #62]   @ zero_extendqisi2
 12278 0052 DBB2                uxtb    r3, r3
5121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12279                          .loc 1 5121 10 view .LVU4033
 12280 0054 402B                cmp     r3, #64
 12281 0056 15D0                beq     .L762
5132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 12282                          .loc 1 5132 9 is_stmt 1 view .LVU4034
5132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 12283                          .loc 1 5132 20 is_stmt 0 view .LVU4035
 12284 0058 0023                movs    r3, #0
 12285 005a 80F83E30            strb    r3, [r0, #62]
5136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12286                          .loc 1 5136 9 is_stmt 1 view .LVU4036
 12287 005e FFF7FEFF            bl      HAL_I2C_MasterTxCpltCallback
 12288                  .LVL624:
5136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12289                          .loc 1 5136 9 is_stmt 0 view .LVU4037
 12290 0062 DDE7                b       .L746
 12291                  .LVL625:
 12292                  .L761:
5098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12293                          .loc 1 5098 7 is_stmt 1 view .LVU4038
 12294 0064 0268                ldr     r2, [r0]
 12295                  .LVL626:
5098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12296                          .loc 1 5098 7 is_stmt 0 view .LVU4039
 12297 0066 5368                ldr     r3, [r2, #4]
 12298                  .LVL627:
5098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12299                          .loc 1 5098 7 view .LVU4040
 12300 0068 23F4E063            bic     r3, r3, #1792
 12301 006c 5360                str     r3, [r2, #4]
5100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
 12302                          .loc 1 5100 7 is_stmt 1 view .LVU4041
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 412


5100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
 12303                          .loc 1 5100 27 is_stmt 0 view .LVU4042
 12304 006e 1123                movs    r3, #17
 12305 0070 0363                str     r3, [r0, #48]
5101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
 12306                          .loc 1 5101 7 is_stmt 1 view .LVU4043
5101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
 12307                          .loc 1 5101 18 is_stmt 0 view .LVU4044
 12308 0072 0023                movs    r3, #0
 12309 0074 80F83E30            strb    r3, [r0, #62]
5102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12310                          .loc 1 5102 7 is_stmt 1 view .LVU4045
5102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12311                          .loc 1 5102 19 is_stmt 0 view .LVU4046
 12312 0078 2023                movs    r3, #32
 12313 007a 80F83D30            strb    r3, [r0, #61]
5107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12314                          .loc 1 5107 7 is_stmt 1 view .LVU4047
 12315 007e FFF7FEFF            bl      HAL_I2C_MasterTxCpltCallback
 12316                  .LVL628:
5107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12317                          .loc 1 5107 7 is_stmt 0 view .LVU4048
 12318 0082 CDE7                b       .L746
 12319                  .LVL629:
 12320                  .L762:
5123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 12321                          .loc 1 5123 9 is_stmt 1 view .LVU4049
5123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 12322                          .loc 1 5123 20 is_stmt 0 view .LVU4050
 12323 0084 0023                movs    r3, #0
 12324 0086 80F83E30            strb    r3, [r0, #62]
5127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12325                          .loc 1 5127 9 is_stmt 1 view .LVU4051
 12326 008a FFF7FEFF            bl      HAL_I2C_MemTxCpltCallback
 12327                  .LVL630:
5127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12328                          .loc 1 5127 9 is_stmt 0 view .LVU4052
 12329 008e C7E7                b       .L746
 12330                  .LVL631:
 12331                  .L760:
5142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12332                          .loc 1 5142 47 view .LVU4053
 12333 0090 222B                cmp     r3, #34
 12334 0092 C5D1                bne     .L746
 12335                  .L751:
5144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12336                          .loc 1 5144 5 is_stmt 1 view .LVU4054
5144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12337                          .loc 1 5144 13 is_stmt 0 view .LVU4055
 12338 0094 438D                ldrh    r3, [r0, #42]
 12339                  .LVL632:
5144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12340                          .loc 1 5144 13 view .LVU4056
 12341 0096 9BB2                uxth    r3, r3
5144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12342                          .loc 1 5144 8 view .LVU4057
 12343 0098 2BB9                cbnz    r3, .L752
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 413


5147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 12344                          .loc 1 5147 7 is_stmt 1 view .LVU4058
 12345 009a 0268                ldr     r2, [r0]
 12346                  .LVL633:
5147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 12347                          .loc 1 5147 7 is_stmt 0 view .LVU4059
 12348 009c 5368                ldr     r3, [r2, #4]
 12349 009e 23F48063            bic     r3, r3, #1024
 12350 00a2 5360                str     r3, [r2, #4]
 12351 00a4 BCE7                b       .L746
 12352                  .LVL634:
 12353                  .L752:
5151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12354                          .loc 1 5151 7 is_stmt 1 view .LVU4060
5151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12355                          .loc 1 5151 15 is_stmt 0 view .LVU4061
 12356 00a6 90F83E30            ldrb    r3, [r0, #62]   @ zero_extendqisi2
 12357 00aa DBB2                uxtb    r3, r3
5151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12358                          .loc 1 5151 10 view .LVU4062
 12359 00ac 402B                cmp     r3, #64
 12360 00ae 0BD0                beq     .L763
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12361                          .loc 1 5210 9 is_stmt 1 view .LVU4063
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12362                          .loc 1 5210 35 is_stmt 0 view .LVU4064
 12363 00b0 426A                ldr     r2, [r0, #36]
 12364                  .LVL635:
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12365                          .loc 1 5210 13 view .LVU4065
 12366 00b2 0368                ldr     r3, [r0]
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12367                          .loc 1 5210 30 view .LVU4066
 12368 00b4 1278                ldrb    r2, [r2]        @ zero_extendqisi2
5210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12369                          .loc 1 5210 28 view .LVU4067
 12370 00b6 1A61                str     r2, [r3, #16]
5213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12371                          .loc 1 5213 9 is_stmt 1 view .LVU4068
5213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12372                          .loc 1 5213 13 is_stmt 0 view .LVU4069
 12373 00b8 436A                ldr     r3, [r0, #36]
5213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12374                          .loc 1 5213 23 view .LVU4070
 12375 00ba 0133                adds    r3, r3, #1
 12376 00bc 4362                str     r3, [r0, #36]
5216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 12377                          .loc 1 5216 9 is_stmt 1 view .LVU4071
5216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 12378                          .loc 1 5216 13 is_stmt 0 view .LVU4072
 12379 00be 438D                ldrh    r3, [r0, #42]
5216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 12380                          .loc 1 5216 24 view .LVU4073
 12381 00c0 013B                subs    r3, r3, #1
 12382 00c2 9BB2                uxth    r3, r3
 12383 00c4 4385                strh    r3, [r0, #42]   @ movhi
5224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 414


 12384                          .loc 1 5224 1 view .LVU4074
 12385 00c6 ABE7                b       .L746
 12386                  .LVL636:
 12387                  .L763:
5153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12388                          .loc 1 5153 9 is_stmt 1 view .LVU4075
5153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12389                          .loc 1 5153 17 is_stmt 0 view .LVU4076
 12390 00c8 036D                ldr     r3, [r0, #80]
5153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12391                          .loc 1 5153 12 view .LVU4077
 12392 00ca 9BB9                cbnz    r3, .L754
5156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 12393                          .loc 1 5156 11 is_stmt 1 view .LVU4078
5156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 12394                          .loc 1 5156 19 is_stmt 0 view .LVU4079
 12395 00cc C36C                ldr     r3, [r0, #76]
5156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 12396                          .loc 1 5156 14 view .LVU4080
 12397 00ce 012B                cmp     r3, #1
 12398 00d0 08D0                beq     .L764
5167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12399                          .loc 1 5167 13 is_stmt 1 view .LVU4081
5167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12400                          .loc 1 5167 34 is_stmt 0 view .LVU4082
 12401 00d2 836C                ldr     r3, [r0, #72]
 12402 00d4 C3F30723            ubfx    r3, r3, #8, #8
5167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12403                          .loc 1 5167 17 view .LVU4083
 12404 00d8 0268                ldr     r2, [r0]
 12405                  .LVL637:
5167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12406                          .loc 1 5167 32 view .LVU4084
 12407 00da 1361                str     r3, [r2, #16]
5169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12408                          .loc 1 5169 13 is_stmt 1 view .LVU4085
5169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12409                          .loc 1 5169 17 is_stmt 0 view .LVU4086
 12410 00dc 036D                ldr     r3, [r0, #80]
5169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12411                          .loc 1 5169 29 view .LVU4087
 12412 00de 0133                adds    r3, r3, #1
 12413 00e0 0365                str     r3, [r0, #80]
 12414 00e2 9DE7                b       .L746
 12415                  .LVL638:
 12416                  .L764:
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12417                          .loc 1 5159 13 is_stmt 1 view .LVU4088
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12418                          .loc 1 5159 34 is_stmt 0 view .LVU4089
 12419 00e4 836C                ldr     r3, [r0, #72]
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12420                          .loc 1 5159 17 view .LVU4090
 12421 00e6 0268                ldr     r2, [r0]
 12422                  .LVL639:
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12423                          .loc 1 5159 17 view .LVU4091
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 415


 12424 00e8 DBB2                uxtb    r3, r3
5159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12425                          .loc 1 5159 32 view .LVU4092
 12426 00ea 1361                str     r3, [r2, #16]
5161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12427                          .loc 1 5161 13 is_stmt 1 view .LVU4093
5161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12428                          .loc 1 5161 30 is_stmt 0 view .LVU4094
 12429 00ec 036D                ldr     r3, [r0, #80]
 12430 00ee 0233                adds    r3, r3, #2
 12431 00f0 0365                str     r3, [r0, #80]
 12432 00f2 95E7                b       .L746
 12433                  .LVL640:
 12434                  .L754:
5172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12435                          .loc 1 5172 14 is_stmt 1 view .LVU4095
5172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12436                          .loc 1 5172 22 is_stmt 0 view .LVU4096
 12437 00f4 036D                ldr     r3, [r0, #80]
5172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12438                          .loc 1 5172 17 view .LVU4097
 12439 00f6 012B                cmp     r3, #1
 12440 00f8 18D0                beq     .L765
5179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12441                          .loc 1 5179 14 is_stmt 1 view .LVU4098
5179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12442                          .loc 1 5179 22 is_stmt 0 view .LVU4099
 12443 00fa 036D                ldr     r3, [r0, #80]
5179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12444                          .loc 1 5179 17 view .LVU4100
 12445 00fc 022B                cmp     r3, #2
 12446 00fe 8FD1                bne     .L746
5181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 12447                          .loc 1 5181 11 is_stmt 1 view .LVU4101
5181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 12448                          .loc 1 5181 19 is_stmt 0 view .LVU4102
 12449 0100 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 12450 0104 DBB2                uxtb    r3, r3
5181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 12451                          .loc 1 5181 14 view .LVU4103
 12452 0106 222B                cmp     r3, #34
 12453 0108 18D0                beq     .L766
5186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 12454                          .loc 1 5186 16 is_stmt 1 view .LVU4104
5186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 12455                          .loc 1 5186 24 is_stmt 0 view .LVU4105
 12456 010a 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 12457 010e DBB2                uxtb    r3, r3
5186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           {
 12458                          .loc 1 5186 19 view .LVU4106
 12459 0110 212B                cmp     r3, #33
 12460 0112 85D1                bne     .L746
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12461                          .loc 1 5189 13 is_stmt 1 view .LVU4107
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12462                          .loc 1 5189 39 is_stmt 0 view .LVU4108
 12463 0114 426A                ldr     r2, [r0, #36]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 416


 12464                  .LVL641:
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12465                          .loc 1 5189 17 view .LVU4109
 12466 0116 0368                ldr     r3, [r0]
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12467                          .loc 1 5189 34 view .LVU4110
 12468 0118 1278                ldrb    r2, [r2]        @ zero_extendqisi2
5189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12469                          .loc 1 5189 32 view .LVU4111
 12470 011a 1A61                str     r2, [r3, #16]
5192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12471                          .loc 1 5192 13 is_stmt 1 view .LVU4112
5192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12472                          .loc 1 5192 17 is_stmt 0 view .LVU4113
 12473 011c 436A                ldr     r3, [r0, #36]
5192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12474                          .loc 1 5192 27 view .LVU4114
 12475 011e 0133                adds    r3, r3, #1
 12476 0120 4362                str     r3, [r0, #36]
5195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12477                          .loc 1 5195 13 is_stmt 1 view .LVU4115
5195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12478                          .loc 1 5195 17 is_stmt 0 view .LVU4116
 12479 0122 438D                ldrh    r3, [r0, #42]
5195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12480                          .loc 1 5195 28 view .LVU4117
 12481 0124 013B                subs    r3, r3, #1
 12482 0126 9BB2                uxth    r3, r3
 12483 0128 4385                strh    r3, [r0, #42]   @ movhi
 12484 012a 79E7                b       .L746
 12485                  .LVL642:
 12486                  .L765:
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12487                          .loc 1 5175 11 is_stmt 1 view .LVU4118
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12488                          .loc 1 5175 32 is_stmt 0 view .LVU4119
 12489 012c 836C                ldr     r3, [r0, #72]
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12490                          .loc 1 5175 15 view .LVU4120
 12491 012e 0268                ldr     r2, [r0]
 12492                  .LVL643:
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12493                          .loc 1 5175 15 view .LVU4121
 12494 0130 DBB2                uxtb    r3, r3
5175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12495                          .loc 1 5175 30 view .LVU4122
 12496 0132 1361                str     r3, [r2, #16]
5177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 12497                          .loc 1 5177 11 is_stmt 1 view .LVU4123
5177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 12498                          .loc 1 5177 15 is_stmt 0 view .LVU4124
 12499 0134 036D                ldr     r3, [r0, #80]
5177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 12500                          .loc 1 5177 27 view .LVU4125
 12501 0136 0133                adds    r3, r3, #1
 12502 0138 0365                str     r3, [r0, #80]
 12503 013a 71E7                b       .L746
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 417


 12504                  .LVL644:
 12505                  .L766:
5184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12506                          .loc 1 5184 13 is_stmt 1 view .LVU4126
5184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12507                          .loc 1 5184 17 is_stmt 0 view .LVU4127
 12508 013c 0268                ldr     r2, [r0]
 12509                  .LVL645:
5184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****           }
 12510                          .loc 1 5184 33 view .LVU4128
 12511 013e 1368                ldr     r3, [r2]
 12512 0140 43F48073            orr     r3, r3, #256
 12513 0144 1360                str     r3, [r2]
 12514 0146 6BE7                b       .L746
 12515                          .cfi_endproc
 12516                  .LFE114:
 12518                          .section        .text.I2C_MasterTransmit_BTF,"ax",%progbits
 12519                          .align  1
 12520                          .syntax unified
 12521                          .thumb
 12522                          .thumb_func
 12523                          .fpu softvfp
 12525                  I2C_MasterTransmit_BTF:
 12526                  .LVL646:
 12527                  .LFB115:
5233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 12528                          .loc 1 5233 1 is_stmt 1 view -0
 12529                          .cfi_startproc
 12530                          @ args = 0, pretend = 0, frame = 0
 12531                          @ frame_needed = 0, uses_anonymous_args = 0
5233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 12532                          .loc 1 5233 1 is_stmt 0 view .LVU4130
 12533 0000 08B5                push    {r3, lr}
 12534                  .LCFI145:
 12535                          .cfi_def_cfa_offset 8
 12536                          .cfi_offset 3, -8
 12537                          .cfi_offset 14, -4
5235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12538                          .loc 1 5235 3 is_stmt 1 view .LVU4131
5235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12539                          .loc 1 5235 12 is_stmt 0 view .LVU4132
 12540 0002 C26A                ldr     r2, [r0, #44]
 12541                  .LVL647:
5237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12542                          .loc 1 5237 3 is_stmt 1 view .LVU4133
5237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12543                          .loc 1 5237 11 is_stmt 0 view .LVU4134
 12544 0004 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 12545 0008 DBB2                uxtb    r3, r3
5237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12546                          .loc 1 5237 6 view .LVU4135
 12547 000a 212B                cmp     r3, #33
 12548 000c 00D0                beq     .L773
 12549                  .LVL648:
 12550                  .L767:
5300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12551                          .loc 1 5300 1 view .LVU4136
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 418


 12552 000e 08BD                pop     {r3, pc}
 12553                  .LVL649:
 12554                  .L773:
5239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12555                          .loc 1 5239 5 is_stmt 1 view .LVU4137
5239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12556                          .loc 1 5239 13 is_stmt 0 view .LVU4138
 12557 0010 438D                ldrh    r3, [r0, #42]
 12558 0012 9BB2                uxth    r3, r3
5239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12559                          .loc 1 5239 8 view .LVU4139
 12560 0014 5BB1                cbz     r3, .L769
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12561                          .loc 1 5242 7 is_stmt 1 view .LVU4140
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12562                          .loc 1 5242 33 is_stmt 0 view .LVU4141
 12563 0016 426A                ldr     r2, [r0, #36]
 12564                  .LVL650:
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12565                          .loc 1 5242 11 view .LVU4142
 12566 0018 0368                ldr     r3, [r0]
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12567                          .loc 1 5242 28 view .LVU4143
 12568 001a 1278                ldrb    r2, [r2]        @ zero_extendqisi2
5242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12569                          .loc 1 5242 26 view .LVU4144
 12570 001c 1A61                str     r2, [r3, #16]
5245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12571                          .loc 1 5245 7 is_stmt 1 view .LVU4145
5245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12572                          .loc 1 5245 11 is_stmt 0 view .LVU4146
 12573 001e 436A                ldr     r3, [r0, #36]
5245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12574                          .loc 1 5245 21 view .LVU4147
 12575 0020 0133                adds    r3, r3, #1
 12576 0022 4362                str     r3, [r0, #36]
5248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 12577                          .loc 1 5248 7 is_stmt 1 view .LVU4148
5248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 12578                          .loc 1 5248 11 is_stmt 0 view .LVU4149
 12579 0024 438D                ldrh    r3, [r0, #42]
5248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 12580                          .loc 1 5248 22 view .LVU4150
 12581 0026 013B                subs    r3, r3, #1
 12582 0028 9BB2                uxth    r3, r3
 12583 002a 4385                strh    r3, [r0, #42]   @ movhi
 12584 002c EFE7                b       .L767
 12585                  .LVL651:
 12586                  .L769:
5253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12587                          .loc 1 5253 7 is_stmt 1 view .LVU4151
5253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12588                          .loc 1 5253 10 is_stmt 0 view .LVU4152
 12589 002e 082A                cmp     r2, #8
 12590 0030 04D0                beq     .L770
5253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12591                          .loc 1 5253 60 discriminator 1 view .LVU4153
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 419


 12592 0032 202A                cmp     r2, #32
 12593 0034 02D0                beq     .L770
5253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12594                          .loc 1 5253 102 discriminator 2 view .LVU4154
 12595 0036 12F5803F            cmn     r2, #65536
 12596 003a 19D1                bne     .L774
 12597                  .L770:
5270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12598                          .loc 1 5270 9 is_stmt 1 view .LVU4155
 12599 003c 0268                ldr     r2, [r0]
 12600                  .LVL652:
5270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12601                          .loc 1 5270 9 is_stmt 0 view .LVU4156
 12602 003e 5368                ldr     r3, [r2, #4]
 12603 0040 23F4E063            bic     r3, r3, #1792
 12604 0044 5360                str     r3, [r2, #4]
5273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12605                          .loc 1 5273 9 is_stmt 1 view .LVU4157
 12606 0046 0268                ldr     r2, [r0]
 12607 0048 1368                ldr     r3, [r2]
 12608 004a 43F40073            orr     r3, r3, #512
 12609 004e 1360                str     r3, [r2]
5275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 12610                          .loc 1 5275 9 view .LVU4158
5275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 12611                          .loc 1 5275 29 is_stmt 0 view .LVU4159
 12612 0050 0023                movs    r3, #0
 12613 0052 0363                str     r3, [r0, #48]
5276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12614                          .loc 1 5276 9 is_stmt 1 view .LVU4160
5276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12615                          .loc 1 5276 21 is_stmt 0 view .LVU4161
 12616 0054 2023                movs    r3, #32
 12617 0056 80F83D30            strb    r3, [r0, #61]
5278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12618                          .loc 1 5278 9 is_stmt 1 view .LVU4162
5278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12619                          .loc 1 5278 17 is_stmt 0 view .LVU4163
 12620 005a 90F83E30            ldrb    r3, [r0, #62]   @ zero_extendqisi2
 12621 005e DBB2                uxtb    r3, r3
5278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 12622                          .loc 1 5278 12 view .LVU4164
 12623 0060 402B                cmp     r3, #64
 12624 0062 15D0                beq     .L775
5289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12625                          .loc 1 5289 11 is_stmt 1 view .LVU4165
5289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12626                          .loc 1 5289 22 is_stmt 0 view .LVU4166
 12627 0064 0023                movs    r3, #0
 12628 0066 80F83E30            strb    r3, [r0, #62]
5294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12629                          .loc 1 5294 11 is_stmt 1 view .LVU4167
 12630 006a FFF7FEFF            bl      HAL_I2C_MasterTxCpltCallback
 12631                  .LVL653:
5300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12632                          .loc 1 5300 1 is_stmt 0 view .LVU4168
 12633 006e CEE7                b       .L767
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 420


 12634                  .LVL654:
 12635                  .L774:
5255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12636                          .loc 1 5255 9 is_stmt 1 view .LVU4169
 12637 0070 0268                ldr     r2, [r0]
 12638                  .LVL655:
5255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12639                          .loc 1 5255 9 is_stmt 0 view .LVU4170
 12640 0072 5368                ldr     r3, [r2, #4]
 12641 0074 23F4E063            bic     r3, r3, #1792
 12642 0078 5360                str     r3, [r2, #4]
5257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
 12643                          .loc 1 5257 9 is_stmt 1 view .LVU4171
5257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
 12644                          .loc 1 5257 29 is_stmt 0 view .LVU4172
 12645 007a 1123                movs    r3, #17
 12646 007c 0363                str     r3, [r0, #48]
5258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 12647                          .loc 1 5258 9 is_stmt 1 view .LVU4173
5258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 12648                          .loc 1 5258 20 is_stmt 0 view .LVU4174
 12649 007e 0023                movs    r3, #0
 12650 0080 80F83E30            strb    r3, [r0, #62]
5259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12651                          .loc 1 5259 9 is_stmt 1 view .LVU4175
5259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12652                          .loc 1 5259 21 is_stmt 0 view .LVU4176
 12653 0084 2023                movs    r3, #32
 12654 0086 80F83D30            strb    r3, [r0, #61]
5264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12655                          .loc 1 5264 9 is_stmt 1 view .LVU4177
 12656 008a FFF7FEFF            bl      HAL_I2C_MasterTxCpltCallback
 12657                  .LVL656:
5264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12658                          .loc 1 5264 9 is_stmt 0 view .LVU4178
 12659 008e BEE7                b       .L767
 12660                  .LVL657:
 12661                  .L775:
5280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 12662                          .loc 1 5280 11 is_stmt 1 view .LVU4179
5280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 12663                          .loc 1 5280 22 is_stmt 0 view .LVU4180
 12664 0090 0023                movs    r3, #0
 12665 0092 80F83E30            strb    r3, [r0, #62]
5284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12666                          .loc 1 5284 11 is_stmt 1 view .LVU4181
 12667 0096 FFF7FEFF            bl      HAL_I2C_MemTxCpltCallback
 12668                  .LVL658:
5284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12669                          .loc 1 5284 11 is_stmt 0 view .LVU4182
 12670 009a B8E7                b       .L767
 12671                          .cfi_endproc
 12672                  .LFE115:
 12674                          .section        .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
 12675                          .align  1
 12676                          .weak   HAL_I2C_MemRxCpltCallback
 12677                          .syntax unified
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 421


 12678                          .thumb
 12679                          .thumb_func
 12680                          .fpu softvfp
 12682                  HAL_I2C_MemRxCpltCallback:
 12683                  .LVL659:
 12684                  .LFB108:
4974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 12685                          .loc 1 4974 1 is_stmt 1 view -0
 12686                          .cfi_startproc
 12687                          @ args = 0, pretend = 0, frame = 0
 12688                          @ frame_needed = 0, uses_anonymous_args = 0
 12689                          @ link register save eliminated.
4976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12690                          .loc 1 4976 3 view .LVU4184
4981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12691                          .loc 1 4981 1 is_stmt 0 view .LVU4185
 12692 0000 7047                bx      lr
 12693                          .cfi_endproc
 12694                  .LFE108:
 12696                          .section        .text.I2C_MasterReceive_RXNE,"ax",%progbits
 12697                          .align  1
 12698                          .syntax unified
 12699                          .thumb
 12700                          .thumb_func
 12701                          .fpu softvfp
 12703                  I2C_MasterReceive_RXNE:
 12704                  .LVL660:
 12705                  .LFB116:
5309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
 12706                          .loc 1 5309 1 is_stmt 1 view -0
 12707                          .cfi_startproc
 12708                          @ args = 0, pretend = 0, frame = 0
 12709                          @ frame_needed = 0, uses_anonymous_args = 0
5309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
 12710                          .loc 1 5309 1 is_stmt 0 view .LVU4187
 12711 0000 08B5                push    {r3, lr}
 12712                  .LCFI146:
 12713                          .cfi_def_cfa_offset 8
 12714                          .cfi_offset 3, -8
 12715                          .cfi_offset 14, -4
5310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12716                          .loc 1 5310 3 is_stmt 1 view .LVU4188
5310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12717                          .loc 1 5310 11 is_stmt 0 view .LVU4189
 12718 0002 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 12719 0006 DBB2                uxtb    r3, r3
5310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12720                          .loc 1 5310 6 view .LVU4190
 12721 0008 222B                cmp     r3, #34
 12722 000a 00D0                beq     .L782
 12723                  .LVL661:
 12724                  .L777:
5381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12725                          .loc 1 5381 1 view .LVU4191
 12726 000c 08BD                pop     {r3, pc}
 12727                  .LVL662:
 12728                  .L782:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 422


 12729                  .LBB109:
5312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12730                          .loc 1 5312 5 is_stmt 1 view .LVU4192
5314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (tmp > 3U)
 12731                          .loc 1 5314 5 view .LVU4193
5314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (tmp > 3U)
 12732                          .loc 1 5314 15 is_stmt 0 view .LVU4194
 12733 000e 438D                ldrh    r3, [r0, #42]
 12734 0010 9BB2                uxth    r3, r3
 12735                  .LVL663:
5315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12736                          .loc 1 5315 5 is_stmt 1 view .LVU4195
5315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12737                          .loc 1 5315 8 is_stmt 0 view .LVU4196
 12738 0012 032B                cmp     r3, #3
 12739 0014 14D9                bls     .L779
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12740                          .loc 1 5318 7 is_stmt 1 view .LVU4197
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12741                          .loc 1 5318 38 is_stmt 0 view .LVU4198
 12742 0016 0368                ldr     r3, [r0]
 12743                  .LVL664:
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12744                          .loc 1 5318 48 view .LVU4199
 12745 0018 1A69                ldr     r2, [r3, #16]
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12746                          .loc 1 5318 12 view .LVU4200
 12747 001a 436A                ldr     r3, [r0, #36]
5318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12748                          .loc 1 5318 23 view .LVU4201
 12749 001c 1A70                strb    r2, [r3]
5321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12750                          .loc 1 5321 7 is_stmt 1 view .LVU4202
5321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12751                          .loc 1 5321 11 is_stmt 0 view .LVU4203
 12752 001e 436A                ldr     r3, [r0, #36]
5321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12753                          .loc 1 5321 21 view .LVU4204
 12754 0020 0133                adds    r3, r3, #1
 12755 0022 4362                str     r3, [r0, #36]
5324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12756                          .loc 1 5324 7 is_stmt 1 view .LVU4205
5324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12757                          .loc 1 5324 11 is_stmt 0 view .LVU4206
 12758 0024 438D                ldrh    r3, [r0, #42]
5324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12759                          .loc 1 5324 22 view .LVU4207
 12760 0026 013B                subs    r3, r3, #1
 12761 0028 9BB2                uxth    r3, r3
 12762 002a 4385                strh    r3, [r0, #42]   @ movhi
5326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12763                          .loc 1 5326 7 is_stmt 1 view .LVU4208
5326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12764                          .loc 1 5326 15 is_stmt 0 view .LVU4209
 12765 002c 438D                ldrh    r3, [r0, #42]
 12766 002e 9BB2                uxth    r3, r3
5326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 423


 12767                          .loc 1 5326 10 view .LVU4210
 12768 0030 032B                cmp     r3, #3
 12769 0032 EBD1                bne     .L777
5331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 12770                          .loc 1 5331 9 is_stmt 1 view .LVU4211
 12771 0034 0268                ldr     r2, [r0]
 12772 0036 5368                ldr     r3, [r2, #4]
 12773 0038 23F48063            bic     r3, r3, #1024
 12774 003c 5360                str     r3, [r2, #4]
 12775 003e E5E7                b       .L777
 12776                  .LVL665:
 12777                  .L779:
5334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12778                          .loc 1 5334 10 view .LVU4212
5334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12779                          .loc 1 5334 19 is_stmt 0 view .LVU4213
 12780 0040 C26A                ldr     r2, [r0, #44]
5334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12781                          .loc 1 5334 13 view .LVU4214
 12782 0042 022A                cmp     r2, #2
 12783 0044 E2D0                beq     .L777
5334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12784                          .loc 1 5334 62 discriminator 1 view .LVU4215
 12785 0046 012B                cmp     r3, #1
 12786 0048 E0D8                bhi     .L777
5337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12787                          .loc 1 5337 7 is_stmt 1 view .LVU4216
 12788 004a 0268                ldr     r2, [r0]
 12789 004c 1368                ldr     r3, [r2]
 12790                  .LVL666:
5337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12791                          .loc 1 5337 7 is_stmt 0 view .LVU4217
 12792 004e 23F48063            bic     r3, r3, #1024
 12793 0052 1360                str     r3, [r2]
5340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12794                          .loc 1 5340 7 is_stmt 1 view .LVU4218
 12795 0054 0268                ldr     r2, [r0]
 12796 0056 5368                ldr     r3, [r2, #4]
 12797 0058 23F4E063            bic     r3, r3, #1792
 12798 005c 5360                str     r3, [r2, #4]
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12799                          .loc 1 5343 7 view .LVU4219
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12800                          .loc 1 5343 38 is_stmt 0 view .LVU4220
 12801 005e 0368                ldr     r3, [r0]
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12802                          .loc 1 5343 48 view .LVU4221
 12803 0060 1A69                ldr     r2, [r3, #16]
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12804                          .loc 1 5343 12 view .LVU4222
 12805 0062 436A                ldr     r3, [r0, #36]
5343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12806                          .loc 1 5343 23 view .LVU4223
 12807 0064 1A70                strb    r2, [r3]
5346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12808                          .loc 1 5346 7 is_stmt 1 view .LVU4224
5346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 424


 12809                          .loc 1 5346 11 is_stmt 0 view .LVU4225
 12810 0066 436A                ldr     r3, [r0, #36]
5346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12811                          .loc 1 5346 21 view .LVU4226
 12812 0068 0133                adds    r3, r3, #1
 12813 006a 4362                str     r3, [r0, #36]
5349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12814                          .loc 1 5349 7 is_stmt 1 view .LVU4227
5349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12815                          .loc 1 5349 11 is_stmt 0 view .LVU4228
 12816 006c 438D                ldrh    r3, [r0, #42]
5349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12817                          .loc 1 5349 22 view .LVU4229
 12818 006e 013B                subs    r3, r3, #1
 12819 0070 9BB2                uxth    r3, r3
 12820 0072 4385                strh    r3, [r0, #42]   @ movhi
5351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12821                          .loc 1 5351 7 is_stmt 1 view .LVU4230
5351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12822                          .loc 1 5351 19 is_stmt 0 view .LVU4231
 12823 0074 2023                movs    r3, #32
 12824 0076 80F83D30            strb    r3, [r0, #61]
5353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12825                          .loc 1 5353 7 is_stmt 1 view .LVU4232
5353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12826                          .loc 1 5353 15 is_stmt 0 view .LVU4233
 12827 007a 90F83E30            ldrb    r3, [r0, #62]   @ zero_extendqisi2
 12828 007e DBB2                uxtb    r3, r3
5353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 12829                          .loc 1 5353 10 view .LVU4234
 12830 0080 402B                cmp     r3, #64
 12831 0082 07D0                beq     .L783
5366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 12832                          .loc 1 5366 9 is_stmt 1 view .LVU4235
5366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 12833                          .loc 1 5366 20 is_stmt 0 view .LVU4236
 12834 0084 0023                movs    r3, #0
 12835 0086 80F83E30            strb    r3, [r0, #62]
5367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12836                          .loc 1 5367 9 is_stmt 1 view .LVU4237
5367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12837                          .loc 1 5367 29 is_stmt 0 view .LVU4238
 12838 008a 1223                movs    r3, #18
 12839 008c 0363                str     r3, [r0, #48]
5372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12840                          .loc 1 5372 9 is_stmt 1 view .LVU4239
 12841 008e FFF7FEFF            bl      HAL_I2C_MasterRxCpltCallback
 12842                  .LVL667:
5379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 12843                          .loc 1 5379 5 view .LVU4240
 12844                  .LBE109:
5381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12845                          .loc 1 5381 1 is_stmt 0 view .LVU4241
 12846 0092 BBE7                b       .L777
 12847                  .LVL668:
 12848                  .L783:
 12849                  .LBB110:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 425


5355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_NONE;
 12850                          .loc 1 5355 9 is_stmt 1 view .LVU4242
5355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_NONE;
 12851                          .loc 1 5355 20 is_stmt 0 view .LVU4243
 12852 0094 0023                movs    r3, #0
 12853 0096 80F83E30            strb    r3, [r0, #62]
5356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12854                          .loc 1 5356 9 is_stmt 1 view .LVU4244
5356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12855                          .loc 1 5356 29 is_stmt 0 view .LVU4245
 12856 009a 0363                str     r3, [r0, #48]
5361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12857                          .loc 1 5361 9 is_stmt 1 view .LVU4246
 12858 009c FFF7FEFF            bl      HAL_I2C_MemRxCpltCallback
 12859                  .LVL669:
5361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12860                          .loc 1 5361 9 is_stmt 0 view .LVU4247
 12861 00a0 B4E7                b       .L777
 12862                  .LBE110:
 12863                          .cfi_endproc
 12864                  .LFE116:
 12866                          .section        .text.I2C_MasterReceive_BTF,"ax",%progbits
 12867                          .align  1
 12868                          .syntax unified
 12869                          .thumb
 12870                          .thumb_func
 12871                          .fpu softvfp
 12873                  I2C_MasterReceive_BTF:
 12874                  .LVL670:
 12875                  .LFB117:
5390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 12876                          .loc 1 5390 1 is_stmt 1 view -0
 12877                          .cfi_startproc
 12878                          @ args = 0, pretend = 0, frame = 0
 12879                          @ frame_needed = 0, uses_anonymous_args = 0
5390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variables to prevent undefined behavior of volatile usage */
 12880                          .loc 1 5390 1 is_stmt 0 view .LVU4249
 12881 0000 08B5                push    {r3, lr}
 12882                  .LCFI147:
 12883                          .cfi_def_cfa_offset 8
 12884                          .cfi_offset 3, -8
 12885                          .cfi_offset 14, -4
5392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12886                          .loc 1 5392 3 is_stmt 1 view .LVU4250
5392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12887                          .loc 1 5392 12 is_stmt 0 view .LVU4251
 12888 0002 C26A                ldr     r2, [r0, #44]
 12889                  .LVL671:
5394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12890                          .loc 1 5394 3 is_stmt 1 view .LVU4252
5394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12891                          .loc 1 5394 11 is_stmt 0 view .LVU4253
 12892 0004 438D                ldrh    r3, [r0, #42]
 12893 0006 9BB2                uxth    r3, r3
5394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12894                          .loc 1 5394 6 view .LVU4254
 12895 0008 042B                cmp     r3, #4
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 426


 12896 000a 13D0                beq     .L797
5409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12897                          .loc 1 5409 8 is_stmt 1 view .LVU4255
5409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12898                          .loc 1 5409 16 is_stmt 0 view .LVU4256
 12899 000c 438D                ldrh    r3, [r0, #42]
 12900 000e 9BB2                uxth    r3, r3
5409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12901                          .loc 1 5409 11 view .LVU4257
 12902 0010 032B                cmp     r3, #3
 12903 0012 20D0                beq     .L798
5430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12904                          .loc 1 5430 8 is_stmt 1 view .LVU4258
5430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12905                          .loc 1 5430 16 is_stmt 0 view .LVU4259
 12906 0014 438D                ldrh    r3, [r0, #42]
 12907 0016 9BB2                uxth    r3, r3
5430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 12908                          .loc 1 5430 11 view .LVU4260
 12909 0018 022B                cmp     r3, #2
 12910 001a 36D0                beq     .L799
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12911                          .loc 1 5499 5 is_stmt 1 view .LVU4261
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12912                          .loc 1 5499 36 is_stmt 0 view .LVU4262
 12913 001c 0368                ldr     r3, [r0]
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12914                          .loc 1 5499 46 view .LVU4263
 12915 001e 1A69                ldr     r2, [r3, #16]
 12916                  .LVL672:
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12917                          .loc 1 5499 10 view .LVU4264
 12918 0020 436A                ldr     r3, [r0, #36]
5499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12919                          .loc 1 5499 21 view .LVU4265
 12920 0022 1A70                strb    r2, [r3]
5502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12921                          .loc 1 5502 5 is_stmt 1 view .LVU4266
5502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12922                          .loc 1 5502 9 is_stmt 0 view .LVU4267
 12923 0024 436A                ldr     r3, [r0, #36]
5502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12924                          .loc 1 5502 19 view .LVU4268
 12925 0026 0133                adds    r3, r3, #1
 12926 0028 4362                str     r3, [r0, #36]
5505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 12927                          .loc 1 5505 5 is_stmt 1 view .LVU4269
5505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 12928                          .loc 1 5505 9 is_stmt 0 view .LVU4270
 12929 002a 438D                ldrh    r3, [r0, #42]
5505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 12930                          .loc 1 5505 20 view .LVU4271
 12931 002c 013B                subs    r3, r3, #1
 12932 002e 9BB2                uxth    r3, r3
 12933 0030 4385                strh    r3, [r0, #42]   @ movhi
5507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12934                          .loc 1 5507 1 view .LVU4272
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 427


 12935 0032 0FE0                b       .L784
 12936                  .LVL673:
 12937                  .L797:
5398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12938                          .loc 1 5398 5 is_stmt 1 view .LVU4273
 12939 0034 0268                ldr     r2, [r0]
 12940                  .LVL674:
5398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12941                          .loc 1 5398 5 is_stmt 0 view .LVU4274
 12942 0036 5368                ldr     r3, [r2, #4]
 12943 0038 23F48063            bic     r3, r3, #1024
 12944 003c 5360                str     r3, [r2, #4]
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12945                          .loc 1 5401 5 is_stmt 1 view .LVU4275
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12946                          .loc 1 5401 36 is_stmt 0 view .LVU4276
 12947 003e 0368                ldr     r3, [r0]
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12948                          .loc 1 5401 46 view .LVU4277
 12949 0040 1A69                ldr     r2, [r3, #16]
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12950                          .loc 1 5401 10 view .LVU4278
 12951 0042 436A                ldr     r3, [r0, #36]
5401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12952                          .loc 1 5401 21 view .LVU4279
 12953 0044 1A70                strb    r2, [r3]
5404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12954                          .loc 1 5404 5 is_stmt 1 view .LVU4280
5404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12955                          .loc 1 5404 9 is_stmt 0 view .LVU4281
 12956 0046 436A                ldr     r3, [r0, #36]
5404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12957                          .loc 1 5404 19 view .LVU4282
 12958 0048 0133                adds    r3, r3, #1
 12959 004a 4362                str     r3, [r0, #36]
5407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 12960                          .loc 1 5407 5 is_stmt 1 view .LVU4283
5407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 12961                          .loc 1 5407 9 is_stmt 0 view .LVU4284
 12962 004c 438D                ldrh    r3, [r0, #42]
5407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 12963                          .loc 1 5407 20 view .LVU4285
 12964 004e 013B                subs    r3, r3, #1
 12965 0050 9BB2                uxth    r3, r3
 12966 0052 4385                strh    r3, [r0, #42]   @ movhi
 12967                  .LVL675:
 12968                  .L784:
5507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12969                          .loc 1 5507 1 view .LVU4286
 12970 0054 08BD                pop     {r3, pc}
 12971                  .LVL676:
 12972                  .L798:
5413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12973                          .loc 1 5413 5 is_stmt 1 view .LVU4287
 12974 0056 0168                ldr     r1, [r0]
 12975 0058 4B68                ldr     r3, [r1, #4]
 12976 005a 23F48063            bic     r3, r3, #1024
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 428


 12977 005e 4B60                str     r3, [r1, #4]
5415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12978                          .loc 1 5415 5 view .LVU4288
5415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12979                          .loc 1 5415 8 is_stmt 0 view .LVU4289
 12980 0060 042A                cmp     r2, #4
 12981 0062 06D0                beq     .L788
5415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 12982                          .loc 1 5415 48 discriminator 1 view .LVU4290
 12983 0064 022A                cmp     r2, #2
 12984 0066 04D0                beq     .L788
5418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 12985                          .loc 1 5418 7 is_stmt 1 view .LVU4291
 12986 0068 0268                ldr     r2, [r0]
 12987                  .LVL677:
5418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 12988                          .loc 1 5418 7 is_stmt 0 view .LVU4292
 12989 006a 1368                ldr     r3, [r2]
 12990 006c 23F48063            bic     r3, r3, #1024
 12991 0070 1360                str     r3, [r2]
 12992                  .L788:
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12993                          .loc 1 5422 5 is_stmt 1 view .LVU4293
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12994                          .loc 1 5422 36 is_stmt 0 view .LVU4294
 12995 0072 0368                ldr     r3, [r0]
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12996                          .loc 1 5422 46 view .LVU4295
 12997 0074 1A69                ldr     r2, [r3, #16]
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 12998                          .loc 1 5422 10 view .LVU4296
 12999 0076 436A                ldr     r3, [r0, #36]
5422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13000                          .loc 1 5422 21 view .LVU4297
 13001 0078 1A70                strb    r2, [r3]
5425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13002                          .loc 1 5425 5 is_stmt 1 view .LVU4298
5425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13003                          .loc 1 5425 9 is_stmt 0 view .LVU4299
 13004 007a 436A                ldr     r3, [r0, #36]
5425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13005                          .loc 1 5425 19 view .LVU4300
 13006 007c 0133                adds    r3, r3, #1
 13007 007e 4362                str     r3, [r0, #36]
5428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 13008                          .loc 1 5428 5 is_stmt 1 view .LVU4301
5428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 13009                          .loc 1 5428 9 is_stmt 0 view .LVU4302
 13010 0080 438D                ldrh    r3, [r0, #42]
5428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 13011                          .loc 1 5428 20 view .LVU4303
 13012 0082 013B                subs    r3, r3, #1
 13013 0084 9BB2                uxth    r3, r3
 13014 0086 4385                strh    r3, [r0, #42]   @ movhi
 13015 0088 E4E7                b       .L784
 13016                  .LVL678:
 13017                  .L799:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 429


5433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13018                          .loc 1 5433 5 is_stmt 1 view .LVU4304
5433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13019                          .loc 1 5433 8 is_stmt 0 view .LVU4305
 13020 008a 012A                cmp     r2, #1
 13021 008c 0BD0                beq     .L790
5433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13022                          .loc 1 5433 49 discriminator 1 view .LVU4306
 13023 008e 102A                cmp     r2, #16
 13024 0090 09D0                beq     .L790
5438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13025                          .loc 1 5438 10 is_stmt 1 view .LVU4307
5438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13026                          .loc 1 5438 13 is_stmt 0 view .LVU4308
 13027 0092 042A                cmp     r2, #4
 13028 0094 36D0                beq     .L793
5438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13029                          .loc 1 5438 53 discriminator 1 view .LVU4309
 13030 0096 022A                cmp     r2, #2
 13031 0098 34D0                beq     .L793
5443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13032                          .loc 1 5443 10 is_stmt 1 view .LVU4310
5446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13033                          .loc 1 5446 7 view .LVU4311
 13034 009a 0268                ldr     r2, [r0]
 13035                  .LVL679:
5446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13036                          .loc 1 5446 7 is_stmt 0 view .LVU4312
 13037 009c 1368                ldr     r3, [r2]
 13038 009e 43F40073            orr     r3, r3, #512
 13039 00a2 1360                str     r3, [r2]
 13040 00a4 04E0                b       .L792
 13041                  .LVL680:
 13042                  .L790:
5436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13043                          .loc 1 5436 7 is_stmt 1 view .LVU4313
 13044 00a6 0268                ldr     r2, [r0]
 13045                  .LVL681:
5436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13046                          .loc 1 5436 7 is_stmt 0 view .LVU4314
 13047 00a8 1368                ldr     r3, [r2]
 13048 00aa 23F48063            bic     r3, r3, #1024
 13049 00ae 1360                str     r3, [r2]
 13050                  .L792:
5451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13051                          .loc 1 5451 5 is_stmt 1 view .LVU4315
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13052                          .loc 1 5454 5 view .LVU4316
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13053                          .loc 1 5454 36 is_stmt 0 view .LVU4317
 13054 00b0 0368                ldr     r3, [r0]
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13055                          .loc 1 5454 46 view .LVU4318
 13056 00b2 1A69                ldr     r2, [r3, #16]
5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13057                          .loc 1 5454 10 view .LVU4319
 13058 00b4 436A                ldr     r3, [r0, #36]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 430


5454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13059                          .loc 1 5454 21 view .LVU4320
 13060 00b6 1A70                strb    r2, [r3]
5457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13061                          .loc 1 5457 5 is_stmt 1 view .LVU4321
5457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13062                          .loc 1 5457 9 is_stmt 0 view .LVU4322
 13063 00b8 426A                ldr     r2, [r0, #36]
5457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13064                          .loc 1 5457 19 view .LVU4323
 13065 00ba 531C                adds    r3, r2, #1
 13066 00bc 4362                str     r3, [r0, #36]
5460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13067                          .loc 1 5460 5 is_stmt 1 view .LVU4324
5460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13068                          .loc 1 5460 9 is_stmt 0 view .LVU4325
 13069 00be 438D                ldrh    r3, [r0, #42]
5460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13070                          .loc 1 5460 20 view .LVU4326
 13071 00c0 013B                subs    r3, r3, #1
 13072 00c2 9BB2                uxth    r3, r3
 13073 00c4 4385                strh    r3, [r0, #42]   @ movhi
5463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13074                          .loc 1 5463 5 is_stmt 1 view .LVU4327
5463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13075                          .loc 1 5463 36 is_stmt 0 view .LVU4328
 13076 00c6 0368                ldr     r3, [r0]
5463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13077                          .loc 1 5463 46 view .LVU4329
 13078 00c8 1B69                ldr     r3, [r3, #16]
5463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13079                          .loc 1 5463 21 view .LVU4330
 13080 00ca 5370                strb    r3, [r2, #1]
5466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13081                          .loc 1 5466 5 is_stmt 1 view .LVU4331
5466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13082                          .loc 1 5466 9 is_stmt 0 view .LVU4332
 13083 00cc 436A                ldr     r3, [r0, #36]
5466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13084                          .loc 1 5466 19 view .LVU4333
 13085 00ce 0133                adds    r3, r3, #1
 13086 00d0 4362                str     r3, [r0, #36]
5469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13087                          .loc 1 5469 5 is_stmt 1 view .LVU4334
5469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13088                          .loc 1 5469 9 is_stmt 0 view .LVU4335
 13089 00d2 438D                ldrh    r3, [r0, #42]
5469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13090                          .loc 1 5469 20 view .LVU4336
 13091 00d4 013B                subs    r3, r3, #1
 13092 00d6 9BB2                uxth    r3, r3
 13093 00d8 4385                strh    r3, [r0, #42]   @ movhi
5472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13094                          .loc 1 5472 5 is_stmt 1 view .LVU4337
 13095 00da 0268                ldr     r2, [r0]
 13096 00dc 5368                ldr     r3, [r2, #4]
 13097 00de 23F44073            bic     r3, r3, #768
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 431


 13098 00e2 5360                str     r3, [r2, #4]
5474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->Mode == HAL_I2C_MODE_MEM)
 13099                          .loc 1 5474 5 view .LVU4338
5474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if (hi2c->Mode == HAL_I2C_MODE_MEM)
 13100                          .loc 1 5474 17 is_stmt 0 view .LVU4339
 13101 00e4 2023                movs    r3, #32
 13102 00e6 80F83D30            strb    r3, [r0, #61]
5475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13103                          .loc 1 5475 5 is_stmt 1 view .LVU4340
5475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13104                          .loc 1 5475 13 is_stmt 0 view .LVU4341
 13105 00ea 90F83E30            ldrb    r3, [r0, #62]   @ zero_extendqisi2
 13106 00ee DBB2                uxtb    r3, r3
5475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13107                          .loc 1 5475 8 view .LVU4342
 13108 00f0 402B                cmp     r3, #64
 13109 00f2 0DD0                beq     .L800
5487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 13110                          .loc 1 5487 7 is_stmt 1 view .LVU4343
5487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 13111                          .loc 1 5487 18 is_stmt 0 view .LVU4344
 13112 00f4 0023                movs    r3, #0
 13113 00f6 80F83E30            strb    r3, [r0, #62]
5488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 13114                          .loc 1 5488 7 is_stmt 1 view .LVU4345
5488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 13115                          .loc 1 5488 27 is_stmt 0 view .LVU4346
 13116 00fa 1223                movs    r3, #18
 13117 00fc 0363                str     r3, [r0, #48]
5492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13118                          .loc 1 5492 7 is_stmt 1 view .LVU4347
 13119 00fe FFF7FEFF            bl      HAL_I2C_MasterRxCpltCallback
 13120                  .LVL682:
5492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13121                          .loc 1 5492 7 is_stmt 0 view .LVU4348
 13122 0102 A7E7                b       .L784
 13123                  .LVL683:
 13124                  .L793:
5441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13125                          .loc 1 5441 7 is_stmt 1 view .LVU4349
 13126 0104 0268                ldr     r2, [r0]
 13127                  .LVL684:
5441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13128                          .loc 1 5441 7 is_stmt 0 view .LVU4350
 13129 0106 1368                ldr     r3, [r2]
 13130 0108 43F48063            orr     r3, r3, #1024
 13131 010c 1360                str     r3, [r2]
 13132 010e CFE7                b       .L792
 13133                  .L800:
5477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_NONE;
 13134                          .loc 1 5477 7 is_stmt 1 view .LVU4351
5477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_NONE;
 13135                          .loc 1 5477 18 is_stmt 0 view .LVU4352
 13136 0110 0023                movs    r3, #0
 13137 0112 80F83E30            strb    r3, [r0, #62]
5478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 13138                          .loc 1 5478 7 is_stmt 1 view .LVU4353
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 432


5478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 13139                          .loc 1 5478 27 is_stmt 0 view .LVU4354
 13140 0116 0363                str     r3, [r0, #48]
5482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13141                          .loc 1 5482 7 is_stmt 1 view .LVU4355
 13142 0118 FFF7FEFF            bl      HAL_I2C_MemRxCpltCallback
 13143                  .LVL685:
5482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13144                          .loc 1 5482 7 is_stmt 0 view .LVU4356
 13145 011c 9AE7                b       .L784
 13146                          .cfi_endproc
 13147                  .LFE117:
 13149                          .section        .text.HAL_I2C_ErrorCallback,"ax",%progbits
 13150                          .align  1
 13151                          .weak   HAL_I2C_ErrorCallback
 13152                          .syntax unified
 13153                          .thumb
 13154                          .thumb_func
 13155                          .fpu softvfp
 13157                  HAL_I2C_ErrorCallback:
 13158                  .LVL686:
 13159                  .LFB109:
4990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 13160                          .loc 1 4990 1 is_stmt 1 view -0
 13161                          .cfi_startproc
 13162                          @ args = 0, pretend = 0, frame = 0
 13163                          @ frame_needed = 0, uses_anonymous_args = 0
 13164                          @ link register save eliminated.
4992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13165                          .loc 1 4992 3 view .LVU4358
4997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13166                          .loc 1 4997 1 is_stmt 0 view .LVU4359
 13167 0000 7047                bx      lr
 13168                          .cfi_endproc
 13169                  .LFE109:
 13171                          .section        .text.I2C_DMAError,"ax",%progbits
 13172                          .align  1
 13173                          .syntax unified
 13174                          .thumb
 13175                          .thumb_func
 13176                          .fpu softvfp
 13178                  I2C_DMAError:
 13179                  .LVL687:
 13180                  .LFB134:
6781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
 13181                          .loc 1 6781 1 is_stmt 1 view -0
 13182                          .cfi_startproc
 13183                          @ args = 0, pretend = 0, frame = 0
 13184                          @ frame_needed = 0, uses_anonymous_args = 0
6781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
 13185                          .loc 1 6781 1 is_stmt 0 view .LVU4361
 13186 0000 08B5                push    {r3, lr}
 13187                  .LCFI148:
 13188                          .cfi_def_cfa_offset 8
 13189                          .cfi_offset 3, -8
 13190                          .cfi_offset 14, -4
6782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 433


 13191                          .loc 1 6782 3 is_stmt 1 view .LVU4362
6782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13192                          .loc 1 6782 22 is_stmt 0 view .LVU4363
 13193 0002 406A                ldr     r0, [r0, #36]
 13194                  .LVL688:
6785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
 13195                          .loc 1 6785 3 is_stmt 1 view .LVU4364
6785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
 13196                          .loc 1 6785 7 is_stmt 0 view .LVU4365
 13197 0004 426B                ldr     r2, [r0, #52]
6785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
 13198                          .loc 1 6785 34 view .LVU4366
 13199 0006 0023                movs    r3, #0
 13200 0008 9362                str     r3, [r2, #40]
6786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13201                          .loc 1 6786 3 is_stmt 1 view .LVU4367
6786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13202                          .loc 1 6786 7 is_stmt 0 view .LVU4368
 13203 000a 826B                ldr     r2, [r0, #56]
6786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13204                          .loc 1 6786 34 view .LVU4369
 13205 000c 9362                str     r3, [r2, #40]
6789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13206                          .loc 1 6789 3 is_stmt 1 view .LVU4370
 13207 000e 0168                ldr     r1, [r0]
 13208 0010 0A68                ldr     r2, [r1]
 13209 0012 22F48062            bic     r2, r2, #1024
 13210 0016 0A60                str     r2, [r1]
6791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State           = HAL_I2C_STATE_READY;
 13211                          .loc 1 6791 3 view .LVU4371
6791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->State           = HAL_I2C_STATE_READY;
 13212                          .loc 1 6791 25 is_stmt 0 view .LVU4372
 13213 0018 4385                strh    r3, [r0, #42]   @ movhi
6792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Mode            = HAL_I2C_MODE_NONE;
 13214                          .loc 1 6792 3 is_stmt 1 view .LVU4373
6792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->Mode            = HAL_I2C_MODE_NONE;
 13215                          .loc 1 6792 25 is_stmt 0 view .LVU4374
 13216 001a 2022                movs    r2, #32
 13217 001c 80F83D20            strb    r2, [r0, #61]
6793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->ErrorCode       |= HAL_I2C_ERROR_DMA;
 13218                          .loc 1 6793 3 is_stmt 1 view .LVU4375
6793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->ErrorCode       |= HAL_I2C_ERROR_DMA;
 13219                          .loc 1 6793 25 is_stmt 0 view .LVU4376
 13220 0020 80F83E30            strb    r3, [r0, #62]
6794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13221                          .loc 1 6794 3 is_stmt 1 view .LVU4377
6794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13222                          .loc 1 6794 25 is_stmt 0 view .LVU4378
 13223 0024 036C                ldr     r3, [r0, #64]
 13224 0026 43F01003            orr     r3, r3, #16
 13225 002a 0364                str     r3, [r0, #64]
6799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13226                          .loc 1 6799 3 is_stmt 1 view .LVU4379
 13227 002c FFF7FEFF            bl      HAL_I2C_ErrorCallback
 13228                  .LVL689:
6801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13229                          .loc 1 6801 1 is_stmt 0 view .LVU4380
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 434


 13230 0030 08BD                pop     {r3, pc}
 13231                          .cfi_endproc
 13232                  .LFE134:
 13234                          .section        .text.I2C_DMAXferCplt,"ax",%progbits
 13235                          .align  1
 13236                          .syntax unified
 13237                          .thumb
 13238                          .thumb_func
 13239                          .fpu softvfp
 13241                  I2C_DMAXferCplt:
 13242                  .LVL690:
 13243                  .LFB133:
6649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
 13244                          .loc 1 6649 1 is_stmt 1 view -0
 13245                          .cfi_startproc
 13246                          @ args = 0, pretend = 0, frame = 0
 13247                          @ frame_needed = 0, uses_anonymous_args = 0
6649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
 13248                          .loc 1 6649 1 is_stmt 0 view .LVU4382
 13249 0000 38B5                push    {r3, r4, r5, lr}
 13250                  .LCFI149:
 13251                          .cfi_def_cfa_offset 16
 13252                          .cfi_offset 3, -16
 13253                          .cfi_offset 4, -12
 13254                          .cfi_offset 5, -8
 13255                          .cfi_offset 14, -4
6650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13256                          .loc 1 6650 3 is_stmt 1 view .LVU4383
6650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13257                          .loc 1 6650 22 is_stmt 0 view .LVU4384
 13258 0002 446A                ldr     r4, [r0, #36]
 13259                  .LVL691:
6653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef CurrentMode   = hi2c->Mode;
 13260                          .loc 1 6653 3 is_stmt 1 view .LVU4385
6653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef CurrentMode   = hi2c->Mode;
 13261                          .loc 1 6653 24 is_stmt 0 view .LVU4386
 13262 0004 94F83D30            ldrb    r3, [r4, #61]   @ zero_extendqisi2
 13263 0008 DBB2                uxtb    r3, r3
 13264                  .LVL692:
6654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
 13265                          .loc 1 6654 3 is_stmt 1 view .LVU4387
6654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
 13266                          .loc 1 6654 23 is_stmt 0 view .LVU4388
 13267 000a 94F83E20            ldrb    r2, [r4, #62]   @ zero_extendqisi2
 13268 000e D1B2                uxtb    r1, r2
 13269                  .LVL693:
6655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13270                          .loc 1 6655 3 is_stmt 1 view .LVU4389
6655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13271                          .loc 1 6655 12 is_stmt 0 view .LVU4390
 13272 0010 E56A                ldr     r5, [r4, #44]
 13273                  .LVL694:
6658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13274                          .loc 1 6658 3 is_stmt 1 view .LVU4391
 13275 0012 2068                ldr     r0, [r4]
 13276                  .LVL695:
6658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 435


 13277                          .loc 1 6658 3 is_stmt 0 view .LVU4392
 13278 0014 4268                ldr     r2, [r0, #4]
 13279 0016 22F44072            bic     r2, r2, #768
 13280 001a 4260                str     r2, [r0, #4]
6661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
 13281                          .loc 1 6661 3 is_stmt 1 view .LVU4393
6661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
 13282                          .loc 1 6661 7 is_stmt 0 view .LVU4394
 13283 001c 606B                ldr     r0, [r4, #52]
6661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
 13284                          .loc 1 6661 34 view .LVU4395
 13285 001e 0022                movs    r2, #0
 13286 0020 8262                str     r2, [r0, #40]
6662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13287                          .loc 1 6662 3 is_stmt 1 view .LVU4396
6662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13288                          .loc 1 6662 7 is_stmt 0 view .LVU4397
 13289 0022 A06B                ldr     r0, [r4, #56]
6662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13290                          .loc 1 6662 34 view .LVU4398
 13291 0024 8262                str     r2, [r0, #40]
6664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13292                          .loc 1 6664 3 is_stmt 1 view .LVU4399
6664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13293                          .loc 1 6664 6 is_stmt 0 view .LVU4400
 13294 0026 03F02102            and     r2, r3, #33
 13295 002a 212A                cmp     r2, #33
 13296 002c 41D0                beq     .L805
6664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13297                          .loc 1 6664 103 discriminator 1 view .LVU4401
 13298 002e 03F02202            and     r2, r3, #34
 13299 0032 222A                cmp     r2, #34
 13300 0034 3BD0                beq     .L816
 13301                  .L806:
6706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13302                          .loc 1 6706 8 is_stmt 1 view .LVU4402
6706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13303                          .loc 1 6706 16 is_stmt 0 view .LVU4403
 13304 0036 94F83E30            ldrb    r3, [r4, #62]   @ zero_extendqisi2
 13305                  .LVL696:
6706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13306                          .loc 1 6706 11 view .LVU4404
 13307 003a 002B                cmp     r3, #0
 13308 003c 49D0                beq     .L804
6708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13309                          .loc 1 6708 5 is_stmt 1 view .LVU4405
6708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13310                          .loc 1 6708 13 is_stmt 0 view .LVU4406
 13311 003e 638D                ldrh    r3, [r4, #42]
 13312 0040 9BB2                uxth    r3, r3
6708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13313                          .loc 1 6708 8 view .LVU4407
 13314 0042 012B                cmp     r3, #1
 13315 0044 58D0                beq     .L817
 13316                  .L810:
6715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13317                          .loc 1 6715 5 is_stmt 1 view .LVU4408
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 436


 13318 0046 2268                ldr     r2, [r4]
 13319 0048 5368                ldr     r3, [r2, #4]
 13320 004a 23F44073            bic     r3, r3, #768
 13321 004e 5360                str     r3, [r2, #4]
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13322                          .loc 1 6718 5 view .LVU4409
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13323                          .loc 1 6718 8 is_stmt 0 view .LVU4410
 13324 0050 15F5803F            cmn     r5, #65536
 13325 0054 06D0                beq     .L811
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13326                          .loc 1 6718 53 discriminator 1 view .LVU4411
 13327 0056 082D                cmp     r5, #8
 13328 0058 04D0                beq     .L811
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13329                          .loc 1 6718 105 discriminator 2 view .LVU4412
 13330 005a B5F12A4F            cmp     r5, #-1442840576
 13331 005e 01D0                beq     .L811
6718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13332                          .loc 1 6718 157 discriminator 3 view .LVU4413
 13333 0060 202D                cmp     r5, #32
 13334 0062 04D1                bne     .L812
 13335                  .L811:
6721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13336                          .loc 1 6721 7 is_stmt 1 view .LVU4414
 13337 0064 2268                ldr     r2, [r4]
 13338 0066 1368                ldr     r3, [r2]
 13339 0068 43F40073            orr     r3, r3, #512
 13340 006c 1360                str     r3, [r2]
 13341                  .L812:
6725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13342                          .loc 1 6725 5 view .LVU4415
 13343 006e 2268                ldr     r2, [r4]
 13344 0070 5368                ldr     r3, [r2, #4]
 13345 0072 23F48053            bic     r3, r3, #4096
 13346 0076 5360                str     r3, [r2, #4]
6728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13347                          .loc 1 6728 5 view .LVU4416
 13348 0078 2268                ldr     r2, [r4]
 13349 007a 5368                ldr     r3, [r2, #4]
 13350 007c 23F40063            bic     r3, r3, #2048
 13351 0080 5360                str     r3, [r2, #4]
6730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13352                          .loc 1 6730 5 view .LVU4417
6730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13353                          .loc 1 6730 21 is_stmt 0 view .LVU4418
 13354 0082 0023                movs    r3, #0
 13355 0084 6385                strh    r3, [r4, #42]   @ movhi
6733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13356                          .loc 1 6733 5 is_stmt 1 view .LVU4419
6733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13357                          .loc 1 6733 13 is_stmt 0 view .LVU4420
 13358 0086 236C                ldr     r3, [r4, #64]
6733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13359                          .loc 1 6733 8 view .LVU4421
 13360 0088 002B                cmp     r3, #0
 13361 008a 3BD1                bne     .L818
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 437


6743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13362                          .loc 1 6743 7 is_stmt 1 view .LVU4422
6743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13363                          .loc 1 6743 19 is_stmt 0 view .LVU4423
 13364 008c 2023                movs    r3, #32
 13365 008e 84F83D30            strb    r3, [r4, #61]
6745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13366                          .loc 1 6745 7 is_stmt 1 view .LVU4424
6745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13367                          .loc 1 6745 15 is_stmt 0 view .LVU4425
 13368 0092 94F83E30            ldrb    r3, [r4, #62]   @ zero_extendqisi2
 13369 0096 DBB2                uxtb    r3, r3
6745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13370                          .loc 1 6745 10 view .LVU4426
 13371 0098 402B                cmp     r3, #64
 13372 009a 37D0                beq     .L819
6758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 13373                          .loc 1 6758 9 is_stmt 1 view .LVU4427
6758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 13374                          .loc 1 6758 20 is_stmt 0 view .LVU4428
 13375 009c 0023                movs    r3, #0
 13376 009e 84F83E30            strb    r3, [r4, #62]
6759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13377                          .loc 1 6759 9 is_stmt 1 view .LVU4429
6759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13378                          .loc 1 6759 29 is_stmt 0 view .LVU4430
 13379 00a2 1223                movs    r3, #18
 13380 00a4 2363                str     r3, [r4, #48]
6764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13381                          .loc 1 6764 9 is_stmt 1 view .LVU4431
 13382 00a6 2046                mov     r0, r4
 13383 00a8 FFF7FEFF            bl      HAL_I2C_MasterRxCpltCallback
 13384                  .LVL697:
6772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 13385                          .loc 1 6772 3 view .LVU4432
6773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13386                          .loc 1 6773 1 is_stmt 0 view .LVU4433
 13387 00ac 11E0                b       .L804
 13388                  .LVL698:
 13389                  .L816:
6664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13390                          .loc 1 6664 203 discriminator 2 view .LVU4434
 13391 00ae 2029                cmp     r1, #32
 13392 00b0 C1D1                bne     .L806
 13393                  .L805:
6667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13394                          .loc 1 6667 5 is_stmt 1 view .LVU4435
 13395 00b2 2168                ldr     r1, [r4]
 13396                  .LVL699:
6667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13397                          .loc 1 6667 5 is_stmt 0 view .LVU4436
 13398 00b4 4A68                ldr     r2, [r1, #4]
 13399 00b6 22F40062            bic     r2, r2, #2048
 13400 00ba 4A60                str     r2, [r1, #4]
6669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13401                          .loc 1 6669 5 is_stmt 1 view .LVU4437
6669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 438


 13402                          .loc 1 6669 21 is_stmt 0 view .LVU4438
 13403 00bc 0022                movs    r2, #0
 13404 00be 6285                strh    r2, [r4, #42]   @ movhi
6671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13405                          .loc 1 6671 5 is_stmt 1 view .LVU4439
6671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13406                          .loc 1 6671 8 is_stmt 0 view .LVU4440
 13407 00c0 292B                cmp     r3, #41
 13408 00c2 07D0                beq     .L820
6684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13409                          .loc 1 6684 10 is_stmt 1 view .LVU4441
6684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13410                          .loc 1 6684 13 is_stmt 0 view .LVU4442
 13411 00c4 2A2B                cmp     r3, #42
 13412 00c6 0ED0                beq     .L821
 13413                  .LVL700:
 13414                  .L808:
6700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13415                          .loc 1 6700 5 is_stmt 1 view .LVU4443
6703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 13416                          .loc 1 6703 5 view .LVU4444
 13417 00c8 2268                ldr     r2, [r4]
 13418 00ca 5368                ldr     r3, [r2, #4]
 13419 00cc 43F44073            orr     r3, r3, #768
 13420 00d0 5360                str     r3, [r2, #4]
 13421                  .L804:
6773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13422                          .loc 1 6773 1 is_stmt 0 view .LVU4445
 13423 00d2 38BD                pop     {r3, r4, r5, pc}
 13424                  .LVL701:
 13425                  .L820:
6674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 13426                          .loc 1 6674 7 is_stmt 1 view .LVU4446
6674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 13427                          .loc 1 6674 27 is_stmt 0 view .LVU4447
 13428 00d4 2123                movs    r3, #33
 13429                  .LVL702:
6674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 13430                          .loc 1 6674 27 view .LVU4448
 13431 00d6 2363                str     r3, [r4, #48]
6675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13432                          .loc 1 6675 7 is_stmt 1 view .LVU4449
6675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13433                          .loc 1 6675 19 is_stmt 0 view .LVU4450
 13434 00d8 2823                movs    r3, #40
 13435 00da 84F83D30            strb    r3, [r4, #61]
6681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13436                          .loc 1 6681 7 is_stmt 1 view .LVU4451
 13437 00de 2046                mov     r0, r4
 13438 00e0 FFF7FEFF            bl      HAL_I2C_SlaveTxCpltCallback
 13439                  .LVL703:
 13440 00e4 F0E7                b       .L808
 13441                  .LVL704:
 13442                  .L821:
6687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 13443                          .loc 1 6687 7 view .LVU4452
6687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 439


 13444                          .loc 1 6687 27 is_stmt 0 view .LVU4453
 13445 00e6 2223                movs    r3, #34
 13446                  .LVL705:
6687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 13447                          .loc 1 6687 27 view .LVU4454
 13448 00e8 2363                str     r3, [r4, #48]
6688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13449                          .loc 1 6688 7 is_stmt 1 view .LVU4455
6688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13450                          .loc 1 6688 19 is_stmt 0 view .LVU4456
 13451 00ea 2823                movs    r3, #40
 13452 00ec 84F83D30            strb    r3, [r4, #61]
6694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13453                          .loc 1 6694 7 is_stmt 1 view .LVU4457
 13454 00f0 2046                mov     r0, r4
 13455 00f2 FFF7FEFF            bl      HAL_I2C_SlaveRxCpltCallback
 13456                  .LVL706:
 13457 00f6 E7E7                b       .L808
 13458                  .LVL707:
 13459                  .L817:
6711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13460                          .loc 1 6711 7 view .LVU4458
 13461 00f8 2268                ldr     r2, [r4]
 13462 00fa 1368                ldr     r3, [r2]
 13463 00fc 23F48063            bic     r3, r3, #1024
 13464 0100 1360                str     r3, [r2]
 13465 0102 A0E7                b       .L810
 13466                  .L818:
6738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13467                          .loc 1 6738 7 view .LVU4459
 13468 0104 2046                mov     r0, r4
 13469 0106 FFF7FEFF            bl      HAL_I2C_ErrorCallback
 13470                  .LVL708:
6738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13471                          .loc 1 6738 7 is_stmt 0 view .LVU4460
 13472 010a E2E7                b       .L804
 13473                  .LVL709:
 13474                  .L819:
6747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_NONE;
 13475                          .loc 1 6747 9 is_stmt 1 view .LVU4461
6747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->PreviousState = I2C_STATE_NONE;
 13476                          .loc 1 6747 20 is_stmt 0 view .LVU4462
 13477 010c 0023                movs    r3, #0
 13478 010e 84F83E30            strb    r3, [r4, #62]
6748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13479                          .loc 1 6748 9 is_stmt 1 view .LVU4463
6748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13480                          .loc 1 6748 29 is_stmt 0 view .LVU4464
 13481 0112 2363                str     r3, [r4, #48]
6753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13482                          .loc 1 6753 9 is_stmt 1 view .LVU4465
 13483 0114 2046                mov     r0, r4
 13484 0116 FFF7FEFF            bl      HAL_I2C_MemRxCpltCallback
 13485                  .LVL710:
6753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13486                          .loc 1 6753 9 is_stmt 0 view .LVU4466
 13487 011a DAE7                b       .L804
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 440


 13488                          .cfi_endproc
 13489                  .LFE133:
 13491                          .section        .text.HAL_I2C_AbortCpltCallback,"ax",%progbits
 13492                          .align  1
 13493                          .weak   HAL_I2C_AbortCpltCallback
 13494                          .syntax unified
 13495                          .thumb
 13496                          .thumb_func
 13497                          .fpu softvfp
 13499                  HAL_I2C_AbortCpltCallback:
 13500                  .LVL711:
 13501                  .LFB110:
5006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 13502                          .loc 1 5006 1 is_stmt 1 view -0
 13503                          .cfi_startproc
 13504                          @ args = 0, pretend = 0, frame = 0
 13505                          @ frame_needed = 0, uses_anonymous_args = 0
 13506                          @ link register save eliminated.
5008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13507                          .loc 1 5008 3 view .LVU4468
5013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13508                          .loc 1 5013 1 is_stmt 0 view .LVU4469
 13509 0000 7047                bx      lr
 13510                          .cfi_endproc
 13511                  .LFE110:
 13513                          .section        .text.I2C_DMAAbort,"ax",%progbits
 13514                          .align  1
 13515                          .syntax unified
 13516                          .thumb
 13517                          .thumb_func
 13518                          .fpu softvfp
 13520                  I2C_DMAAbort:
 13521                  .LVL712:
 13522                  .LFB135:
6810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
 13523                          .loc 1 6810 1 is_stmt 1 view -0
 13524                          .cfi_startproc
 13525                          @ args = 0, pretend = 0, frame = 0
 13526                          @ frame_needed = 0, uses_anonymous_args = 0
6810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation
 13527                          .loc 1 6810 1 is_stmt 0 view .LVU4471
 13528 0000 10B5                push    {r4, lr}
 13529                  .LCFI150:
 13530                          .cfi_def_cfa_offset 8
 13531                          .cfi_offset 4, -8
 13532                          .cfi_offset 14, -4
6811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13533                          .loc 1 6811 3 is_stmt 1 view .LVU4472
6811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13534                          .loc 1 6811 22 is_stmt 0 view .LVU4473
 13535 0002 406A                ldr     r0, [r0, #36]
 13536                  .LVL713:
6814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13537                          .loc 1 6814 3 is_stmt 1 view .LVU4474
6814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13538                          .loc 1 6814 24 is_stmt 0 view .LVU4475
 13539 0004 90F83D20            ldrb    r2, [r0, #61]   @ zero_extendqisi2
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 441


 13540                  .LVL714:
6817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
 13541                          .loc 1 6817 3 is_stmt 1 view .LVU4476
6817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
 13542                          .loc 1 6817 7 is_stmt 0 view .LVU4477
 13543 0008 416B                ldr     r1, [r0, #52]
6817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferCpltCallback = NULL;
 13544                          .loc 1 6817 34 view .LVU4478
 13545 000a 0023                movs    r3, #0
 13546 000c 8B62                str     r3, [r1, #40]
6818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13547                          .loc 1 6818 3 is_stmt 1 view .LVU4479
6818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13548                          .loc 1 6818 7 is_stmt 0 view .LVU4480
 13549 000e 816B                ldr     r1, [r0, #56]
6818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13550                          .loc 1 6818 34 view .LVU4481
 13551 0010 8B62                str     r3, [r1, #40]
6821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13552                          .loc 1 6821 3 is_stmt 1 view .LVU4482
 13553 0012 0468                ldr     r4, [r0]
 13554 0014 2168                ldr     r1, [r4]
 13555 0016 21F48061            bic     r1, r1, #1024
 13556 001a 2160                str     r1, [r4]
6823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13557                          .loc 1 6823 3 view .LVU4483
6823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13558                          .loc 1 6823 19 is_stmt 0 view .LVU4484
 13559 001c 4385                strh    r3, [r0, #42]   @ movhi
6826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferAbortCallback = NULL;
 13560                          .loc 1 6826 3 is_stmt 1 view .LVU4485
6826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferAbortCallback = NULL;
 13561                          .loc 1 6826 7 is_stmt 0 view .LVU4486
 13562 001e 416B                ldr     r1, [r0, #52]
6826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   hi2c->hdmarx->XferAbortCallback = NULL;
 13563                          .loc 1 6826 35 view .LVU4487
 13564 0020 4B63                str     r3, [r1, #52]
6827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13565                          .loc 1 6827 3 is_stmt 1 view .LVU4488
6827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13566                          .loc 1 6827 7 is_stmt 0 view .LVU4489
 13567 0022 816B                ldr     r1, [r0, #56]
6827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13568                          .loc 1 6827 35 view .LVU4490
 13569 0024 4B63                str     r3, [r1, #52]
6830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13570                          .loc 1 6830 3 is_stmt 1 view .LVU4491
 13571 0026 0168                ldr     r1, [r0]
 13572 0028 0B68                ldr     r3, [r1]
 13573 002a 23F00103            bic     r3, r3, #1
 13574 002e 0B60                str     r3, [r1]
6833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13575                          .loc 1 6833 3 view .LVU4492
6833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13576                          .loc 1 6833 11 is_stmt 0 view .LVU4493
 13577 0030 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 13578 0034 DBB2                uxtb    r3, r3
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 442


6833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13579                          .loc 1 6833 6 view .LVU4494
 13580 0036 602B                cmp     r3, #96
 13581 0038 0DD0                beq     .L829
 13582 003a D2B2                uxtb    r2, r2
6848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13583                          .loc 1 6848 5 is_stmt 1 view .LVU4495
6848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13584                          .loc 1 6848 8 is_stmt 0 view .LVU4496
 13585 003c 02F02802            and     r2, r2, #40
 13586                  .LVL715:
6848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13587                          .loc 1 6848 8 view .LVU4497
 13588 0040 282A                cmp     r2, #40
 13589 0042 12D0                beq     .L830
6862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
 13590                          .loc 1 6862 7 is_stmt 1 view .LVU4498
6862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
 13591                          .loc 1 6862 19 is_stmt 0 view .LVU4499
 13592 0044 2023                movs    r3, #32
 13593 0046 80F83D30            strb    r3, [r0, #61]
6863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13594                          .loc 1 6863 7 is_stmt 1 view .LVU4500
6863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13595                          .loc 1 6863 18 is_stmt 0 view .LVU4501
 13596 004a 0023                movs    r3, #0
 13597 004c 80F83E30            strb    r3, [r0, #62]
 13598                  .L827:
6870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13599                          .loc 1 6870 5 is_stmt 1 view .LVU4502
 13600 0050 FFF7FEFF            bl      HAL_I2C_ErrorCallback
 13601                  .LVL716:
 13602                  .L823:
6873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13603                          .loc 1 6873 1 is_stmt 0 view .LVU4503
 13604 0054 10BD                pop     {r4, pc}
 13605                  .LVL717:
 13606                  .L829:
6835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
 13607                          .loc 1 6835 5 is_stmt 1 view .LVU4504
6835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
 13608                          .loc 1 6835 25 is_stmt 0 view .LVU4505
 13609 0056 2023                movs    r3, #32
 13610 0058 80F83D30            strb    r3, [r0, #61]
6836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode     = HAL_I2C_ERROR_NONE;
 13611                          .loc 1 6836 5 is_stmt 1 view .LVU4506
6836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode     = HAL_I2C_ERROR_NONE;
 13612                          .loc 1 6836 25 is_stmt 0 view .LVU4507
 13613 005c 0023                movs    r3, #0
 13614 005e 80F83E30            strb    r3, [r0, #62]
6837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13615                          .loc 1 6837 5 is_stmt 1 view .LVU4508
6837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13616                          .loc 1 6837 25 is_stmt 0 view .LVU4509
 13617 0062 0364                str     r3, [r0, #64]
6843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13618                          .loc 1 6843 5 is_stmt 1 view .LVU4510
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 443


 13619 0064 FFF7FEFF            bl      HAL_I2C_AbortCpltCallback
 13620                  .LVL718:
6843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13621                          .loc 1 6843 5 is_stmt 0 view .LVU4511
 13622 0068 F4E7                b       .L823
 13623                  .LVL719:
 13624                  .L830:
6851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13625                          .loc 1 6851 7 is_stmt 1 view .LVU4512
 13626 006a 0268                ldr     r2, [r0]
 13627 006c 1368                ldr     r3, [r2]
 13628 006e 43F00103            orr     r3, r3, #1
 13629 0072 1360                str     r3, [r2]
6854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13630                          .loc 1 6854 7 view .LVU4513
 13631 0074 0268                ldr     r2, [r0]
 13632 0076 1368                ldr     r3, [r2]
 13633 0078 43F48063            orr     r3, r3, #1024
 13634 007c 1360                str     r3, [r2]
6857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 13635                          .loc 1 6857 7 view .LVU4514
6857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 13636                          .loc 1 6857 27 is_stmt 0 view .LVU4515
 13637 007e 0023                movs    r3, #0
 13638 0080 0363                str     r3, [r0, #48]
6858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13639                          .loc 1 6858 7 is_stmt 1 view .LVU4516
6858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13640                          .loc 1 6858 19 is_stmt 0 view .LVU4517
 13641 0082 2823                movs    r3, #40
 13642 0084 80F83D30            strb    r3, [r0, #61]
 13643 0088 E2E7                b       .L827
 13644                          .cfi_endproc
 13645                  .LFE135:
 13647                          .section        .text.I2C_ITError,"ax",%progbits
 13648                          .align  1
 13649                          .syntax unified
 13650                          .thumb
 13651                          .thumb_func
 13652                          .fpu softvfp
 13654                  I2C_ITError:
 13655                  .LVL720:
 13656                  .LFB128:
6159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
 13657                          .loc 1 6159 1 is_stmt 1 view -0
 13658                          .cfi_startproc
 13659                          @ args = 0, pretend = 0, frame = 0
 13660                          @ frame_needed = 0, uses_anonymous_args = 0
6159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
 13661                          .loc 1 6159 1 is_stmt 0 view .LVU4519
 13662 0000 10B5                push    {r4, lr}
 13663                  .LCFI151:
 13664                          .cfi_def_cfa_offset 8
 13665                          .cfi_offset 4, -8
 13666                          .cfi_offset 14, -4
 13667 0002 0446                mov     r4, r0
6161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 444


 13668                          .loc 1 6161 3 is_stmt 1 view .LVU4520
6161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13669                          .loc 1 6161 24 is_stmt 0 view .LVU4521
 13670 0004 90F83D30            ldrb    r3, [r0, #61]   @ zero_extendqisi2
 13671 0008 DBB2                uxtb    r3, r3
 13672                  .LVL721:
6163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13673                          .loc 1 6163 3 is_stmt 1 view .LVU4522
6163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13674                          .loc 1 6163 12 is_stmt 0 view .LVU4523
 13675 000a 90F83E20            ldrb    r2, [r0, #62]   @ zero_extendqisi2
 13676 000e D2B2                uxtb    r2, r2
6163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13677                          .loc 1 6163 6 view .LVU4524
 13678 0010 102A                cmp     r2, #16
 13679 0012 32D0                beq     .L845
 13680                  .L832:
6169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13681                          .loc 1 6169 3 is_stmt 1 view .LVU4525
6169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13682                          .loc 1 6169 6 is_stmt 0 view .LVU4526
 13683 0014 03F02802            and     r2, r3, #40
 13684 0018 282A                cmp     r2, #40
 13685 001a 36D0                beq     .L846
6179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13686                          .loc 1 6179 5 is_stmt 1 view .LVU4527
6179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13687                          .loc 1 6179 10 is_stmt 0 view .LVU4528
 13688 001c 2268                ldr     r2, [r4]
 13689 001e 5268                ldr     r2, [r2, #4]
6179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13690                          .loc 1 6179 8 view .LVU4529
 13691 0020 12F4006F            tst     r2, #2048
 13692 0024 04D1                bne     .L835
6179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13693                          .loc 1 6179 73 discriminator 1 view .LVU4530
 13694 0026 602B                cmp     r3, #96
 13695 0028 02D0                beq     .L835
6181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13696                          .loc 1 6181 7 is_stmt 1 view .LVU4531
6181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13697                          .loc 1 6181 19 is_stmt 0 view .LVU4532
 13698 002a 2023                movs    r3, #32
 13699                  .LVL722:
6181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13700                          .loc 1 6181 19 view .LVU4533
 13701 002c 84F83D30            strb    r3, [r4, #61]
 13702                  .L835:
6183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 13703                          .loc 1 6183 5 is_stmt 1 view .LVU4534
6183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 13704                          .loc 1 6183 25 is_stmt 0 view .LVU4535
 13705 0030 0023                movs    r3, #0
 13706 0032 2363                str     r3, [r4, #48]
6184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 13707                          .loc 1 6184 5 is_stmt 1 view .LVU4536
6184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 445


 13708                          .loc 1 6184 16 is_stmt 0 view .LVU4537
 13709 0034 84F83E30            strb    r3, [r4, #62]
 13710                  .L834:
6188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13711                          .loc 1 6188 3 is_stmt 1 view .LVU4538
6188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13712                          .loc 1 6188 7 is_stmt 0 view .LVU4539
 13713 0038 2368                ldr     r3, [r4]
 13714 003a 5A68                ldr     r2, [r3, #4]
6188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13715                          .loc 1 6188 6 view .LVU4540
 13716 003c 12F4006F            tst     r2, #2048
 13717 0040 47D0                beq     .L836
6190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13718                          .loc 1 6190 5 is_stmt 1 view .LVU4541
6190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13719                          .loc 1 6190 25 is_stmt 0 view .LVU4542
 13720 0042 5A68                ldr     r2, [r3, #4]
 13721 0044 22F40062            bic     r2, r2, #2048
 13722 0048 5A60                str     r2, [r3, #4]
6192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13723                          .loc 1 6192 5 is_stmt 1 view .LVU4543
6192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13724                          .loc 1 6192 13 is_stmt 0 view .LVU4544
 13725 004a 636B                ldr     r3, [r4, #52]
6192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13726                          .loc 1 6192 21 view .LVU4545
 13727 004c 93F82120            ldrb    r2, [r3, #33]   @ zero_extendqisi2
6192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13728                          .loc 1 6192 8 view .LVU4546
 13729 0050 012A                cmp     r2, #1
 13730 0052 20D0                beq     .L837
6196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13731                          .loc 1 6196 7 is_stmt 1 view .LVU4547
6196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13732                          .loc 1 6196 39 is_stmt 0 view .LVU4548
 13733 0054 424A                ldr     r2, .L849
 13734 0056 5A63                str     r2, [r3, #52]
6198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13735                          .loc 1 6198 7 is_stmt 1 view .LVU4549
6198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13736                          .loc 1 6198 11 is_stmt 0 view .LVU4550
 13737 0058 606B                ldr     r0, [r4, #52]
 13738                  .LVL723:
6198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13739                          .loc 1 6198 11 view .LVU4551
 13740 005a FFF7FEFF            bl      HAL_DMA_Abort_IT
 13741                  .LVL724:
6198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13742                          .loc 1 6198 10 view .LVU4552
 13743 005e 0028                cmp     r0, #0
 13744 0060 49D0                beq     .L838
6201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13745                          .loc 1 6201 9 is_stmt 1 view .LVU4553
 13746 0062 2268                ldr     r2, [r4]
 13747 0064 1368                ldr     r3, [r2]
 13748 0066 23F00103            bic     r3, r3, #1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 446


 13749 006a 1360                str     r3, [r2]
6203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13750                          .loc 1 6203 9 view .LVU4554
6203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13751                          .loc 1 6203 21 is_stmt 0 view .LVU4555
 13752 006c 2023                movs    r3, #32
 13753 006e 84F83D30            strb    r3, [r4, #61]
6206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 13754                          .loc 1 6206 9 is_stmt 1 view .LVU4556
6206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 13755                          .loc 1 6206 13 is_stmt 0 view .LVU4557
 13756 0072 606B                ldr     r0, [r4, #52]
6206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 13757                          .loc 1 6206 21 view .LVU4558
 13758 0074 436B                ldr     r3, [r0, #52]
6206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 13759                          .loc 1 6206 9 view .LVU4559
 13760 0076 9847                blx     r3
 13761                  .LVL725:
 13762 0078 3DE0                b       .L838
 13763                  .LVL726:
 13764                  .L845:
6163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13765                          .loc 1 6163 43 discriminator 1 view .LVU4560
 13766 007a 222B                cmp     r3, #34
 13767 007c CAD1                bne     .L832
6166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 13768                          .loc 1 6166 5 is_stmt 1 view .LVU4561
6166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 13769                          .loc 1 6166 9 is_stmt 0 view .LVU4562
 13770 007e 0168                ldr     r1, [r0]
6166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 13771                          .loc 1 6166 25 view .LVU4563
 13772 0080 0A68                ldr     r2, [r1]
 13773 0082 22F40062            bic     r2, r2, #2048
 13774 0086 0A60                str     r2, [r1]
 13775 0088 C4E7                b       .L832
 13776                  .L846:
6172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_LISTEN;
 13777                          .loc 1 6172 5 is_stmt 1 view .LVU4564
6172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_LISTEN;
 13778                          .loc 1 6172 25 is_stmt 0 view .LVU4565
 13779 008a 0023                movs    r3, #0
 13780                  .LVL727:
6172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_LISTEN;
 13781                          .loc 1 6172 25 view .LVU4566
 13782 008c 2363                str     r3, [r4, #48]
6173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 13783                          .loc 1 6173 5 is_stmt 1 view .LVU4567
6173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 13784                          .loc 1 6173 17 is_stmt 0 view .LVU4568
 13785 008e 2823                movs    r3, #40
 13786 0090 84F83D30            strb    r3, [r4, #61]
 13787 0094 D0E7                b       .L834
 13788                  .L837:
6213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13789                          .loc 1 6213 7 is_stmt 1 view .LVU4569
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 447


6213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13790                          .loc 1 6213 11 is_stmt 0 view .LVU4570
 13791 0096 A36B                ldr     r3, [r4, #56]
6213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13792                          .loc 1 6213 39 view .LVU4571
 13793 0098 314A                ldr     r2, .L849
 13794 009a 5A63                str     r2, [r3, #52]
6215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13795                          .loc 1 6215 7 is_stmt 1 view .LVU4572
6215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13796                          .loc 1 6215 11 is_stmt 0 view .LVU4573
 13797 009c A06B                ldr     r0, [r4, #56]
 13798                  .LVL728:
6215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13799                          .loc 1 6215 11 view .LVU4574
 13800 009e FFF7FEFF            bl      HAL_DMA_Abort_IT
 13801                  .LVL729:
6215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 13802                          .loc 1 6215 10 view .LVU4575
 13803 00a2 40B3                cbz     r0, .L838
6218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 13804                          .loc 1 6218 9 is_stmt 1 view .LVU4576
6218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 13805                          .loc 1 6218 13 is_stmt 0 view .LVU4577
 13806 00a4 2368                ldr     r3, [r4]
 13807 00a6 5A69                ldr     r2, [r3, #20]
6218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 13808                          .loc 1 6218 12 view .LVU4578
 13809 00a8 12F0400F            tst     r2, #64
 13810 00ac 05D0                beq     .L839
6221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13811                          .loc 1 6221 11 is_stmt 1 view .LVU4579
6221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13812                          .loc 1 6221 52 is_stmt 0 view .LVU4580
 13813 00ae 1A69                ldr     r2, [r3, #16]
6221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13814                          .loc 1 6221 16 view .LVU4581
 13815 00b0 636A                ldr     r3, [r4, #36]
6221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13816                          .loc 1 6221 27 view .LVU4582
 13817 00b2 1A70                strb    r2, [r3]
6224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 13818                          .loc 1 6224 11 is_stmt 1 view .LVU4583
6224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 13819                          .loc 1 6224 15 is_stmt 0 view .LVU4584
 13820 00b4 636A                ldr     r3, [r4, #36]
6224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 13821                          .loc 1 6224 25 view .LVU4585
 13822 00b6 0133                adds    r3, r3, #1
 13823 00b8 6362                str     r3, [r4, #36]
 13824                  .L839:
6228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13825                          .loc 1 6228 9 is_stmt 1 view .LVU4586
 13826 00ba 2268                ldr     r2, [r4]
 13827 00bc 1368                ldr     r3, [r2]
 13828 00be 23F00103            bic     r3, r3, #1
 13829 00c2 1360                str     r3, [r2]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 448


6230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13830                          .loc 1 6230 9 view .LVU4587
6230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13831                          .loc 1 6230 21 is_stmt 0 view .LVU4588
 13832 00c4 2023                movs    r3, #32
 13833 00c6 84F83D30            strb    r3, [r4, #61]
6233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 13834                          .loc 1 6233 9 is_stmt 1 view .LVU4589
6233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 13835                          .loc 1 6233 13 is_stmt 0 view .LVU4590
 13836 00ca A06B                ldr     r0, [r4, #56]
6233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 13837                          .loc 1 6233 21 view .LVU4591
 13838 00cc 436B                ldr     r3, [r0, #52]
6233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 13839                          .loc 1 6233 9 view .LVU4592
 13840 00ce 9847                blx     r3
 13841                  .LVL730:
 13842 00d0 11E0                b       .L838
 13843                  .LVL731:
 13844                  .L836:
6237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13845                          .loc 1 6237 8 is_stmt 1 view .LVU4593
6237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13846                          .loc 1 6237 16 is_stmt 0 view .LVU4594
 13847 00d2 94F83D20            ldrb    r2, [r4, #61]   @ zero_extendqisi2
 13848 00d6 D2B2                uxtb    r2, r2
6237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13849                          .loc 1 6237 11 view .LVU4595
 13850 00d8 602A                cmp     r2, #96
 13851 00da 16D0                beq     .L847
6265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13852                          .loc 1 6265 5 is_stmt 1 view .LVU4596
6265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13853                          .loc 1 6265 9 is_stmt 0 view .LVU4597
 13854 00dc 5A69                ldr     r2, [r3, #20]
6265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13855                          .loc 1 6265 8 view .LVU4598
 13856 00de 12F0400F            tst     r2, #64
 13857 00e2 05D0                beq     .L842
6268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13858                          .loc 1 6268 7 is_stmt 1 view .LVU4599
6268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13859                          .loc 1 6268 48 is_stmt 0 view .LVU4600
 13860 00e4 1A69                ldr     r2, [r3, #16]
6268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13861                          .loc 1 6268 12 view .LVU4601
 13862 00e6 636A                ldr     r3, [r4, #36]
6268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13863                          .loc 1 6268 23 view .LVU4602
 13864 00e8 1A70                strb    r2, [r3]
6271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13865                          .loc 1 6271 7 is_stmt 1 view .LVU4603
6271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13866                          .loc 1 6271 11 is_stmt 0 view .LVU4604
 13867 00ea 636A                ldr     r3, [r4, #36]
6271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 449


 13868                          .loc 1 6271 21 view .LVU4605
 13869 00ec 0133                adds    r3, r3, #1
 13870 00ee 6362                str     r3, [r4, #36]
 13871                  .L842:
6278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13872                          .loc 1 6278 5 is_stmt 1 view .LVU4606
 13873 00f0 2046                mov     r0, r4
 13874                  .LVL732:
6278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13875                          .loc 1 6278 5 is_stmt 0 view .LVU4607
 13876 00f2 FFF7FEFF            bl      HAL_I2C_ErrorCallback
 13877                  .LVL733:
 13878                  .L838:
6284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (((hi2c->ErrorCode & HAL_I2C_ERROR_AF) == HAL_I2C_ERROR_AF) && (CurrentState == HAL_I2C_STATE_
 13879                          .loc 1 6284 3 is_stmt 1 view .LVU4608
6284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   if (((hi2c->ErrorCode & HAL_I2C_ERROR_AF) == HAL_I2C_ERROR_AF) && (CurrentState == HAL_I2C_STATE_
 13880                          .loc 1 6284 16 is_stmt 0 view .LVU4609
 13881 00f6 94F83D30            ldrb    r3, [r4, #61]   @ zero_extendqisi2
 13882 00fa DBB2                uxtb    r3, r3
 13883                  .LVL734:
6285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13884                          .loc 1 6285 3 is_stmt 1 view .LVU4610
6285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13885                          .loc 1 6285 13 is_stmt 0 view .LVU4611
 13886 00fc 226C                ldr     r2, [r4, #64]
6285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13887                          .loc 1 6285 6 view .LVU4612
 13888 00fe 12F0040F            tst     r2, #4
 13889 0102 01D0                beq     .L831
6285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13890                          .loc 1 6285 66 discriminator 1 view .LVU4613
 13891 0104 282B                cmp     r3, #40
 13892 0106 18D0                beq     .L848
 13893                  .LVL735:
 13894                  .L831:
6302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13895                          .loc 1 6302 1 view .LVU4614
 13896 0108 10BD                pop     {r4, pc}
 13897                  .LVL736:
 13898                  .L847:
6239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 13899                          .loc 1 6239 5 is_stmt 1 view .LVU4615
6239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 13900                          .loc 1 6239 17 is_stmt 0 view .LVU4616
 13901 010a 2022                movs    r2, #32
 13902 010c 84F83D20            strb    r2, [r4, #61]
6240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13903                          .loc 1 6240 5 is_stmt 1 view .LVU4617
6240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13904                          .loc 1 6240 21 is_stmt 0 view .LVU4618
 13905 0110 0022                movs    r2, #0
 13906 0112 2264                str     r2, [r4, #64]
6243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13907                          .loc 1 6243 5 is_stmt 1 view .LVU4619
6243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13908                          .loc 1 6243 9 is_stmt 0 view .LVU4620
 13909 0114 5A69                ldr     r2, [r3, #20]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 450


6243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 13910                          .loc 1 6243 8 view .LVU4621
 13911 0116 12F0400F            tst     r2, #64
 13912 011a 05D0                beq     .L841
6246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13913                          .loc 1 6246 7 is_stmt 1 view .LVU4622
6246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13914                          .loc 1 6246 48 is_stmt 0 view .LVU4623
 13915 011c 1A69                ldr     r2, [r3, #16]
6246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13916                          .loc 1 6246 12 view .LVU4624
 13917 011e 636A                ldr     r3, [r4, #36]
6246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13918                          .loc 1 6246 23 view .LVU4625
 13919 0120 1A70                strb    r2, [r3]
6249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13920                          .loc 1 6249 7 is_stmt 1 view .LVU4626
6249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13921                          .loc 1 6249 11 is_stmt 0 view .LVU4627
 13922 0122 636A                ldr     r3, [r4, #36]
6249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 13923                          .loc 1 6249 21 view .LVU4628
 13924 0124 0133                adds    r3, r3, #1
 13925 0126 6362                str     r3, [r4, #36]
 13926                  .L841:
6253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13927                          .loc 1 6253 5 is_stmt 1 view .LVU4629
 13928 0128 2268                ldr     r2, [r4]
 13929 012a 1368                ldr     r3, [r2]
 13930 012c 23F00103            bic     r3, r3, #1
 13931 0130 1360                str     r3, [r2]
6259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13932                          .loc 1 6259 5 view .LVU4630
 13933 0132 2046                mov     r0, r4
 13934                  .LVL737:
6259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13935                          .loc 1 6259 5 is_stmt 0 view .LVU4631
 13936 0134 FFF7FEFF            bl      HAL_I2C_AbortCpltCallback
 13937                  .LVL738:
 13938 0138 DDE7                b       .L838
 13939                  .LVL739:
 13940                  .L848:
6288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13941                          .loc 1 6288 5 is_stmt 1 view .LVU4632
 13942 013a 2268                ldr     r2, [r4]
 13943 013c 5368                ldr     r3, [r2, #4]
 13944                  .LVL740:
6288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13945                          .loc 1 6288 5 is_stmt 0 view .LVU4633
 13946 013e 23F4E063            bic     r3, r3, #1792
 13947 0142 5360                str     r3, [r2, #4]
6290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 13948                          .loc 1 6290 5 is_stmt 1 view .LVU4634
6290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 13949                          .loc 1 6290 25 is_stmt 0 view .LVU4635
 13950 0144 074B                ldr     r3, .L849+4
 13951 0146 E362                str     r3, [r4, #44]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 451


6291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
 13952                          .loc 1 6291 5 is_stmt 1 view .LVU4636
6291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
 13953                          .loc 1 6291 25 is_stmt 0 view .LVU4637
 13954 0148 0023                movs    r3, #0
 13955 014a 2363                str     r3, [r4, #48]
6292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
 13956                          .loc 1 6292 5 is_stmt 1 view .LVU4638
6292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->Mode          = HAL_I2C_MODE_NONE;
 13957                          .loc 1 6292 25 is_stmt 0 view .LVU4639
 13958 014c 2022                movs    r2, #32
 13959 014e 84F83D20            strb    r2, [r4, #61]
6293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13960                          .loc 1 6293 5 is_stmt 1 view .LVU4640
6293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13961                          .loc 1 6293 25 is_stmt 0 view .LVU4641
 13962 0152 84F83E30            strb    r3, [r4, #62]
6299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 13963                          .loc 1 6299 5 is_stmt 1 view .LVU4642
 13964 0156 2046                mov     r0, r4
 13965 0158 FFF7FEFF            bl      HAL_I2C_ListenCpltCallback
 13966                  .LVL741:
6302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13967                          .loc 1 6302 1 is_stmt 0 view .LVU4643
 13968 015c D4E7                b       .L831
 13969                  .L850:
 13970 015e 00BF                .align  2
 13971                  .L849:
 13972 0160 00000000            .word   I2C_DMAAbort
 13973 0164 0000FFFF            .word   -65536
 13974                          .cfi_endproc
 13975                  .LFE128:
 13977                          .section        .text.HAL_I2C_Master_Abort_IT,"ax",%progbits
 13978                          .align  1
 13979                          .global HAL_I2C_Master_Abort_IT
 13980                          .syntax unified
 13981                          .thumb
 13982                          .thumb_func
 13983                          .fpu softvfp
 13985                  HAL_I2C_Master_Abort_IT:
 13986                  .LVL742:
 13987                  .LFB98:
4563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 13988                          .loc 1 4563 1 is_stmt 1 view -0
 13989                          .cfi_startproc
 13990                          @ args = 0, pretend = 0, frame = 0
 13991                          @ frame_needed = 0, uses_anonymous_args = 0
4565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 13992                          .loc 1 4565 3 view .LVU4645
4568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13993                          .loc 1 4568 3 view .LVU4646
4568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13994                          .loc 1 4568 11 is_stmt 0 view .LVU4647
 13995 0000 90F83E30            ldrb    r3, [r0, #62]   @ zero_extendqisi2
 13996 0004 DBB2                uxtb    r3, r3
4568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 13997                          .loc 1 4568 6 view .LVU4648
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 452


 13998 0006 102B                cmp     r3, #16
 13999 0008 22D1                bne     .L853
4571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14000                          .loc 1 4571 5 is_stmt 1 view .LVU4649
4571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14001                          .loc 1 4571 5 view .LVU4650
 14002 000a 90F83C30            ldrb    r3, [r0, #60]   @ zero_extendqisi2
 14003 000e 012B                cmp     r3, #1
 14004 0010 20D0                beq     .L854
4563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 14005                          .loc 1 4563 1 is_stmt 0 discriminator 2 view .LVU4651
 14006 0012 10B5                push    {r4, lr}
 14007                  .LCFI152:
 14008                          .cfi_def_cfa_offset 8
 14009                          .cfi_offset 4, -8
 14010                          .cfi_offset 14, -4
4571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14011                          .loc 1 4571 5 is_stmt 1 discriminator 2 view .LVU4652
 14012 0014 0123                movs    r3, #1
 14013 0016 80F83C30            strb    r3, [r0, #60]
4573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_ABORT;
 14014                          .loc 1 4573 5 discriminator 2 view .LVU4653
4573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_ABORT;
 14015                          .loc 1 4573 25 is_stmt 0 discriminator 2 view .LVU4654
 14016 001a 0024                movs    r4, #0
 14017 001c 0463                str     r4, [r0, #48]
4574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14018                          .loc 1 4574 5 is_stmt 1 discriminator 2 view .LVU4655
4574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14019                          .loc 1 4574 17 is_stmt 0 discriminator 2 view .LVU4656
 14020 001e 6023                movs    r3, #96
 14021 0020 80F83D30            strb    r3, [r0, #61]
4577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14022                          .loc 1 4577 5 is_stmt 1 discriminator 2 view .LVU4657
 14023 0024 0268                ldr     r2, [r0]
 14024 0026 1368                ldr     r3, [r2]
 14025 0028 23F48063            bic     r3, r3, #1024
 14026 002c 1360                str     r3, [r2]
4580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14027                          .loc 1 4580 5 discriminator 2 view .LVU4658
 14028 002e 0268                ldr     r2, [r0]
 14029 0030 1368                ldr     r3, [r2]
 14030 0032 43F40073            orr     r3, r3, #512
 14031 0036 1360                str     r3, [r2]
4582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14032                          .loc 1 4582 5 discriminator 2 view .LVU4659
4582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14033                          .loc 1 4582 21 is_stmt 0 discriminator 2 view .LVU4660
 14034 0038 4485                strh    r4, [r0, #42]   @ movhi
4585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14035                          .loc 1 4585 5 is_stmt 1 discriminator 2 view .LVU4661
 14036 003a 0268                ldr     r2, [r0]
 14037 003c 5368                ldr     r3, [r2, #4]
 14038 003e 23F4E063            bic     r3, r3, #1792
 14039 0042 5360                str     r3, [r2, #4]
4588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14040                          .loc 1 4588 5 discriminator 2 view .LVU4662
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 453


4588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14041                          .loc 1 4588 5 discriminator 2 view .LVU4663
 14042 0044 80F83C40            strb    r4, [r0, #60]
4591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14043                          .loc 1 4591 5 discriminator 2 view .LVU4664
 14044 0048 FFF7FEFF            bl      I2C_ITError
 14045                  .LVL743:
4593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 14046                          .loc 1 4593 5 discriminator 2 view .LVU4665
4593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 14047                          .loc 1 4593 12 is_stmt 0 discriminator 2 view .LVU4666
 14048 004c 2046                mov     r0, r4
4601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14049                          .loc 1 4601 1 discriminator 2 view .LVU4667
 14050 004e 10BD                pop     {r4, pc}
 14051                  .LVL744:
 14052                  .L853:
 14053                  .LCFI153:
 14054                          .cfi_def_cfa_offset 0
 14055                          .cfi_restore 4
 14056                          .cfi_restore 14
4599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 14057                          .loc 1 4599 12 view .LVU4668
 14058 0050 0120                movs    r0, #1
 14059                  .LVL745:
4599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 14060                          .loc 1 4599 12 view .LVU4669
 14061 0052 7047                bx      lr
 14062                  .LVL746:
 14063                  .L854:
4571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14064                          .loc 1 4571 5 view .LVU4670
 14065 0054 0220                movs    r0, #2
 14066                  .LVL747:
4601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14067                          .loc 1 4601 1 view .LVU4671
 14068 0056 7047                bx      lr
 14069                          .cfi_endproc
 14070                  .LFE98:
 14072                          .section        .text.I2C_Slave_STOPF,"ax",%progbits
 14073                          .align  1
 14074                          .syntax unified
 14075                          .thumb
 14076                          .thumb_func
 14077                          .fpu softvfp
 14079                  I2C_Slave_STOPF:
 14080                  .LVL748:
 14081                  .LFB126:
5924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
 14082                          .loc 1 5924 1 is_stmt 1 view -0
 14083                          .cfi_startproc
 14084                          @ args = 0, pretend = 0, frame = 8
 14085                          @ frame_needed = 0, uses_anonymous_args = 0
5924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Declaration of temporary variable to prevent undefined behavior of volatile usage */
 14086                          .loc 1 5924 1 is_stmt 0 view .LVU4673
 14087 0000 30B5                push    {r4, r5, lr}
 14088                  .LCFI154:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 454


 14089                          .cfi_def_cfa_offset 12
 14090                          .cfi_offset 4, -12
 14091                          .cfi_offset 5, -8
 14092                          .cfi_offset 14, -4
 14093 0002 83B0                sub     sp, sp, #12
 14094                  .LCFI155:
 14095                          .cfi_def_cfa_offset 24
 14096 0004 0446                mov     r4, r0
5926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14097                          .loc 1 5926 3 is_stmt 1 view .LVU4674
5926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14098                          .loc 1 5926 24 is_stmt 0 view .LVU4675
 14099 0006 90F83D50            ldrb    r5, [r0, #61]   @ zero_extendqisi2
 14100 000a EDB2                uxtb    r5, r5
 14101                  .LVL749:
5929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14102                          .loc 1 5929 3 is_stmt 1 view .LVU4676
 14103 000c 0268                ldr     r2, [r0]
 14104 000e 5368                ldr     r3, [r2, #4]
 14105 0010 23F4E063            bic     r3, r3, #1792
 14106 0014 5360                str     r3, [r2, #4]
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14107                          .loc 1 5932 3 view .LVU4677
 14108                  .LBB111:
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14109                          .loc 1 5932 3 view .LVU4678
 14110 0016 0023                movs    r3, #0
 14111 0018 0193                str     r3, [sp, #4]
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14112                          .loc 1 5932 3 view .LVU4679
 14113 001a 0368                ldr     r3, [r0]
 14114 001c 5A69                ldr     r2, [r3, #20]
 14115 001e 0192                str     r2, [sp, #4]
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14116                          .loc 1 5932 3 view .LVU4680
 14117 0020 1A68                ldr     r2, [r3]
 14118 0022 42F00102            orr     r2, r2, #1
 14119 0026 1A60                str     r2, [r3]
5932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14120                          .loc 1 5932 3 view .LVU4681
 14121 0028 019B                ldr     r3, [sp, #4]
 14122                  .LBE111:
5935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14123                          .loc 1 5935 3 view .LVU4682
 14124 002a 0268                ldr     r2, [r0]
 14125 002c 1368                ldr     r3, [r2]
 14126 002e 23F48063            bic     r3, r3, #1024
 14127 0032 1360                str     r3, [r2]
5938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14128                          .loc 1 5938 3 view .LVU4683
5938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14129                          .loc 1 5938 12 is_stmt 0 view .LVU4684
 14130 0034 0368                ldr     r3, [r0]
5938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14131                          .loc 1 5938 22 view .LVU4685
 14132 0036 5A68                ldr     r2, [r3, #4]
5938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 455


 14133                          .loc 1 5938 6 view .LVU4686
 14134 0038 12F4006F            tst     r2, #2048
 14135 003c 38D0                beq     .L860
5940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14136                          .loc 1 5940 5 is_stmt 1 view .LVU4687
5940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14137                          .loc 1 5940 8 is_stmt 0 view .LVU4688
 14138 003e 222D                cmp     r5, #34
 14139 0040 21D0                beq     .L861
5940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14140                          .loc 1 5940 49 discriminator 1 view .LVU4689
 14141 0042 2A2D                cmp     r5, #42
 14142 0044 1FD0                beq     .L861
5970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14143                          .loc 1 5970 7 is_stmt 1 view .LVU4690
5970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14144                          .loc 1 5970 36 is_stmt 0 view .LVU4691
 14145 0046 426B                ldr     r2, [r0, #52]
 14146 0048 1268                ldr     r2, [r2]
 14147 004a 5268                ldr     r2, [r2, #4]
5970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14148                          .loc 1 5970 25 view .LVU4692
 14149 004c 92B2                uxth    r2, r2
5970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14150                          .loc 1 5970 23 view .LVU4693
 14151 004e 4285                strh    r2, [r0, #42]   @ movhi
5972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14152                          .loc 1 5972 7 is_stmt 1 view .LVU4694
5972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14153                          .loc 1 5972 15 is_stmt 0 view .LVU4695
 14154 0050 428D                ldrh    r2, [r0, #42]
 14155 0052 92B2                uxth    r2, r2
5972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14156                          .loc 1 5972 10 view .LVU4696
 14157 0054 1AB1                cbz     r2, .L864
5975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14158                          .loc 1 5975 9 is_stmt 1 view .LVU4697
5975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14159                          .loc 1 5975 25 is_stmt 0 view .LVU4698
 14160 0056 026C                ldr     r2, [r0, #64]
 14161 0058 42F00402            orr     r2, r2, #4
 14162 005c 0264                str     r2, [r0, #64]
 14163                  .L864:
5979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14164                          .loc 1 5979 7 is_stmt 1 view .LVU4699
 14165 005e 5A68                ldr     r2, [r3, #4]
 14166 0060 22F40062            bic     r2, r2, #2048
 14167 0064 5A60                str     r2, [r3, #4]
5982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14168                          .loc 1 5982 7 view .LVU4700
5982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14169                          .loc 1 5982 11 is_stmt 0 view .LVU4701
 14170 0066 606B                ldr     r0, [r4, #52]
 14171                  .LVL750:
5982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14172                          .loc 1 5982 11 view .LVU4702
 14173 0068 FFF7FEFF            bl      HAL_DMA_GetState
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 456


 14174                  .LVL751:
5982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14175                          .loc 1 5982 10 view .LVU4703
 14176 006c 0128                cmp     r0, #1
 14177 006e 1FD0                beq     .L860
5986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14178                          .loc 1 5986 9 is_stmt 1 view .LVU4704
5986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14179                          .loc 1 5986 13 is_stmt 0 view .LVU4705
 14180 0070 636B                ldr     r3, [r4, #52]
5986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14181                          .loc 1 5986 41 view .LVU4706
 14182 0072 434A                ldr     r2, .L878
 14183 0074 5A63                str     r2, [r3, #52]
5989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14184                          .loc 1 5989 9 is_stmt 1 view .LVU4707
5989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14185                          .loc 1 5989 13 is_stmt 0 view .LVU4708
 14186 0076 606B                ldr     r0, [r4, #52]
 14187 0078 FFF7FEFF            bl      HAL_DMA_Abort_IT
 14188                  .LVL752:
5989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14189                          .loc 1 5989 12 view .LVU4709
 14190 007c C0B1                cbz     r0, .L860
5992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14191                          .loc 1 5992 11 is_stmt 1 view .LVU4710
5992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14192                          .loc 1 5992 15 is_stmt 0 view .LVU4711
 14193 007e 606B                ldr     r0, [r4, #52]
5992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14194                          .loc 1 5992 23 view .LVU4712
 14195 0080 436B                ldr     r3, [r0, #52]
5992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14196                          .loc 1 5992 11 view .LVU4713
 14197 0082 9847                blx     r3
 14198                  .LVL753:
 14199 0084 14E0                b       .L860
 14200                  .LVL754:
 14201                  .L861:
5942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14202                          .loc 1 5942 7 is_stmt 1 view .LVU4714
5942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14203                          .loc 1 5942 36 is_stmt 0 view .LVU4715
 14204 0086 A26B                ldr     r2, [r4, #56]
 14205 0088 1268                ldr     r2, [r2]
 14206 008a 5268                ldr     r2, [r2, #4]
5942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14207                          .loc 1 5942 25 view .LVU4716
 14208 008c 92B2                uxth    r2, r2
5942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14209                          .loc 1 5942 23 view .LVU4717
 14210 008e 6285                strh    r2, [r4, #42]   @ movhi
5944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14211                          .loc 1 5944 7 is_stmt 1 view .LVU4718
5944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14212                          .loc 1 5944 15 is_stmt 0 view .LVU4719
 14213 0090 628D                ldrh    r2, [r4, #42]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 457


 14214 0092 92B2                uxth    r2, r2
5944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14215                          .loc 1 5944 10 view .LVU4720
 14216 0094 1AB1                cbz     r2, .L863
5947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14217                          .loc 1 5947 9 is_stmt 1 view .LVU4721
5947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14218                          .loc 1 5947 25 is_stmt 0 view .LVU4722
 14219 0096 226C                ldr     r2, [r4, #64]
 14220 0098 42F00402            orr     r2, r2, #4
 14221 009c 2264                str     r2, [r4, #64]
 14222                  .L863:
5951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14223                          .loc 1 5951 7 is_stmt 1 view .LVU4723
 14224 009e 5A68                ldr     r2, [r3, #4]
 14225 00a0 22F40062            bic     r2, r2, #2048
 14226 00a4 5A60                str     r2, [r3, #4]
5954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14227                          .loc 1 5954 7 view .LVU4724
5954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14228                          .loc 1 5954 11 is_stmt 0 view .LVU4725
 14229 00a6 A06B                ldr     r0, [r4, #56]
 14230                  .LVL755:
5954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14231                          .loc 1 5954 11 view .LVU4726
 14232 00a8 FFF7FEFF            bl      HAL_DMA_GetState
 14233                  .LVL756:
5954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14234                          .loc 1 5954 10 view .LVU4727
 14235 00ac 0128                cmp     r0, #1
 14236 00ae 40D1                bne     .L874
 14237                  .L860:
5999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14238                          .loc 1 5999 3 is_stmt 1 view .LVU4728
5999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14239                          .loc 1 5999 11 is_stmt 0 view .LVU4729
 14240 00b0 638D                ldrh    r3, [r4, #42]
 14241 00b2 9BB2                uxth    r3, r3
5999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14242                          .loc 1 5999 6 view .LVU4730
 14243 00b4 23B3                cbz     r3, .L865
6002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14244                          .loc 1 6002 5 is_stmt 1 view .LVU4731
6002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14245                          .loc 1 6002 9 is_stmt 0 view .LVU4732
 14246 00b6 2368                ldr     r3, [r4]
 14247 00b8 5A69                ldr     r2, [r3, #20]
6002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14248                          .loc 1 6002 8 view .LVU4733
 14249 00ba 12F0040F            tst     r2, #4
 14250 00be 09D0                beq     .L866
6005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14251                          .loc 1 6005 7 is_stmt 1 view .LVU4734
6005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14252                          .loc 1 6005 48 is_stmt 0 view .LVU4735
 14253 00c0 1A69                ldr     r2, [r3, #16]
6005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 458


 14254                          .loc 1 6005 12 view .LVU4736
 14255 00c2 636A                ldr     r3, [r4, #36]
6005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14256                          .loc 1 6005 23 view .LVU4737
 14257 00c4 1A70                strb    r2, [r3]
6008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14258                          .loc 1 6008 7 is_stmt 1 view .LVU4738
6008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14259                          .loc 1 6008 11 is_stmt 0 view .LVU4739
 14260 00c6 636A                ldr     r3, [r4, #36]
6008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14261                          .loc 1 6008 21 view .LVU4740
 14262 00c8 0133                adds    r3, r3, #1
 14263 00ca 6362                str     r3, [r4, #36]
6011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14264                          .loc 1 6011 7 is_stmt 1 view .LVU4741
6011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14265                          .loc 1 6011 11 is_stmt 0 view .LVU4742
 14266 00cc 638D                ldrh    r3, [r4, #42]
6011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14267                          .loc 1 6011 22 view .LVU4743
 14268 00ce 013B                subs    r3, r3, #1
 14269 00d0 9BB2                uxth    r3, r3
 14270 00d2 6385                strh    r3, [r4, #42]   @ movhi
 14271                  .L866:
6015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14272                          .loc 1 6015 5 is_stmt 1 view .LVU4744
6015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14273                          .loc 1 6015 9 is_stmt 0 view .LVU4745
 14274 00d4 2368                ldr     r3, [r4]
 14275 00d6 5A69                ldr     r2, [r3, #20]
6015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14276                          .loc 1 6015 8 view .LVU4746
 14277 00d8 12F0400F            tst     r2, #64
 14278 00dc 09D0                beq     .L867
6018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14279                          .loc 1 6018 7 is_stmt 1 view .LVU4747
6018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14280                          .loc 1 6018 48 is_stmt 0 view .LVU4748
 14281 00de 1A69                ldr     r2, [r3, #16]
6018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14282                          .loc 1 6018 12 view .LVU4749
 14283 00e0 636A                ldr     r3, [r4, #36]
6018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14284                          .loc 1 6018 23 view .LVU4750
 14285 00e2 1A70                strb    r2, [r3]
6021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14286                          .loc 1 6021 7 is_stmt 1 view .LVU4751
6021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14287                          .loc 1 6021 11 is_stmt 0 view .LVU4752
 14288 00e4 636A                ldr     r3, [r4, #36]
6021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14289                          .loc 1 6021 21 view .LVU4753
 14290 00e6 0133                adds    r3, r3, #1
 14291 00e8 6362                str     r3, [r4, #36]
6024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14292                          .loc 1 6024 7 is_stmt 1 view .LVU4754
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 459


6024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14293                          .loc 1 6024 11 is_stmt 0 view .LVU4755
 14294 00ea 638D                ldrh    r3, [r4, #42]
6024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14295                          .loc 1 6024 22 view .LVU4756
 14296 00ec 013B                subs    r3, r3, #1
 14297 00ee 9BB2                uxth    r3, r3
 14298 00f0 6385                strh    r3, [r4, #42]   @ movhi
 14299                  .L867:
6027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14300                          .loc 1 6027 5 is_stmt 1 view .LVU4757
6027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14301                          .loc 1 6027 13 is_stmt 0 view .LVU4758
 14302 00f2 638D                ldrh    r3, [r4, #42]
 14303 00f4 9BB2                uxth    r3, r3
6027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14304                          .loc 1 6027 8 view .LVU4759
 14305 00f6 1BB1                cbz     r3, .L865
6030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14306                          .loc 1 6030 7 is_stmt 1 view .LVU4760
6030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14307                          .loc 1 6030 23 is_stmt 0 view .LVU4761
 14308 00f8 236C                ldr     r3, [r4, #64]
 14309 00fa 43F00403            orr     r3, r3, #4
 14310 00fe 2364                str     r3, [r4, #64]
 14311                  .L865:
6034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14312                          .loc 1 6034 3 is_stmt 1 view .LVU4762
6034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14313                          .loc 1 6034 11 is_stmt 0 view .LVU4763
 14314 0100 236C                ldr     r3, [r4, #64]
6034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14315                          .loc 1 6034 6 view .LVU4764
 14316 0102 13BB                cbnz    r3, .L875
6041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14317                          .loc 1 6041 5 is_stmt 1 view .LVU4765
6041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14318                          .loc 1 6041 8 is_stmt 0 view .LVU4766
 14319 0104 2A2D                cmp     r5, #42
 14320 0106 25D0                beq     .L876
 14321                  .L870:
6055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14322                          .loc 1 6055 5 is_stmt 1 view .LVU4767
6055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14323                          .loc 1 6055 13 is_stmt 0 view .LVU4768
 14324 0108 94F83D30            ldrb    r3, [r4, #61]   @ zero_extendqisi2
 14325 010c DBB2                uxtb    r3, r3
6055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14326                          .loc 1 6055 8 view .LVU4769
 14327 010e 282B                cmp     r3, #40
 14328 0110 29D0                beq     .L877
6071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14329                          .loc 1 6071 7 is_stmt 1 view .LVU4770
6071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14330                          .loc 1 6071 16 is_stmt 0 view .LVU4771
 14331 0112 236B                ldr     r3, [r4, #48]
6071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 460


 14332                          .loc 1 6071 10 view .LVU4772
 14333 0114 222B                cmp     r3, #34
 14334 0116 01D0                beq     .L872
6071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14335                          .loc 1 6071 61 discriminator 1 view .LVU4773
 14336 0118 222D                cmp     r5, #34
 14337 011a 19D1                bne     .L859
 14338                  .L872:
6073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 14339                          .loc 1 6073 9 is_stmt 1 view .LVU4774
6073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 14340                          .loc 1 6073 29 is_stmt 0 view .LVU4775
 14341 011c 0023                movs    r3, #0
 14342 011e 2363                str     r3, [r4, #48]
6074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
 14343                          .loc 1 6074 9 is_stmt 1 view .LVU4776
6074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
 14344                          .loc 1 6074 21 is_stmt 0 view .LVU4777
 14345 0120 2022                movs    r2, #32
 14346 0122 84F83D20            strb    r2, [r4, #61]
6075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14347                          .loc 1 6075 9 is_stmt 1 view .LVU4778
6075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14348                          .loc 1 6075 20 is_stmt 0 view .LVU4779
 14349 0126 84F83E30            strb    r3, [r4, #62]
6080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 14350                          .loc 1 6080 9 is_stmt 1 view .LVU4780
 14351 012a 2046                mov     r0, r4
 14352 012c FFF7FEFF            bl      HAL_I2C_SlaveRxCpltCallback
 14353                  .LVL757:
6085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14354                          .loc 1 6085 1 is_stmt 0 view .LVU4781
 14355 0130 0EE0                b       .L859
 14356                  .L874:
5958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14357                          .loc 1 5958 9 is_stmt 1 view .LVU4782
5958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14358                          .loc 1 5958 13 is_stmt 0 view .LVU4783
 14359 0132 A36B                ldr     r3, [r4, #56]
5958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14360                          .loc 1 5958 41 view .LVU4784
 14361 0134 124A                ldr     r2, .L878
 14362 0136 5A63                str     r2, [r3, #52]
5961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14363                          .loc 1 5961 9 is_stmt 1 view .LVU4785
5961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14364                          .loc 1 5961 13 is_stmt 0 view .LVU4786
 14365 0138 A06B                ldr     r0, [r4, #56]
 14366 013a FFF7FEFF            bl      HAL_DMA_Abort_IT
 14367                  .LVL758:
5961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14368                          .loc 1 5961 12 view .LVU4787
 14369 013e 0028                cmp     r0, #0
 14370 0140 B6D0                beq     .L860
5964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14371                          .loc 1 5964 11 is_stmt 1 view .LVU4788
5964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 461


 14372                          .loc 1 5964 15 is_stmt 0 view .LVU4789
 14373 0142 A06B                ldr     r0, [r4, #56]
5964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14374                          .loc 1 5964 23 view .LVU4790
 14375 0144 436B                ldr     r3, [r0, #52]
5964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14376                          .loc 1 5964 11 view .LVU4791
 14377 0146 9847                blx     r3
 14378                  .LVL759:
 14379 0148 B2E7                b       .L860
 14380                  .L875:
6037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 14381                          .loc 1 6037 5 is_stmt 1 view .LVU4792
 14382 014a 2046                mov     r0, r4
 14383 014c FFF7FEFF            bl      I2C_ITError
 14384                  .LVL760:
 14385                  .L859:
6085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14386                          .loc 1 6085 1 is_stmt 0 view .LVU4793
 14387 0150 03B0                add     sp, sp, #12
 14388                  .LCFI156:
 14389                          .cfi_remember_state
 14390                          .cfi_def_cfa_offset 12
 14391                          @ sp needed
 14392 0152 30BD                pop     {r4, r5, pc}
 14393                  .LVL761:
 14394                  .L876:
 14395                  .LCFI157:
 14396                          .cfi_restore_state
6044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 14397                          .loc 1 6044 7 is_stmt 1 view .LVU4794
6044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_LISTEN;
 14398                          .loc 1 6044 27 is_stmt 0 view .LVU4795
 14399 0154 0023                movs    r3, #0
 14400 0156 2363                str     r3, [r4, #48]
6045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14401                          .loc 1 6045 7 is_stmt 1 view .LVU4796
6045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14402                          .loc 1 6045 19 is_stmt 0 view .LVU4797
 14403 0158 2823                movs    r3, #40
 14404 015a 84F83D30            strb    r3, [r4, #61]
6051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 14405                          .loc 1 6051 7 is_stmt 1 view .LVU4798
 14406 015e 2046                mov     r0, r4
 14407 0160 FFF7FEFF            bl      HAL_I2C_SlaveRxCpltCallback
 14408                  .LVL762:
 14409 0164 D0E7                b       .L870
 14410                  .L877:
6057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_NONE;
 14411                          .loc 1 6057 7 view .LVU4799
6057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_NONE;
 14412                          .loc 1 6057 25 is_stmt 0 view .LVU4800
 14413 0166 074B                ldr     r3, .L878+4
 14414 0168 E362                str     r3, [r4, #44]
6058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
 14415                          .loc 1 6058 7 is_stmt 1 view .LVU4801
6058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->State = HAL_I2C_STATE_READY;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 462


 14416                          .loc 1 6058 27 is_stmt 0 view .LVU4802
 14417 016a 0023                movs    r3, #0
 14418 016c 2363                str     r3, [r4, #48]
6059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
 14419                          .loc 1 6059 7 is_stmt 1 view .LVU4803
6059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
 14420                          .loc 1 6059 19 is_stmt 0 view .LVU4804
 14421 016e 2022                movs    r2, #32
 14422 0170 84F83D20            strb    r2, [r4, #61]
6060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14423                          .loc 1 6060 7 is_stmt 1 view .LVU4805
6060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14424                          .loc 1 6060 18 is_stmt 0 view .LVU4806
 14425 0174 84F83E30            strb    r3, [r4, #62]
6066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 14426                          .loc 1 6066 7 is_stmt 1 view .LVU4807
 14427 0178 2046                mov     r0, r4
 14428 017a FFF7FEFF            bl      HAL_I2C_ListenCpltCallback
 14429                  .LVL763:
 14430 017e E7E7                b       .L859
 14431                  .L879:
 14432                          .align  2
 14433                  .L878:
 14434 0180 00000000            .word   I2C_DMAAbort
 14435 0184 0000FFFF            .word   -65536
 14436                          .cfi_endproc
 14437                  .LFE126:
 14439                          .section        .text.HAL_I2C_EV_IRQHandler,"ax",%progbits
 14440                          .align  1
 14441                          .global HAL_I2C_EV_IRQHandler
 14442                          .syntax unified
 14443                          .thumb
 14444                          .thumb_func
 14445                          .fpu softvfp
 14447                  HAL_I2C_EV_IRQHandler:
 14448                  .LVL764:
 14449                  .LFB99:
4618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t sr1itflags;
 14450                          .loc 1 4618 1 view -0
 14451                          .cfi_startproc
 14452                          @ args = 0, pretend = 0, frame = 0
 14453                          @ frame_needed = 0, uses_anonymous_args = 0
4618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t sr1itflags;
 14454                          .loc 1 4618 1 is_stmt 0 view .LVU4809
 14455 0000 70B5                push    {r4, r5, r6, lr}
 14456                  .LCFI158:
 14457                          .cfi_def_cfa_offset 16
 14458                          .cfi_offset 4, -16
 14459                          .cfi_offset 5, -12
 14460                          .cfi_offset 6, -8
 14461                          .cfi_offset 14, -4
 14462 0002 0446                mov     r4, r0
4619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t sr2itflags               = 0U;
 14463                          .loc 1 4619 3 is_stmt 1 view .LVU4810
4620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t itsources                = READ_REG(hi2c->Instance->CR2);
 14464                          .loc 1 4620 3 view .LVU4811
 14465                  .LVL765:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 463


4621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
 14466                          .loc 1 4621 3 view .LVU4812
4621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
 14467                          .loc 1 4621 39 is_stmt 0 view .LVU4813
 14468 0004 0268                ldr     r2, [r0]
4621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t CurrentXferOptions       = hi2c->XferOptions;
 14469                          .loc 1 4621 12 view .LVU4814
 14470 0006 5568                ldr     r5, [r2, #4]
 14471                  .LVL766:
4622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef CurrentMode   = hi2c->Mode;
 14472                          .loc 1 4622 3 is_stmt 1 view .LVU4815
4622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef CurrentMode   = hi2c->Mode;
 14473                          .loc 1 4622 12 is_stmt 0 view .LVU4816
 14474 0008 C66A                ldr     r6, [r0, #44]
 14475                  .LVL767:
4623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
 14476                          .loc 1 4623 3 is_stmt 1 view .LVU4817
4623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef CurrentState = hi2c->State;
 14477                          .loc 1 4623 23 is_stmt 0 view .LVU4818
 14478 000a 90F83E30            ldrb    r3, [r0, #62]   @ zero_extendqisi2
 14479 000e DBB2                uxtb    r3, r3
 14480                  .LVL768:
4624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14481                          .loc 1 4624 3 is_stmt 1 view .LVU4819
4624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14482                          .loc 1 4624 24 is_stmt 0 view .LVU4820
 14483 0010 90F83D10            ldrb    r1, [r0, #61]   @ zero_extendqisi2
 14484                  .LVL769:
4627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14485                          .loc 1 4627 3 is_stmt 1 view .LVU4821
4627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14486                          .loc 1 4627 6 is_stmt 0 view .LVU4822
 14487 0014 102B                cmp     r3, #16
 14488 0016 14D0                beq     .L881
 14489 0018 C8B2                uxtb    r0, r1
 14490                  .LVL770:
4627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14491                          .loc 1 4627 44 discriminator 1 view .LVU4823
 14492 001a 402B                cmp     r3, #64
 14493 001c 11D0                beq     .L881
4706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14494                          .loc 1 4706 5 is_stmt 1 view .LVU4824
4706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14495                          .loc 1 4706 13 is_stmt 0 view .LVU4825
 14496 001e 236C                ldr     r3, [r4, #64]
 14497                  .LVL771:
4706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14498                          .loc 1 4706 8 view .LVU4826
 14499 0020 002B                cmp     r3, #0
 14500 0022 71D0                beq     .L891
4708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14501                          .loc 1 4708 7 is_stmt 1 view .LVU4827
4708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14502                          .loc 1 4708 20 is_stmt 0 view .LVU4828
 14503 0024 5369                ldr     r3, [r2, #20]
 14504                  .LVL772:
4620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t itsources                = READ_REG(hi2c->Instance->CR2);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 464


 14505                          .loc 1 4620 12 view .LVU4829
 14506 0026 0021                movs    r1, #0
 14507                  .LVL773:
 14508                  .L892:
4717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14509                          .loc 1 4717 5 is_stmt 1 view .LVU4830
4717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14510                          .loc 1 4717 8 is_stmt 0 view .LVU4831
 14511 0028 13F0020F            tst     r3, #2
 14512 002c 6FD0                beq     .L893
4717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14513                          .loc 1 4717 62 discriminator 1 view .LVU4832
 14514 002e 15F4007F            tst     r5, #512
 14515 0032 6CD0                beq     .L893
4720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14516                          .loc 1 4720 7 is_stmt 1 view .LVU4833
4720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14517                          .loc 1 4720 15 is_stmt 0 view .LVU4834
 14518 0034 236C                ldr     r3, [r4, #64]
 14519                  .LVL774:
4720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14520                          .loc 1 4720 10 view .LVU4835
 14521 0036 03B1                cbz     r3, .L894
4722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14522                          .loc 1 4722 9 is_stmt 1 view .LVU4836
4722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14523                          .loc 1 4722 22 is_stmt 0 view .LVU4837
 14524 0038 9169                ldr     r1, [r2, #24]
 14525                  .LVL775:
 14526                  .L894:
4724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14527                          .loc 1 4724 7 is_stmt 1 view .LVU4838
 14528 003a 2046                mov     r0, r4
 14529                  .LVL776:
4724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14530                          .loc 1 4724 7 is_stmt 0 view .LVU4839
 14531 003c FFF7FEFF            bl      I2C_Slave_ADDR
 14532                  .LVL777:
 14533                  .L880:
4768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14534                          .loc 1 4768 1 view .LVU4840
 14535 0040 70BD                pop     {r4, r5, r6, pc}
 14536                  .LVL778:
 14537                  .L881:
4629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     sr1itflags   = READ_REG(hi2c->Instance->SR1);
 14538                          .loc 1 4629 5 is_stmt 1 view .LVU4841
4629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     sr1itflags   = READ_REG(hi2c->Instance->SR1);
 14539                          .loc 1 4629 18 is_stmt 0 view .LVU4842
 14540 0042 9069                ldr     r0, [r2, #24]
 14541                  .LVL779:
4630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14542                          .loc 1 4630 5 is_stmt 1 view .LVU4843
4630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14543                          .loc 1 4630 18 is_stmt 0 view .LVU4844
 14544 0044 5369                ldr     r3, [r2, #20]
 14545                  .LVL780:
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 465


 14546                          .loc 1 4633 5 is_stmt 1 view .LVU4845
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14547                          .loc 1 4633 8 is_stmt 0 view .LVU4846
 14548 0046 13F00101            ands    r1, r3, #1
 14549                  .LVL781:
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14550                          .loc 1 4633 8 view .LVU4847
 14551 004a 05D1                bne     .L883
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14552                          .loc 1 4633 64 discriminator 1 view .LVU4848
 14553 004c B6F52A0F            cmp     r6, #11141120
 14554 0050 F6D0                beq     .L880
4633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14555                          .loc 1 4633 64 discriminator 3 view .LVU4849
 14556 0052 B6F12A4F            cmp     r6, #-1442840576
 14557 0056 F3D0                beq     .L880
 14558                  .L883:
4639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14559                          .loc 1 4639 5 is_stmt 1 view .LVU4850
4639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14560                          .loc 1 4639 8 is_stmt 0 view .LVU4851
 14561 0058 11B1                cbz     r1, .L885
4639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14562                          .loc 1 4639 60 discriminator 1 view .LVU4852
 14563 005a 15F4007F            tst     r5, #512
 14564 005e 25D1                bne     .L901
 14565                  .L885:
4647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14566                          .loc 1 4647 10 is_stmt 1 view .LVU4853
4647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14567                          .loc 1 4647 13 is_stmt 0 view .LVU4854
 14568 0060 13F0080F            tst     r3, #8
 14569 0064 02D0                beq     .L886
4647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14570                          .loc 1 4647 68 discriminator 1 view .LVU4855
 14571 0066 15F4007F            tst     r5, #512
 14572 006a 26D1                bne     .L902
 14573                  .L886:
4652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14574                          .loc 1 4652 10 is_stmt 1 view .LVU4856
4652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14575                          .loc 1 4652 13 is_stmt 0 view .LVU4857
 14576 006c 13F0020F            tst     r3, #2
 14577 0070 02D0                beq     .L887
4652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14578                          .loc 1 4652 67 discriminator 1 view .LVU4858
 14579 0072 15F4007F            tst     r5, #512
 14580 0076 24D1                bne     .L903
 14581                  .L887:
4657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14582                          .loc 1 4657 10 is_stmt 1 view .LVU4859
4657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14583                          .loc 1 4657 13 is_stmt 0 view .LVU4860
 14584 0078 10F0040F            tst     r0, #4
 14585 007c 29D0                beq     .L888
4660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14586                          .loc 1 4660 7 is_stmt 1 view .LVU4861
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 466


4660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14587                          .loc 1 4660 11 is_stmt 0 view .LVU4862
 14588 007e 5268                ldr     r2, [r2, #4]
4660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14589                          .loc 1 4660 10 view .LVU4863
 14590 0080 12F4006F            tst     r2, #2048
 14591 0084 DCD1                bne     .L880
4663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14592                          .loc 1 4663 9 is_stmt 1 view .LVU4864
4663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14593                          .loc 1 4663 12 is_stmt 0 view .LVU4865
 14594 0086 13F0800F            tst     r3, #128
 14595 008a 05D0                beq     .L889
4663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14596                          .loc 1 4663 65 discriminator 1 view .LVU4866
 14597 008c 15F4806F            tst     r5, #1024
 14598 0090 02D0                beq     .L889
4663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14599                          .loc 1 4663 122 discriminator 2 view .LVU4867
 14600 0092 13F0040F            tst     r3, #4
 14601 0096 18D0                beq     .L904
 14602                  .L889:
4668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14603                          .loc 1 4668 14 is_stmt 1 view .LVU4868
4668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14604                          .loc 1 4668 17 is_stmt 0 view .LVU4869
 14605 0098 13F0040F            tst     r3, #4
 14606 009c D0D0                beq     .L880
4668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14607                          .loc 1 4668 70 discriminator 1 view .LVU4870
 14608 009e 15F4007F            tst     r5, #512
 14609 00a2 CDD0                beq     .L880
4670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14610                          .loc 1 4670 11 is_stmt 1 view .LVU4871
 14611 00a4 2046                mov     r0, r4
 14612                  .LVL782:
4670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14613                          .loc 1 4670 11 is_stmt 0 view .LVU4872
 14614 00a6 FFF7FEFF            bl      I2C_MasterTransmit_BTF
 14615                  .LVL783:
4670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14616                          .loc 1 4670 11 view .LVU4873
 14617 00aa C9E7                b       .L880
 14618                  .LVL784:
 14619                  .L901:
4642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14620                          .loc 1 4642 7 is_stmt 1 view .LVU4874
 14621 00ac 2046                mov     r0, r4
 14622                  .LVL785:
4642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14623                          .loc 1 4642 7 is_stmt 0 view .LVU4875
 14624 00ae FFF7FEFF            bl      I2C_ConvertOtherXferOptions
 14625                  .LVL786:
4644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14626                          .loc 1 4644 7 is_stmt 1 view .LVU4876
 14627 00b2 2046                mov     r0, r4
 14628 00b4 FFF7FEFF            bl      I2C_Master_SB
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 467


 14629                  .LVL787:
 14630 00b8 C2E7                b       .L880
 14631                  .LVL788:
 14632                  .L902:
4649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14633                          .loc 1 4649 7 view .LVU4877
 14634 00ba 2046                mov     r0, r4
 14635                  .LVL789:
4649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14636                          .loc 1 4649 7 is_stmt 0 view .LVU4878
 14637 00bc FFF7FEFF            bl      I2C_Master_ADD10
 14638                  .LVL790:
4649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14639                          .loc 1 4649 7 view .LVU4879
 14640 00c0 BEE7                b       .L880
 14641                  .LVL791:
 14642                  .L903:
4654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14643                          .loc 1 4654 7 is_stmt 1 view .LVU4880
 14644 00c2 2046                mov     r0, r4
 14645                  .LVL792:
4654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14646                          .loc 1 4654 7 is_stmt 0 view .LVU4881
 14647 00c4 FFF7FEFF            bl      I2C_Master_ADDR
 14648                  .LVL793:
4654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14649                          .loc 1 4654 7 view .LVU4882
 14650 00c8 BAE7                b       .L880
 14651                  .LVL794:
 14652                  .L904:
4665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14653                          .loc 1 4665 11 is_stmt 1 view .LVU4883
 14654 00ca 2046                mov     r0, r4
 14655                  .LVL795:
4665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14656                          .loc 1 4665 11 is_stmt 0 view .LVU4884
 14657 00cc FFF7FEFF            bl      I2C_MasterTransmit_TXE
 14658                  .LVL796:
4665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14659                          .loc 1 4665 11 view .LVU4885
 14660 00d0 B6E7                b       .L880
 14661                  .LVL797:
 14662                  .L888:
4682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14663                          .loc 1 4682 7 is_stmt 1 view .LVU4886
4682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14664                          .loc 1 4682 11 is_stmt 0 view .LVU4887
 14665 00d2 5268                ldr     r2, [r2, #4]
4682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14666                          .loc 1 4682 10 view .LVU4888
 14667 00d4 12F4006F            tst     r2, #2048
 14668 00d8 B2D1                bne     .L880
4685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14669                          .loc 1 4685 9 is_stmt 1 view .LVU4889
4685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14670                          .loc 1 4685 12 is_stmt 0 view .LVU4890
 14671 00da 13F0400F            tst     r3, #64
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 468


 14672 00de 05D0                beq     .L890
4685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14673                          .loc 1 4685 66 discriminator 1 view .LVU4891
 14674 00e0 15F4806F            tst     r5, #1024
 14675 00e4 02D0                beq     .L890
4685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14676                          .loc 1 4685 123 discriminator 2 view .LVU4892
 14677 00e6 13F0040F            tst     r3, #4
 14678 00ea 09D0                beq     .L905
 14679                  .L890:
4690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14680                          .loc 1 4690 14 is_stmt 1 view .LVU4893
4690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14681                          .loc 1 4690 17 is_stmt 0 view .LVU4894
 14682 00ec 13F0040F            tst     r3, #4
 14683 00f0 A6D0                beq     .L880
4690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         {
 14684                          .loc 1 4690 70 discriminator 1 view .LVU4895
 14685 00f2 15F4007F            tst     r5, #512
 14686 00f6 A3D0                beq     .L880
4692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14687                          .loc 1 4692 11 is_stmt 1 view .LVU4896
 14688 00f8 2046                mov     r0, r4
 14689                  .LVL798:
4692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14690                          .loc 1 4692 11 is_stmt 0 view .LVU4897
 14691 00fa FFF7FEFF            bl      I2C_MasterReceive_BTF
 14692                  .LVL799:
4692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14693                          .loc 1 4692 11 view .LVU4898
 14694 00fe 9FE7                b       .L880
 14695                  .LVL800:
 14696                  .L905:
4687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14697                          .loc 1 4687 11 is_stmt 1 view .LVU4899
 14698 0100 2046                mov     r0, r4
 14699                  .LVL801:
4687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14700                          .loc 1 4687 11 is_stmt 0 view .LVU4900
 14701 0102 FFF7FEFF            bl      I2C_MasterReceive_RXNE
 14702                  .LVL802:
4687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         }
 14703                          .loc 1 4687 11 view .LVU4901
 14704 0106 9BE7                b       .L880
 14705                  .LVL803:
 14706                  .L891:
4712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       sr1itflags   = READ_REG(hi2c->Instance->SR1);
 14707                          .loc 1 4712 7 is_stmt 1 view .LVU4902
4712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       sr1itflags   = READ_REG(hi2c->Instance->SR1);
 14708                          .loc 1 4712 20 is_stmt 0 view .LVU4903
 14709 0108 9169                ldr     r1, [r2, #24]
 14710                  .LVL804:
4713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14711                          .loc 1 4713 7 is_stmt 1 view .LVU4904
4713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14712                          .loc 1 4713 20 is_stmt 0 view .LVU4905
 14713 010a 5369                ldr     r3, [r2, #20]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 469


 14714                  .LVL805:
4713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14715                          .loc 1 4713 20 view .LVU4906
 14716 010c 8CE7                b       .L892
 14717                  .L893:
4727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14718                          .loc 1 4727 10 is_stmt 1 view .LVU4907
4727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14719                          .loc 1 4727 13 is_stmt 0 view .LVU4908
 14720 010e 13F0100F            tst     r3, #16
 14721 0112 02D0                beq     .L895
4727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14722                          .loc 1 4727 68 discriminator 1 view .LVU4909
 14723 0114 15F4007F            tst     r5, #512
 14724 0118 17D1                bne     .L906
 14725                  .L895:
4732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14726                          .loc 1 4732 10 is_stmt 1 view .LVU4910
4732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14727                          .loc 1 4732 13 is_stmt 0 view .LVU4911
 14728 011a 2128                cmp     r0, #33
 14729 011c 19D0                beq     .L896
4732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14730                          .loc 1 4732 54 discriminator 1 view .LVU4912
 14731 011e 2928                cmp     r0, #41
 14732 0120 17D0                beq     .L896
4753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14733                          .loc 1 4753 7 is_stmt 1 view .LVU4913
4753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14734                          .loc 1 4753 10 is_stmt 0 view .LVU4914
 14735 0122 13F0400F            tst     r3, #64
 14736 0126 05D0                beq     .L899
4753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14737                          .loc 1 4753 64 discriminator 1 view .LVU4915
 14738 0128 15F4806F            tst     r5, #1024
 14739 012c 02D0                beq     .L899
4753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14740                          .loc 1 4753 121 discriminator 2 view .LVU4916
 14741 012e 13F0040F            tst     r3, #4
 14742 0132 27D0                beq     .L907
 14743                  .L899:
4758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14744                          .loc 1 4758 12 is_stmt 1 view .LVU4917
4758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14745                          .loc 1 4758 15 is_stmt 0 view .LVU4918
 14746 0134 13F0040F            tst     r3, #4
 14747 0138 82D0                beq     .L880
4758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14748                          .loc 1 4758 68 discriminator 1 view .LVU4919
 14749 013a 15F4007F            tst     r5, #512
 14750 013e 3FF47FAF            beq     .L880
4760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14751                          .loc 1 4760 9 is_stmt 1 view .LVU4920
 14752 0142 2046                mov     r0, r4
 14753                  .LVL806:
4760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14754                          .loc 1 4760 9 is_stmt 0 view .LVU4921
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 470


 14755 0144 FFF7FEFF            bl      I2C_SlaveReceive_BTF
 14756                  .LVL807:
4765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14757                          .loc 1 4765 7 is_stmt 1 view .LVU4922
 14758 0148 7AE7                b       .L880
 14759                  .LVL808:
 14760                  .L906:
4729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14761                          .loc 1 4729 7 view .LVU4923
 14762 014a 2046                mov     r0, r4
 14763                  .LVL809:
4729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14764                          .loc 1 4729 7 is_stmt 0 view .LVU4924
 14765 014c FFF7FEFF            bl      I2C_Slave_STOPF
 14766                  .LVL810:
4729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 14767                          .loc 1 4729 7 view .LVU4925
 14768 0150 76E7                b       .L880
 14769                  .LVL811:
 14770                  .L896:
4735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14771                          .loc 1 4735 7 is_stmt 1 view .LVU4926
4735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14772                          .loc 1 4735 10 is_stmt 0 view .LVU4927
 14773 0152 13F0800F            tst     r3, #128
 14774 0156 05D0                beq     .L898
4735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14775                          .loc 1 4735 63 discriminator 1 view .LVU4928
 14776 0158 15F4806F            tst     r5, #1024
 14777 015c 02D0                beq     .L898
4735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14778                          .loc 1 4735 120 discriminator 2 view .LVU4929
 14779 015e 13F0040F            tst     r3, #4
 14780 0162 0BD0                beq     .L908
 14781                  .L898:
4740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14782                          .loc 1 4740 12 is_stmt 1 view .LVU4930
4740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14783                          .loc 1 4740 15 is_stmt 0 view .LVU4931
 14784 0164 13F0040F            tst     r3, #4
 14785 0168 3FF46AAF            beq     .L880
4740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14786                          .loc 1 4740 68 discriminator 1 view .LVU4932
 14787 016c 15F4007F            tst     r5, #512
 14788 0170 3FF466AF            beq     .L880
4742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14789                          .loc 1 4742 9 is_stmt 1 view .LVU4933
 14790 0174 2046                mov     r0, r4
 14791                  .LVL812:
4742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14792                          .loc 1 4742 9 is_stmt 0 view .LVU4934
 14793 0176 FFF7FEFF            bl      I2C_SlaveTransmit_BTF
 14794                  .LVL813:
4742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14795                          .loc 1 4742 9 view .LVU4935
 14796 017a 61E7                b       .L880
 14797                  .LVL814:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 471


 14798                  .L908:
4737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14799                          .loc 1 4737 9 is_stmt 1 view .LVU4936
 14800 017c 2046                mov     r0, r4
 14801                  .LVL815:
4737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14802                          .loc 1 4737 9 is_stmt 0 view .LVU4937
 14803 017e FFF7FEFF            bl      I2C_SlaveTransmit_TXE
 14804                  .LVL816:
4737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14805                          .loc 1 4737 9 view .LVU4938
 14806 0182 5DE7                b       .L880
 14807                  .LVL817:
 14808                  .L907:
4755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14809                          .loc 1 4755 9 is_stmt 1 view .LVU4939
 14810 0184 2046                mov     r0, r4
 14811                  .LVL818:
4755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14812                          .loc 1 4755 9 is_stmt 0 view .LVU4940
 14813 0186 FFF7FEFF            bl      I2C_SlaveReceive_RXNE
 14814                  .LVL819:
4755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 14815                          .loc 1 4755 9 view .LVU4941
 14816 018a 59E7                b       .L880
 14817                          .cfi_endproc
 14818                  .LFE99:
 14820                          .section        .text.HAL_I2C_ER_IRQHandler,"ax",%progbits
 14821                          .align  1
 14822                          .global HAL_I2C_ER_IRQHandler
 14823                          .syntax unified
 14824                          .thumb
 14825                          .thumb_func
 14826                          .fpu softvfp
 14828                  HAL_I2C_ER_IRQHandler:
 14829                  .LVL820:
 14830                  .LFB100:
4777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef tmp1;
 14831                          .loc 1 4777 1 is_stmt 1 view -0
 14832                          .cfi_startproc
 14833                          @ args = 0, pretend = 0, frame = 0
 14834                          @ frame_needed = 0, uses_anonymous_args = 0
4777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef tmp1;
 14835                          .loc 1 4777 1 is_stmt 0 view .LVU4943
 14836 0000 F8B5                push    {r3, r4, r5, r6, r7, lr}
 14837                  .LCFI159:
 14838                          .cfi_def_cfa_offset 24
 14839                          .cfi_offset 3, -24
 14840                          .cfi_offset 4, -20
 14841                          .cfi_offset 5, -16
 14842                          .cfi_offset 6, -12
 14843                          .cfi_offset 7, -8
 14844                          .cfi_offset 14, -4
 14845 0002 0446                mov     r4, r0
4778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tmp2;
 14846                          .loc 1 4778 3 is_stmt 1 view .LVU4944
4779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmp3;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 472


 14847                          .loc 1 4779 3 view .LVU4945
4780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t tmp4;
 14848                          .loc 1 4780 3 view .LVU4946
4781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t sr1itflags = READ_REG(hi2c->Instance->SR1);
 14849                          .loc 1 4781 3 view .LVU4947
4782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t itsources  = READ_REG(hi2c->Instance->CR2);
 14850                          .loc 1 4782 3 view .LVU4948
4782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t itsources  = READ_REG(hi2c->Instance->CR2);
 14851                          .loc 1 4782 25 is_stmt 0 view .LVU4949
 14852 0004 0368                ldr     r3, [r0]
4782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t itsources  = READ_REG(hi2c->Instance->CR2);
 14853                          .loc 1 4782 12 view .LVU4950
 14854 0006 5D69                ldr     r5, [r3, #20]
 14855                  .LVL821:
4783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t error      = HAL_I2C_ERROR_NONE;
 14856                          .loc 1 4783 3 is_stmt 1 view .LVU4951
4783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   uint32_t error      = HAL_I2C_ERROR_NONE;
 14857                          .loc 1 4783 12 is_stmt 0 view .LVU4952
 14858 0008 5F68                ldr     r7, [r3, #4]
 14859                  .LVL822:
4784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14860                          .loc 1 4784 3 is_stmt 1 view .LVU4953
4787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14861                          .loc 1 4787 3 view .LVU4954
4787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14862                          .loc 1 4787 6 is_stmt 0 view .LVU4955
 14863 000a 15F4807F            tst     r5, #256
 14864 000e 0CD0                beq     .L917
4787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14865                          .loc 1 4787 60 discriminator 1 view .LVU4956
 14866 0010 17F4807F            tst     r7, #256
 14867 0014 40D0                beq     .L918
4789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14868                          .loc 1 4789 5 is_stmt 1 view .LVU4957
 14869                  .LVL823:
4792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14870                          .loc 1 4792 5 view .LVU4958
 14871 0016 6FF48072            mvn     r2, #256
 14872 001a 5A61                str     r2, [r3, #20]
4795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 14873                          .loc 1 4795 5 view .LVU4959
 14874 001c 0268                ldr     r2, [r0]
 14875 001e 1368                ldr     r3, [r2]
 14876 0020 43F40043            orr     r3, r3, #32768
 14877 0024 1360                str     r3, [r2]
4789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14878                          .loc 1 4789 11 is_stmt 0 view .LVU4960
 14879 0026 0126                movs    r6, #1
 14880 0028 00E0                b       .L910
 14881                  .LVL824:
 14882                  .L917:
4784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14883                          .loc 1 4784 12 view .LVU4961
 14884 002a 0026                movs    r6, #0
 14885                  .LVL825:
 14886                  .L910:
4799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 473


 14887                          .loc 1 4799 3 is_stmt 1 view .LVU4962
4799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14888                          .loc 1 4799 6 is_stmt 0 view .LVU4963
 14889 002c 15F4007F            tst     r5, #512
 14890 0030 08D0                beq     .L911
4799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14891                          .loc 1 4799 60 discriminator 1 view .LVU4964
 14892 0032 17F4807F            tst     r7, #256
 14893 0036 05D0                beq     .L911
4801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14894                          .loc 1 4801 5 is_stmt 1 view .LVU4965
4801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14895                          .loc 1 4801 11 is_stmt 0 view .LVU4966
 14896 0038 46F00206            orr     r6, r6, #2
 14897                  .LVL826:
4804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 14898                          .loc 1 4804 5 is_stmt 1 view .LVU4967
 14899 003c 2368                ldr     r3, [r4]
 14900 003e 6FF40072            mvn     r2, #512
 14901 0042 5A61                str     r2, [r3, #20]
 14902                  .L911:
4808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14903                          .loc 1 4808 3 view .LVU4968
4808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14904                          .loc 1 4808 6 is_stmt 0 view .LVU4969
 14905 0044 15F4806F            tst     r5, #1024
 14906 0048 18D0                beq     .L912
4808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14907                          .loc 1 4808 58 discriminator 1 view .LVU4970
 14908 004a 17F4807F            tst     r7, #256
 14909 004e 15D0                beq     .L912
4810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp2 = hi2c->XferCount;
 14910                          .loc 1 4810 5 is_stmt 1 view .LVU4971
4810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp2 = hi2c->XferCount;
 14911                          .loc 1 4810 10 is_stmt 0 view .LVU4972
 14912 0050 94F83E30            ldrb    r3, [r4, #62]   @ zero_extendqisi2
 14913 0054 DBB2                uxtb    r3, r3
 14914                  .LVL827:
4811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp3 = hi2c->State;
 14915                          .loc 1 4811 5 is_stmt 1 view .LVU4973
4811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp3 = hi2c->State;
 14916                          .loc 1 4811 16 is_stmt 0 view .LVU4974
 14917 0056 628D                ldrh    r2, [r4, #42]
 14918 0058 91B2                uxth    r1, r2
 14919                  .LVL828:
4812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp4 = hi2c->PreviousState;
 14920                          .loc 1 4812 5 is_stmt 1 view .LVU4975
4812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     tmp4 = hi2c->PreviousState;
 14921                          .loc 1 4812 10 is_stmt 0 view .LVU4976
 14922 005a 94F83D20            ldrb    r2, [r4, #61]   @ zero_extendqisi2
 14923 005e D2B2                uxtb    r2, r2
 14924                  .LVL829:
4813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((tmp1 == HAL_I2C_MODE_SLAVE) && (tmp2 == 0U) && \
 14925                          .loc 1 4813 5 is_stmt 1 view .LVU4977
4813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     if ((tmp1 == HAL_I2C_MODE_SLAVE) && (tmp2 == 0U) && \
 14926                          .loc 1 4813 10 is_stmt 0 view .LVU4978
 14927 0060 206B                ldr     r0, [r4, #48]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 474


 14928                  .LVL830:
4814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \
 14929                          .loc 1 4814 5 is_stmt 1 view .LVU4979
4814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \
 14930                          .loc 1 4814 8 is_stmt 0 view .LVU4980
 14931 0062 202B                cmp     r3, #32
 14932 0064 1AD0                beq     .L920
 14933                  .L913:
4823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14934                          .loc 1 4823 7 is_stmt 1 view .LVU4981
 14935 0066 2368                ldr     r3, [r4]
 14936                  .LVL831:
4823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14937                          .loc 1 4823 7 is_stmt 0 view .LVU4982
 14938 0068 6FF48062            mvn     r2, #1024
 14939                  .LVL832:
4823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14940                          .loc 1 4823 7 view .LVU4983
 14941 006c 5A61                str     r2, [r3, #20]
4825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14942                          .loc 1 4825 7 is_stmt 1 view .LVU4984
4825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14943                          .loc 1 4825 13 is_stmt 0 view .LVU4985
 14944 006e 46F00406            orr     r6, r6, #4
 14945                  .LVL833:
4828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14946                          .loc 1 4828 7 is_stmt 1 view .LVU4986
4828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14947                          .loc 1 4828 15 is_stmt 0 view .LVU4987
 14948 0072 94F83E30            ldrb    r3, [r4, #62]   @ zero_extendqisi2
 14949 0076 DBB2                uxtb    r3, r3
4828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       {
 14950                          .loc 1 4828 10 view .LVU4988
 14951 0078 102B                cmp     r3, #16
 14952 007a 1DD0                beq     .L921
 14953                  .LVL834:
 14954                  .L912:
4837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14955                          .loc 1 4837 3 is_stmt 1 view .LVU4989
4837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14956                          .loc 1 4837 6 is_stmt 0 view .LVU4990
 14957 007c 15F4006F            tst     r5, #2048
 14958 0080 08D0                beq     .L915
4837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14959                          .loc 1 4837 59 discriminator 1 view .LVU4991
 14960 0082 17F4807F            tst     r7, #256
 14961 0086 05D0                beq     .L915
4839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear OVR flag */
 14962                          .loc 1 4839 5 is_stmt 1 view .LVU4992
4839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     /* Clear OVR flag */
 14963                          .loc 1 4839 11 is_stmt 0 view .LVU4993
 14964 0088 46F00806            orr     r6, r6, #8
 14965                  .LVL835:
4841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 14966                          .loc 1 4841 5 is_stmt 1 view .LVU4994
 14967 008c 2368                ldr     r3, [r4]
 14968 008e 6FF40062            mvn     r2, #2048
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 475


 14969 0092 5A61                str     r2, [r3, #20]
 14970                  .L915:
4845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14971                          .loc 1 4845 3 view .LVU4995
4845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   {
 14972                          .loc 1 4845 6 is_stmt 0 view .LVU4996
 14973 0094 B6B9                cbnz    r6, .L922
 14974                  .LVL836:
 14975                  .L909:
4850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14976                          .loc 1 4850 1 view .LVU4997
 14977 0096 F8BD                pop     {r3, r4, r5, r6, r7, pc}
 14978                  .LVL837:
 14979                  .L918:
4784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 14980                          .loc 1 4784 12 view .LVU4998
 14981 0098 0026                movs    r6, #0
 14982 009a C7E7                b       .L910
 14983                  .LVL838:
 14984                  .L920:
4814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \
 14985                          .loc 1 4814 38 discriminator 1 view .LVU4999
 14986 009c 0029                cmp     r1, #0
 14987 009e E2D1                bne     .L913
4814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****         ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \
 14988                          .loc 1 4814 54 discriminator 2 view .LVU5000
 14989 00a0 212A                cmp     r2, #33
 14990 00a2 05D0                beq     .L914
4815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****          ((tmp3 == HAL_I2C_STATE_LISTEN) && (tmp4 == I2C_STATE_SLAVE_BUSY_TX))))
 14991                          .loc 1 4815 42 view .LVU5001
 14992 00a4 292A                cmp     r2, #41
 14993 00a6 03D0                beq     .L914
4815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****          ((tmp3 == HAL_I2C_STATE_LISTEN) && (tmp4 == I2C_STATE_SLAVE_BUSY_TX))))
 14994                          .loc 1 4815 84 discriminator 1 view .LVU5002
 14995 00a8 282A                cmp     r2, #40
 14996 00aa DCD1                bne     .L913
4816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     {
 14997                          .loc 1 4816 42 view .LVU5003
 14998 00ac 2128                cmp     r0, #33
 14999 00ae DAD1                bne     .L913
 15000                  .L914:
4818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 15001                          .loc 1 4818 7 is_stmt 1 view .LVU5004
 15002 00b0 2046                mov     r0, r4
 15003                  .LVL839:
4818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 15004                          .loc 1 4818 7 is_stmt 0 view .LVU5005
 15005 00b2 FFF7FEFF            bl      I2C_Slave_AF
 15006                  .LVL840:
4818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     }
 15007                          .loc 1 4818 7 view .LVU5006
 15008 00b6 E1E7                b       .L912
 15009                  .LVL841:
 15010                  .L921:
4831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****       }
 15011                          .loc 1 4831 9 is_stmt 1 view .LVU5007
 15012 00b8 2268                ldr     r2, [r4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 476


 15013 00ba 1368                ldr     r3, [r2]
 15014 00bc 43F40073            orr     r3, r3, #512
 15015 00c0 1360                str     r3, [r2]
 15016 00c2 DBE7                b       .L912
 15017                  .LVL842:
 15018                  .L922:
4847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     I2C_ITError(hi2c);
 15019                          .loc 1 4847 5 view .LVU5008
4847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     I2C_ITError(hi2c);
 15020                          .loc 1 4847 21 is_stmt 0 view .LVU5009
 15021 00c4 236C                ldr     r3, [r4, #64]
 15022 00c6 1E43                orrs    r6, r6, r3
 15023                  .LVL843:
4847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****     I2C_ITError(hi2c);
 15024                          .loc 1 4847 21 view .LVU5010
 15025 00c8 2664                str     r6, [r4, #64]
4848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   }
 15026                          .loc 1 4848 5 is_stmt 1 view .LVU5011
 15027 00ca 2046                mov     r0, r4
 15028 00cc FFF7FEFF            bl      I2C_ITError
 15029                  .LVL844:
4850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 15030                          .loc 1 4850 1 is_stmt 0 view .LVU5012
 15031 00d0 E1E7                b       .L909
 15032                          .cfi_endproc
 15033                  .LFE100:
 15035                          .section        .text.HAL_I2C_GetState,"ax",%progbits
 15036                          .align  1
 15037                          .global HAL_I2C_GetState
 15038                          .syntax unified
 15039                          .thumb
 15040                          .thumb_func
 15041                          .fpu softvfp
 15043                  HAL_I2C_GetState:
 15044                  .LVL845:
 15045                  .LFB111:
5041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   /* Return I2C handle state */
 15046                          .loc 1 5041 1 is_stmt 1 view -0
 15047                          .cfi_startproc
 15048                          @ args = 0, pretend = 0, frame = 0
 15049                          @ frame_needed = 0, uses_anonymous_args = 0
 15050                          @ link register save eliminated.
5043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 15051                          .loc 1 5043 3 view .LVU5014
5043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 15052                          .loc 1 5043 14 is_stmt 0 view .LVU5015
 15053 0000 90F83D00            ldrb    r0, [r0, #61]   @ zero_extendqisi2
 15054                  .LVL846:
5044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 15055                          .loc 1 5044 1 view .LVU5016
 15056 0004 7047                bx      lr
 15057                          .cfi_endproc
 15058                  .LFE111:
 15060                          .section        .text.HAL_I2C_GetMode,"ax",%progbits
 15061                          .align  1
 15062                          .global HAL_I2C_GetMode
 15063                          .syntax unified
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 477


 15064                          .thumb
 15065                          .thumb_func
 15066                          .fpu softvfp
 15068                  HAL_I2C_GetMode:
 15069                  .LVL847:
 15070                  .LFB112:
5053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return hi2c->Mode;
 15071                          .loc 1 5053 1 is_stmt 1 view -0
 15072                          .cfi_startproc
 15073                          @ args = 0, pretend = 0, frame = 0
 15074                          @ frame_needed = 0, uses_anonymous_args = 0
 15075                          @ link register save eliminated.
5054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 15076                          .loc 1 5054 3 view .LVU5018
5054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 15077                          .loc 1 5054 14 is_stmt 0 view .LVU5019
 15078 0000 90F83E00            ldrb    r0, [r0, #62]   @ zero_extendqisi2
 15079                  .LVL848:
5055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 15080                          .loc 1 5055 1 view .LVU5020
 15081 0004 7047                bx      lr
 15082                          .cfi_endproc
 15083                  .LFE112:
 15085                          .section        .text.HAL_I2C_GetError,"ax",%progbits
 15086                          .align  1
 15087                          .global HAL_I2C_GetError
 15088                          .syntax unified
 15089                          .thumb
 15090                          .thumb_func
 15091                          .fpu softvfp
 15093                  HAL_I2C_GetError:
 15094                  .LVL849:
 15095                  .LFB113:
5064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c ****   return hi2c->ErrorCode;
 15096                          .loc 1 5064 1 is_stmt 1 view -0
 15097                          .cfi_startproc
 15098                          @ args = 0, pretend = 0, frame = 0
 15099                          @ frame_needed = 0, uses_anonymous_args = 0
 15100                          @ link register save eliminated.
5065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 15101                          .loc 1 5065 3 view .LVU5022
5065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** }
 15102                          .loc 1 5065 14 is_stmt 0 view .LVU5023
 15103 0000 006C                ldr     r0, [r0, #64]
 15104                  .LVL850:
5066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c **** 
 15105                          .loc 1 5066 1 view .LVU5024
 15106 0002 7047                bx      lr
 15107                          .cfi_endproc
 15108                  .LFE113:
 15110                          .text
 15111                  .Letext0:
 15112                          .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
 15113                          .file 4 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
 15114                          .file 5 "Drivers/CMSIS/Include/core_cm3.h"
 15115                          .file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
 15116                          .file 7 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 478


 15117                          .file 8 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h"
 15118                          .file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
 15119                          .file 10 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h"
 15120                          .file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2c.h"
 15121                          .file 12 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
 15122                          .file 13 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h"
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 479


DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32f1xx_hal_i2c.c
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:16     .text.I2C_Master_SB:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:23     .text.I2C_Master_SB:0000000000000000 I2C_Master_SB
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:184    .text.I2C_Master_ADD10:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:190    .text.I2C_Master_ADD10:0000000000000000 I2C_Master_ADD10
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:246    .text.I2C_Master_ADDR:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:252    .text.I2C_Master_ADDR:0000000000000000 I2C_Master_ADDR
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:743    .text.I2C_SlaveTransmit_BTF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:749    .text.I2C_SlaveTransmit_BTF:0000000000000000 I2C_SlaveTransmit_BTF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:792    .text.I2C_SlaveReceive_BTF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:798    .text.I2C_SlaveReceive_BTF:0000000000000000 I2C_SlaveReceive_BTF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:841    .text.I2C_IsAcknowledgeFailed:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:847    .text.I2C_IsAcknowledgeFailed:0000000000000000 I2C_IsAcknowledgeFailed
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:901    .text.I2C_ConvertOtherXferOptions:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:907    .text.I2C_ConvertOtherXferOptions:0000000000000000 I2C_ConvertOtherXferOptions
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:948    .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:954    .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 I2C_WaitOnFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1056   .text.I2C_WaitOnMasterAddressFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1062   .text.I2C_WaitOnMasterAddressFlagUntilTimeout:0000000000000000 I2C_WaitOnMasterAddressFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1206   .text.I2C_MasterRequestWrite:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1212   .text.I2C_MasterRequestWrite:0000000000000000 I2C_MasterRequestWrite
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1373   .text.I2C_MasterRequestWrite:00000000000000a0 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1379   .text.I2C_MasterRequestRead:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1385   .text.I2C_MasterRequestRead:0000000000000000 I2C_MasterRequestRead
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1606   .text.I2C_MasterRequestRead:00000000000000fc $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1612   .text.I2C_WaitOnTXEFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1618   .text.I2C_WaitOnTXEFlagUntilTimeout:0000000000000000 I2C_WaitOnTXEFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1707   .text.I2C_RequestMemoryWrite:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1713   .text.I2C_RequestMemoryWrite:0000000000000000 I2C_RequestMemoryWrite
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1899   .text.I2C_RequestMemoryWrite:00000000000000c4 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1904   .text.I2C_RequestMemoryRead:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:1910   .text.I2C_RequestMemoryRead:0000000000000000 I2C_RequestMemoryRead
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2171   .text.I2C_RequestMemoryRead:0000000000000128 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2176   .text.I2C_WaitOnBTFFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2182   .text.I2C_WaitOnBTFFlagUntilTimeout:0000000000000000 I2C_WaitOnBTFFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2271   .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2277   .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 I2C_WaitOnRXNEFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2383   .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2389   .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 I2C_WaitOnSTOPFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2474   .text.HAL_I2C_MspInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2481   .text.HAL_I2C_MspInit:0000000000000000 HAL_I2C_MspInit
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2496   .text.HAL_I2C_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2503   .text.HAL_I2C_Init:0000000000000000 HAL_I2C_Init
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2799   .text.HAL_I2C_Init:0000000000000190 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2808   .text.HAL_I2C_MspDeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2815   .text.HAL_I2C_MspDeInit:0000000000000000 HAL_I2C_MspDeInit
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2830   .text.HAL_I2C_DeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2837   .text.HAL_I2C_DeInit:0000000000000000 HAL_I2C_DeInit
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2901   .text.HAL_I2C_Master_Transmit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:2908   .text.HAL_I2C_Master_Transmit:0000000000000000 HAL_I2C_Master_Transmit
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3222   .text.HAL_I2C_Master_Transmit:0000000000000168 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3228   .text.HAL_I2C_Master_Receive:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3235   .text.HAL_I2C_Master_Receive:0000000000000000 HAL_I2C_Master_Receive
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3843   .text.HAL_I2C_Master_Receive:0000000000000258 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3849   .text.HAL_I2C_Master_Receive:0000000000000264 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3968   .text.HAL_I2C_Slave_Transmit:0000000000000000 $t
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 480


C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:3975   .text.HAL_I2C_Slave_Transmit:0000000000000000 HAL_I2C_Slave_Transmit
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4310   .text.HAL_I2C_Slave_Transmit:0000000000000190 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4316   .text.HAL_I2C_Slave_Receive:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4323   .text.HAL_I2C_Slave_Receive:0000000000000000 HAL_I2C_Slave_Receive
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4633   .text.HAL_I2C_Slave_Receive:000000000000016c $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4639   .text.HAL_I2C_Master_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4646   .text.HAL_I2C_Master_Transmit_IT:0000000000000000 HAL_I2C_Master_Transmit_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4845   .text.HAL_I2C_Master_Transmit_IT:00000000000000cc $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4852   .text.HAL_I2C_Master_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:4859   .text.HAL_I2C_Master_Receive_IT:0000000000000000 HAL_I2C_Master_Receive_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5063   .text.HAL_I2C_Master_Receive_IT:00000000000000d8 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5070   .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5077   .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 HAL_I2C_Slave_Transmit_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5216   .text.HAL_I2C_Slave_Transmit_IT:0000000000000088 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5221   .text.HAL_I2C_Slave_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5228   .text.HAL_I2C_Slave_Receive_IT:0000000000000000 HAL_I2C_Slave_Receive_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5367   .text.HAL_I2C_Slave_Receive_IT:0000000000000088 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5372   .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5379   .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 HAL_I2C_Master_Transmit_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5678   .text.HAL_I2C_Master_Transmit_DMA:0000000000000154 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13241  .text.I2C_DMAXferCplt:0000000000000000 I2C_DMAXferCplt
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13178  .text.I2C_DMAError:0000000000000000 I2C_DMAError
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5687   .text.HAL_I2C_Master_Receive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5694   .text.HAL_I2C_Master_Receive_DMA:0000000000000000 HAL_I2C_Master_Receive_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:5992   .text.HAL_I2C_Master_Receive_DMA:0000000000000154 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6001   .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6008   .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Transmit_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6212   .text.HAL_I2C_Slave_Transmit_DMA:00000000000000d8 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6219   .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6226   .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 HAL_I2C_Slave_Receive_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6428   .text.HAL_I2C_Slave_Receive_DMA:00000000000000d8 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6435   .text.HAL_I2C_Mem_Write:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6442   .text.HAL_I2C_Mem_Write:0000000000000000 HAL_I2C_Mem_Write
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6741   .text.HAL_I2C_Mem_Write:000000000000015c $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6747   .text.HAL_I2C_Mem_Read:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:6754   .text.HAL_I2C_Mem_Read:0000000000000000 HAL_I2C_Mem_Read
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7367   .text.HAL_I2C_Mem_Read:0000000000000260 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7373   .text.HAL_I2C_Mem_Read:000000000000026c $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7492   .text.HAL_I2C_Mem_Write_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7499   .text.HAL_I2C_Mem_Write_IT:0000000000000000 HAL_I2C_Mem_Write_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7711   .text.HAL_I2C_Mem_Write_IT:00000000000000d8 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7718   .text.HAL_I2C_Mem_Read_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7725   .text.HAL_I2C_Mem_Read_IT:0000000000000000 HAL_I2C_Mem_Read_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7948   .text.HAL_I2C_Mem_Read_IT:00000000000000e8 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7955   .text.HAL_I2C_Mem_Write_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:7962   .text.HAL_I2C_Mem_Write_DMA:0000000000000000 HAL_I2C_Mem_Write_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8273   .text.HAL_I2C_Mem_Write_DMA:0000000000000170 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8282   .text.HAL_I2C_Mem_Read_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8289   .text.HAL_I2C_Mem_Read_DMA:0000000000000000 HAL_I2C_Mem_Read_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8655   .text.HAL_I2C_Mem_Read_DMA:00000000000001b0 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8664   .text.HAL_I2C_IsDeviceReady:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8671   .text.HAL_I2C_IsDeviceReady:0000000000000000 HAL_I2C_IsDeviceReady
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:8999   .text.HAL_I2C_IsDeviceReady:0000000000000180 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9004   .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9011   .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 HAL_I2C_Master_Seq_Transmit_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9254   .text.HAL_I2C_Master_Seq_Transmit_IT:00000000000000f4 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9260   .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 $t
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 481


C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9267   .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Master_Seq_Transmit_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9632   .text.HAL_I2C_Master_Seq_Transmit_DMA:000000000000019c $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9640   .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9647   .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 HAL_I2C_Master_Seq_Receive_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9955   .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000144 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9961   .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:9968   .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 HAL_I2C_Master_Seq_Receive_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10418  .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000208 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10426  .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10433  .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 HAL_I2C_Slave_Seq_Transmit_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10593  .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10600  .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Seq_Transmit_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10943  .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000174 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13520  .text.I2C_DMAAbort:0000000000000000 I2C_DMAAbort
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10950  .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:10957  .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 HAL_I2C_Slave_Seq_Receive_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11117  .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11124  .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 HAL_I2C_Slave_Seq_Receive_DMA
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11465  .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000174 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11472  .text.HAL_I2C_EnableListen_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11479  .text.HAL_I2C_EnableListen_IT:0000000000000000 HAL_I2C_EnableListen_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11538  .text.HAL_I2C_DisableListen_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11545  .text.HAL_I2C_DisableListen_IT:0000000000000000 HAL_I2C_DisableListen_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11610  .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11617  .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 HAL_I2C_MasterTxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11632  .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11639  .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 HAL_I2C_MasterRxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11654  .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11661  .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 HAL_I2C_SlaveTxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11676  .text.I2C_SlaveTransmit_TXE:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11682  .text.I2C_SlaveTransmit_TXE:0000000000000000 I2C_SlaveTransmit_TXE
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11767  .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11774  .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 HAL_I2C_SlaveRxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11789  .text.I2C_SlaveReceive_RXNE:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11795  .text.I2C_SlaveReceive_RXNE:0000000000000000 I2C_SlaveReceive_RXNE
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11880  .text.HAL_I2C_AddrCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11887  .text.HAL_I2C_AddrCallback:0000000000000000 HAL_I2C_AddrCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11904  .text.I2C_Slave_ADDR:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11910  .text.I2C_Slave_ADDR:0000000000000000 I2C_Slave_ADDR
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:11998  .text.HAL_I2C_ListenCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12005  .text.HAL_I2C_ListenCpltCallback:0000000000000000 HAL_I2C_ListenCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12020  .text.I2C_Slave_AF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12026  .text.I2C_Slave_AF:0000000000000000 I2C_Slave_AF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12160  .text.I2C_Slave_AF:0000000000000090 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12165  .text.HAL_I2C_MemTxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12172  .text.HAL_I2C_MemTxCpltCallback:0000000000000000 HAL_I2C_MemTxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12187  .text.I2C_MasterTransmit_TXE:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12193  .text.I2C_MasterTransmit_TXE:0000000000000000 I2C_MasterTransmit_TXE
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12519  .text.I2C_MasterTransmit_BTF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12525  .text.I2C_MasterTransmit_BTF:0000000000000000 I2C_MasterTransmit_BTF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12675  .text.HAL_I2C_MemRxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12682  .text.HAL_I2C_MemRxCpltCallback:0000000000000000 HAL_I2C_MemRxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12697  .text.I2C_MasterReceive_RXNE:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12703  .text.I2C_MasterReceive_RXNE:0000000000000000 I2C_MasterReceive_RXNE
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12867  .text.I2C_MasterReceive_BTF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:12873  .text.I2C_MasterReceive_BTF:0000000000000000 I2C_MasterReceive_BTF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13150  .text.HAL_I2C_ErrorCallback:0000000000000000 $t
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s                   page 482


C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13157  .text.HAL_I2C_ErrorCallback:0000000000000000 HAL_I2C_ErrorCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13172  .text.I2C_DMAError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13235  .text.I2C_DMAXferCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13492  .text.HAL_I2C_AbortCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13499  .text.HAL_I2C_AbortCpltCallback:0000000000000000 HAL_I2C_AbortCpltCallback
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13514  .text.I2C_DMAAbort:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13648  .text.I2C_ITError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13654  .text.I2C_ITError:0000000000000000 I2C_ITError
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13972  .text.I2C_ITError:0000000000000160 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13978  .text.HAL_I2C_Master_Abort_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:13985  .text.HAL_I2C_Master_Abort_IT:0000000000000000 HAL_I2C_Master_Abort_IT
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14073  .text.I2C_Slave_STOPF:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14079  .text.I2C_Slave_STOPF:0000000000000000 I2C_Slave_STOPF
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14434  .text.I2C_Slave_STOPF:0000000000000180 $d
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14440  .text.HAL_I2C_EV_IRQHandler:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14447  .text.HAL_I2C_EV_IRQHandler:0000000000000000 HAL_I2C_EV_IRQHandler
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14821  .text.HAL_I2C_ER_IRQHandler:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:14828  .text.HAL_I2C_ER_IRQHandler:0000000000000000 HAL_I2C_ER_IRQHandler
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15036  .text.HAL_I2C_GetState:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15043  .text.HAL_I2C_GetState:0000000000000000 HAL_I2C_GetState
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15061  .text.HAL_I2C_GetMode:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15068  .text.HAL_I2C_GetMode:0000000000000000 HAL_I2C_GetMode
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15086  .text.HAL_I2C_GetError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccAVGQxf.s:15093  .text.HAL_I2C_GetError:0000000000000000 HAL_I2C_GetError

UNDEFINED SYMBOLS
HAL_GetTick
HAL_RCC_GetPCLK1Freq
SystemCoreClock
HAL_DMA_Start_IT
HAL_DMA_Abort_IT
HAL_DMA_GetState