ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 1


   1              		.cpu cortex-m7
   2              		.arch armv7e-m
   3              		.fpu fpv5-d16
   4              		.eabi_attribute 28, 1
   5              		.eabi_attribute 20, 1
   6              		.eabi_attribute 21, 1
   7              		.eabi_attribute 23, 3
   8              		.eabi_attribute 24, 1
   9              		.eabi_attribute 25, 1
  10              		.eabi_attribute 26, 1
  11              		.eabi_attribute 30, 1
  12              		.eabi_attribute 34, 1
  13              		.eabi_attribute 18, 4
  14              		.file	"stm32h7xx_hal_i2c.c"
  15              		.text
  16              	.Ltext0:
  17              		.cfi_sections	.debug_frame
  18              		.file 1 "Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c"
  19              		.section	.text.I2C_Flush_TXDR,"ax",%progbits
  20              		.align	1
  21              		.syntax unified
  22              		.thumb
  23              		.thumb_func
  25              	I2C_Flush_TXDR:
  26              	.LVL0:
  27              	.LFB400:
   1:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
   2:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   ******************************************************************************
   3:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @file    stm32h7xx_hal_i2c.c
   4:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @author  MCD Application Team
   5:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief   I2C HAL module driver.
   6:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          functionalities of the Inter Integrated Circuit (I2C) peripheral:
   8:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *           + Initialization and de-initialization functions
   9:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *           + IO operation functions
  10:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *           + Peripheral State and Errors functions
  11:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *
  12:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   ******************************************************************************
  13:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @attention
  14:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *
  15:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * Copyright (c) 2017 STMicroelectronics.
  16:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * All rights reserved.
  17:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *
  18:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * This software is licensed under terms that can be found in the LICENSE file
  19:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * in the root directory of this software component.
  20:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * If no LICENSE file comes with this software, it is provided AS-IS.
  21:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *
  22:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   ******************************************************************************
  23:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   @verbatim
  24:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   ==============================================================================
  25:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                         ##### How to use this driver #####
  26:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   ==============================================================================
  27:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
  28:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     The I2C HAL driver can be used as follows:
  29:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  30:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#) Declare a I2C_HandleTypeDef handle structure, for example:
  31:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_HandleTypeDef  hi2c;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 2


  32:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  33:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#)Initialize the I2C low level resources by implementing the HAL_I2C_MspInit() API:
  34:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (##) Enable the I2Cx interface clock
  35:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (##) I2C pins configuration
  36:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (+++) Enable the clock for the I2C GPIOs
  37:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (+++) Configure I2C pins as alternate function open-drain
  38:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (##) NVIC configuration if you need to use interrupt process
  39:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (+++) Configure the I2Cx interrupt priority
  40:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (+++) Enable the NVIC I2C IRQ Channel
  41:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (##) DMA Configuration if you need to use DMA process
  42:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (+++) Declare a DMA_HandleTypeDef handle structure for
  43:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   the transmit or receive stream or channel depends on Instance
  44:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (+++) Enable the DMAx interface clock using
  45:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (+++) Configure the DMA handle parameters
  46:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (+++) Configure the DMA Tx or Rx stream or channel depends on Instance
  47:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
  48:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
  49:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   the DMA Tx or Rx stream or channel depends on Instance
  50:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  51:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres
  52:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure
  53:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  54:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#) Initialize the I2C registers by calling the HAL_I2C_Init(), configures also the low level H
  55:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (GPIO, CLOCK, NVIC...etc) by calling the customized HAL_I2C_MspInit(&hi2c) API.
  56:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  57:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#) To check if target device is ready for communication, use the function HAL_I2C_IsDeviceRead
  58:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  59:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
  60:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  61:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *** Polling mode IO operation ***
  62:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     =================================
  63:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
  64:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Transmit in master mode an amount of data in blocking mode using HAL_I2C_Master_Transmit(
  65:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Receive in master mode an amount of data in blocking mode using HAL_I2C_Master_Receive()
  66:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Transmit in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Transmit()
  67:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Receive in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Receive()
  68:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  69:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *** Polling mode IO MEM operation ***
  70:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     =====================================
  71:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
  72:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Write an amount of data in blocking mode to a specific memory address using HAL_I2C_Mem_W
  73:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Read an amount of data in blocking mode from a specific memory address using HAL_I2C_Mem_
  74:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  75:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  76:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *** Interrupt mode IO operation ***
  77:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ===================================
  78:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
  79:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Transmit in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Trans
  80:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
  81:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
  82:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Receive in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Receiv
  83:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
  84:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
  85:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Transmit in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Transmi
  86:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
  87:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
  88:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Receive in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Receive_
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 3


  89:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
  90:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
  91:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
  92:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_ErrorCallback()
  93:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
  94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
  95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
  96:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
  97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            This action will inform Master to generate a Stop condition to discard the communication
  98:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
  99:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *** Interrupt mode or DMA mode IO sequential operation ***
 101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ==========================================================
 102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (@) These interfaces allow to manage a sequential transfer with a repeated start condition
 104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           when a direction change during transfer
 105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) A specific option field manage the different steps of a sequential transfer
 107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Option field values are defined through I2C_XFEROPTIONS and are listed below:
 108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functional is same as associated interfac
 109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            no sequential mode
 110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
 111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             and data to transfer without a final stop condition
 112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a 
 113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             start condition, address and data to transfer without a final stop cond
 114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             an then permit a call the same master sequential interface several time
 115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             (like HAL_I2C_Master_Seq_Transmit_IT() then HAL_I2C_Master_Seq_Transmit
 116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             or HAL_I2C_Master_Seq_Transmit_DMA() then HAL_I2C_Master_Seq_Transmit_D
 117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart 
 118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             and with new data to transfer if the direction change or manage only th
 119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             transfer
 120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             if no direction change and without a final stop condition in both cases
 121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart 
 122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             and with new data to transfer if the direction change or manage only th
 123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             transfer
 124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             if no direction change and with a final stop condition in both cases
 125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re
 126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             after several call of the same master sequential interface several time
 127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             (link with option I2C_FIRST_AND_NEXT_FRAME).
 128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             Usage can, transfer several bytes one by one using
 129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               HAL_I2C_Master_Seq_Transmit_IT
 130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Receive_IT
 131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Transmit_DMA
 132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Receive_DMA
 133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               with option I2C_FIRST_AND_NEXT_FRAME then I2C_NEXT_FRAME.
 134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit 
 135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               Receive sequence permit to call the opposite interface Receive or Tra
 136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               without stopping the communication and so generate a restart conditio
 137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c
 138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             each call of the same master sequential
 139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             interface.
 140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             Usage can, transfer several bytes one by one with a restart with slave 
 141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             each bytes using
 142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               HAL_I2C_Master_Seq_Transmit_IT
 143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Receive_IT
 144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Transmit_DMA
 145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               or HAL_I2C_Master_Seq_Receive_DMA
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 4


 146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                               with option I2C_FIRST_FRAME then I2C_OTHER_FRAME.
 147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to
 148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                             generation of STOP condition.
 149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Different sequential I2C interfaces are listed below:
 151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using
 152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             HAL_I2C_Master_Seq_Transmit_IT() or using HAL_I2C_Master_Seq_Transmit_DMA()
 153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+++) At transmission end of current frame transfer, HAL_I2C_MasterTxCpltCallback() is execut
 154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             users can add their own code by customization of function pointer HAL_I2C_MasterTxCpltC
 155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using
 156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             HAL_I2C_Master_Seq_Receive_IT() or using HAL_I2C_Master_Seq_Receive_DMA()
 157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+++) At reception end of current frame transfer, HAL_I2C_MasterRxCpltCallback() is executed 
 158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
 159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) Abort a master IT or DMA I2C process communication with Interrupt using HAL_I2C_Master_A
 160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
 161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
 162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) Enable/disable the Address listen mode in slave I2C mode using HAL_I2C_EnableListen_IT()
 163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             HAL_I2C_DisableListen_IT()
 164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+++) When address slave I2C match, HAL_I2C_AddrCallback() is executed and users can
 165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code to check the Address Match Code and the transmission direction reques
 166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (Write/Read).
 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+++) At Listen mode end HAL_I2C_ListenCpltCallback() is executed and users can
 168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           add their own code by customization of function pointer HAL_I2C_ListenCpltCallback()
 169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using
 170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             HAL_I2C_Slave_Seq_Transmit_IT() or using HAL_I2C_Slave_Seq_Transmit_DMA()
 171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+++) At transmission end of current frame transfer, HAL_I2C_SlaveTxCpltCallback() is execute
 172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             users can add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCa
 173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using
 174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             HAL_I2C_Slave_Seq_Receive_IT() or using HAL_I2C_Slave_Seq_Receive_DMA()
 175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+++) At reception end of current frame transfer, HAL_I2C_SlaveRxCpltCallback() is executed a
 176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
 177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
 178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_ErrorCallback()
 179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (++) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
 180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            This action will inform Master to generate a Stop condition to discard the communication
 181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *** Interrupt mode IO MEM operation ***
 183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     =======================================
 184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address 
 186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           HAL_I2C_Mem_Write_IT()
 187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
 188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
 189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
 190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           HAL_I2C_Mem_Read_IT()
 191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
 192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
 193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
 194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_ErrorCallback()
 195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *** DMA mode IO operation ***
 197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ==============================
 198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
 200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           HAL_I2C_Master_Transmit_DMA()
 201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
 202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 5


 203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
 204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           HAL_I2C_Master_Receive_DMA()
 205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
 206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
 207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
 208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           HAL_I2C_Slave_Transmit_DMA()
 209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
 210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
 211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
 212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           HAL_I2C_Slave_Receive_DMA()
 213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
 214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
 215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
 216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_ErrorCallback()
 217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
 218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
 219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
 220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
 221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            This action will inform Master to generate a Stop condition to discard the communication
 222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *** DMA mode IO MEM operation ***
 224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     =================================
 225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
 227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           HAL_I2C_Mem_Write_DMA()
 228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
 229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
 230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
 231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           HAL_I2C_Mem_Read_DMA()
 232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
 233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
 234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
 235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            add their own code by customization of function pointer HAL_I2C_ErrorCallback()
 236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      *** I2C HAL driver macros list ***
 239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      ==================================
 240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      [..]
 241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        Below the list of most used macros in I2C HAL driver.
 242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) __HAL_I2C_ENABLE: Enable the I2C peripheral
 244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) __HAL_I2C_DISABLE: Disable the I2C peripheral
 245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode
 246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not
 247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
 248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt
 249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
 250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      *** Callback registration ***
 252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      =============================================
 253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1
 255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      allows the user to configure dynamically the driver callbacks.
 256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      Use Functions HAL_I2C_RegisterCallback() or HAL_I2C_RegisterAddrCallback()
 257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      to register an interrupt callback.
 258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      Function HAL_I2C_RegisterCallback() allows to register following callbacks:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 6


 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
 261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MasterRxCpltCallback : callback for Master reception end of transfer.
 262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) SlaveTxCpltCallback  : callback for Slave transmission end of transfer.
 263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) SlaveRxCpltCallback  : callback for Slave reception end of transfer.
 264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) ListenCpltCallback   : callback for end of listen mode.
 265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MemTxCpltCallback    : callback for Memory transmission end of transfer.
 266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MemRxCpltCallback    : callback for Memory reception end of transfer.
 267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) ErrorCallback        : callback for error detection.
 268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) AbortCpltCallback    : callback for abort completion process.
 269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MspInitCallback      : callback for Msp Init.
 270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MspDeInitCallback    : callback for Msp DeInit.
 271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      This function takes as parameters the HAL peripheral handle, the Callback ID
 272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      and a pointer to the user callback function.
 273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      For specific callback AddrCallback use dedicated register callbacks : HAL_I2C_RegisterAddrCall
 275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      Use function HAL_I2C_UnRegisterCallback to reset a callback to the default
 277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      weak function.
 278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle,
 279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      and the Callback ID.
 280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      This function allows to reset following callbacks:
 281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
 282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MasterRxCpltCallback : callback for Master reception end of transfer.
 283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) SlaveTxCpltCallback  : callback for Slave transmission end of transfer.
 284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) SlaveRxCpltCallback  : callback for Slave reception end of transfer.
 285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) ListenCpltCallback   : callback for end of listen mode.
 286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MemTxCpltCallback    : callback for Memory transmission end of transfer.
 287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MemRxCpltCallback    : callback for Memory reception end of transfer.
 288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) ErrorCallback        : callback for error detection.
 289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) AbortCpltCallback    : callback for abort completion process.
 290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MspInitCallback      : callback for Msp Init.
 291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (+) MspDeInitCallback    : callback for Msp DeInit.
 292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      For callback AddrCallback use dedicated register callbacks : HAL_I2C_UnRegisterAddrCallback().
 294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      By default, after the HAL_I2C_Init() and when the state is HAL_I2C_STATE_RESET
 296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      all callbacks are set to the corresponding weak functions:
 297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      examples HAL_I2C_MasterTxCpltCallback(), HAL_I2C_MasterRxCpltCallback().
 298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      Exception done for MspInit and MspDeInit functions that are
 299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      reset to the legacy weak functions in the HAL_I2C_Init()/ HAL_I2C_DeInit() only when
 300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      these callbacks are null (not registered beforehand).
 301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      If MspInit or MspDeInit are not null, the HAL_I2C_Init()/ HAL_I2C_DeInit()
 302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
 303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      Callbacks can be registered/unregistered in HAL_I2C_STATE_READY state only.
 305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      Exception done MspInit/MspDeInit functions that can be registered/unregistered
 306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      in HAL_I2C_STATE_READY or HAL_I2C_STATE_RESET state,
 307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
 308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      Then, the user first registers the MspInit/MspDeInit user callbacks
 309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      using HAL_I2C_RegisterCallback() before calling HAL_I2C_DeInit()
 310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      or HAL_I2C_Init() function.
 311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
 312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or
 313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      not defined, the callback registration feature is not available and all callbacks
 314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      are set to the corresponding weak functions.
 315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****      [..]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 7


 317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (@) You can refer to the I2C HAL driver header file for more useful macros
 318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   @endverbatim
 320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
 323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #include "stm32h7xx_hal.h"
 324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @addtogroup STM32H7xx_HAL_Driver
 326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
 327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @defgroup I2C I2C
 330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief I2C HAL module driver
 331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
 335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
 337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
 338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define
 340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
 341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define TIMING_CLEAR_MASK   (0xF0FFFFFFU)  /*!< I2C TIMING clear register Mask */
 343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR    (10000U)       /*!< 10 s  */
 344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY    (25U)          /*!< 25 ms */
 345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR     (25U)          /*!< 25 ms */
 346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE    (25U)          /*!< 25 ms */
 347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF   (25U)          /*!< 25 ms */
 348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_TIMEOUT_TC      (25U)          /*!< 25 ms */
 349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR     (25U)          /*!< 25 ms */
 350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS    (25U)          /*!< 25 ms */
 351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG    (25U)          /*!< 25 ms */
 352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define MAX_NBYTE_SIZE      255U
 354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define SLAVE_ADDR_SHIFT     7U
 355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define SLAVE_ADDR_MSK       0x06U
 356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
 358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_STATE_MSK             ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | \
 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                          (uint32_t)HAL_I2C_STATE_BUSY_RX) & \
 360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                               (uint32_t)(~((uint32_t)HAL_I2C_STATE_READY))))
 361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /*!< Mask State define, keep only RX and TX bits */
 362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_STATE_NONE            ((uint32_t)(HAL_I2C_MODE_NONE))
 363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /*!< Default Value */
 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX  ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
 365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                               (uint32_t)HAL_I2C_MODE_MASTER))
 366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /*!< Master Busy TX, combinaison of State LSB and Mode enum */
 367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX  ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
 368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                               (uint32_t)HAL_I2C_MODE_MASTER))
 369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /*!< Master Busy RX, combinaison of State LSB and Mode enum */
 370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX   ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
 371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                               (uint32_t)HAL_I2C_MODE_SLAVE))
 372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /*!< Slave Busy TX, combinaison of State LSB and Mode enum */
 373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX   ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 8


 374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                               (uint32_t)HAL_I2C_MODE_SLAVE))
 375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /*!< Slave Busy RX, combinaison of State LSB and Mode enum  */
 376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX     ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
 377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                               (uint32_t)HAL_I2C_MODE_MEM))
 378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /*!< Memory Busy TX, combinaison of State LSB and Mode enum */
 379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX     ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
 380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                               (uint32_t)HAL_I2C_MODE_MEM))
 381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /*!< Memory Busy RX, combinaison of State LSB and Mode enum */
 382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */
 385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_XFER_TX_IT          (uint16_t)(0x0001U)   /*!< Bit field can be combinated with
 386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                          @ref I2C_XFER_LISTEN_IT */
 387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_XFER_RX_IT          (uint16_t)(0x0002U)   /*!< Bit field can be combinated with
 388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                          @ref I2C_XFER_LISTEN_IT */
 389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT      (uint16_t)(0x8000U)   /*!< Bit field can be combinated with @ref I2
 390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                          and @ref I2C_XFER_RX_IT */
 391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT       (uint16_t)(0x0010U)   /*!< Bit definition to manage addition of glo
 393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                          and NACK treatment */
 394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT        (uint16_t)(0x0020U)   /*!< Bit definition to manage only STOP evene
 395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT      (uint16_t)(0x0040U)   /*!< Bit definition to manage only Reload of 
 396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */
 398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME     (0xFFFF0000U)
 399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
 400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @}
 401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private macros ------------------------------------------------------------*/
 404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @addtogroup I2C_Private_Macro
 405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
 406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Macro to get remaining data to transfer on DMA side */
 408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #define I2C_GET_DMA_REMAIN_DATA(__HANDLE__)     __HAL_DMA_GET_COUNTER(__HANDLE__)
 409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
 410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @}
 411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
 414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
 415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
 417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
 418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
 420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma);
 421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma);
 422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma);
 423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma);
 424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
 425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
 426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private functions to handle IT transfer */
 429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
 430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 9


 431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c);
 432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
 433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
 434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
 435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode);
 436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private functions to handle IT transfer */
 438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
 439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                 uint16_t MemAddress, uint16_t MemAddSize, uint32_t 
 440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                 uint32_t Tickstart);
 441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
 442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
 443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                uint32_t Tickstart);
 444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
 446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
 447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                            uint32_t ITSources);
 448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
 449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                         uint32_t ITSources);
 450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
 451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                           uint32_t ITSources);
 452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
 453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                             uint32_t ITSources);
 454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
 455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          uint32_t ITSources);
 456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
 457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                            uint32_t ITSources);
 458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
 460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
 461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                     uint32_t Timeout, uint32_t Tickstart);
 462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
 463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                         uint32_t Tickstart);
 464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
 465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                         uint32_t Tickstart);
 466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
 467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                         uint32_t Tickstart);
 468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
 469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                              uint32_t Tickstart);
 470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */
 472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
 473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
 474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private function to treat different error callback */
 476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c);
 477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private function to flush TXDR register */
 479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c);
 480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private function to handle  start, restart or stop a transfer */
 482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
 483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                uint32_t Request);
 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Private function to Convert Specific options */
 486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
 487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 10


 488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @}
 489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
 492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
 494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
 495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
 498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *  @brief    Initialization and Configuration functions
 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *
 500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** @verbatim
 501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****  ===============================================================================
 502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               ##### Initialization and de-initialization functions #####
 503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****  ===============================================================================
 504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]  This subsection provides a set of functions allowing to initialize and
 505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           deinitialize the I2Cx peripheral:
 506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) User must Implement HAL_I2C_MspInit() function in which he configures
 508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
 509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Call the function HAL_I2C_Init() to configure the selected device with
 511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           the selected configuration:
 512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) Clock Timing
 513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) Own Address 1
 514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) Addressing mode (Master, Slave)
 515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) Dual Addressing mode
 516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) Own Address 2
 517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) Own Address 2 Mask
 518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) General call mode
 519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) Nostretch mode
 520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (+) Call the function HAL_I2C_DeInit() to restore the default configuration
 522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           of the selected I2Cx peripheral.
 523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** @endverbatim
 525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
 526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
 529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Initializes the I2C according to the specified parameters
 530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in the I2C_InitTypeDef and initialize the associated handle.
 531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
 534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
 536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
 537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the I2C handle allocation */
 538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c == NULL)
 539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
 541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
 544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 11


 545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
 546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
 547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
 548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
 549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
 550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
 552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_RESET)
 554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Allocate lock resource and initialize it */
 556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Lock = HAL_UNLOCKED;
 557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Init the I2C Callback settings */
 560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback 
 561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback 
 562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->SlaveTxCpltCallback  = HAL_I2C_SlaveTxCpltCallback;  /* Legacy weak SlaveTxCpltCallback  
 563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->SlaveRxCpltCallback  = HAL_I2C_SlaveRxCpltCallback;  /* Legacy weak SlaveRxCpltCallback  
 564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ListenCpltCallback   = HAL_I2C_ListenCpltCallback;   /* Legacy weak ListenCpltCallback   
 565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->MemTxCpltCallback    = HAL_I2C_MemTxCpltCallback;    /* Legacy weak MemTxCpltCallback    
 566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->MemRxCpltCallback    = HAL_I2C_MemRxCpltCallback;    /* Legacy weak MemRxCpltCallback    
 567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCallback        = HAL_I2C_ErrorCallback;        /* Legacy weak ErrorCallback        
 568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->AbortCpltCallback    = HAL_I2C_AbortCpltCallback;    /* Legacy weak AbortCpltCallback    
 569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->AddrCallback         = HAL_I2C_AddrCallback;         /* Legacy weak AddrCallback         
 570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->MspInitCallback == NULL)
 572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit  */
 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
 577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->MspInitCallback(hi2c);
 578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
 579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
 580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     HAL_I2C_MspInit(hi2c);
 581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_BUSY;
 585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable the selected I2C peripheral */
 587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_I2C_DISABLE(hi2c);
 588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /*---------------------------- I2Cx TIMINGR Configuration ------------------*/
 590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Configure I2Cx: Frequency range */
 591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK;
 592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
 594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable Own Address1 before set the Own Address1 configuration */
 595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN;
 596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Configure I2Cx: Own Address1 and ack own address1 mode */
 598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
 599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1);
 601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 12


 602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else /* I2C_ADDRESSINGMODE_10BIT */
 603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1);
 605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /*---------------------------- I2Cx CR2 Configuration ----------------------*/
 608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Configure I2Cx: Addressing Master mode */
 609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
 610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     SET_BIT(hi2c->Instance->CR2, I2C_CR2_ADD10);
 612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
 614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear the I2C ADD10 bit */
 616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_ADD10);
 617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */
 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK);
 620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
 622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable Own Address2 before set the Own Address2 configuration */
 623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE;
 624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Configure I2Cx: Dual mode and Own Address2 */
 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \
 627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                           (hi2c->Init.OwnAddress2Masks << 8));
 628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /*---------------------------- I2Cx CR1 Configuration ----------------------*/
 630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Configure I2Cx: Generalcall and NoStretch mode */
 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode);
 632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Enable the selected I2C peripheral */
 634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_I2C_ENABLE(hi2c);
 635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_READY;
 638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
 642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
 645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  DeInitialize the I2C peripheral.
 646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
 649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
 651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
 652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the I2C handle allocation */
 653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c == NULL)
 654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
 656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 13


 659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
 660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_BUSY;
 662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable the I2C Peripheral Clock */
 664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_I2C_DISABLE(hi2c);
 665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->MspDeInitCallback == NULL)
 668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit  */
 670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
 673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->MspDeInitCallback(hi2c);
 674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
 675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
 676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_MspDeInit(hi2c);
 677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_RESET;
 681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Release Lock */
 685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
 686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
 688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
 691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief Initialize the I2C MSP.
 692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
 695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
 697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
 698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
 700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
 702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_MspInit could be implemented in the user file
 703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
 704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
 707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief DeInitialize the I2C MSP.
 708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
 711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
 713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
 714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 14


 716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
 718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_MspDeInit could be implemented in the user file
 719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
 720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
 723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
 724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Register a User I2C Callback
 725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         To be used instead of the weak predefined callback
 726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   The HAL_I2C_RegisterCallback() may be called before HAL_I2C_Init() in HAL_I2C_STATE_RES
 727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         to register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID.
 728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  CallbackID ID of the callback to be registered
 731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         This parameter can be one of the following values:
 732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
 733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
 734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
 735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
 736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
 737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
 738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
 739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
 740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
 741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
 742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
 743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pCallback pointer to the Callback function
 744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
 745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb
 747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                            pI2C_CallbackTypeDef pCallback)
 748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
 749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (pCallback == NULL)
 752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update the error code */
 754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
 757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (HAL_I2C_STATE_READY == hi2c->State)
 760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     switch (CallbackID)
 762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
 764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MasterTxCpltCallback = pCallback;
 765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
 768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MasterRxCpltCallback = pCallback;
 769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
 772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->SlaveTxCpltCallback = pCallback;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 15


 773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
 776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->SlaveRxCpltCallback = pCallback;
 777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_LISTEN_COMPLETE_CB_ID :
 780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ListenCpltCallback = pCallback;
 781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
 784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MemTxCpltCallback = pCallback;
 785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
 788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MemRxCpltCallback = pCallback;
 789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_ERROR_CB_ID :
 792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCallback = pCallback;
 793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_ABORT_CB_ID :
 796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->AbortCpltCallback = pCallback;
 797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MSPINIT_CB_ID :
 800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MspInitCallback = pCallback;
 801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MSPDEINIT_CB_ID :
 804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MspDeInitCallback = pCallback;
 805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       default :
 808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update the error code */
 809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Return error status */
 812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         status =  HAL_ERROR;
 813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (HAL_I2C_STATE_RESET == hi2c->State)
 817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     switch (CallbackID)
 819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MSPINIT_CB_ID :
 821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MspInitCallback = pCallback;
 822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MSPDEINIT_CB_ID :
 825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MspDeInitCallback = pCallback;
 826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       default :
 829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update the error code */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 16


 830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Return error status */
 833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         status =  HAL_ERROR;
 834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
 838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update the error code */
 840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Return error status */
 843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     status =  HAL_ERROR;
 844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return status;
 847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
 850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Unregister an I2C Callback
 851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         I2C callback is redirected to the weak predefined callback
 852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   The HAL_I2C_UnRegisterCallback() may be called before HAL_I2C_Init() in HAL_I2C_STATE_R
 853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         to un-register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID.
 854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  CallbackID ID of the callback to be unregistered
 857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         This parameter can be one of the following values:
 858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         This parameter can be one of the following values:
 859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
 860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
 861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
 862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
 863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
 864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
 865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
 866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
 867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
 868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
 869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *          @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
 870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
 871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal
 873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
 874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (HAL_I2C_STATE_READY == hi2c->State)
 877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     switch (CallbackID)
 879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
 881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb
 882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
 885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb
 886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 17


 887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
 889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback;   /* Legacy weak SlaveTxCpltCallba
 890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
 893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback;   /* Legacy weak SlaveRxCpltCallba
 894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_LISTEN_COMPLETE_CB_ID :
 897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback;     /* Legacy weak ListenCpltCallbac
 898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
 901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback;       /* Legacy weak MemTxCpltCallback
 902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
 905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback;       /* Legacy weak MemRxCpltCallback
 906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_ERROR_CB_ID :
 909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCallback = HAL_I2C_ErrorCallback;               /* Legacy weak ErrorCallback    
 910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_ABORT_CB_ID :
 913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback;       /* Legacy weak AbortCpltCallback
 914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MSPINIT_CB_ID :
 917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MspInitCallback = HAL_I2C_MspInit;                   /* Legacy weak MspInit          
 918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MSPDEINIT_CB_ID :
 921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MspDeInitCallback = HAL_I2C_MspDeInit;               /* Legacy weak MspDeInit        
 922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       default :
 925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update the error code */
 926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Return error status */
 929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         status =  HAL_ERROR;
 930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (HAL_I2C_STATE_RESET == hi2c->State)
 934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     switch (CallbackID)
 936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MSPINIT_CB_ID :
 938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MspInitCallback = HAL_I2C_MspInit;                   /* Legacy weak MspInit          
 939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       case HAL_I2C_MSPDEINIT_CB_ID :
 942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->MspDeInitCallback = HAL_I2C_MspDeInit;               /* Legacy weak MspDeInit        
 943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 18


 944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       default :
 946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update the error code */
 947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Return error status */
 950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         status =  HAL_ERROR;
 951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         break;
 952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
 955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update the error code */
 957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Return error status */
 960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     status =  HAL_ERROR;
 961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return status;
 964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
 967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Register the Slave Address Match I2C Callback
 968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         To be used instead of the weak HAL_I2C_AddrCallback() predefined callback
 969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
 970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
 971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pCallback pointer to the Address Match Callback function
 972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
 973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
 974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC
 975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
 976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (pCallback == NULL)
 979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update the error code */
 981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
 984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (HAL_I2C_STATE_READY == hi2c->State)
 987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->AddrCallback = pCallback;
 989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
 991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update the error code */
 993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
 994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Return error status */
 996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     status =  HAL_ERROR;
 997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return status;
1000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 19


1001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
1003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  UnRegister the Slave Address Match I2C Callback
1004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal
1005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
1008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
1010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
1011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
1012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (HAL_I2C_STATE_READY == hi2c->State)
1014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback  */
1016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
1018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update the error code */
1020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
1021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Return error status */
1023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     status =  HAL_ERROR;
1024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return status;
1027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
1028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
1032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @}
1033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
1036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *  @brief   Data transfers functions
1037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *
1038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** @verbatim
1039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****  ===============================================================================
1040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                       ##### IO operation functions #####
1041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****  ===============================================================================
1042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
1043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     This subsection provides a set of functions allowing to manage the I2C data
1044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     transfers.
1045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#) There are two modes of transfer:
1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (++) Blocking mode : The communication is performed in the polling mode.
1048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             The status of all data processing is returned by the same function
1049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             after finishing transfer.
1050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        (++) No-Blocking mode : The communication is performed using Interrupts
1051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             or DMA. These functions return the status of the transfer startup.
1052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             The end of the data processing will be indicated through the
1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
1054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             using DMA mode.
1055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#) Blocking mode functions are :
1057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Transmit()
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 20


1058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Receive()
1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Transmit()
1060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Receive()
1061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Write()
1062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Read()
1063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_IsDeviceReady()
1064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#) No-Blocking mode functions with Interrupt are :
1066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Transmit_IT()
1067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Receive_IT()
1068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Transmit_IT()
1069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Receive_IT()
1070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Write_IT()
1071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Read_IT()
1072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Seq_Transmit_IT()
1073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Seq_Receive_IT()
1074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Seq_Transmit_IT()
1075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Seq_Receive_IT()
1076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_EnableListen_IT()
1077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_DisableListen_IT()
1078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Abort_IT()
1079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#) No-Blocking mode functions with DMA are :
1081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Transmit_DMA()
1082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Receive_DMA()
1083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Transmit_DMA()
1084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Receive_DMA()
1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Write_DMA()
1086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Mem_Read_DMA()
1087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Seq_Transmit_DMA()
1088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Master_Seq_Receive_DMA()
1089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Seq_Transmit_DMA()
1090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_Slave_Seq_Receive_DMA()
1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
1093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_MasterTxCpltCallback()
1094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_MasterRxCpltCallback()
1095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_SlaveTxCpltCallback()
1096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_SlaveRxCpltCallback()
1097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_MemTxCpltCallback()
1098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_MemRxCpltCallback()
1099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_AddrCallback()
1100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_ListenCpltCallback()
1101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_ErrorCallback()
1102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (++) HAL_I2C_AbortCpltCallback()
1103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** @endverbatim
1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
1106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
1109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Transmits in master mode an amount of data in blocking mode.
1110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
1113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
1114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 21


1115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
1117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
1118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
1120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                           uint16_t Size, uint32_t Timeout)
1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
1122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
1124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Init tickstart for timeout management*/
1131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tickstart = HAL_GetTick();
1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
1134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
1136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
1140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
1143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr  = pData;
1144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
1146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
1148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
1151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
1153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
1155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
1156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
1159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Preload TX register */
1161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
1166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
1169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Send Slave Address */
1171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 22


1172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)(hi2c->XferSize + 1U), xfermode,
1173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
1174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
1176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Send Slave Address */
1178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode,
1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
1181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     while (hi2c->XferCount > 0U)
1184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wait until TXIS flag is set */
1186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
1188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
1189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
1190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
1191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
1194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
1195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
1197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
1198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
1200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Wait until TCR flag is set */
1202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
1203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
1204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
1205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferCount > MAX_NBYTE_SIZE)
1208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
1209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize = MAX_NBYTE_SIZE;
1210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
1212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
1213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else
1214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize = hi2c->XferCount;
1216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
1218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
1219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
1220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
1223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until STOPF flag is set */
1224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
1227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 23


1229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear STOP Flag */
1230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear Configuration Register 2 */
1233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_RESET_CR2(hi2c);
1234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
1236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
1237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
1244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
1246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
1250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Receives in master mode an amount of data in blocking mode.
1251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
1255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
1258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
1259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
1261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          uint16_t Size, uint32_t Timeout)
1262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
1263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
1264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Init tickstart for timeout management*/
1271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tickstart = HAL_GetTick();
1272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
1274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
1276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
1279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
1280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
1283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr  = pData;
1284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
1285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 24


1286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Slave Address */
1288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
1289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
1290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
1292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
1294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
1296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
1298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
1300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     while (hi2c->XferCount > 0U)
1303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wait until RXNE flag is set */
1305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
1307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
1308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
1309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Read data from RXDR */
1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
1314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
1315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
1318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
1320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
1321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Wait until TCR flag is set */
1322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
1323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
1324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
1325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
1326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferCount > MAX_NBYTE_SIZE)
1328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize = MAX_NBYTE_SIZE;
1330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
1332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
1333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else
1334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
1335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize = hi2c->XferCount;
1336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
1338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
1339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
1340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 25


1343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until STOPF flag is set */
1344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
1347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear STOP Flag */
1350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear Configuration Register 2 */
1353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_RESET_CR2(hi2c);
1354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
1356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
1357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
1359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
1362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
1364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
1366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
1368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
1370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Transmits in slave mode an amount of data in blocking mode.
1371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
1376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
1377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
1379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          uint32_t Timeout)
1380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
1381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
1382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t tmpXferCount;
1383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef error;
1384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
1388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
1390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
1391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Init tickstart for timeout management*/
1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tickstart = HAL_GetTick();
1397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
1399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 26


1400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr  = pData;
1404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
1405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
1406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable Address Acknowledge */
1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until ADDR flag is set */
1411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable Address Acknowledge */
1414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR2 |= I2C_CR2_NACK;
1415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
1416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Preload TX data if no stretch enable */
1419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
1420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Preload TX register */
1422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
1426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
1427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
1429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear ADDR flag */
1432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If 10bit addressing mode is selected */
1435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
1436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wait until ADDR flag is set */
1438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
1440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Disable Address Acknowledge */
1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR2 |= I2C_CR2_NACK;
1442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
1443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
1444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Clear ADDR flag */
1446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until DIR flag is set Transmitter mode */
1450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK)
1451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable Address Acknowledge */
1453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR2 |= I2C_CR2_NACK;
1454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
1455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 27


1457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     while (hi2c->XferCount > 0U)
1458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wait until TXIS flag is set */
1460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Disable Address Acknowledge */
1463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR2 |= I2C_CR2_NACK;
1464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
1465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
1466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
1472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
1474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until AF flag is set */
1477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     error = I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_AF, RESET, Timeout, tickstart);
1478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (error != HAL_OK)
1480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Check that I2C transfer finished */
1482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
1483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Mean XferCount == 0 */
1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpXferCount = hi2c->XferCount;
1486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U))
1487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
1488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Reset ErrorCode to NONE */
1489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
1491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
1492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
1493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Disable Address Acknowledge */
1494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR2 |= I2C_CR2_NACK;
1495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
1496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
1497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
1499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Flush TX register */
1501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Flush_TXDR(hi2c);
1502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Clear AF flag */
1504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
1505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wait until STOP flag is set */
1507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
1509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Disable Address Acknowledge */
1510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR2 |= I2C_CR2_NACK;
1511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
1513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 28


1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Clear STOP flag */
1516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until BUSY flag is reset */
1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
1521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable Address Acknowledge */
1523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR2 |= I2C_CR2_NACK;
1524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
1525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Address Acknowledge */
1528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR2 |= I2C_CR2_NACK;
1529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
1531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
1532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
1534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
1537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
1539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
1541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
1543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
1545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Receive in slave mode an amount of data in blocking mode
1546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
1551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
1552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
1554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                         uint32_t Timeout)
1555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
1556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
1557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
1561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
1563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
1564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Init tickstart for timeout management*/
1569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tickstart = HAL_GetTick();
1570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 29


1571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
1572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
1573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr  = pData;
1577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
1578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize = hi2c->XferCount;
1579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
1580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable Address Acknowledge */
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until ADDR flag is set */
1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable Address Acknowledge */
1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR2 |= I2C_CR2_NACK;
1589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
1590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear ADDR flag */
1593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until DIR flag is reset Receiver mode */
1596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK)
1597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable Address Acknowledge */
1599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR2 |= I2C_CR2_NACK;
1600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
1601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     while (hi2c->XferCount > 0U)
1604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wait until RXNE flag is set */
1606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
1608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Disable Address Acknowledge */
1609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR2 |= I2C_CR2_NACK;
1610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Store Last receive data if any */
1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
1613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
1614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Read data from RXDR */
1615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Increment Buffer pointer */
1618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->pBuffPtr++;
1619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferCount--;
1621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize--;
1622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
1623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
1625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
1626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Read data from RXDR */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 30


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


1685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
1686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
1687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_BUSY;
1693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
1696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_TX;
1699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
1700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
1701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
1703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
1707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
1709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
1711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
1712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
1714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
1716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
1717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Slave Address */
1720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
1721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
1722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Preload TX register */
1724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
1725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
1728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
1729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
1731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
1732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)(hi2c->XferSize + 1U), xfermode,
1734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
1735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
1737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode,
1739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
1740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 32


1742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
1743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
1746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
1747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               process unlock */
1748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* possible to enable all of these */
1751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
1754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
1756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
1758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
1760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
1762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
1764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Receive in master mode an amount of data in non-blocking mode with Interrupt
1765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
1768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
1769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
1772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
1774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                             uint16_t Size)
1775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
1776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
1777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_BUSY;
1783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_RX;
1789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
1790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
1791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
1793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
1797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 33


1799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
1801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
1802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
1804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
1806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
1807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Slave Address */
1810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
1811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
1812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
1814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
1817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
1818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               process unlock */
1819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable ERR, TC, STOP, NACK, RXI interrupt */
1821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* possible to enable all of these */
1822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
1825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
1827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
1829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
1831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
1833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
1835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Transmit in slave mode an amount of data in non-blocking mode with Interrupt
1836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
1841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
1844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
1847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_TX;
1850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
1851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
1852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable Address Acknowledge */
1854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 34


1856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
1857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
1860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
1862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Preload TX data if no stretch enable */
1864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
1865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Preload TX register */
1867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
1868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
1871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
1872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
1874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
1875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
1878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
1881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
1882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               process unlock */
1883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* possible to enable all of these */
1886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
1889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
1891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
1893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
1895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
1897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
1899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Receive in slave mode an amount of data in non-blocking mode with Interrupt
1900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
1905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
1908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 35


1913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_RX;
1914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
1915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
1916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable Address Acknowledge */
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
1921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
1924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
1926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
1928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
1929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
1931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
1932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               process unlock */
1933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable ERR, TC, STOP, NACK, RXI interrupt */
1935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* possible to enable all of these */
1936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
1939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
1941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
1943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
1945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
1946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
1947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
1949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Transmit in master mode an amount of data in non-blocking mode with DMA
1950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
1951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
1952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
1953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
1954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
1955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
1956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
1957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
1958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                               uint16_t Size)
1960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
1961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
1962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
1963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t sizetoxfer = 0U;
1964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
1966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
1967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_BUSY;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 36


1970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
1973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
1974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_TX;
1976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
1977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
1978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
1980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
1981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
1982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
1984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
1986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
1988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
1989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
1991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
1993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
1994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
1995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
1996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
1997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
1998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Preload TX register */
1999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
2000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
2001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
2003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
2004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       sizetoxfer = hi2c->XferSize;
2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
2007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
2008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
2011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->hdmatx != NULL)
2013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the I2C DMA transfer complete callback */
2015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
2016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the DMA error callback */
2018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the unused DMA callbacks to NULL */
2021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferHalfCpltCallback = NULL;
2022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
2023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable the DMA stream or channel depends on Instance */
2025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr,
2026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 37


2027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
2029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C state */
2031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
2032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
2033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C error code */
2035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
2038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
2041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
2044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Send Slave Address */
2046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART 
2047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, DevAddress, (uint8_t)(hi2c->XferSize + 1U),
2048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            xfermode, I2C_GENERATE_START_WRITE);
2049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update XferCount value */
2051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferCount -= hi2c->XferSize;
2052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
2054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
2057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   to avoid the risk of I2C interrupt handle execution before current
2058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   process unlock */
2059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable ERR and NACK interrupts */
2060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
2061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable DMA Request */
2063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
2064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
2066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C state */
2068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
2069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
2070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C error code */
2072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
2075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
2078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
2081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update Transfer ISR function pointer */
2083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferISR = I2C_Master_ISR_IT;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 38


2084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Send Slave Address */
2086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set NBYTES to write and generate START condition */
2087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, I2C_AUTOEND_MODE,
2088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
2089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
2091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
2094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 to avoid the risk of I2C interrupt handle execution before current
2095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 process unlock */
2096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* possible to enable all of these */
2098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
2104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
2106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
2108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
2110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
2112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Receive in master mode an amount of data in non-blocking mode with DMA
2113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
2116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
2117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
2120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
2121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 
2122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                              uint16_t Size)
2123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
2124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
2125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
2126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_BUSY;
2132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_RX;
2138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
2139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
2140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 39


2141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
2142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
2146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
2148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
2150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
2151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
2153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
2155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
2156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
2159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->hdmarx != NULL)
2161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the I2C DMA transfer complete callback */
2163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
2164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the DMA error callback */
2166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the unused DMA callbacks to NULL */
2169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferHalfCpltCallback = NULL;
2170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback = NULL;
2171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable the DMA stream or channel depends on Instance */
2173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
2174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          hi2c->XferSize);
2175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
2177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C state */
2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
2180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
2181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C error code */
2183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
2186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
2189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
2192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Send Slave Address */
2194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART *
2195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
2196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update XferCount value */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 40


2198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferCount -= hi2c->XferSize;
2199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
2201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
2204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   to avoid the risk of I2C interrupt handle execution before current
2205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   process unlock */
2206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable ERR and NACK interrupts */
2207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
2208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable DMA Request */
2210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
2211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
2213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C state */
2215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
2216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
2217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C error code */
2219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
2222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
2225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
2228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update Transfer ISR function pointer */
2230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferISR = I2C_Master_ISR_IT;
2231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Send Slave Address */
2233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set NBYTES to read and generate START condition */
2234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
2236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
2238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
2241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 to avoid the risk of I2C interrupt handle execution before current
2242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 process unlock */
2243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, TC, STOP, NACK, RXI interrupt */
2244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* possible to enable all of these */
2245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
2248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
2251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
2253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 41


2255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
2257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
2259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Transmit in slave mode an amount of data in non-blocking mode with DMA
2260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
2265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
2266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
2267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
2268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
2269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
2273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
2276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_TX;
2281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
2282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
2283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
2285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
2288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
2290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Preload TX data if no stretch enable */
2292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
2293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Preload TX register */
2295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
2297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
2299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
2300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
2302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
2303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount != 0U)
2306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->hdmatx != NULL)
2308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the I2C DMA transfer complete callback */
2310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
2311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 42


2312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the DMA error callback */
2313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the unused DMA callbacks to NULL */
2316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferHalfCpltCallback = NULL;
2317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
2318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable the DMA stream or channel depends on Instance */
2320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx,
2321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
2322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          hi2c->XferSize);
2323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
2325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C state */
2327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_LISTEN;
2328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
2329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C error code */
2331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
2334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
2337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
2340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable Address Acknowledge */
2342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
2345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
2348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   to avoid the risk of I2C interrupt handle execution before current
2349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   process unlock */
2350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable ERR, STOP, NACK, ADDR interrupts */
2351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable DMA Request */
2354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
2355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
2357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C state */
2359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_LISTEN;
2360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
2361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C error code */
2363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
2366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
2367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 43


2369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
2372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable Address Acknowledge */
2374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
2377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
2380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       to avoid the risk of I2C interrupt handle execution before current
2381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       process unlock */
2382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, STOP, NACK, ADDR interrupts */
2383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
2387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
2389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
2391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
2393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
2395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Receive in slave mode an amount of data in non-blocking mode with DMA
2396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
2401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
2402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
2403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
2404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
2405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
2409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
2412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
2414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_RX;
2417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
2418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
2419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
2424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 44


2426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->hdmarx != NULL)
2428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
2430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
2431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the DMA error callback */
2433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
2436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferHalfCpltCallback = NULL;
2437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
2438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable the DMA stream or channel depends on Instance */
2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
2441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
2442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
2444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C state */
2446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_LISTEN;
2447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
2448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C error code */
2450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
2453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
2456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (dmaxferstatus == HAL_OK)
2459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable Address Acknowledge */
2461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
2464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
2467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 to avoid the risk of I2C interrupt handle execution before current
2468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 process unlock */
2469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, STOP, NACK, ADDR interrupts */
2470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable DMA Request */
2473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
2474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
2476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C state */
2478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_LISTEN;
2479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
2480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C error code */
2482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 45


2483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
2485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
2488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
2491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
2493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
2495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
2497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
2499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Write an amount of data in blocking mode to a specific memory address
2500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
2503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
2504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
2505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
2506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
2509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
2510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
2511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
2512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                     uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Ti
2513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
2514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
2515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
2517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
2522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
2525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
2528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Init tickstart for timeout management*/
2531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tickstart = HAL_GetTick();
2532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
2534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
2536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
2539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 46


2540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
2543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr  = pData;
2544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
2545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
2546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Slave Address and Memory Address */
2548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
2549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
2551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
2553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
2556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
2557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
2559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
2560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
2562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
2564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
2565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     do
2568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wait until TXIS flag is set */
2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
2573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
2576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
2577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
2579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
2580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
2582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
2583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
2585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Wait until TCR flag is set */
2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
2588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
2589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
2590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
2591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferCount > MAX_NBYTE_SIZE)
2593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
2594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize = MAX_NBYTE_SIZE;
2595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 47


2597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
2598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else
2599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
2600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize = hi2c->XferCount;
2601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
2603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
2604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     } while (hi2c->XferCount > 0U);
2607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
2609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until STOPF flag is reset */
2610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
2613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear STOP Flag */
2616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
2617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear Configuration Register 2 */
2619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_RESET_CR2(hi2c);
2620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
2622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
2623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
2625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
2626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
2628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
2630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
2632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
2634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
2636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Read an amount of data in blocking mode from a specific memory address
2637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
2640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
2641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
2642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
2643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
2646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
2647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
2648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
2649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                    uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Tim
2650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
2651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
2652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 48


2654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
2659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
2662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Init tickstart for timeout management*/
2668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tickstart = HAL_GetTick();
2669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
2671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
2673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
2677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
2680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr  = pData;
2681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
2682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
2683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Slave Address and Memory Address */
2685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
2686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
2688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
2689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
2690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Slave Address */
2693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
2695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
2697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
2699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
2701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
2703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
2705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     do
2708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wait until RXNE flag is set */
2710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 49


2711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
2713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Read data from RXDR */
2716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
2717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
2719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
2720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
2722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
2723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
2725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
2726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Wait until TCR flag is set */
2727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
2728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
2730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
2731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferCount > MAX_NBYTE_SIZE)
2733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
2734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize = MAX_NBYTE_SIZE;
2735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
2736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
2737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
2738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else
2739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
2740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize = hi2c->XferCount;
2741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
2743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
2744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
2745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     } while (hi2c->XferCount > 0U);
2746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
2748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until STOPF flag is reset */
2749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
2752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear STOP Flag */
2755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
2756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear Configuration Register 2 */
2758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_RESET_CR2(hi2c);
2759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
2761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
2762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
2764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
2765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
2767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 50


2768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
2769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
2771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
2773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
2774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
2775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
2778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
2779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
2780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
2781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
2784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
2785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
2786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
2788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
2789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
2794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
2797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_BUSY;
2802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
2805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_TX;
2808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
2809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
2810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
2812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = 0U;
2813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_IT;
2817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
2818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If Memory address size is 8Bit */
2820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
2821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prefetch Memory Address */
2823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
2824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 51


2825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Reset Memaddress content */
2826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Memaddress = 0xFFFFFFFFU;
2827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If Memory address size is 16Bit */
2829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
2830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
2832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
2833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prepare Memaddress buffer for LSB part */
2835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
2836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Slave Address and Memory Address */
2838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_W
2839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
2841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
2842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
2844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
2845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               process unlock */
2846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* possible to enable all of these */
2849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
2854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
2856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
2858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
2860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
2862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
2863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
2866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
2867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
2868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
2869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
2872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
2873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
2874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                       uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
2876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
2877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 52


2882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
2885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_BUSY;
2890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
2893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_RX;
2896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
2897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
2898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
2900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_IT;
2904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
2905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If Memory address size is 8Bit */
2907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
2908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prefetch Memory Address */
2910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
2911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Reset Memaddress content */
2913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Memaddress = 0xFFFFFFFFU;
2914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If Memory address size is 16Bit */
2916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
2917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
2919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
2920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prepare Memaddress buffer for LSB part */
2922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
2923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Slave Address and Memory Address */
2925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_
2926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
2928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
2929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
2931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
2932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               process unlock */
2933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* possible to enable all of these */
2936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 53


2939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
2941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
2943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
2945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
2946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
2947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
2949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Write an amount of data in non-blocking mode with DMA to a specific memory address
2950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
2951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
2952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
2953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
2954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
2955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
2956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
2957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
2958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
2959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
2960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
2961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                         uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
2963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
2964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
2966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
2969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
2970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
2971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
2974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_BUSY;
2979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
2983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_TX;
2985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
2986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
2987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
2989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
2990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
2991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_DMA;
2993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
2994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
2995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 54


2996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
2997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
2998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
2999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
3002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If Memory address size is 8Bit */
3005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
3006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prefetch Memory Address */
3008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
3009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Reset Memaddress content */
3011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Memaddress = 0xFFFFFFFFU;
3012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If Memory address size is 16Bit */
3014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
3017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
3018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prepare Memaddress buffer for LSB part */
3020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
3021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->hdmatx != NULL)
3024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
3026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
3027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the DMA error callback */
3029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
3032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferHalfCpltCallback = NULL;
3033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
3034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable the DMA stream or channel depends on Instance */
3036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
3037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
3038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C state */
3042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_READY;
3043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
3044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C error code */
3046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
3049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
3052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 55


3053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (dmaxferstatus == HAL_OK)
3055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Send Slave Address and Memory Address */
3057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START
3058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
3060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
3063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 to avoid the risk of I2C interrupt handle execution before current
3064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 process unlock */
3065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* possible to enable all of these */
3067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C state */
3074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_READY;
3075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
3076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C error code */
3078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
3081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
3084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
3087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
3089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
3091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
3093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
3095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Reads an amount of data in non-blocking mode with DMA from a specific memory address.
3096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
3098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
3101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
3102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be read
3104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
3105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
3106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
3107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
3108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
3109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 56


3110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
3112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
3113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
3117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
3120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
3123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_BUSY;
3125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
3128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State       = HAL_I2C_STATE_BUSY_RX;
3131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
3132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
3133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
3135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_DMA;
3139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
3140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
3142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
3144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
3148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If Memory address size is 8Bit */
3151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
3152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prefetch Memory Address */
3154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
3155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Reset Memaddress content */
3157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Memaddress = 0xFFFFFFFFU;
3158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If Memory address size is 16Bit */
3160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
3163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
3164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prepare Memaddress buffer for LSB part */
3166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 57


3167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->hdmarx != NULL)
3170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
3172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
3173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the DMA error callback */
3175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
3178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferHalfCpltCallback = NULL;
3179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
3180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable the DMA stream or channel depends on Instance */
3182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
3183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
3184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C state */
3188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_READY;
3189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
3190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C error code */
3192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
3195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
3198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (dmaxferstatus == HAL_OK)
3201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Send Slave Address and Memory Address */
3203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_STAR
3204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
3209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 to avoid the risk of I2C interrupt handle execution before current
3210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 process unlock */
3211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* possible to enable all of these */
3213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C state */
3220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_READY;
3221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
3222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C error code */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 58


3224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
3227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
3230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
3233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
3235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
3237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
3239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
3241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Checks if target device is ready for communication.
3242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   This function is used with Memory devices
3243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
3245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Trials Number of trials
3248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
3249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
3250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
3251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
3252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                         uint32_t Timeout)
3253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
3254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
3255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __IO uint32_t I2C_Trials = 0UL;
3257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   FlagStatus tmp1;
3259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   FlagStatus tmp2;
3260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
3264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_BUSY;
3266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
3269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_BUSY;
3272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     do
3275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Generate Start */
3277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress);
3278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
3280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wait until STOPF flag is set or a NACK flag is set*/
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 59


3281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tickstart = HAL_GetTick();
3282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
3284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       while ((tmp1 == RESET) && (tmp2 == RESET))
3287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (Timeout != HAL_MAX_DELAY)
3289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
3290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
3291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
3292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Update I2C state */
3293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->State = HAL_I2C_STATE_READY;
3294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Update I2C error code */
3296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Process Unlocked */
3299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             __HAL_UNLOCK(hi2c);
3300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             return HAL_ERROR;
3302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
3303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
3304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
3306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Check if the NACKF flag has not been set */
3310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET)
3311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Wait until STOPF flag is reset */
3313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
3315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
3316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
3317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear STOP Flag */
3319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Device is ready */
3322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
3323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
3325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_OK;
3328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
3330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Wait until STOPF flag is reset */
3332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
3334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
3335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
3336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear NACK Flag */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 60


3338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
3339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear STOP Flag, auto generated with autoend*/
3341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Trials */
3345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Trials++;
3346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     } while (I2C_Trials < Trials);
3347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update I2C state */
3349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
3350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update I2C error code */
3352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
3355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
3356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
3358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
3360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
3362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
3364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
3366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
3367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
3368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
3370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
3374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
3376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
3377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                  uint16_t Size, uint32_t XferOptions)
3379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
3380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
3381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xferrequest = I2C_GENERATE_START_WRITE;
3382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t sizetoxfer = 0U;
3383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
3385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
3390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
3393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
3394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 61


3395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
3397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
3400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
3401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
3404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
3406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
3407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
3411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
3412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->XferSize > 0U) && ((XferOptions == I2C_FIRST_FRAME) || \
3415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                   (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
3416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Preload TX register */
3418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
3419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
3420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
3422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
3423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       sizetoxfer = hi2c->XferSize;
3425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
3426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
3427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If transfer direction not change and there is no request to start another frame,
3430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        do not generate Restart Condition */
3431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Mean Previous state is same as current state */
3432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
3433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xferrequest = I2C_NO_STARTSTOP;
3436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Convert OTHER_xxx XferOptions if any */
3440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ConvertOtherXferOptions(hi2c);
3441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update xfermode accordingly if no reload is necessary */
3443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         xfermode = hi2c->XferOptions;
3446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Slave Address and set NBYTES to write */
3450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((XferOptions == I2C_FIRST_FRAME) || (XferOptions == I2C_FIRST_AND_LAST_FRAME))
3451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 62


3452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, xfermode, xferrequest);
3453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
3460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
3461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
3463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
3464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               process unlock */
3465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* possible to enable all of these */
3467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
3472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
3474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
3476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
3478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
3480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
3481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
3482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
3484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
3488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
3490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
3491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin
3492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                   uint16_t Size, uint32_t XferOptions)
3493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
3494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
3495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xferrequest = I2C_GENERATE_START_WRITE;
3496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
3497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t sizetoxfer = 0U;
3498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
3500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX;
3508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 63


3509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
3512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
3515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
3516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
3519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
3521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
3522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
3526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
3527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->XferSize > 0U) && ((XferOptions == I2C_FIRST_FRAME) || \
3530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                   (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
3531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Preload TX register */
3533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
3534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
3535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
3537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
3538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       sizetoxfer = hi2c->XferSize;
3540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
3541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
3542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If transfer direction not change and there is no request to start another frame,
3545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        do not generate Restart Condition */
3546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Mean Previous state is same as current state */
3547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
3548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xferrequest = I2C_NO_STARTSTOP;
3551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Convert OTHER_xxx XferOptions if any */
3555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ConvertOtherXferOptions(hi2c);
3556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update xfermode accordingly if no reload is necessary */
3558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         xfermode = hi2c->XferOptions;
3561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
3565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 64


3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->hdmatx != NULL)
3567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the I2C DMA transfer complete callback */
3569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
3570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the DMA error callback */
3572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the unused DMA callbacks to NULL */
3575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferHalfCpltCallback = NULL;
3576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
3577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable the DMA stream or channel depends on Instance */
3579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr,
3580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
3581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
3583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C state */
3585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
3586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
3587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C error code */
3589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
3592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
3595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
3598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Send Slave Address and set NBYTES to write */
3600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if ((XferOptions == I2C_FIRST_FRAME) || (XferOptions == I2C_FIRST_AND_LAST_FRAME))
3601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
3602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, xfermode, xferrequest);
3603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
3604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else
3605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
3606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
3608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update XferCount value */
3610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferCount -= hi2c->XferSize;
3611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
3613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
3616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   to avoid the risk of I2C interrupt handle execution before current
3617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   process unlock */
3618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable ERR and NACK interrupts */
3619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable DMA Request */
3622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 65


3623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
3625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C state */
3627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
3628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
3629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C error code */
3631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
3634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
3637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update Transfer ISR function pointer */
3642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferISR = I2C_Master_ISR_IT;
3643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Send Slave Address */
3645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set NBYTES to write and generate START condition */
3646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((XferOptions == I2C_FIRST_FRAME) || (XferOptions == I2C_FIRST_AND_LAST_FRAME))
3647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, xfermode, xferrequest);
3649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
3651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
3656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
3659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 to avoid the risk of I2C interrupt handle execution before current
3660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 process unlock */
3661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* possible to enable all of these */
3663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
3669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
3671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
3673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
3675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
3677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
3678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
3679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 66


3680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
3681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
3685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
3687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
3688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8
3689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                 uint16_t Size, uint32_t XferOptions)
3690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
3691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
3692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xferrequest = I2C_GENERATE_START_READ;
3693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
3695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
3700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
3703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
3704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
3707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
3710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
3711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
3714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
3716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
3717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
3721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
3722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If transfer direction not change and there is no request to start another frame,
3725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        do not generate Restart Condition */
3726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Mean Previous state is same as current state */
3727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
3728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xferrequest = I2C_NO_STARTSTOP;
3731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Convert OTHER_xxx XferOptions if any */
3735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ConvertOtherXferOptions(hi2c);
3736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 67


3737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update xfermode accordingly if no reload is necessary */
3738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         xfermode = hi2c->XferOptions;
3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Slave Address and set NBYTES to read */
3745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
3748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
3749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
3751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
3752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               process unlock */
3753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
3754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
3756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
3758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
3760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
3762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
3764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Sequential receive in master I2C mode an amount of data in non-blocking mode with DMA
3765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
3766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
3768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
3769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
3770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
3772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
3774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
3775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                  uint16_t Size, uint32_t XferOptions)
3777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
3778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
3779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xferrequest = I2C_GENERATE_START_READ;
3780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
3781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
3783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
3786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
3788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX;
3791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
3792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 68


3794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
3795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
3796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
3797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
3798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
3799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
3802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
3804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
3805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
3809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
3810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If transfer direction not change and there is no request to start another frame,
3813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        do not generate Restart Condition */
3814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Mean Previous state is same as current state */
3815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
3816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xferrequest = I2C_NO_STARTSTOP;
3819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Convert OTHER_xxx XferOptions if any */
3823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ConvertOtherXferOptions(hi2c);
3824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update xfermode accordingly if no reload is necessary */
3826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         xfermode = hi2c->XferOptions;
3829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferSize > 0U)
3833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->hdmarx != NULL)
3835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the I2C DMA transfer complete callback */
3837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
3838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the DMA error callback */
3840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set the unused DMA callbacks to NULL */
3843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferHalfCpltCallback = NULL;
3844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback = NULL;
3845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable the DMA stream or channel depends on Instance */
3847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
3848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          hi2c->XferSize);
3849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 69


3851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C state */
3853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
3854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
3855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C error code */
3857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
3860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
3863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (dmaxferstatus == HAL_OK)
3866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Send Slave Address and set NBYTES to read */
3868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update XferCount value */
3871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferCount -= hi2c->XferSize;
3872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
3874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Note : The I2C interrupts must be enabled after unlocking current process
3877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   to avoid the risk of I2C interrupt handle execution before current
3878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                   process unlock */
3879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable ERR and NACK interrupts */
3880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Enable DMA Request */
3883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
3884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
3886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C state */
3888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State     = HAL_I2C_STATE_READY;
3889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
3890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Update I2C error code */
3892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
3895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
3896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
3898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
3901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update Transfer ISR function pointer */
3903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferISR = I2C_Master_ISR_IT;
3904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Send Slave Address */
3906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set NBYTES to read and generate START condition */
3907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 70


3908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
3909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
3911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
3912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Note : The I2C interrupts must be enabled after unlocking current process
3914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 to avoid the risk of I2C interrupt handle execution before current
3915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                 process unlock */
3916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, TC, STOP, NACK, RXI interrupt */
3917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* possible to enable all of these */
3918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
3921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
3924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
3926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
3928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
3929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
3930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
3932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
3933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
3934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
3935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
3936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
3937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
3938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
3940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
3941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
3942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                 uint32_t XferOptions)
3943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
3944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
3945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   FlagStatus tmp;
3946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
3948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
3951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
3953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
3956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
3959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
3960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
3962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
3963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 71


3965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* and then toggle the HAL slave RX state to TX state */
3966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
3967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
3968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable associated Interrupts */
3969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
3970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Abort DMA Xfer if any */
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
3973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
3974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
3975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->hdmarx != NULL)
3977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
3978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Set the I2C DMA Abort callback :
3979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
3981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Abort DMA RX */
3983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
3984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
3985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Call Directly XferAbortCallback function in case of error */
3986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
3987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
3988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
3989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
3990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
3991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX_LISTEN;
3993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
3994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable Address Acknowledge */
3997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
3998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
3999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
4000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
4001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
4002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
4003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
4004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
4005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
4007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
4008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Clear ADDR flag after prepare the transfer parameters */
4010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* This action will generate an acknowledge to the Master */
4011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
4015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
4016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
4018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     to avoid the risk of I2C interrupt handle execution before current
4019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     process unlock */
4020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* REnable ADDR interrupt */
4021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 72


4022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
4024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
4026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
4028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
4033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
4034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
4037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
4038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
4040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t 
4042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                  uint32_t XferOptions)
4043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
4045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   FlagStatus tmp;
4046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
4047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
4049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
4054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
4057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
4060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
4061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
4064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* and then toggle the HAL slave RX state to TX state */
4067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
4068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable associated Interrupts */
4070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
4071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
4073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
4074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Abort DMA Xfer if any */
4075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->hdmarx != NULL)
4076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
4077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
4078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 73


4079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Set the I2C DMA Abort callback :
4080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
4082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Abort DMA RX */
4084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
4085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
4086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Call Directly XferAbortCallback function in case of error */
4087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
4088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
4089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
4090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
4091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
4095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
4096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Abort DMA Xfer if any */
4099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->hdmatx != NULL)
4100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
4101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Set the I2C DMA Abort callback :
4102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Abort DMA TX */
4106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
4108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Call Directly XferAbortCallback function in case of error */
4109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
4111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
4112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
4113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
4115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Nothing to do */
4117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_TX_LISTEN;
4120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
4121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable Address Acknowledge */
4124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
4127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
4128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
4129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
4130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
4131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
4132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->hdmatx != NULL)
4134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 74


4136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
4137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the DMA error callback */
4139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
4140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
4142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferHalfCpltCallback = NULL;
4143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
4144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable the DMA stream or channel depends on Instance */
4146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
4147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
4148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
4150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C state */
4152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_LISTEN;
4153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
4154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C error code */
4156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
4157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
4159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
4160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
4162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (dmaxferstatus == HAL_OK)
4165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update XferCount value */
4167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount -= hi2c->XferSize;
4168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Reset XferSize */
4170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = 0;
4171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
4173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C state */
4175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_LISTEN;
4176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
4177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C error code */
4179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
4182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
4183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
4185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
4188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
4189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Clear ADDR flag after prepare the transfer parameters */
4191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* This action will generate an acknowledge to the Master */
4192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 75


4193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
4196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
4197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable DMA Request */
4199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
4200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
4202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     to avoid the risk of I2C interrupt handle execution before current
4203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     process unlock */
4204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable ERR, STOP, NACK, ADDR interrupts */
4205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
4208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
4210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
4212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
4217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
4218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
4221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
4222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
4224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si
4226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                uint32_t XferOptions)
4227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
4229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   FlagStatus tmp;
4230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
4232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
4237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
4240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
4244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
4246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
4247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* and then toggle the HAL slave TX state to RX state */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 76


4250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable associated Interrupts */
4253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
4256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
4257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Abort DMA Xfer if any */
4260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->hdmatx != NULL)
4261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
4262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Set the I2C DMA Abort callback :
4263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Abort DMA TX */
4267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
4269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Call Directly XferAbortCallback function in case of error */
4270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
4272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
4273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
4274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX_LISTEN;
4277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
4278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable Address Acknowledge */
4281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
4284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
4285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
4286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
4287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
4288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
4289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
4291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
4292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Clear ADDR flag after prepare the transfer parameters */
4294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* This action will generate an acknowledge to the Master */
4295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
4299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
4300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
4302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     to avoid the risk of I2C interrupt handle execution before current
4303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     process unlock */
4304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* REnable ADDR interrupt */
4305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
4306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 77


4307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
4308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
4310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
4312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
4317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @note   This interface allow to manage repeated start condition when a direction change during 
4318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  pData Pointer to data buffer
4321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Amount of data to be sent
4322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
4324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
4326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                 uint32_t XferOptions)
4327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
4329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   FlagStatus tmp;
4330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
4331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
4333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((pData == NULL) || (Size == 0U))
4338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
4341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
4345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
4347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
4348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* and then toggle the HAL slave TX state to RX state */
4351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable associated Interrupts */
4354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
4357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
4358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Abort DMA Xfer if any */
4359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->hdmatx != NULL)
4360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
4361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Set the I2C DMA Abort callback :
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 78


4364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Abort DMA TX */
4368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
4370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Call Directly XferAbortCallback function in case of error */
4371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
4373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
4374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
4375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
4377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
4379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
4380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
4381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Abort DMA Xfer if any */
4383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->hdmarx != NULL)
4384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
4385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Set the I2C DMA Abort callback :
4386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
4388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Abort DMA RX */
4390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
4391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
4392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Call Directly XferAbortCallback function in case of error */
4393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
4394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
4395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
4396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
4397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
4399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Nothing to do */
4401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State     = HAL_I2C_STATE_BUSY_RX_LISTEN;
4404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
4405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable Address Acknowledge */
4408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Prepare transfer parameters */
4411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
4412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
4413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
4414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
4415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
4416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->hdmarx != NULL)
4418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the I2C DMA transfer complete callback */
4420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 79


4421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the DMA error callback */
4423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
4424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the unused DMA callbacks to NULL */
4426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferHalfCpltCallback = NULL;
4427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
4428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable the DMA stream or channel depends on Instance */
4430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR,
4431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        (uint32_t)pData, hi2c->XferSize);
4432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
4434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C state */
4436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_LISTEN;
4437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
4438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C error code */
4440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
4441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
4443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
4444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
4446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (dmaxferstatus == HAL_OK)
4449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update XferCount value */
4451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount -= hi2c->XferSize;
4452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Reset XferSize */
4454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = 0;
4455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
4457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C state */
4459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State     = HAL_I2C_STATE_LISTEN;
4460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
4461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update I2C error code */
4463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
4466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
4467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
4469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
4472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
4473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Clear ADDR flag after prepare the transfer parameters */
4475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* This action will generate an acknowledge to the Master */
4476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 80


4478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
4480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
4481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable DMA Request */
4483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
4484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
4486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     to avoid the risk of I2C interrupt handle execution before current
4487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     process unlock */
4488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* REnable ADDR interrupt */
4489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
4490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
4492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
4494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
4496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Enable the Address listen mode with Interrupt.
4501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
4504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
4506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
4508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_LISTEN;
4510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR = I2C_Slave_ISR_IT;
4511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable the Address Match interrupt */
4513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
4516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
4518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
4520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Disable the Address listen mode with Interrupt.
4525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C
4527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
4528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
4530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
4532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmp;
4533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable Address listen mode only if a transfer is not ongoing */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 81


4535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_LISTEN)
4536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
4538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
4539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
4540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
4541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR = NULL;
4542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable the Address Match interrupt */
4544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
4547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
4549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_BUSY;
4551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Abort a master I2C IT or DMA process communication with Interrupt.
4556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
4559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
4560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
4561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
4563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->Mode == HAL_I2C_MODE_MASTER)
4565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Locked */
4567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_LOCK(hi2c);
4568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupts and Store Previous state */
4570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
4571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
4574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
4576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
4578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
4579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
4581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Do nothing */
4583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set State at HAL_I2C_STATE_ABORT */
4586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_ABORT;
4587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */
4589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe
4590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP);
4591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 82


4592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
4593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
4594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Note : The I2C interrupts must be enabled after unlocking current process
4596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               to avoid the risk of I2C interrupt handle execution before current
4597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               process unlock */
4598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
4599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_OK;
4601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
4603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wrong usage of abort function */
4605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* This function should be used only in case of abort monitored by master device */
4606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
4607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @}
4612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
4615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
4616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  This function handles I2C event interrupt request.
4620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c) /* Derogation MISRAC2012-Rule-8.13 */
4625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Get current IT Flags and IT sources value */
4627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itflags   = READ_REG(hi2c->Instance->ISR);
4628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itsources = READ_REG(hi2c->Instance->CR1);
4629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* I2C events treatment -------------------------------------*/
4631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->XferISR != NULL)
4632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR(hi2c, itflags, itsources);
4634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  This function handles I2C error interrupt request.
4639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
4644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itflags   = READ_REG(hi2c->Instance->ISR);
4646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itsources = READ_REG(hi2c->Instance->CR1);
4647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmperror;
4648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 83


4649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* I2C Bus error interrupt occurred ------------------------------------*/
4650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && \
4651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_BERR;
4654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear BERR flag */
4656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
4657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/
4660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && \
4661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_OVR;
4664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear OVR flag */
4666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
4667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/
4670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && \
4671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO;
4674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear ARLO flag */
4676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
4677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Store current volatile hi2c->ErrorCode, misra rule */
4680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   tmperror = hi2c->ErrorCode;
4681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Call the Error Callback in case of Error detected */
4683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) !=  HAL_I2C_ERROR_
4684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITError(hi2c, tmperror);
4686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Master Tx Transfer completed callback.
4691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
4696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
4699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
4702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
4703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 84


4706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Master Rx Transfer completed callback.
4707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
4712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
4715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
4718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
4719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @brief  Slave Tx Transfer completed callback.
4722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
4727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
4730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
4733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
4734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Slave Rx Transfer completed callback.
4738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
4743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
4746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
4749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
4750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Slave Address Match callback.
4754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE
4757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  AddrMatchCode Address Match Code
4758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
4761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 85


4763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
4764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(TransferDirection);
4765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(AddrMatchCode);
4766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_AddrCallback() could be implemented in the user file
4769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
4770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Listen Complete callback.
4774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
4779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
4782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_ListenCpltCallback() could be implemented in the user file
4785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
4786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Memory Tx Transfer completed callback.
4790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
4795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
4798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_MemTxCpltCallback could be implemented in the user file
4801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
4802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Memory Rx Transfer completed callback.
4806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
4811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
4814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_MemRxCpltCallback could be implemented in the user file
4817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
4818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 86


4820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C error callback.
4822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
4827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
4830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_ErrorCallback could be implemented in the user file
4833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
4834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C abort callback.
4838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
4841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
4843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
4845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(hi2c);
4846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* NOTE : This function should not be modified, when the callback is needed,
4848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             the HAL_I2C_AbortCpltCallback could be implemented in the user file
4849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****    */
4850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @}
4854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
4857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *  @brief   Peripheral State, Mode and Error functions
4858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *
4859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** @verbatim
4860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****  ===============================================================================
4861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             ##### Peripheral State, Mode and Error functions #####
4862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****  ===============================================================================
4863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     [..]
4864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     This subsection permit to get in run-time the status of the peripheral
4865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     and the data flow.
4866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** @endverbatim
4868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
4869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Return the I2C handle state.
4873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL state
4876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 87


4877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(const I2C_HandleTypeDef *hi2c)
4878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Return I2C handle state */
4880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return hi2c->State;
4881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Returns the I2C Master, Slave, Memory or no mode.
4885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         the configuration information for I2C module
4887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL mode
4888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(const I2C_HandleTypeDef *hi2c)
4890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return hi2c->Mode;
4892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Return the I2C error code.
4896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *              the configuration information for the specified I2C.
4898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval I2C Error Code
4899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(const I2C_HandleTypeDef *hi2c)
4901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return hi2c->ErrorCode;
4903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
4904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @}
4907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @}
4911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
4914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @{
4915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
4918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt.
4919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
4920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
4921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITFlags Interrupt flags to handle.
4922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITSources Interrupt sources enabled.
4923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
4924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
4925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
4926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                            uint32_t ITSources)
4927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
4928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t devaddress;
4929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
4930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Locked */
4932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_LOCK(hi2c);
4933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 88


4934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
4935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
4936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear NACK Flag */
4938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set corresponding Error Code */
4941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* No need to generate STOP, it is automatically done */
4942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Error callback will be send during stop flag treatment */
4943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
4944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Flush TX register */
4946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Flush_TXDR(hi2c);
4947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
4949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
4950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Remove RXNE flag on temporary variable as read done */
4952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmpITFlags &= ~I2C_FLAG_RXNE;
4953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Read data from RXDR */
4955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
4956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Increment Buffer pointer */
4958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr++;
4959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize--;
4961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount--;
4962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) == RESET) && \
4964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
4965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)))
4966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Write data to TXDR */
4968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount != 0U)
4969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
4971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
4972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
4974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
4975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
4977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
4978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
4979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
4980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \
4981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
4982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
4983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
4984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
4985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
4986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
4987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->XferCount > MAX_NBYTE_SIZE)
4988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
4989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferSize = MAX_NBYTE_SIZE;
4990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 89


4991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
4992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
4993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
4994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferSize = hi2c->XferCount;
4995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
4996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
4997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
4998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              hi2c->XferOptions, I2C_NO_STARTSTOP);
4999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else
5001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
5003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
5004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call TxCpltCallback() if no stop mode is set */
5010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call I2C Master Sequential complete process */
5013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITMasterSeqCplt(hi2c);
5014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
5016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Wrong size Status regarding TCR flag event */
5018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call the corresponding callback to inform upper layer of End of Transfer */
5019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \
5024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount == 0U)
5027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Generate a stop condition in case of no transfer option */
5031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
5032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Generate Stop */
5034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->Instance->CR2 |= I2C_CR2_STOP;
5035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else
5037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Call I2C Master Sequential complete process */
5039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_ITMasterSeqCplt(hi2c);
5040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wrong size Status regarding TC flag event */
5046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
5047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 90


5048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
5051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Nothing to do */
5053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
5056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call I2C Master complete process */
5059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITMasterCplt(hi2c, tmpITFlags);
5060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Unlocked */
5063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
5064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
5066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
5067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
5069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with Interrupt.
5070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
5072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITFlags Interrupt flags to handle.
5073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITSources Interrupt sources enabled.
5074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
5075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
5076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                         uint32_t ITSources)
5078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
5079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t direction = I2C_GENERATE_START_WRITE;
5080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
5081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Locked */
5083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_LOCK(hi2c);
5084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
5086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear NACK Flag */
5089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set corresponding Error Code */
5092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* No need to generate STOP, it is automatically done */
5093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Error callback will be send during stop flag treatment */
5094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Flush TX register */
5097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Flush_TXDR(hi2c);
5098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
5100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
5101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Remove RXNE flag on temporary variable as read done */
5103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmpITFlags &= ~I2C_FLAG_RXNE;
5104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 91


5105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Read data from RXDR */
5106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
5107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Increment Buffer pointer */
5109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr++;
5110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize--;
5112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount--;
5113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
5115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
5116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->Memaddress == 0xFFFFFFFFU)
5118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
5120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
5121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
5123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
5124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
5126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
5127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write LSB part of Memory Address */
5131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = hi2c->Memaddress;
5132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Reset Memaddress content */
5134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Memaddress = 0xFFFFFFFFU;
5135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \
5138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
5141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->XferCount > MAX_NBYTE_SIZE)
5143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferSize = MAX_NBYTE_SIZE;
5145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
5147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
5149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferSize = hi2c->XferCount;
5151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
5153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wrong size Status regarding TCR flag event */
5158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
5159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 92


5162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \
5163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupt related to address step */
5166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable ERR, TC, STOP, NACK and RXI interrupts */
5169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
5170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       direction = I2C_GENERATE_START_READ;
5174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
5177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
5179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
5181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
5183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
5187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set NBYTES to write and generate RESTART */
5189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
5191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
5194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Nothing to do */
5196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
5199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call I2C Master complete process */
5202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITMasterCplt(hi2c, tmpITFlags);
5203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Unlocked */
5206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
5207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
5209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
5210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
5212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt.
5213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
5215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITFlags Interrupt flags to handle.
5216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITSources Interrupt sources enabled.
5217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
5218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 93


5219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                           uint32_t ITSources)
5221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
5222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
5223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
5224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process locked */
5226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_LOCK(hi2c);
5227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check if STOPF is set */
5229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
5230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call I2C Slave complete process */
5233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITSlaveCplt(hi2c, tmpITFlags);
5234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
5236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check that I2C transfer finished */
5239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
5240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Mean XferCount == 0*/
5241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* So clear Flag NACKF only */
5242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount == 0U)
5243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
5245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
5246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            Warning[Pa134]: left and right operands are identical */
5247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call I2C Listen complete process */
5249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITListenCplt(hi2c, tmpITFlags);
5250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)
5252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear NACK Flag */
5254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Flush TX register */
5257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_Flush_TXDR(hi2c);
5258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Last Byte is Transmitted */
5260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call I2C Slave Sequential complete process */
5261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITSlaveSeqCplt(hi2c);
5262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
5264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear NACK Flag */
5266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
5272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Clear NACK Flag */
5273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set ErrorCode corresponding to a Non-Acknowledge */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 94


5276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
5279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call the corresponding callback to inform upper layer of End of Transfer */
5281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITError(hi2c, hi2c->ErrorCode);
5282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
5286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
5287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > 0U)
5289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Read data from RXDR */
5291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
5292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
5294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
5295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
5297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
5298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->XferCount == 0U) && \
5301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (tmpoptions != I2C_NO_OPTION_FRAME))
5302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call I2C Slave Sequential complete process */
5304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ITSlaveSeqCplt(hi2c);
5305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && \
5308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
5309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITAddrCplt(hi2c, tmpITFlags);
5311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
5313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
5314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Write data to TXDR only if XferCount not reach "0" */
5316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* A TXIS flag can be set, during STOP treatment      */
5317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check if all Data have already been sent */
5318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */
5319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > 0U)
5320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Write data to TXDR */
5322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->TXDR = *hi2c->pBuffPtr;
5323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Increment Buffer pointer */
5325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->pBuffPtr++;
5326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
5328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
5329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 95


5333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Last Byte is Transmitted */
5335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call I2C Slave Sequential complete process */
5336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITSlaveSeqCplt(hi2c);
5337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
5341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Nothing to do */
5343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Unlocked */
5346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
5347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
5349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
5350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
5352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA.
5353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
5355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITFlags Interrupt flags to handle.
5356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITSources Interrupt sources enabled.
5357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
5358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
5359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                             uint32_t ITSources)
5361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
5362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t devaddress;
5363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
5364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Locked */
5366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_LOCK(hi2c);
5367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear NACK Flag */
5372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set corresponding Error Code */
5375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* No need to generate STOP, it is automatically done */
5378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* But enable STOP interrupt, to treat it */
5379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Error callback will be send during stop flag treatment */
5380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
5381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Flush TX register */
5383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Flush_TXDR(hi2c);
5384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \
5386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable TC interrupt */
5389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 96


5390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount != 0U)
5392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Recover Slave address */
5394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
5395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prepare the new XferSize to transfer */
5397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->XferCount > MAX_NBYTE_SIZE)
5398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferSize = MAX_NBYTE_SIZE;
5400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         xfermode = I2C_RELOAD_MODE;
5401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
5403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferSize = hi2c->XferCount;
5405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
5406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           xfermode = hi2c->XferOptions;
5408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else
5410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           xfermode = I2C_AUTOEND_MODE;
5412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the new XferSize in Nbytes register */
5416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
5417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update XferCount value */
5419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount -= hi2c->XferSize;
5420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable DMA Request */
5422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
5427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call TxCpltCallback() if no stop mode is set */
5434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call I2C Master Sequential complete process */
5437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITMasterSeqCplt(hi2c);
5438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
5440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Wrong size Status regarding TCR flag event */
5442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call the corresponding callback to inform upper layer of End of Transfer */
5443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 97


5447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \
5448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount == 0U)
5451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Generate a stop condition in case of no transfer option */
5455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
5456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Generate Stop */
5458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->Instance->CR2 |= I2C_CR2_STOP;
5459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else
5461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Call I2C Master Sequential complete process */
5463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_ITMasterSeqCplt(hi2c);
5464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wrong size Status regarding TC flag event */
5470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
5471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call I2C Master complete process */
5478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITMasterCplt(hi2c, ITFlags);
5479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
5481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Nothing to do */
5483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Unlocked */
5486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
5487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
5489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
5490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
5492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with DMA.
5493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
5495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITFlags Interrupt flags to handle.
5496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITSources Interrupt sources enabled.
5497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
5498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
5499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          uint32_t ITSources)
5501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
5502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t direction = I2C_GENERATE_START_WRITE;
5503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 98


5504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Locked */
5505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_LOCK(hi2c);
5506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear NACK Flag */
5511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set corresponding Error Code */
5514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* No need to generate STOP, it is automatically done */
5517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* But enable STOP interrupt, to treat it */
5518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Error callback will be send during stop flag treatment */
5519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
5520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Flush TX register */
5522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Flush_TXDR(hi2c);
5523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TXIS) != RESET) && \
5525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
5526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Write LSB part of Memory Address */
5528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->TXDR = hi2c->Memaddress;
5529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Reset Memaddress content */
5531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Memaddress = 0xFFFFFFFFU;
5532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \
5534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupt related to address step */
5537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable only Error interrupt */
5540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
5541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount != 0U)
5543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Prepare the new XferSize to transfer */
5545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->XferCount > MAX_NBYTE_SIZE)
5546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferSize = MAX_NBYTE_SIZE;
5548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
5550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
5552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->XferSize = hi2c->XferCount;
5554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
5556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Update XferCount value */
5559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount -= hi2c->XferSize;
5560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 99


5561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable DMA Request */
5562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
5567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Wrong size Status regarding TCR flag event */
5574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
5575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \
5579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupt related to address step */
5582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable only Error and NACK interrupt for data transfer */
5585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
5586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       direction = I2C_GENERATE_START_READ;
5590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
5593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
5595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
5597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
5599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
5603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set NBYTES to write and generate RESTART */
5605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
5607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update XferCount value */
5610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount -= hi2c->XferSize;
5611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable DMA Request */
5613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 100


5618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call I2C Master complete process */
5626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITMasterCplt(hi2c, ITFlags);
5627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
5629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Nothing to do */
5631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Unlocked */
5634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
5635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
5637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
5638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
5640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA.
5641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
5643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITFlags Interrupt flags to handle.
5644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITSources Interrupt sources enabled.
5645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
5646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
5647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                            uint32_t ITSources)
5649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
5650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
5651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t treatdmanack = 0U;
5652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmpstate;
5653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process locked */
5655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_LOCK(hi2c);
5656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check if STOPF is set */
5658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call I2C Slave complete process */
5662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITSlaveCplt(hi2c, ITFlags);
5663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check that I2C transfer finished */
5668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
5669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Mean XferCount == 0 */
5670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* So clear Flag NACKF only */
5671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) ||
5672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
5673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Split check of hdmarx, for MISRA compliance */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 101


5675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->hdmarx != NULL)
5676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)
5678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U)
5680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
5681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             treatdmanack = 1U;
5682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
5683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Split check of hdmatx, for MISRA compliance  */
5687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (hi2c->hdmatx != NULL)
5688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET)
5690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx) == 0U)
5692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
5693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             treatdmanack = 1U;
5694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
5695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (treatdmanack == 1U)
5699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
5701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
5702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****              Warning[Pa134]: left and right operands are identical */
5703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Call I2C Listen complete process */
5705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_ITListenCplt(hi2c, ITFlags);
5706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM
5708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Clear NACK Flag */
5710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Flush TX register */
5713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_Flush_TXDR(hi2c);
5714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Last Byte is Transmitted */
5716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Call I2C Slave Sequential complete process */
5717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_ITSlaveSeqCplt(hi2c);
5718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         else
5720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Clear NACK Flag */
5722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
5726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
5728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear NACK Flag */
5729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Set ErrorCode corresponding to a Non-Acknowledge */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 102


5732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Store current hi2c->State, solve MISRA2012-Rule-13.5 */
5735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         tmpstate = hi2c->State;
5736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
5738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
5740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
5741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
5743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN
5744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
5745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
5747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           else
5748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
5749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Do nothing */
5750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
5751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Call the corresponding callback to inform upper layer of End of Transfer */
5753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_ITError(hi2c, hi2c->ErrorCode);
5754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Only Clear NACK Flag, no DMA treatment is pending */
5760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && \
5764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
5765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITAddrCplt(hi2c, ITFlags);
5767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
5769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Nothing to do */
5771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Unlocked */
5774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
5775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
5777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
5778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
5780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Master sends target device address followed by internal memory address for write reques
5781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
5783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
5784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
5785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
5786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
5787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
5788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Tickstart Tick start value
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 103


5789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
5790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
5791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
5792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                 uint16_t MemAddress, uint16_t MemAddSize, uint32_t 
5793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                 uint32_t Tickstart)
5794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
5795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
5796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Wait until TXIS flag is set */
5798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
5801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* If Memory address size is 8Bit */
5804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
5805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Memory Address */
5807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* If Memory address size is 16Bit */
5810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
5811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send MSB of Memory Address */
5813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
5814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until TXIS flag is set */
5816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
5819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send LSB of Memory Address */
5822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Wait until TCR flag is set */
5826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK)
5827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
5829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
5832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
5833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
5835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Master sends target device address followed by internal memory address for read request
5836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
5837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
5838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Target device address: The device 7 bits address value
5839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *         in datasheet must be shifted to the left before calling the interface
5840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddress Internal memory address
5841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  MemAddSize Size of internal memory address
5842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
5843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Tickstart Tick start value
5844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
5845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 104


5846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
5847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
5848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                uint32_t Tickstart)
5849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
5850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
5851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Wait until TXIS flag is set */
5853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
5856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* If Memory address size is 8Bit */
5859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
5860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send Memory Address */
5862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* If Memory address size is 16Bit */
5865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
5866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send MSB of Memory Address */
5868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
5869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until TXIS flag is set */
5871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
5874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Send LSB of Memory Address */
5877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Wait until TC flag is set */
5881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK)
5882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     return HAL_ERROR;
5884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
5887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
5888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
5890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C Address complete process callback.
5891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
5892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITFlags Interrupt flags to handle.
5893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
5894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
5895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
5897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint8_t transferdirection;
5898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t slaveaddrcode;
5899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t ownadd1code;
5900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t ownadd2code;
5901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 105


5903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(ITFlags);
5904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* In case of Listen state, need to inform upper layer of address match code event */
5906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
5907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     transferdirection = I2C_GET_DIR(hi2c);
5909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     slaveaddrcode     = I2C_GET_ADDR_MATCH(hi2c);
5910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ownadd1code       = I2C_GET_OWN_ADDRESS1(hi2c);
5911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ownadd2code       = I2C_GET_OWN_ADDRESS2(hi2c);
5912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If 10bits addressing mode is selected */
5914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
5915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
5916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((slaveaddrcode & SLAVE_ADDR_MSK) == ((ownadd1code >> SLAVE_ADDR_SHIFT) & SLAVE_ADDR_MSK))
5917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         slaveaddrcode = ownadd1code;
5919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->AddrEventCount++;
5920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->AddrEventCount == 2U)
5921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
5922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Reset Address Event counter */
5923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->AddrEventCount = 0U;
5924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Clear ADDR flag */
5926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Process Unlocked */
5929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           __HAL_UNLOCK(hi2c);
5930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Call Slave Addr callback */
5932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
5935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
5938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
5940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
5941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         slaveaddrcode = ownadd2code;
5942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Disable ADDR Interrupts */
5944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
5945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
5947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
5948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call Slave Addr callback */
5950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
5953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
5956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* else 7 bits addressing mode is selected */
5958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
5959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 106


5960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable ADDR Interrupts */
5961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
5962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
5964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
5965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call Slave Addr callback */
5967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
5970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
5973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Else clear address flag only */
5975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
5976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear ADDR flag */
5978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
5981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
5982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
5983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
5984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
5986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C Master sequential complete process.
5987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
5988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
5989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
5990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c)
5991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
5992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Reset I2C handle mode */
5993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
5994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
5995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* No Generate Stop, to permit restart mode */
5996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */
5997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
5999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
6000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
6001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR       = NULL;
6002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupts */
6004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
6005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
6007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
6008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->MasterTxCpltCallback(hi2c);
6012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     HAL_I2C_MasterTxCpltCallback(hi2c);
6014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 107


6017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_READY;
6020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
6021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR       = NULL;
6022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupts */
6024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
6025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
6027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
6028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->MasterRxCpltCallback(hi2c);
6032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     HAL_I2C_MasterRxCpltCallback(hi2c);
6034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C Slave sequential complete process.
6040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
6041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c)
6044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
6046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Reset I2C handle mode */
6048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
6049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* If a DMA is ongoing, Update handle size context */
6051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
6052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable DMA Request */
6054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
6057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable DMA Request */
6059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Do nothing */
6064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
6067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */
6069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_LISTEN;
6070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
6071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupts */
6073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 108


6074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
6076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
6077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->SlaveTxCpltCallback(hi2c);
6081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     HAL_I2C_SlaveTxCpltCallback(hi2c);
6083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
6087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */
6089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_LISTEN;
6090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
6091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Interrupts */
6093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
6094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
6096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
6097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->SlaveRxCpltCallback(hi2c);
6101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     HAL_I2C_SlaveRxCpltCallback(hi2c);
6103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Nothing to do */
6108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C Master complete process.
6113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
6114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITFlags Interrupt flags to handle.
6115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
6118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmperror;
6120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
6121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __IO uint32_t tmpreg;
6122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Clear STOP Flag */
6124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable Interrupts and Store Previous state */
6127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
6128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
6130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 109


6131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
6133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
6135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
6136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Do nothing */
6140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Clear Configuration Register 2 */
6143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_RESET_CR2(hi2c);
6144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Reset handle parameters */
6146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferISR       = NULL;
6147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferOptions   = I2C_NO_OPTION_FRAME;
6148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET)
6150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear NACK Flag */
6152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set acknowledge error code */
6155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Fetch Last receive data if any */
6159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((hi2c->State == HAL_I2C_STATE_ABORT) && (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET))
6160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Read data from RXDR */
6162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmpreg = (uint8_t)hi2c->Instance->RXDR;
6163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     UNUSED(tmpreg);
6164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Flush TX register */
6167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_Flush_TXDR(hi2c);
6168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Store current volatile hi2c->ErrorCode, misra rule */
6170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   tmperror = hi2c->ErrorCode;
6171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Call the corresponding callback to inform upper layer of End of Transfer */
6173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE))
6174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITError(hi2c, hi2c->ErrorCode);
6177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* hi2c->State == HAL_I2C_STATE_BUSY_TX */
6179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
6180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
6182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->Mode == HAL_I2C_MODE_MEM)
6185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
6187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 110


6188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
6189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
6190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
6192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->MemTxCpltCallback(hi2c);
6194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       HAL_I2C_MemTxCpltCallback(hi2c);
6196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
6199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
6201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
6203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
6204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
6206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->MasterTxCpltCallback(hi2c);
6208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       HAL_I2C_MasterTxCpltCallback(hi2c);
6210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
6214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
6215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
6217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->Mode == HAL_I2C_MODE_MEM)
6220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
6222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
6224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
6225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
6227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->MemRxCpltCallback(hi2c);
6229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       HAL_I2C_MemRxCpltCallback(hi2c);
6231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
6234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode = HAL_I2C_MODE_NONE;
6236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
6238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
6239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
6241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->MasterRxCpltCallback(hi2c);
6243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       HAL_I2C_MasterRxCpltCallback(hi2c);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 111


6245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Nothing to do */
6251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C Slave complete process.
6256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
6257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITFlags Interrupt flags to handle.
6258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
6261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
6263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
6264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
6265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmpstate = hi2c->State;
6266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Clear STOP Flag */
6268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable Interrupts and Store Previous state */
6271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
6272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
6274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
6275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
6277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
6279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
6280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (tmpstate == HAL_I2C_STATE_LISTEN)
6282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT | I2C_XFER_RX_IT);
6284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Do nothing */
6289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable Address Acknowledge */
6292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Instance->CR2 |= I2C_CR2_NACK;
6293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Clear Configuration Register 2 */
6295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_RESET_CR2(hi2c);
6296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Flush TX register */
6298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_Flush_TXDR(hi2c);
6299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* If a DMA is ongoing, Update handle size context */
6301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 112


6302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable DMA Request */
6304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->hdmatx != NULL)
6307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx);
6309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
6312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable DMA Request */
6314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->hdmarx != NULL)
6317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx);
6319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Do nothing */
6324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Store Last receive data if any */
6327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)
6328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Remove RXNE flag on temporary variable as read done */
6330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmpITFlags &= ~I2C_FLAG_RXNE;
6331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Read data from RXDR */
6333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
6334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Increment Buffer pointer */
6336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr++;
6337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->XferSize > 0U))
6339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
6341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
6342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* All data are not transferred, so set error code accordingly */
6346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->XferCount != 0U)
6347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set ErrorCode corresponding to a Non-Acknowledge */
6349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
6353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET))
6354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check that I2C transfer finished */
6356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
6357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Mean XferCount == 0*/
6358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* So clear Flag NACKF only */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 113


6359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount == 0U)
6360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
6362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
6363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            Warning[Pa134]: left and right operands are identical */
6364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
6365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call I2C Listen complete process */
6366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITListenCplt(hi2c, tmpITFlags);
6367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
6368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)
6369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
6370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear NACK Flag */
6371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Flush TX register */
6374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_Flush_TXDR(hi2c);
6375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Last Byte is Transmitted */
6377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call I2C Slave Sequential complete process */
6378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITSlaveSeqCplt(hi2c);
6379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
6380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
6381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
6382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear NACK Flag */
6383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
6385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
6387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
6389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Clear NACK Flag */
6390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set ErrorCode corresponding to a Non-Acknowledge */
6393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
6396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
6397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call the corresponding callback to inform upper layer of End of Transfer */
6398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_ITError(hi2c, hi2c->ErrorCode);
6399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
6400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
6404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferISR = NULL;
6405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
6407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITError(hi2c, hi2c->ErrorCode);
6410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->State == HAL_I2C_STATE_LISTEN)
6413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call I2C Listen complete process */
6415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ITListenCplt(hi2c, tmpITFlags);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 114


6416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
6419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the Sequential Complete callback, to inform upper layer of the end of Transfer */
6421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITSlaveSeqCplt(hi2c);
6422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
6425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
6428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
6429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ListenCpltCallback(hi2c);
6433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     HAL_I2C_ListenCpltCallback(hi2c);
6435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Call the corresponding callback to inform upper layer of End of Transfer */
6438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
6439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
6441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
6444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
6445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->SlaveRxCpltCallback(hi2c);
6449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     HAL_I2C_SlaveRxCpltCallback(hi2c);
6451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
6456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
6459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
6460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->SlaveTxCpltCallback(hi2c);
6464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     HAL_I2C_SlaveTxCpltCallback(hi2c);
6466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C Listen complete process.
6472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 115


6473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ITFlags Interrupt flags to handle.
6474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
6477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Reset handle parameters */
6479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
6481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_READY;
6482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
6483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferISR = NULL;
6484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Store Last receive data if any */
6486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET)
6487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Read data from RXDR */
6489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
6490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Increment Buffer pointer */
6492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr++;
6493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->XferSize > 0U))
6495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
6497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
6498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set ErrorCode corresponding to a Non-Acknowledge */
6500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable all Interrupts*/
6505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Clear NACK Flag */
6508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Process Unlocked */
6511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_UNLOCK(hi2c);
6512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->ListenCpltCallback(hi2c);
6516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_ListenCpltCallback(hi2c);
6518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C interrupts error process.
6523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
6524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  ErrorCode Error code to handle.
6525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode)
6528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmpstate = hi2c->State;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 116


6530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmppreviousstate;
6532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Reset handle parameters */
6534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode          = HAL_I2C_MODE_NONE;
6535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferOptions   = I2C_NO_OPTION_FRAME;
6536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferCount     = 0U;
6537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Set new error code */
6539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->ErrorCode |= ErrorCode;
6540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable Interrupts */
6542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((tmpstate == HAL_I2C_STATE_LISTEN)         ||
6543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
6544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
6545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable all interrupts, except interrupts related to LISTEN state */
6547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* keep HAL_I2C_STATE_LISTEN if set */
6550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State         = HAL_I2C_STATE_LISTEN;
6551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR       = I2C_Slave_ISR_IT;
6552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable all interrupts */
6556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Flush TX register */
6559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Flush_TXDR(hi2c);
6560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* If state is an abort treatment on going, don't change state */
6562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* This change will be do later */
6563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->State != HAL_I2C_STATE_ABORT)
6564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set HAL_I2C_STATE_READY */
6566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->State         = HAL_I2C_STATE_READY;
6567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Check if a STOPF is detected */
6569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
6570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
6571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
6572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
6573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
6576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear STOP Flag */
6578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
6580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR       = NULL;
6583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Abort DMA TX transfer if any */
6586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   tmppreviousstate = hi2c->PreviousState;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 117


6587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \
6589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                  (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
6590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
6592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY)
6597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the I2C DMA Abort callback :
6599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****        will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
6601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
6603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
6604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Abort DMA TX */
6606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
6607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
6608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call Directly XferAbortCallback function in case of error */
6609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
6610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
6611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
6613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TreatErrorCallback(hi2c);
6615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Abort DMA RX transfer if any */
6618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if ((hi2c->hdmarx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_RX) || \
6619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                       (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
6620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
6622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY)
6627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Set the I2C DMA Abort callback :
6629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
6631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Process Unlocked */
6633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_UNLOCK(hi2c);
6634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Abort DMA RX */
6636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
6637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
6638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
6639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
6640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
6641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
6643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 118


6644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TreatErrorCallback(hi2c);
6645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_TreatErrorCallback(hi2c);
6650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C Error callback treatment.
6655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
6656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c)
6659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_ABORT)
6661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
6663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
6666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
6667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->AbortCpltCallback(hi2c);
6671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     HAL_I2C_AbortCpltCallback(hi2c);
6673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
6678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
6680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
6681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCallback(hi2c);
6685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #else
6686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     HAL_I2C_ErrorCallback(hi2c);
6687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  I2C Tx data register flush process.
6693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
6694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c)
6697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
  28              		.loc 1 6697 1 view -0
  29              		.cfi_startproc
  30              		@ args = 0, pretend = 0, frame = 0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 119


  31              		@ frame_needed = 0, uses_anonymous_args = 0
  32              		@ link register save eliminated.
6698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* If a pending TXIS flag is set */
6699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Write a dummy data in TXDR to clear it */
6700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET)
  33              		.loc 1 6700 3 view .LVU1
  34              		.loc 1 6700 7 is_stmt 0 view .LVU2
  35 0000 0368     		ldr	r3, [r0]
  36 0002 9A69     		ldr	r2, [r3, #24]
  37              		.loc 1 6700 6 view .LVU3
  38 0004 12F0020F 		tst	r2, #2
  39 0008 01D0     		beq	.L2
6701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->TXDR = 0x00U;
  40              		.loc 1 6702 5 is_stmt 1 view .LVU4
  41              		.loc 1 6702 26 is_stmt 0 view .LVU5
  42 000a 0022     		movs	r2, #0
  43 000c 9A62     		str	r2, [r3, #40]
  44              	.L2:
6703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Flush TX register if not empty */
6706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
  45              		.loc 1 6706 3 is_stmt 1 view .LVU6
  46              		.loc 1 6706 7 is_stmt 0 view .LVU7
  47 000e 0368     		ldr	r3, [r0]
  48 0010 9A69     		ldr	r2, [r3, #24]
  49              		.loc 1 6706 6 view .LVU8
  50 0012 12F0010F 		tst	r2, #1
  51 0016 03D1     		bne	.L1
6707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE);
  52              		.loc 1 6708 5 is_stmt 1 view .LVU9
  53 0018 9A69     		ldr	r2, [r3, #24]
  54 001a 42F00102 		orr	r2, r2, #1
  55 001e 9A61     		str	r2, [r3, #24]
  56              	.L1:
6709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
  57              		.loc 1 6710 1 is_stmt 0 view .LVU10
  58 0020 7047     		bx	lr
  59              		.cfi_endproc
  60              	.LFE400:
  62              		.section	.text.I2C_TransferConfig,"ax",%progbits
  63              		.align	1
  64              		.syntax unified
  65              		.thumb
  66              		.thumb_func
  68              	I2C_TransferConfig:
  69              	.LVL1:
  70              	.LFB412:
6711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  DMA I2C master transmit process complete callback.
6714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hdma DMA handle
6715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 120


6717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma)
6718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
6720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable DMA Request */
6723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* If last transfer, enable STOP interrupt */
6726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->XferCount == 0U)
6727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable STOP interrupt */
6729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
6730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* else prepare a new DMA transfer and enable TCReload interrupt */
6732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update Buffer pointer */
6735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr += hi2c->XferSize;
6736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set the XferSize to transfer */
6738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
6739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
6741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
6743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
6745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable the DMA stream or channel depends on Instance */
6748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
6749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
6750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
6752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
6755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable TC interrupts */
6757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
6758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  DMA I2C slave transmit process complete callback.
6765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hdma DMA handle
6766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma)
6769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
6771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
6773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 121


6774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
6775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable DMA Request */
6777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Last Byte is Transmitted */
6780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call I2C Slave Sequential complete process */
6781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITSlaveSeqCplt(hi2c);
6782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* No specific action, Master fully manage the generation of STOP condition */
6786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Mean that this generation can arrive at any time, at the end or during DMA process */
6787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* So STOP condition should be manage through Interrupt treatment */
6788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief DMA I2C master receive process complete callback.
6794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hdma DMA handle
6795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma)
6798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
6800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable DMA Request */
6803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* If last transfer, enable STOP interrupt */
6806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->XferCount == 0U)
6807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable STOP interrupt */
6809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
6810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* else prepare a new DMA transfer and enable TCReload interrupt */
6812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Update Buffer pointer */
6815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr += hi2c->XferSize;
6816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Set the XferSize to transfer */
6818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (hi2c->XferCount > MAX_NBYTE_SIZE)
6819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = MAX_NBYTE_SIZE;
6821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
6823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize = hi2c->XferCount;
6825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable the DMA stream or channel depends on Instance */
6828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr,
6829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
6830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 122


6831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Call the corresponding callback to inform upper layer of End of Transfer */
6832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     else
6835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable TC interrupts */
6837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
6838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  DMA I2C slave receive process complete callback.
6845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hdma DMA handle
6846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma)
6849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
6851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
6853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U) && \
6855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
6856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable DMA Request */
6858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call I2C Slave Sequential complete process */
6861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITSlaveSeqCplt(hi2c);
6862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
6864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* No specific action, Master fully manage the generation of STOP condition */
6866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Mean that this generation can arrive at any time, at the end or during DMA process */
6867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* So STOP condition should be manage through Interrupt treatment */
6868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  DMA I2C communication error callback.
6874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param hdma DMA handle
6875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
6878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t treatdmaerror = 0U;
6880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
6881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->hdmatx != NULL)
6884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx) == 0U)
6886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       treatdmaerror = 1U;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 123


6888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->hdmarx != NULL)
6892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U)
6894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       treatdmaerror = 1U;
6896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check if a FIFO error is detected, if true normal use case, so no specific action to perform *
6900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (!((HAL_DMA_GetError(hdma) == HAL_DMA_ERROR_FE)) && (treatdmaerror != 0U))
6901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable Acknowledge */
6903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Instance->CR2 |= I2C_CR2_NACK;
6904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Call the corresponding callback to inform upper layer of End of Transfer */
6906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief DMA I2C communication abort callback
6913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *        (To be called at end of DMA Abort procedure).
6914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param hdma DMA handle.
6915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
6916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
6918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
6920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Reset AbortCpltCallback */
6923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->hdmatx != NULL)
6924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->hdmatx->XferAbortCallback = NULL;
6926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->hdmarx != NULL)
6928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->hdmarx->XferAbortCallback = NULL;
6930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_TreatErrorCallback(hi2c);
6933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  This function handles I2C Communication Timeout. It waits
6938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                until a flag is no longer in the specified status.
6939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
6940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
6941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Flag Specifies the I2C flag to check.
6942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Status The actual Flag status (SET or RESET).
6943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
6944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Tickstart Tick start value
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 124


6945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
6946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
6948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                     uint32_t Timeout, uint32_t Tickstart)
6949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
6951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check if an error is detected */
6953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
6956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check for the Timeout */
6959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (Timeout != HAL_MAX_DELAY)
6960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
6963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if ((__HAL_I2C_GET_FLAG(hi2c, Flag) == Status))
6964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
6965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->State = HAL_I2C_STATE_READY;
6967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->Mode = HAL_I2C_MODE_NONE;
6968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Process Unlocked */
6970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           __HAL_UNLOCK(hi2c);
6971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
6972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
6973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
6974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
6976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
6977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
6978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
6980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  This function handles I2C Communication Timeout for specific usage of TXIS flag.
6981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
6982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
6983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
6984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Tickstart Tick start value
6985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
6986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
6987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                         uint32_t Tickstart)
6989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
6990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
6991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
6992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check if an error is detected */
6993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
6995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
6996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
6997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
6998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check for the Timeout */
6999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (Timeout != HAL_MAX_DELAY)
7000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 125


7002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
7003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET))
7004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
7005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
7006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->State = HAL_I2C_STATE_READY;
7007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->Mode = HAL_I2C_MODE_NONE;
7008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Process Unlocked */
7010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           __HAL_UNLOCK(hi2c);
7011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
7013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
7014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
7015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
7018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
7019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
7021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  This function handles I2C Communication Timeout for specific usage of STOP flag.
7022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
7023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
7024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
7025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Tickstart Tick start value
7026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
7027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
7028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
7029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                         uint32_t Tickstart)
7030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
7031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
7032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check if an error is detected */
7034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
7035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
7037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check for the Timeout */
7040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
7041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET))
7043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
7044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
7045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
7046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
7047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
7049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
7050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
7052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
7053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return HAL_OK;
7056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
7057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 126


7059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  This function handles I2C Communication Timeout for specific usage of RXNE flag.
7060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
7061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
7062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
7063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Tickstart Tick start value
7064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
7065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
7066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
7067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                                         uint32_t Tickstart)
7068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
7069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
7070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET) && (status == HAL_OK))
7072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check if an error is detected */
7074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
7075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       status = HAL_ERROR;
7077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check if a STOPF is detected */
7080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET) && (status == HAL_OK))
7081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Check if an RXNE is pending */
7083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Store Last receive data if any */
7084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U))
7085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
7086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Return HAL_OK */
7087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* The Reading of data from RXDR will be done in caller function */
7088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         status = HAL_OK;
7089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
7090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Check a no-acknowledge have been detected */
7092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
7093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
7094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
7095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode = HAL_I2C_ERROR_AF;
7096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear STOP Flag */
7098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
7099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Clear Configuration Register 2 */
7101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_RESET_CR2(hi2c);
7102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
7104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
7105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
7107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
7108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         status = HAL_ERROR;
7110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
7111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       else
7112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
7113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
7115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 127


7116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Check for the Timeout */
7118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) && (status == HAL_OK))
7119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET))
7121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
7122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
7123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
7124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Process Unlocked */
7126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         __HAL_UNLOCK(hi2c);
7127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         status = HAL_ERROR;
7129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
7130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return status;
7133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
7134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
7136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  This function handles errors detection during an I2C Communication.
7137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
7138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
7139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Timeout Timeout duration
7140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Tickstart Tick start value
7141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval HAL status
7142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
7143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Ti
7144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
7145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
7146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itflag   = hi2c->Instance->ISR;
7147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t error_code = 0;
7148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart = Tickstart;
7149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmp1;
7150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef tmp2;
7151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (HAL_IS_BIT_SET(itflag, I2C_FLAG_AF))
7153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear NACKF Flag */
7155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
7156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Wait until STOP Flag is set or timeout occurred */
7158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* AutoEnd should be initiate after AF */
7159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (status == HAL_OK))
7160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Check for the Timeout */
7162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if (Timeout != HAL_MAX_DELAY)
7163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
7164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
7165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
7166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           tmp1 = (uint32_t)(hi2c->Instance->CR2 & I2C_CR2_STOP);
7167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           tmp2 = hi2c->Mode;
7168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* In case of I2C still busy, try to regenerate a STOP manually */
7170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET) && \
7171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               (tmp1 != I2C_CR2_STOP) && \
7172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               (tmp2 != HAL_I2C_MODE_SLAVE))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 128


7173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
7174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Generate Stop */
7175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             hi2c->Instance->CR2 |= I2C_CR2_STOP;
7176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Update Tick with new reference */
7178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             tickstart = HAL_GetTick();
7179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
7180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
7182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
7183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             /* Check for the Timeout */
7184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             if ((HAL_GetTick() - tickstart) > I2C_TIMEOUT_STOPF)
7185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             {
7186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               error_code |= HAL_I2C_ERROR_TIMEOUT;
7187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               status = HAL_ERROR;
7189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               break;
7191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             }
7192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
7193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
7194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
7195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* In case STOP Flag is detected, clear it */
7198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (status == HAL_OK)
7199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Clear STOP Flag */
7201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
7202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     error_code |= HAL_I2C_ERROR_AF;
7205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     status = HAL_ERROR;
7207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Refresh Content of Status register */
7210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   itflag = hi2c->Instance->ISR;
7211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Then verify if an additional errors occurs */
7213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check if a Bus error occurred */
7214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (HAL_IS_BIT_SET(itflag, I2C_FLAG_BERR))
7215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     error_code |= HAL_I2C_ERROR_BERR;
7217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear BERR flag */
7219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
7220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     status = HAL_ERROR;
7222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check if an Over-Run/Under-Run error occurred */
7225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (HAL_IS_BIT_SET(itflag, I2C_FLAG_OVR))
7226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     error_code |= HAL_I2C_ERROR_OVR;
7228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear OVR flag */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 129


7230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
7231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     status = HAL_ERROR;
7233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check if an Arbitration Loss error occurred */
7236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (HAL_IS_BIT_SET(itflag, I2C_FLAG_ARLO))
7237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     error_code |= HAL_I2C_ERROR_ARLO;
7239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear ARLO flag */
7241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
7242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     status = HAL_ERROR;
7244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (status != HAL_OK)
7247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Flush TX register */
7249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_Flush_TXDR(hi2c);
7250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Clear Configuration Register 2 */
7252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     I2C_RESET_CR2(hi2c);
7253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode |= error_code;
7255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
7256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
7257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Process Unlocked */
7259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     __HAL_UNLOCK(hi2c);
7260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return status;
7263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
7264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
7266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar
7267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
7268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  DevAddress Specifies the slave address to be programmed.
7269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Size Specifies the number of bytes to be programmed.
7270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *   This parameter must be a value between 0 and 255.
7271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Mode New state of the I2C START condition generation.
7272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *   This parameter can be one of the following values:
7273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *     @arg @ref I2C_RELOAD_MODE Enable Reload mode .
7274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *     @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode.
7275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *     @arg @ref I2C_SOFTEND_MODE Enable Software end mode.
7276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  Request New state of the I2C START condition generation.
7277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *   This parameter can be one of the following values:
7278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *     @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition.
7279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *     @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0).
7280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *     @arg @ref I2C_GENERATE_START_READ Generate Restart for read request.
7281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *     @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request.
7282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
7283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
7284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
7285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                uint32_t Request)
7286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 130


  71              		.loc 1 7286 1 is_stmt 1 view -0
  72              		.cfi_startproc
  73              		@ args = 4, pretend = 0, frame = 0
  74              		@ frame_needed = 0, uses_anonymous_args = 0
  75              		@ link register save eliminated.
  76              		.loc 1 7286 1 is_stmt 0 view .LVU12
  77 0000 10B4     		push	{r4}
  78              		.cfi_def_cfa_offset 4
  79              		.cfi_offset 4, -4
  80 0002 019C     		ldr	r4, [sp, #4]
7287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
7288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
  81              		.loc 1 7288 3 is_stmt 1 view .LVU13
7289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_TRANSFER_MODE(Mode));
  82              		.loc 1 7289 3 view .LVU14
7290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_TRANSFER_REQUEST(Request));
  83              		.loc 1 7290 3 view .LVU15
7291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
7293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \
  84              		.loc 1 7293 3 view .LVU16
  85              		.loc 1 7293 52 is_stmt 0 view .LVU17
  86 0004 C1F30901 		ubfx	r1, r1, #0, #10
  87              	.LVL2:
  88              		.loc 1 7293 68 view .LVU18
  89 0008 41EA0241 		orr	r1, r1, r2, lsl #16
7294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  90              		.loc 1 7294 88 view .LVU19
  91 000c 1943     		orrs	r1, r1, r3
7293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  92              		.loc 1 7293 19 view .LVU20
  93 000e 2143     		orrs	r1, r1, r4
7293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  94              		.loc 1 7293 12 view .LVU21
  95 0010 21F00041 		bic	r1, r1, #-2147483648
  96              	.LVL3:
7295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U));
7296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* update CR2 register */
7298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   MODIFY_REG(hi2c->Instance->CR2, \
  97              		.loc 1 7298 3 is_stmt 1 view .LVU22
  98 0014 0268     		ldr	r2, [r0]
  99              	.LVL4:
 100              		.loc 1 7298 3 is_stmt 0 view .LVU23
 101 0016 5368     		ldr	r3, [r2, #4]
 102              	.LVL5:
 103              		.loc 1 7298 3 view .LVU24
 104 0018 640D     		lsrs	r4, r4, #21
 105 001a 04F48064 		and	r4, r4, #1024
 106 001e 44F07F74 		orr	r4, r4, #66846720
 107 0022 44F45834 		orr	r4, r4, #221184
 108 0026 44F47F74 		orr	r4, r4, #1020
 109 002a 44F00304 		orr	r4, r4, #3
 110 002e 23EA0403 		bic	r3, r3, r4
 111 0032 0B43     		orrs	r3, r3, r1
 112 0034 5360     		str	r3, [r2, #4]
7299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****              ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 131


7300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | \
7301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                I2C_CR2_START | I2C_CR2_STOP)), tmp);
7302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 113              		.loc 1 7302 1 view .LVU25
 114 0036 5DF8044B 		ldr	r4, [sp], #4
 115              		.cfi_restore 4
 116              		.cfi_def_cfa_offset 0
 117              	.LVL6:
 118              		.loc 1 7302 1 view .LVU26
 119 003a 7047     		bx	lr
 120              		.cfi_endproc
 121              	.LFE412:
 123              		.section	.text.I2C_Enable_IRQ,"ax",%progbits
 124              		.align	1
 125              		.syntax unified
 126              		.thumb
 127              		.thumb_func
 129              	I2C_Enable_IRQ:
 130              	.LVL7:
 131              	.LFB413:
7303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
7305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Manage the enabling of Interrupts.
7306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
7307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
7308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
7309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
7310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
7311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
7312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
 132              		.loc 1 7312 1 is_stmt 1 view -0
 133              		.cfi_startproc
 134              		@ args = 0, pretend = 0, frame = 0
 135              		@ frame_needed = 0, uses_anonymous_args = 0
 136              		@ link register save eliminated.
7313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpisr = 0U;
 137              		.loc 1 7313 3 view .LVU28
7314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((hi2c->XferISR != I2C_Master_ISR_DMA) && \
 138              		.loc 1 7315 3 view .LVU29
 139              		.loc 1 7315 12 is_stmt 0 view .LVU30
 140 0000 436B     		ldr	r3, [r0, #52]
 141              		.loc 1 7315 6 view .LVU31
 142 0002 234A     		ldr	r2, .L22
 143 0004 9342     		cmp	r3, r2
 144 0006 1FD0     		beq	.L7
 145              		.loc 1 7315 45 discriminator 1 view .LVU32
 146 0008 224A     		ldr	r2, .L22+4
 147 000a 9342     		cmp	r3, r2
 148 000c 1CD0     		beq	.L7
7316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
 149              		.loc 1 7316 44 view .LVU33
 150 000e 224A     		ldr	r2, .L22+8
 151 0010 9342     		cmp	r3, r2
 152 0012 19D0     		beq	.L7
7317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (hi2c->XferISR != I2C_Mem_ISR_DMA))
7318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 132


7319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
 153              		.loc 1 7319 5 is_stmt 1 view .LVU34
 154              		.loc 1 7319 8 is_stmt 0 view .LVU35
 155 0014 11F4004F 		tst	r1, #32768
 156 0018 0FD1     		bne	.L18
7313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 157              		.loc 1 7313 12 view .LVU36
 158 001a 0023     		movs	r3, #0
 159              	.L8:
 160              	.LVL8:
7320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, STOP, NACK and ADDR interrupts */
7322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
7323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
 161              		.loc 1 7325 5 is_stmt 1 view .LVU37
 162              		.loc 1 7325 8 is_stmt 0 view .LVU38
 163 001c 11F0010F 		tst	r1, #1
 164 0020 01D0     		beq	.L9
7326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, TC, STOP, NACK and TXI interrupts */
7328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
 165              		.loc 1 7328 7 is_stmt 1 view .LVU39
 166              		.loc 1 7328 14 is_stmt 0 view .LVU40
 167 0022 43F0F203 		orr	r3, r3, #242
 168              	.LVL9:
 169              	.L9:
7329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
 170              		.loc 1 7331 5 is_stmt 1 view .LVU41
 171              		.loc 1 7331 8 is_stmt 0 view .LVU42
 172 0026 11F0020F 		tst	r1, #2
 173 002a 08D0     		beq	.L10
7332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, TC, STOP, NACK and RXI interrupts */
7334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
 174              		.loc 1 7334 7 is_stmt 1 view .LVU43
 175              		.loc 1 7334 14 is_stmt 0 view .LVU44
 176 002c 43F0F403 		orr	r3, r3, #244
 177              	.LVL10:
7335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (InterruptRequest == I2C_XFER_ERROR_IT)
 178              		.loc 1 7337 5 is_stmt 1 view .LVU45
 179              	.L11:
7338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR and NACK interrupts */
7340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
7341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (InterruptRequest == I2C_XFER_CPLT_IT)
 180              		.loc 1 7343 5 view .LVU46
 181              		.loc 1 7343 8 is_stmt 0 view .LVU47
 182 0030 2029     		cmp	r1, #32
 183 0032 1BD1     		bne	.L12
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 133


7344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable STOP interrupts */
7346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_STOPI;
 184              		.loc 1 7346 7 is_stmt 1 view .LVU48
 185              		.loc 1 7346 14 is_stmt 0 view .LVU49
 186 0034 43F02003 		orr	r3, r3, #32
 187              	.LVL11:
 188              		.loc 1 7346 14 view .LVU50
 189 0038 18E0     		b	.L12
 190              	.LVL12:
 191              	.L18:
7322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 192              		.loc 1 7322 14 view .LVU51
 193 003a B823     		movs	r3, #184
 194 003c EEE7     		b	.L8
 195              	.LVL13:
 196              	.L10:
7337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 197              		.loc 1 7337 5 is_stmt 1 view .LVU52
7337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 198              		.loc 1 7337 8 is_stmt 0 view .LVU53
 199 003e 1029     		cmp	r1, #16
 200 0040 F6D1     		bne	.L11
7340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 201              		.loc 1 7340 7 is_stmt 1 view .LVU54
7340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 202              		.loc 1 7340 14 is_stmt 0 view .LVU55
 203 0042 43F09003 		orr	r3, r3, #144
 204              	.LVL14:
7343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 205              		.loc 1 7343 5 is_stmt 1 view .LVU56
 206 0046 11E0     		b	.L12
 207              	.LVL15:
 208              	.L7:
7347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
7351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
 209              		.loc 1 7352 5 view .LVU57
 210              		.loc 1 7352 8 is_stmt 0 view .LVU58
 211 0048 11F4004F 		tst	r1, #32768
 212 004c 13D1     		bne	.L19
7313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 213              		.loc 1 7313 12 view .LVU59
 214 004e 0023     		movs	r3, #0
 215              	.L13:
 216              	.LVL16:
7353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, STOP, NACK and ADDR interrupts */
7355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
7356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
 217              		.loc 1 7358 5 is_stmt 1 view .LVU60
 218              		.loc 1 7358 8 is_stmt 0 view .LVU61
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 134


 219 0050 11F0010F 		tst	r1, #1
 220 0054 01D0     		beq	.L14
7359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, TC, STOP, NACK and TXI interrupts */
7361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
 221              		.loc 1 7361 7 is_stmt 1 view .LVU62
 222              		.loc 1 7361 14 is_stmt 0 view .LVU63
 223 0056 43F0F203 		orr	r3, r3, #242
 224              	.LVL17:
 225              	.L14:
7362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
 226              		.loc 1 7364 5 is_stmt 1 view .LVU64
 227              		.loc 1 7364 8 is_stmt 0 view .LVU65
 228 005a 11F0020F 		tst	r1, #2
 229 005e 0CD0     		beq	.L15
7365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR, TC, STOP, NACK and RXI interrupts */
7367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
 230              		.loc 1 7367 7 is_stmt 1 view .LVU66
 231              		.loc 1 7367 14 is_stmt 0 view .LVU67
 232 0060 43F0F403 		orr	r3, r3, #244
 233              	.LVL18:
7368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (InterruptRequest == I2C_XFER_ERROR_IT)
 234              		.loc 1 7370 5 is_stmt 1 view .LVU68
 235              	.L16:
7371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable ERR and NACK interrupts */
7373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
7374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (InterruptRequest == I2C_XFER_CPLT_IT)
 236              		.loc 1 7376 5 view .LVU69
 237              		.loc 1 7376 8 is_stmt 0 view .LVU70
 238 0064 2029     		cmp	r1, #32
 239 0066 0DD0     		beq	.L20
 240              	.L17:
7377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable STOP interrupts */
7379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= (I2C_IT_STOPI | I2C_IT_TCI);
7380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (InterruptRequest == I2C_XFER_RELOAD_IT)
 241              		.loc 1 7382 5 is_stmt 1 view .LVU71
 242              		.loc 1 7382 8 is_stmt 0 view .LVU72
 243 0068 4029     		cmp	r1, #64
 244 006a 0ED0     		beq	.L21
 245              	.LVL19:
 246              	.L12:
7383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Enable TC interrupts */
7385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_TCI;
7386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 135


7388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Enable interrupts only at the end */
7390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* to avoid the risk of I2C interrupt handle execution before */
7391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* all interrupts requested done */
7392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_I2C_ENABLE_IT(hi2c, tmpisr);
 247              		.loc 1 7392 3 is_stmt 1 view .LVU73
 248 006c 0168     		ldr	r1, [r0]
 249              	.LVL20:
 250              		.loc 1 7392 3 is_stmt 0 view .LVU74
 251 006e 0A68     		ldr	r2, [r1]
 252 0070 1343     		orrs	r3, r3, r2
 253              	.LVL21:
 254              		.loc 1 7392 3 view .LVU75
 255 0072 0B60     		str	r3, [r1]
7393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 256              		.loc 1 7393 1 view .LVU76
 257 0074 7047     		bx	lr
 258              	.LVL22:
 259              	.L19:
7355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 260              		.loc 1 7355 14 view .LVU77
 261 0076 B823     		movs	r3, #184
 262 0078 EAE7     		b	.L13
 263              	.LVL23:
 264              	.L15:
7370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 265              		.loc 1 7370 5 is_stmt 1 view .LVU78
7370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 266              		.loc 1 7370 8 is_stmt 0 view .LVU79
 267 007a 1029     		cmp	r1, #16
 268 007c F2D1     		bne	.L16
7373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 269              		.loc 1 7373 7 is_stmt 1 view .LVU80
7373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 270              		.loc 1 7373 14 is_stmt 0 view .LVU81
 271 007e 43F09003 		orr	r3, r3, #144
 272              	.LVL24:
7376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 273              		.loc 1 7376 5 is_stmt 1 view .LVU82
 274 0082 F1E7     		b	.L17
 275              	.L20:
7379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 276              		.loc 1 7379 7 view .LVU83
7379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 277              		.loc 1 7379 14 is_stmt 0 view .LVU84
 278 0084 43F06003 		orr	r3, r3, #96
 279              	.LVL25:
7382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 280              		.loc 1 7382 5 is_stmt 1 view .LVU85
 281 0088 F0E7     		b	.L12
 282              	.L21:
7385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 283              		.loc 1 7385 7 view .LVU86
7385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 284              		.loc 1 7385 14 is_stmt 0 view .LVU87
 285 008a 43F04003 		orr	r3, r3, #64
 286              	.LVL26:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 136


7385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 287              		.loc 1 7385 14 view .LVU88
 288 008e EDE7     		b	.L12
 289              	.L23:
 290              		.align	2
 291              	.L22:
 292 0090 00000000 		.word	I2C_Master_ISR_DMA
 293 0094 00000000 		.word	I2C_Slave_ISR_DMA
 294 0098 00000000 		.word	I2C_Mem_ISR_DMA
 295              		.cfi_endproc
 296              	.LFE413:
 298              		.section	.text.I2C_Disable_IRQ,"ax",%progbits
 299              		.align	1
 300              		.syntax unified
 301              		.thumb
 302              		.thumb_func
 304              	I2C_Disable_IRQ:
 305              	.LVL27:
 306              	.LFB414:
7394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
7396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Manage the disabling of Interrupts.
7397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
7398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   *                the configuration information for the specified I2C.
7399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
7400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
7401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
7402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
7403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
 307              		.loc 1 7403 1 is_stmt 1 view -0
 308              		.cfi_startproc
 309              		@ args = 0, pretend = 0, frame = 0
 310              		@ frame_needed = 0, uses_anonymous_args = 0
 311              		@ link register save eliminated.
7404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpisr = 0U;
 312              		.loc 1 7404 3 view .LVU90
7405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
 313              		.loc 1 7406 3 view .LVU91
 314              		.loc 1 7406 6 is_stmt 0 view .LVU92
 315 0000 11F0010F 		tst	r1, #1
 316 0004 09D0     		beq	.L31
7407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable TC and TXI interrupts */
7409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmpisr |= I2C_IT_TCI | I2C_IT_TXI;
 317              		.loc 1 7409 5 is_stmt 1 view .LVU93
 318              	.LVL28:
7410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
 319              		.loc 1 7411 5 view .LVU94
 320              		.loc 1 7411 24 is_stmt 0 view .LVU95
 321 0006 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
 322              		.loc 1 7411 8 view .LVU96
 323 000a 03F02803 		and	r3, r3, #40
 324 000e 282B     		cmp	r3, #40
 325 0010 01D0     		beq	.L34
7412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 137


7413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable NACK and STOP interrupts */
7414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
 326              		.loc 1 7414 14 view .LVU97
 327 0012 F223     		movs	r3, #242
 328 0014 02E0     		b	.L25
 329              	.L34:
7409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 330              		.loc 1 7409 12 view .LVU98
 331 0016 4223     		movs	r3, #66
 332 0018 00E0     		b	.L25
 333              	.LVL29:
 334              	.L31:
7404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 335              		.loc 1 7404 12 view .LVU99
 336 001a 0023     		movs	r3, #0
 337              	.LVL30:
 338              	.L25:
7415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
 339              		.loc 1 7418 3 is_stmt 1 view .LVU100
 340              		.loc 1 7418 6 is_stmt 0 view .LVU101
 341 001c 11F0020F 		tst	r1, #2
 342 0020 09D0     		beq	.L26
7419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable TC and RXI interrupts */
7421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmpisr |= I2C_IT_TCI | I2C_IT_RXI;
 343              		.loc 1 7421 5 is_stmt 1 view .LVU102
 344              		.loc 1 7421 12 is_stmt 0 view .LVU103
 345 0022 43F0440C 		orr	ip, r3, #68
 346              	.LVL31:
7422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
 347              		.loc 1 7423 5 is_stmt 1 view .LVU104
 348              		.loc 1 7423 24 is_stmt 0 view .LVU105
 349 0026 90F84120 		ldrb	r2, [r0, #65]	@ zero_extendqisi2
 350              		.loc 1 7423 8 view .LVU106
 351 002a 02F02802 		and	r2, r2, #40
 352 002e 282A     		cmp	r2, #40
 353 0030 09D0     		beq	.L33
7424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
7425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       /* Disable NACK and STOP interrupts */
7426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
 354              		.loc 1 7426 7 is_stmt 1 view .LVU107
 355              		.loc 1 7426 14 is_stmt 0 view .LVU108
 356 0032 43F0F403 		orr	r3, r3, #244
 357              	.LVL32:
 358              	.L26:
7427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
7428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
 359              		.loc 1 7430 3 is_stmt 1 view .LVU109
 360              		.loc 1 7430 6 is_stmt 0 view .LVU110
 361 0036 11F4004F 		tst	r1, #32768
 362 003a 06D1     		bne	.L35
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 138


7431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Disable ADDR, NACK and STOP interrupts */
7433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
7434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (InterruptRequest == I2C_XFER_ERROR_IT)
 363              		.loc 1 7436 3 is_stmt 1 view .LVU111
 364              		.loc 1 7436 6 is_stmt 0 view .LVU112
 365 003c 1029     		cmp	r1, #16
 366 003e 06D1     		bne	.L28
7437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable ERR and NACK interrupts */
7439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
 367              		.loc 1 7439 5 is_stmt 1 view .LVU113
 368              		.loc 1 7439 12 is_stmt 0 view .LVU114
 369 0040 43F09003 		orr	r3, r3, #144
 370              	.LVL33:
7440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (InterruptRequest == I2C_XFER_CPLT_IT)
 371              		.loc 1 7442 3 is_stmt 1 view .LVU115
 372 0044 05E0     		b	.L29
 373              	.LVL34:
 374              	.L33:
7421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 375              		.loc 1 7421 12 is_stmt 0 view .LVU116
 376 0046 6346     		mov	r3, ip
 377 0048 F5E7     		b	.L26
 378              	.LVL35:
 379              	.L35:
7433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 380              		.loc 1 7433 5 is_stmt 1 view .LVU117
7433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 381              		.loc 1 7433 12 is_stmt 0 view .LVU118
 382 004a 43F0B803 		orr	r3, r3, #184
 383              	.LVL36:
7436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 384              		.loc 1 7436 3 is_stmt 1 view .LVU119
 385              	.L28:
 386              		.loc 1 7442 3 view .LVU120
 387              		.loc 1 7442 6 is_stmt 0 view .LVU121
 388 004e 2029     		cmp	r1, #32
 389 0050 07D0     		beq	.L36
 390              	.L29:
7443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable STOP interrupts */
7445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmpisr |= I2C_IT_STOPI;
7446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (InterruptRequest == I2C_XFER_RELOAD_IT)
 391              		.loc 1 7448 3 is_stmt 1 view .LVU122
 392              		.loc 1 7448 6 is_stmt 0 view .LVU123
 393 0052 4029     		cmp	r1, #64
 394 0054 08D0     		beq	.L37
 395              	.LVL37:
 396              	.L30:
7449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 139


7450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Enable TC interrupts */
7451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     tmpisr |= I2C_IT_TCI;
7452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Disable interrupts only at the end */
7455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* to avoid a breaking situation like at "t" time */
7456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* all disable interrupts request are not done */
7457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __HAL_I2C_DISABLE_IT(hi2c, tmpisr);
 397              		.loc 1 7457 3 is_stmt 1 view .LVU124
 398 0056 0168     		ldr	r1, [r0]
 399              	.LVL38:
 400              		.loc 1 7457 3 is_stmt 0 view .LVU125
 401 0058 0A68     		ldr	r2, [r1]
 402 005a 22EA0303 		bic	r3, r2, r3
 403              	.LVL39:
 404              		.loc 1 7457 3 view .LVU126
 405 005e 0B60     		str	r3, [r1]
7458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 406              		.loc 1 7458 1 view .LVU127
 407 0060 7047     		bx	lr
 408              	.LVL40:
 409              	.L36:
7445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 410              		.loc 1 7445 5 is_stmt 1 view .LVU128
7445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 411              		.loc 1 7445 12 is_stmt 0 view .LVU129
 412 0062 43F02003 		orr	r3, r3, #32
 413              	.LVL41:
7448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 414              		.loc 1 7448 3 is_stmt 1 view .LVU130
 415 0066 F6E7     		b	.L30
 416              	.L37:
7451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 417              		.loc 1 7451 5 view .LVU131
7451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 418              		.loc 1 7451 12 is_stmt 0 view .LVU132
 419 0068 43F04003 		orr	r3, r3, #64
 420              	.LVL42:
7451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 421              		.loc 1 7451 12 view .LVU133
 422 006c F3E7     		b	.L30
 423              		.cfi_endproc
 424              	.LFE414:
 426              		.section	.text.I2C_ConvertOtherXferOptions,"ax",%progbits
 427              		.align	1
 428              		.syntax unified
 429              		.thumb
 430              		.thumb_func
 432              	I2C_ConvertOtherXferOptions:
 433              	.LVL43:
 434              	.LFB415:
7459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
7460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
7461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @brief  Convert I2Cx OTHER_xxx XferOptions to functional XferOptions.
7462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @param  hi2c I2C handle.
7463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   * @retval None
7464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 140


7465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c)
7466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** {
 435              		.loc 1 7466 1 is_stmt 1 view -0
 436              		.cfi_startproc
 437              		@ args = 0, pretend = 0, frame = 0
 438              		@ frame_needed = 0, uses_anonymous_args = 0
 439              		@ link register save eliminated.
7467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* if user set XferOptions to I2C_OTHER_FRAME            */
7468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* it request implicitly to generate a restart condition */
7469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* set XferOptions to I2C_FIRST_FRAME                    */
7470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->XferOptions == I2C_OTHER_FRAME)
 440              		.loc 1 7470 3 view .LVU135
 441              		.loc 1 7470 11 is_stmt 0 view .LVU136
 442 0000 C36A     		ldr	r3, [r0, #44]
 443              		.loc 1 7470 6 view .LVU137
 444 0002 AA2B     		cmp	r3, #170
 445 0004 04D0     		beq	.L41
7471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_FIRST_FRAME;
7473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */
7475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* it request implicitly to generate a restart condition    */
7476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* then generate a stop condition at the end of transfer    */
7477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* set XferOptions to I2C_FIRST_AND_LAST_FRAME              */
7478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME)
 446              		.loc 1 7478 8 is_stmt 1 view .LVU138
 447              		.loc 1 7478 16 is_stmt 0 view .LVU139
 448 0006 C36A     		ldr	r3, [r0, #44]
 449              		.loc 1 7478 11 view .LVU140
 450 0008 B3F52A4F 		cmp	r3, #43520
 451 000c 03D0     		beq	.L42
 452              	.L38:
7479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME;
7481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   else
7483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
7484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     /* Nothing to do */
7485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
7486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 453              		.loc 1 7486 1 view .LVU141
 454 000e 7047     		bx	lr
 455              	.L41:
7472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 456              		.loc 1 7472 5 is_stmt 1 view .LVU142
7472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 457              		.loc 1 7472 23 is_stmt 0 view .LVU143
 458 0010 0023     		movs	r3, #0
 459 0012 C362     		str	r3, [r0, #44]
 460 0014 7047     		bx	lr
 461              	.L42:
7480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 462              		.loc 1 7480 5 is_stmt 1 view .LVU144
7480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 463              		.loc 1 7480 23 is_stmt 0 view .LVU145
 464 0016 4FF00073 		mov	r3, #33554432
 465 001a C362     		str	r3, [r0, #44]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 141


7485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 466              		.loc 1 7485 3 is_stmt 1 view .LVU146
 467              		.loc 1 7486 1 is_stmt 0 view .LVU147
 468 001c F7E7     		b	.L38
 469              		.cfi_endproc
 470              	.LFE415:
 472              		.section	.text.I2C_IsErrorOccurred,"ax",%progbits
 473              		.align	1
 474              		.syntax unified
 475              		.thumb
 476              		.thumb_func
 478              	I2C_IsErrorOccurred:
 479              	.LVL44:
 480              	.LFB411:
7144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 481              		.loc 1 7144 1 is_stmt 1 view -0
 482              		.cfi_startproc
 483              		@ args = 0, pretend = 0, frame = 0
 484              		@ frame_needed = 0, uses_anonymous_args = 0
7144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 485              		.loc 1 7144 1 is_stmt 0 view .LVU149
 486 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 487              		.cfi_def_cfa_offset 24
 488              		.cfi_offset 4, -24
 489              		.cfi_offset 5, -20
 490              		.cfi_offset 6, -16
 491              		.cfi_offset 7, -12
 492              		.cfi_offset 8, -8
 493              		.cfi_offset 14, -4
 494 0004 0446     		mov	r4, r0
7145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itflag   = hi2c->Instance->ISR;
 495              		.loc 1 7145 3 is_stmt 1 view .LVU150
 496              	.LVL45:
7146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t error_code = 0;
 497              		.loc 1 7146 3 view .LVU151
7146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t error_code = 0;
 498              		.loc 1 7146 27 is_stmt 0 view .LVU152
 499 0006 0368     		ldr	r3, [r0]
7146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t error_code = 0;
 500              		.loc 1 7146 12 view .LVU153
 501 0008 9E69     		ldr	r6, [r3, #24]
 502              	.LVL46:
7147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart = Tickstart;
 503              		.loc 1 7147 3 is_stmt 1 view .LVU154
7148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmp1;
 504              		.loc 1 7148 3 view .LVU155
7149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_ModeTypeDef tmp2;
 505              		.loc 1 7149 3 view .LVU156
7150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 506              		.loc 1 7150 3 view .LVU157
7152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 507              		.loc 1 7152 3 view .LVU158
7152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 508              		.loc 1 7152 6 is_stmt 0 view .LVU159
 509 000a 16F01006 		ands	r6, r6, #16
 510              	.LVL47:
7152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 142


 511              		.loc 1 7152 6 view .LVU160
 512 000e 7ED0     		beq	.L60
 513 0010 0D46     		mov	r5, r1
 514 0012 9046     		mov	r8, r2
7155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 515              		.loc 1 7155 5 is_stmt 1 view .LVU161
 516 0014 1022     		movs	r2, #16
 517              	.LVL48:
7155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 518              		.loc 1 7155 5 is_stmt 0 view .LVU162
 519 0016 DA61     		str	r2, [r3, #28]
7159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 520              		.loc 1 7159 5 is_stmt 1 view .LVU163
7147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart = Tickstart;
 521              		.loc 1 7147 12 is_stmt 0 view .LVU164
 522 0018 0026     		movs	r6, #0
7145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itflag   = hi2c->Instance->ISR;
 523              		.loc 1 7145 21 view .LVU165
 524 001a 3746     		mov	r7, r6
 525              	.LVL49:
 526              	.L46:
7159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 527              		.loc 1 7159 64 is_stmt 1 view .LVU166
7159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 528              		.loc 1 7159 13 is_stmt 0 view .LVU167
 529 001c 2368     		ldr	r3, [r4]
 530 001e 9869     		ldr	r0, [r3, #24]
7159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 531              		.loc 1 7159 64 view .LVU168
 532 0020 10F0200F 		tst	r0, #32
 533 0024 32D1     		bne	.L52
7159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 534              		.loc 1 7159 64 discriminator 1 view .LVU169
 535 0026 8FBB     		cbnz	r7, .L52
7162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 536              		.loc 1 7162 7 is_stmt 1 view .LVU170
7162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 537              		.loc 1 7162 10 is_stmt 0 view .LVU171
 538 0028 B5F1FF3F 		cmp	r5, #-1
 539 002c F6D0     		beq	.L46
7164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 540              		.loc 1 7164 9 is_stmt 1 view .LVU172
7164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 541              		.loc 1 7164 15 is_stmt 0 view .LVU173
 542 002e FFF7FEFF 		bl	HAL_GetTick
 543              	.LVL50:
7164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 544              		.loc 1 7164 29 discriminator 1 view .LVU174
 545 0032 A0EB0800 		sub	r0, r0, r8
7164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 546              		.loc 1 7164 12 discriminator 1 view .LVU175
 547 0036 A842     		cmp	r0, r5
 548 0038 01D8     		bhi	.L47
7164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 549              		.loc 1 7164 53 discriminator 1 view .LVU176
 550 003a 002D     		cmp	r5, #0
 551 003c EED1     		bne	.L46
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 143


 552              	.L47:
7166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           tmp2 = hi2c->Mode;
 553              		.loc 1 7166 11 is_stmt 1 view .LVU177
7166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           tmp2 = hi2c->Mode;
 554              		.loc 1 7166 33 is_stmt 0 view .LVU178
 555 003e 2168     		ldr	r1, [r4]
7166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           tmp2 = hi2c->Mode;
 556              		.loc 1 7166 43 view .LVU179
 557 0040 4A68     		ldr	r2, [r1, #4]
7166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           tmp2 = hi2c->Mode;
 558              		.loc 1 7166 16 view .LVU180
 559 0042 02F48042 		and	r2, r2, #16384
 560              	.LVL51:
7167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 561              		.loc 1 7167 11 is_stmt 1 view .LVU181
7167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 562              		.loc 1 7167 16 is_stmt 0 view .LVU182
 563 0046 94F84230 		ldrb	r3, [r4, #66]	@ zero_extendqisi2
 564 004a DBB2     		uxtb	r3, r3
 565              	.LVL52:
7170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               (tmp1 != I2C_CR2_STOP) && \
 566              		.loc 1 7170 11 is_stmt 1 view .LVU183
7170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               (tmp1 != I2C_CR2_STOP) && \
 567              		.loc 1 7170 16 is_stmt 0 view .LVU184
 568 004c 8869     		ldr	r0, [r1, #24]
7170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               (tmp1 != I2C_CR2_STOP) && \
 569              		.loc 1 7170 14 view .LVU185
 570 004e 10F4004F 		tst	r0, #32768
 571 0052 04D0     		beq	.L50
7172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 572              		.loc 1 7172 21 view .LVU186
 573 0054 203B     		subs	r3, r3, #32
 574              	.LVL53:
7172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 575              		.loc 1 7172 21 view .LVU187
 576 0056 18BF     		it	ne
 577 0058 0123     		movne	r3, #1
 578              	.LVL54:
7171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****               (tmp2 != HAL_I2C_MODE_SLAVE))
 579              		.loc 1 7171 38 view .LVU188
 580 005a 02B9     		cbnz	r2, .L50
 581 005c 73B9     		cbnz	r3, .L62
 582              	.LVL55:
 583              	.L50:
7181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 584              		.loc 1 7181 59 is_stmt 1 view .LVU189
7181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 585              		.loc 1 7181 18 is_stmt 0 view .LVU190
 586 005e 2368     		ldr	r3, [r4]
 587 0060 9B69     		ldr	r3, [r3, #24]
7181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 588              		.loc 1 7181 59 view .LVU191
 589 0062 13F0200F 		tst	r3, #32
 590 0066 D9D1     		bne	.L46
7184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             {
 591              		.loc 1 7184 13 is_stmt 1 view .LVU192
7184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 144


 592              		.loc 1 7184 18 is_stmt 0 view .LVU193
 593 0068 FFF7FEFF 		bl	HAL_GetTick
 594              	.LVL56:
7184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             {
 595              		.loc 1 7184 32 discriminator 1 view .LVU194
 596 006c A0EB0800 		sub	r0, r0, r8
7184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             {
 597              		.loc 1 7184 16 discriminator 1 view .LVU195
 598 0070 1928     		cmp	r0, #25
 599 0072 F4D9     		bls	.L50
7186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 600              		.loc 1 7186 15 is_stmt 1 view .LVU196
7186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 601              		.loc 1 7186 26 is_stmt 0 view .LVU197
 602 0074 46F02006 		orr	r6, r6, #32
 603              	.LVL57:
7188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 604              		.loc 1 7188 15 is_stmt 1 view .LVU198
7190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             }
 605              		.loc 1 7190 15 view .LVU199
7188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 606              		.loc 1 7188 22 is_stmt 0 view .LVU200
 607 0078 0127     		movs	r7, #1
7190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             }
 608              		.loc 1 7190 15 view .LVU201
 609 007a CFE7     		b	.L46
 610              	.LVL58:
 611              	.L62:
7175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 612              		.loc 1 7175 13 is_stmt 1 view .LVU202
7175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 613              		.loc 1 7175 27 is_stmt 0 view .LVU203
 614 007c 4B68     		ldr	r3, [r1, #4]
7175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 615              		.loc 1 7175 33 view .LVU204
 616 007e 43F48043 		orr	r3, r3, #16384
 617 0082 4B60     		str	r3, [r1, #4]
7178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 618              		.loc 1 7178 13 is_stmt 1 view .LVU205
7178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 619              		.loc 1 7178 25 is_stmt 0 view .LVU206
 620 0084 FFF7FEFF 		bl	HAL_GetTick
 621              	.LVL59:
7178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 622              		.loc 1 7178 25 view .LVU207
 623 0088 8046     		mov	r8, r0
 624              	.LVL60:
7178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 625              		.loc 1 7178 25 view .LVU208
 626 008a E8E7     		b	.L50
 627              	.LVL61:
 628              	.L52:
7198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 629              		.loc 1 7198 5 is_stmt 1 view .LVU209
7198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 630              		.loc 1 7198 8 is_stmt 0 view .LVU210
 631 008c 0FB9     		cbnz	r7, .L54
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 145


7201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 632              		.loc 1 7201 7 is_stmt 1 view .LVU211
 633 008e 2022     		movs	r2, #32
 634 0090 DA61     		str	r2, [r3, #28]
 635              	.L54:
7204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 636              		.loc 1 7204 5 view .LVU212
7204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 637              		.loc 1 7204 16 is_stmt 0 view .LVU213
 638 0092 46F00406 		orr	r6, r6, #4
 639              	.LVL62:
7206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 640              		.loc 1 7206 5 is_stmt 1 view .LVU214
7206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 641              		.loc 1 7206 12 is_stmt 0 view .LVU215
 642 0096 0125     		movs	r5, #1
 643              	.LVL63:
 644              	.L44:
7210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 645              		.loc 1 7210 3 is_stmt 1 view .LVU216
7210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 646              		.loc 1 7210 16 is_stmt 0 view .LVU217
 647 0098 2268     		ldr	r2, [r4]
7210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 648              		.loc 1 7210 10 view .LVU218
 649 009a 9369     		ldr	r3, [r2, #24]
 650              	.LVL64:
7214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 651              		.loc 1 7214 3 is_stmt 1 view .LVU219
7214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 652              		.loc 1 7214 6 is_stmt 0 view .LVU220
 653 009c 13F4807F 		tst	r3, #256
 654 00a0 05D0     		beq	.L55
7216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 655              		.loc 1 7216 5 is_stmt 1 view .LVU221
7216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 656              		.loc 1 7216 16 is_stmt 0 view .LVU222
 657 00a2 46F00106 		orr	r6, r6, #1
 658              	.LVL65:
7219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 659              		.loc 1 7219 5 is_stmt 1 view .LVU223
 660 00a6 4FF48071 		mov	r1, #256
 661 00aa D161     		str	r1, [r2, #28]
7221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 662              		.loc 1 7221 5 view .LVU224
 663              	.LVL66:
7221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 664              		.loc 1 7221 12 is_stmt 0 view .LVU225
 665 00ac 0125     		movs	r5, #1
 666              	.LVL67:
 667              	.L55:
7225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 668              		.loc 1 7225 3 is_stmt 1 view .LVU226
7225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 669              		.loc 1 7225 6 is_stmt 0 view .LVU227
 670 00ae 13F4806F 		tst	r3, #1024
 671 00b2 06D0     		beq	.L56
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 146


7227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 672              		.loc 1 7227 5 is_stmt 1 view .LVU228
7227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 673              		.loc 1 7227 16 is_stmt 0 view .LVU229
 674 00b4 46F00806 		orr	r6, r6, #8
 675              	.LVL68:
7230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 676              		.loc 1 7230 5 is_stmt 1 view .LVU230
 677 00b8 2268     		ldr	r2, [r4]
 678 00ba 4FF48061 		mov	r1, #1024
 679 00be D161     		str	r1, [r2, #28]
7232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 680              		.loc 1 7232 5 view .LVU231
 681              	.LVL69:
7232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 682              		.loc 1 7232 12 is_stmt 0 view .LVU232
 683 00c0 0125     		movs	r5, #1
 684              	.LVL70:
 685              	.L56:
7236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 686              		.loc 1 7236 3 is_stmt 1 view .LVU233
7236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 687              		.loc 1 7236 6 is_stmt 0 view .LVU234
 688 00c2 13F4007F 		tst	r3, #512
 689 00c6 24D0     		beq	.L57
7238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 690              		.loc 1 7238 5 is_stmt 1 view .LVU235
7238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 691              		.loc 1 7238 16 is_stmt 0 view .LVU236
 692 00c8 46F00206 		orr	r6, r6, #2
 693              	.LVL71:
7241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 694              		.loc 1 7241 5 is_stmt 1 view .LVU237
 695 00cc 2368     		ldr	r3, [r4]
 696              	.LVL72:
7241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 697              		.loc 1 7241 5 is_stmt 0 view .LVU238
 698 00ce 4FF40072 		mov	r2, #512
 699 00d2 DA61     		str	r2, [r3, #28]
7243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 700              		.loc 1 7243 5 is_stmt 1 view .LVU239
 701              	.LVL73:
7246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 702              		.loc 1 7246 3 view .LVU240
7243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 703              		.loc 1 7243 12 is_stmt 0 view .LVU241
 704 00d4 0125     		movs	r5, #1
 705              	.LVL74:
 706              	.L58:
7249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 707              		.loc 1 7249 5 is_stmt 1 view .LVU242
 708 00d6 2046     		mov	r0, r4
 709 00d8 FFF7FEFF 		bl	I2C_Flush_TXDR
 710              	.LVL75:
7252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 711              		.loc 1 7252 5 view .LVU243
 712 00dc 2268     		ldr	r2, [r4]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 147


 713 00de 5368     		ldr	r3, [r2, #4]
 714 00e0 23F0FF73 		bic	r3, r3, #33423360
 715 00e4 23F48B33 		bic	r3, r3, #71168
 716 00e8 23F4FF73 		bic	r3, r3, #510
 717 00ec 23F00103 		bic	r3, r3, #1
 718 00f0 5360     		str	r3, [r2, #4]
7254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 719              		.loc 1 7254 5 view .LVU244
7254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 720              		.loc 1 7254 9 is_stmt 0 view .LVU245
 721 00f2 636C     		ldr	r3, [r4, #68]
7254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 722              		.loc 1 7254 21 view .LVU246
 723 00f4 3343     		orrs	r3, r3, r6
 724 00f6 6364     		str	r3, [r4, #68]
7255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 725              		.loc 1 7255 5 is_stmt 1 view .LVU247
7255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 726              		.loc 1 7255 17 is_stmt 0 view .LVU248
 727 00f8 2023     		movs	r3, #32
 728 00fa 84F84130 		strb	r3, [r4, #65]
7256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 729              		.loc 1 7256 5 is_stmt 1 view .LVU249
7256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 730              		.loc 1 7256 16 is_stmt 0 view .LVU250
 731 00fe 0023     		movs	r3, #0
 732 0100 84F84230 		strb	r3, [r4, #66]
7259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 733              		.loc 1 7259 5 is_stmt 1 view .LVU251
7259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 734              		.loc 1 7259 5 view .LVU252
 735 0104 84F84030 		strb	r3, [r4, #64]
 736              	.L59:
7259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 737              		.loc 1 7259 5 discriminator 1 view .LVU253
7262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 738              		.loc 1 7262 3 view .LVU254
7263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 739              		.loc 1 7263 1 is_stmt 0 view .LVU255
 740 0108 2846     		mov	r0, r5
 741 010a BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 742              	.LVL76:
 743              	.L60:
7145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itflag   = hi2c->Instance->ISR;
 744              		.loc 1 7145 21 view .LVU256
 745 010e 0025     		movs	r5, #0
 746 0110 C2E7     		b	.L44
 747              	.LVL77:
 748              	.L57:
7246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 749              		.loc 1 7246 3 is_stmt 1 view .LVU257
7246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 750              		.loc 1 7246 6 is_stmt 0 view .LVU258
 751 0112 002D     		cmp	r5, #0
 752 0114 F8D0     		beq	.L59
 753 0116 DEE7     		b	.L58
 754              		.cfi_endproc
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 148


 755              	.LFE411:
 757              		.section	.text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits
 758              		.align	1
 759              		.syntax unified
 760              		.thumb
 761              		.thumb_func
 763              	I2C_WaitOnTXISFlagUntilTimeout:
 764              	.LVL78:
 765              	.LFB408:
6989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
 766              		.loc 1 6989 1 is_stmt 1 view -0
 767              		.cfi_startproc
 768              		@ args = 0, pretend = 0, frame = 0
 769              		@ frame_needed = 0, uses_anonymous_args = 0
6989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
 770              		.loc 1 6989 1 is_stmt 0 view .LVU260
 771 0000 70B5     		push	{r4, r5, r6, lr}
 772              		.cfi_def_cfa_offset 16
 773              		.cfi_offset 4, -16
 774              		.cfi_offset 5, -12
 775              		.cfi_offset 6, -8
 776              		.cfi_offset 14, -4
 777 0002 0446     		mov	r4, r0
 778 0004 0D46     		mov	r5, r1
 779 0006 1646     		mov	r6, r2
6990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 780              		.loc 1 6990 3 is_stmt 1 view .LVU261
 781              	.LVL79:
 782              	.L66:
6990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 783              		.loc 1 6990 50 view .LVU262
6990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 784              		.loc 1 6990 10 is_stmt 0 view .LVU263
 785 0008 2368     		ldr	r3, [r4]
 786 000a 9B69     		ldr	r3, [r3, #24]
6990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 787              		.loc 1 6990 50 view .LVU264
 788 000c 13F0020F 		tst	r3, #2
 789 0010 22D1     		bne	.L71
6993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 790              		.loc 1 6993 5 is_stmt 1 view .LVU265
6993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 791              		.loc 1 6993 9 is_stmt 0 view .LVU266
 792 0012 3246     		mov	r2, r6
 793 0014 2946     		mov	r1, r5
 794 0016 2046     		mov	r0, r4
 795 0018 FFF7FEFF 		bl	I2C_IsErrorOccurred
 796              	.LVL80:
6993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 797              		.loc 1 6993 8 discriminator 1 view .LVU267
 798 001c F0B9     		cbnz	r0, .L69
6999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 799              		.loc 1 6999 5 is_stmt 1 view .LVU268
6999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 800              		.loc 1 6999 8 is_stmt 0 view .LVU269
 801 001e B5F1FF3F 		cmp	r5, #-1
 802 0022 F1D0     		beq	.L66
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 149


7001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 803              		.loc 1 7001 7 is_stmt 1 view .LVU270
7001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 804              		.loc 1 7001 13 is_stmt 0 view .LVU271
 805 0024 FFF7FEFF 		bl	HAL_GetTick
 806              	.LVL81:
7001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 807              		.loc 1 7001 27 discriminator 1 view .LVU272
 808 0028 801B     		subs	r0, r0, r6
7001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 809              		.loc 1 7001 10 discriminator 1 view .LVU273
 810 002a A842     		cmp	r0, r5
 811 002c 01D8     		bhi	.L67
7001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 812              		.loc 1 7001 51 discriminator 1 view .LVU274
 813 002e 002D     		cmp	r5, #0
 814 0030 EAD1     		bne	.L66
 815              	.L67:
7003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 816              		.loc 1 7003 9 is_stmt 1 view .LVU275
7003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 817              		.loc 1 7003 14 is_stmt 0 view .LVU276
 818 0032 2368     		ldr	r3, [r4]
 819 0034 9B69     		ldr	r3, [r3, #24]
7003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 820              		.loc 1 7003 12 view .LVU277
 821 0036 13F0020F 		tst	r3, #2
 822 003a E5D1     		bne	.L66
7005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->State = HAL_I2C_STATE_READY;
 823              		.loc 1 7005 11 is_stmt 1 view .LVU278
7005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->State = HAL_I2C_STATE_READY;
 824              		.loc 1 7005 15 is_stmt 0 view .LVU279
 825 003c 636C     		ldr	r3, [r4, #68]
7005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->State = HAL_I2C_STATE_READY;
 826              		.loc 1 7005 27 view .LVU280
 827 003e 43F02003 		orr	r3, r3, #32
 828 0042 6364     		str	r3, [r4, #68]
7006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->Mode = HAL_I2C_MODE_NONE;
 829              		.loc 1 7006 11 is_stmt 1 view .LVU281
7006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->Mode = HAL_I2C_MODE_NONE;
 830              		.loc 1 7006 23 is_stmt 0 view .LVU282
 831 0044 2023     		movs	r3, #32
 832 0046 84F84130 		strb	r3, [r4, #65]
7007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 833              		.loc 1 7007 11 is_stmt 1 view .LVU283
7007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 834              		.loc 1 7007 22 is_stmt 0 view .LVU284
 835 004a 0023     		movs	r3, #0
 836 004c 84F84230 		strb	r3, [r4, #66]
7010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 837              		.loc 1 7010 11 is_stmt 1 view .LVU285
7010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 838              		.loc 1 7010 11 view .LVU286
 839 0050 84F84030 		strb	r3, [r4, #64]
7010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 840              		.loc 1 7010 11 view .LVU287
7012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 150


 841              		.loc 1 7012 11 view .LVU288
7012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 842              		.loc 1 7012 18 is_stmt 0 view .LVU289
 843 0054 0120     		movs	r0, #1
 844 0056 00E0     		b	.L65
 845              	.L71:
7017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 846              		.loc 1 7017 10 view .LVU290
 847 0058 0020     		movs	r0, #0
 848              	.L65:
7018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 849              		.loc 1 7018 1 view .LVU291
 850 005a 70BD     		pop	{r4, r5, r6, pc}
 851              	.LVL82:
 852              	.L69:
6995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 853              		.loc 1 6995 14 view .LVU292
 854 005c 0120     		movs	r0, #1
 855 005e FCE7     		b	.L65
 856              		.cfi_endproc
 857              	.LFE408:
 859              		.section	.text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
 860              		.align	1
 861              		.syntax unified
 862              		.thumb
 863              		.thumb_func
 865              	I2C_WaitOnFlagUntilTimeout:
 866              	.LVL83:
 867              	.LFB407:
6949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
 868              		.loc 1 6949 1 is_stmt 1 view -0
 869              		.cfi_startproc
 870              		@ args = 4, pretend = 0, frame = 0
 871              		@ frame_needed = 0, uses_anonymous_args = 0
6949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
 872              		.loc 1 6949 1 is_stmt 0 view .LVU294
 873 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
 874              		.cfi_def_cfa_offset 32
 875              		.cfi_offset 3, -32
 876              		.cfi_offset 4, -28
 877              		.cfi_offset 5, -24
 878              		.cfi_offset 6, -20
 879              		.cfi_offset 7, -16
 880              		.cfi_offset 8, -12
 881              		.cfi_offset 9, -8
 882              		.cfi_offset 14, -4
 883 0004 0546     		mov	r5, r0
 884 0006 8846     		mov	r8, r1
 885 0008 1746     		mov	r7, r2
 886 000a 1E46     		mov	r6, r3
 887 000c DDF82090 		ldr	r9, [sp, #32]
6950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 888              		.loc 1 6950 3 is_stmt 1 view .LVU295
 889              	.LVL84:
 890              	.L75:
6950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 891              		.loc 1 6950 41 view .LVU296
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 151


6950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 892              		.loc 1 6950 10 is_stmt 0 view .LVU297
 893 0010 2B68     		ldr	r3, [r5]
 894 0012 9C69     		ldr	r4, [r3, #24]
 895 0014 38EA0404 		bics	r4, r8, r4
 896 0018 0CBF     		ite	eq
 897 001a 0123     		moveq	r3, #1
 898 001c 0023     		movne	r3, #0
6950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 899              		.loc 1 6950 41 view .LVU298
 900 001e BB42     		cmp	r3, r7
 901 0020 27D1     		bne	.L80
6953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 902              		.loc 1 6953 5 is_stmt 1 view .LVU299
6953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 903              		.loc 1 6953 9 is_stmt 0 view .LVU300
 904 0022 4A46     		mov	r2, r9
 905 0024 3146     		mov	r1, r6
 906 0026 2846     		mov	r0, r5
 907 0028 FFF7FEFF 		bl	I2C_IsErrorOccurred
 908              	.LVL85:
6953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 909              		.loc 1 6953 8 discriminator 1 view .LVU301
 910 002c 20BB     		cbnz	r0, .L78
6959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 911              		.loc 1 6959 5 is_stmt 1 view .LVU302
6959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 912              		.loc 1 6959 8 is_stmt 0 view .LVU303
 913 002e B6F1FF3F 		cmp	r6, #-1
 914 0032 EDD0     		beq	.L75
6961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 915              		.loc 1 6961 7 is_stmt 1 view .LVU304
6961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 916              		.loc 1 6961 13 is_stmt 0 view .LVU305
 917 0034 FFF7FEFF 		bl	HAL_GetTick
 918              	.LVL86:
6961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 919              		.loc 1 6961 27 discriminator 1 view .LVU306
 920 0038 A0EB0900 		sub	r0, r0, r9
6961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 921              		.loc 1 6961 10 discriminator 1 view .LVU307
 922 003c B042     		cmp	r0, r6
 923 003e 01D8     		bhi	.L76
6961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 924              		.loc 1 6961 51 discriminator 1 view .LVU308
 925 0040 002E     		cmp	r6, #0
 926 0042 E5D1     		bne	.L75
 927              	.L76:
6963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 928              		.loc 1 6963 9 is_stmt 1 view .LVU309
6963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 929              		.loc 1 6963 14 is_stmt 0 view .LVU310
 930 0044 2B68     		ldr	r3, [r5]
 931 0046 9B69     		ldr	r3, [r3, #24]
 932 0048 38EA0303 		bics	r3, r8, r3
 933 004c 0CBF     		ite	eq
 934 004e 0123     		moveq	r3, #1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 152


 935 0050 0023     		movne	r3, #0
6963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 936              		.loc 1 6963 12 view .LVU311
 937 0052 BB42     		cmp	r3, r7
 938 0054 DCD1     		bne	.L75
6965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->State = HAL_I2C_STATE_READY;
 939              		.loc 1 6965 11 is_stmt 1 view .LVU312
6965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->State = HAL_I2C_STATE_READY;
 940              		.loc 1 6965 15 is_stmt 0 view .LVU313
 941 0056 6B6C     		ldr	r3, [r5, #68]
6965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->State = HAL_I2C_STATE_READY;
 942              		.loc 1 6965 27 view .LVU314
 943 0058 43F02003 		orr	r3, r3, #32
 944 005c 6B64     		str	r3, [r5, #68]
6966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->Mode = HAL_I2C_MODE_NONE;
 945              		.loc 1 6966 11 is_stmt 1 view .LVU315
6966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->Mode = HAL_I2C_MODE_NONE;
 946              		.loc 1 6966 23 is_stmt 0 view .LVU316
 947 005e 2023     		movs	r3, #32
 948 0060 85F84130 		strb	r3, [r5, #65]
6967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 949              		.loc 1 6967 11 is_stmt 1 view .LVU317
6967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 950              		.loc 1 6967 22 is_stmt 0 view .LVU318
 951 0064 0023     		movs	r3, #0
 952 0066 85F84230 		strb	r3, [r5, #66]
6970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
 953              		.loc 1 6970 11 is_stmt 1 view .LVU319
6970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
 954              		.loc 1 6970 11 view .LVU320
 955 006a 85F84030 		strb	r3, [r5, #64]
6970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           return HAL_ERROR;
 956              		.loc 1 6970 11 view .LVU321
6971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 957              		.loc 1 6971 11 view .LVU322
6971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 958              		.loc 1 6971 18 is_stmt 0 view .LVU323
 959 006e 0120     		movs	r0, #1
 960 0070 00E0     		b	.L74
 961              	.L80:
6976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 962              		.loc 1 6976 10 view .LVU324
 963 0072 0020     		movs	r0, #0
 964              	.L74:
6977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 965              		.loc 1 6977 1 view .LVU325
 966 0074 BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
 967              	.LVL87:
 968              	.L78:
6955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 969              		.loc 1 6955 14 view .LVU326
 970 0078 0120     		movs	r0, #1
 971 007a FBE7     		b	.L74
 972              		.cfi_endproc
 973              	.LFE407:
 975              		.section	.text.I2C_RequestMemoryWrite,"ax",%progbits
 976              		.align	1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 153


 977              		.syntax unified
 978              		.thumb
 979              		.thumb_func
 981              	I2C_RequestMemoryWrite:
 982              	.LVL88:
 983              	.LFB390:
5794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
 984              		.loc 1 5794 1 is_stmt 1 view -0
 985              		.cfi_startproc
 986              		@ args = 8, pretend = 0, frame = 0
 987              		@ frame_needed = 0, uses_anonymous_args = 0
5794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
 988              		.loc 1 5794 1 is_stmt 0 view .LVU328
 989 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 990              		.cfi_def_cfa_offset 24
 991              		.cfi_offset 4, -24
 992              		.cfi_offset 5, -20
 993              		.cfi_offset 6, -16
 994              		.cfi_offset 7, -12
 995              		.cfi_offset 8, -8
 996              		.cfi_offset 14, -4
 997 0004 82B0     		sub	sp, sp, #8
 998              		.cfi_def_cfa_offset 32
 999 0006 0446     		mov	r4, r0
 1000 0008 9046     		mov	r8, r2
 1001 000a 1D46     		mov	r5, r3
 1002 000c 089E     		ldr	r6, [sp, #32]
 1003 000e 099F     		ldr	r7, [sp, #36]
5795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1004              		.loc 1 5795 3 is_stmt 1 view .LVU329
 1005 0010 194B     		ldr	r3, .L90
 1006              	.LVL89:
5795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1007              		.loc 1 5795 3 is_stmt 0 view .LVU330
 1008 0012 0093     		str	r3, [sp]
 1009 0014 4FF08073 		mov	r3, #16777216
 1010 0018 EAB2     		uxtb	r2, r5
 1011              	.LVL90:
5795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1012              		.loc 1 5795 3 view .LVU331
 1013 001a FFF7FEFF 		bl	I2C_TransferConfig
 1014              	.LVL91:
5798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1015              		.loc 1 5798 3 is_stmt 1 view .LVU332
5798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1016              		.loc 1 5798 7 is_stmt 0 view .LVU333
 1017 001e 3A46     		mov	r2, r7
 1018 0020 3146     		mov	r1, r6
 1019 0022 2046     		mov	r0, r4
 1020 0024 FFF7FEFF 		bl	I2C_WaitOnTXISFlagUntilTimeout
 1021              	.LVL92:
5798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1022              		.loc 1 5798 6 discriminator 1 view .LVU334
 1023 0028 F8B9     		cbnz	r0, .L85
5804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1024              		.loc 1 5804 3 is_stmt 1 view .LVU335
5804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 154


 1025              		.loc 1 5804 6 is_stmt 0 view .LVU336
 1026 002a 012D     		cmp	r5, #1
 1027 002c 0ED1     		bne	.L83
5807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1028              		.loc 1 5807 5 is_stmt 1 view .LVU337
5807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1029              		.loc 1 5807 9 is_stmt 0 view .LVU338
 1030 002e 2368     		ldr	r3, [r4]
5807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1031              		.loc 1 5807 28 view .LVU339
 1032 0030 5FFA88F2 		uxtb	r2, r8
5807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1033              		.loc 1 5807 26 view .LVU340
 1034 0034 9A62     		str	r2, [r3, #40]
 1035              	.L84:
5826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1036              		.loc 1 5826 3 is_stmt 1 view .LVU341
5826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1037              		.loc 1 5826 7 is_stmt 0 view .LVU342
 1038 0036 0097     		str	r7, [sp]
 1039 0038 3346     		mov	r3, r6
 1040 003a 0022     		movs	r2, #0
 1041 003c 8021     		movs	r1, #128
 1042 003e 2046     		mov	r0, r4
 1043 0040 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 1044              	.LVL93:
5826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1045              		.loc 1 5826 6 discriminator 1 view .LVU343
 1046 0044 A8B9     		cbnz	r0, .L89
 1047              	.L82:
5832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1048              		.loc 1 5832 1 view .LVU344
 1049 0046 02B0     		add	sp, sp, #8
 1050              		.cfi_remember_state
 1051              		.cfi_def_cfa_offset 24
 1052              		@ sp needed
 1053 0048 BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 1054              	.LVL94:
 1055              	.L83:
 1056              		.cfi_restore_state
5813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1057              		.loc 1 5813 5 is_stmt 1 view .LVU345
5813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1058              		.loc 1 5813 9 is_stmt 0 view .LVU346
 1059 004c 2368     		ldr	r3, [r4]
5813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1060              		.loc 1 5813 28 view .LVU347
 1061 004e 4FEA1822 		lsr	r2, r8, #8
5813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1062              		.loc 1 5813 26 view .LVU348
 1063 0052 9A62     		str	r2, [r3, #40]
5816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1064              		.loc 1 5816 5 is_stmt 1 view .LVU349
5816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1065              		.loc 1 5816 9 is_stmt 0 view .LVU350
 1066 0054 3A46     		mov	r2, r7
 1067 0056 3146     		mov	r1, r6
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 155


 1068 0058 2046     		mov	r0, r4
 1069 005a FFF7FEFF 		bl	I2C_WaitOnTXISFlagUntilTimeout
 1070              	.LVL95:
5816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1071              		.loc 1 5816 8 discriminator 1 view .LVU351
 1072 005e 30B9     		cbnz	r0, .L86
5822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1073              		.loc 1 5822 5 is_stmt 1 view .LVU352
5822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1074              		.loc 1 5822 9 is_stmt 0 view .LVU353
 1075 0060 2368     		ldr	r3, [r4]
5822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1076              		.loc 1 5822 28 view .LVU354
 1077 0062 5FFA88F2 		uxtb	r2, r8
5822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1078              		.loc 1 5822 26 view .LVU355
 1079 0066 9A62     		str	r2, [r3, #40]
 1080 0068 E5E7     		b	.L84
 1081              	.L85:
5800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1082              		.loc 1 5800 12 view .LVU356
 1083 006a 0120     		movs	r0, #1
 1084 006c EBE7     		b	.L82
 1085              	.L86:
5818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 1086              		.loc 1 5818 14 view .LVU357
 1087 006e 0120     		movs	r0, #1
 1088 0070 E9E7     		b	.L82
 1089              	.L89:
5828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1090              		.loc 1 5828 12 view .LVU358
 1091 0072 0120     		movs	r0, #1
 1092 0074 E7E7     		b	.L82
 1093              	.L91:
 1094 0076 00BF     		.align	2
 1095              	.L90:
 1096 0078 00200080 		.word	-2147475456
 1097              		.cfi_endproc
 1098              	.LFE390:
 1100              		.section	.text.I2C_RequestMemoryRead,"ax",%progbits
 1101              		.align	1
 1102              		.syntax unified
 1103              		.thumb
 1104              		.thumb_func
 1106              	I2C_RequestMemoryRead:
 1107              	.LVL96:
 1108              	.LFB391:
5849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
 1109              		.loc 1 5849 1 is_stmt 1 view -0
 1110              		.cfi_startproc
 1111              		@ args = 8, pretend = 0, frame = 0
 1112              		@ frame_needed = 0, uses_anonymous_args = 0
5849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
 1113              		.loc 1 5849 1 is_stmt 0 view .LVU360
 1114 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 1115              		.cfi_def_cfa_offset 24
 1116              		.cfi_offset 4, -24
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 156


 1117              		.cfi_offset 5, -20
 1118              		.cfi_offset 6, -16
 1119              		.cfi_offset 7, -12
 1120              		.cfi_offset 8, -8
 1121              		.cfi_offset 14, -4
 1122 0004 82B0     		sub	sp, sp, #8
 1123              		.cfi_def_cfa_offset 32
 1124 0006 0446     		mov	r4, r0
 1125 0008 9046     		mov	r8, r2
 1126 000a 1D46     		mov	r5, r3
 1127 000c 089E     		ldr	r6, [sp, #32]
 1128 000e 099F     		ldr	r7, [sp, #36]
5850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1129              		.loc 1 5850 3 is_stmt 1 view .LVU361
 1130 0010 184B     		ldr	r3, .L101
 1131              	.LVL97:
5850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1132              		.loc 1 5850 3 is_stmt 0 view .LVU362
 1133 0012 0093     		str	r3, [sp]
 1134 0014 0023     		movs	r3, #0
 1135 0016 EAB2     		uxtb	r2, r5
 1136              	.LVL98:
5850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1137              		.loc 1 5850 3 view .LVU363
 1138 0018 FFF7FEFF 		bl	I2C_TransferConfig
 1139              	.LVL99:
5853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1140              		.loc 1 5853 3 is_stmt 1 view .LVU364
5853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1141              		.loc 1 5853 7 is_stmt 0 view .LVU365
 1142 001c 3A46     		mov	r2, r7
 1143 001e 3146     		mov	r1, r6
 1144 0020 2046     		mov	r0, r4
 1145 0022 FFF7FEFF 		bl	I2C_WaitOnTXISFlagUntilTimeout
 1146              	.LVL100:
5853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1147              		.loc 1 5853 6 discriminator 1 view .LVU366
 1148 0026 F8B9     		cbnz	r0, .L96
5859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1149              		.loc 1 5859 3 is_stmt 1 view .LVU367
5859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1150              		.loc 1 5859 6 is_stmt 0 view .LVU368
 1151 0028 012D     		cmp	r5, #1
 1152 002a 0ED1     		bne	.L94
5862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1153              		.loc 1 5862 5 is_stmt 1 view .LVU369
5862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1154              		.loc 1 5862 9 is_stmt 0 view .LVU370
 1155 002c 2368     		ldr	r3, [r4]
5862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1156              		.loc 1 5862 28 view .LVU371
 1157 002e 5FFA88F2 		uxtb	r2, r8
5862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1158              		.loc 1 5862 26 view .LVU372
 1159 0032 9A62     		str	r2, [r3, #40]
 1160              	.L95:
5881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 157


 1161              		.loc 1 5881 3 is_stmt 1 view .LVU373
5881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1162              		.loc 1 5881 7 is_stmt 0 view .LVU374
 1163 0034 0097     		str	r7, [sp]
 1164 0036 3346     		mov	r3, r6
 1165 0038 0022     		movs	r2, #0
 1166 003a 4021     		movs	r1, #64
 1167 003c 2046     		mov	r0, r4
 1168 003e FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 1169              	.LVL101:
5881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1170              		.loc 1 5881 6 discriminator 1 view .LVU375
 1171 0042 A8B9     		cbnz	r0, .L100
 1172              	.L93:
5887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1173              		.loc 1 5887 1 view .LVU376
 1174 0044 02B0     		add	sp, sp, #8
 1175              		.cfi_remember_state
 1176              		.cfi_def_cfa_offset 24
 1177              		@ sp needed
 1178 0046 BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 1179              	.LVL102:
 1180              	.L94:
 1181              		.cfi_restore_state
5868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1182              		.loc 1 5868 5 is_stmt 1 view .LVU377
5868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1183              		.loc 1 5868 9 is_stmt 0 view .LVU378
 1184 004a 2368     		ldr	r3, [r4]
5868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1185              		.loc 1 5868 28 view .LVU379
 1186 004c 4FEA1822 		lsr	r2, r8, #8
5868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1187              		.loc 1 5868 26 view .LVU380
 1188 0050 9A62     		str	r2, [r3, #40]
5871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1189              		.loc 1 5871 5 is_stmt 1 view .LVU381
5871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1190              		.loc 1 5871 9 is_stmt 0 view .LVU382
 1191 0052 3A46     		mov	r2, r7
 1192 0054 3146     		mov	r1, r6
 1193 0056 2046     		mov	r0, r4
 1194 0058 FFF7FEFF 		bl	I2C_WaitOnTXISFlagUntilTimeout
 1195              	.LVL103:
5871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1196              		.loc 1 5871 8 discriminator 1 view .LVU383
 1197 005c 30B9     		cbnz	r0, .L97
5877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1198              		.loc 1 5877 5 is_stmt 1 view .LVU384
5877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1199              		.loc 1 5877 9 is_stmt 0 view .LVU385
 1200 005e 2368     		ldr	r3, [r4]
5877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1201              		.loc 1 5877 28 view .LVU386
 1202 0060 5FFA88F2 		uxtb	r2, r8
5877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1203              		.loc 1 5877 26 view .LVU387
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 158


 1204 0064 9A62     		str	r2, [r3, #40]
 1205 0066 E5E7     		b	.L95
 1206              	.L96:
5855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1207              		.loc 1 5855 12 view .LVU388
 1208 0068 0120     		movs	r0, #1
 1209 006a EBE7     		b	.L93
 1210              	.L97:
5873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 1211              		.loc 1 5873 14 view .LVU389
 1212 006c 0120     		movs	r0, #1
 1213 006e E9E7     		b	.L93
 1214              	.L100:
5883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1215              		.loc 1 5883 12 view .LVU390
 1216 0070 0120     		movs	r0, #1
 1217 0072 E7E7     		b	.L93
 1218              	.L102:
 1219              		.align	2
 1220              	.L101:
 1221 0074 00200080 		.word	-2147475456
 1222              		.cfi_endproc
 1223              	.LFE391:
 1225              		.section	.text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
 1226              		.align	1
 1227              		.syntax unified
 1228              		.thumb
 1229              		.thumb_func
 1231              	I2C_WaitOnSTOPFlagUntilTimeout:
 1232              	.LVL104:
 1233              	.LFB409:
7030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
 1234              		.loc 1 7030 1 is_stmt 1 view -0
 1235              		.cfi_startproc
 1236              		@ args = 0, pretend = 0, frame = 0
 1237              		@ frame_needed = 0, uses_anonymous_args = 0
7030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
 1238              		.loc 1 7030 1 is_stmt 0 view .LVU392
 1239 0000 70B5     		push	{r4, r5, r6, lr}
 1240              		.cfi_def_cfa_offset 16
 1241              		.cfi_offset 4, -16
 1242              		.cfi_offset 5, -12
 1243              		.cfi_offset 6, -8
 1244              		.cfi_offset 14, -4
 1245 0002 0446     		mov	r4, r0
 1246 0004 0D46     		mov	r5, r1
 1247 0006 1646     		mov	r6, r2
7031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1248              		.loc 1 7031 3 is_stmt 1 view .LVU393
7031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1249              		.loc 1 7031 9 is_stmt 0 view .LVU394
 1250 0008 04E0     		b	.L104
 1251              	.LVL105:
 1252              	.L106:
7042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 1253              		.loc 1 7042 7 is_stmt 1 view .LVU395
7042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 159


 1254              		.loc 1 7042 12 is_stmt 0 view .LVU396
 1255 000a 2368     		ldr	r3, [r4]
 1256 000c 9B69     		ldr	r3, [r3, #24]
7042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 1257              		.loc 1 7042 10 view .LVU397
 1258 000e 13F0200F 		tst	r3, #32
 1259 0012 12D0     		beq	.L110
 1260              	.L104:
7031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1261              		.loc 1 7031 51 is_stmt 1 view .LVU398
7031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1262              		.loc 1 7031 10 is_stmt 0 view .LVU399
 1263 0014 2368     		ldr	r3, [r4]
 1264 0016 9B69     		ldr	r3, [r3, #24]
7031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1265              		.loc 1 7031 51 view .LVU400
 1266 0018 13F0200F 		tst	r3, #32
 1267 001c 1BD1     		bne	.L111
7034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1268              		.loc 1 7034 5 is_stmt 1 view .LVU401
7034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1269              		.loc 1 7034 9 is_stmt 0 view .LVU402
 1270 001e 3246     		mov	r2, r6
 1271 0020 2946     		mov	r1, r5
 1272 0022 2046     		mov	r0, r4
 1273 0024 FFF7FEFF 		bl	I2C_IsErrorOccurred
 1274              	.LVL106:
7034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1275              		.loc 1 7034 8 discriminator 1 view .LVU403
 1276 0028 B8B9     		cbnz	r0, .L108
7040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1277              		.loc 1 7040 5 is_stmt 1 view .LVU404
7040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1278              		.loc 1 7040 11 is_stmt 0 view .LVU405
 1279 002a FFF7FEFF 		bl	HAL_GetTick
 1280              	.LVL107:
7040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1281              		.loc 1 7040 25 discriminator 1 view .LVU406
 1282 002e 801B     		subs	r0, r0, r6
7040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1283              		.loc 1 7040 8 discriminator 1 view .LVU407
 1284 0030 A842     		cmp	r0, r5
 1285 0032 EAD8     		bhi	.L106
7040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1286              		.loc 1 7040 49 discriminator 1 view .LVU408
 1287 0034 002D     		cmp	r5, #0
 1288 0036 EDD1     		bne	.L104
 1289 0038 E7E7     		b	.L106
 1290              	.L110:
7044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 1291              		.loc 1 7044 9 is_stmt 1 view .LVU409
7044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 1292              		.loc 1 7044 13 is_stmt 0 view .LVU410
 1293 003a 636C     		ldr	r3, [r4, #68]
7044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 1294              		.loc 1 7044 25 view .LVU411
 1295 003c 43F02003 		orr	r3, r3, #32
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 160


 1296 0040 6364     		str	r3, [r4, #68]
7045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
 1297              		.loc 1 7045 9 is_stmt 1 view .LVU412
7045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
 1298              		.loc 1 7045 21 is_stmt 0 view .LVU413
 1299 0042 2023     		movs	r3, #32
 1300 0044 84F84130 		strb	r3, [r4, #65]
7046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1301              		.loc 1 7046 9 is_stmt 1 view .LVU414
7046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1302              		.loc 1 7046 20 is_stmt 0 view .LVU415
 1303 0048 0023     		movs	r3, #0
 1304 004a 84F84230 		strb	r3, [r4, #66]
7049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1305              		.loc 1 7049 9 is_stmt 1 view .LVU416
7049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1306              		.loc 1 7049 9 view .LVU417
 1307 004e 84F84030 		strb	r3, [r4, #64]
7049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1308              		.loc 1 7049 9 view .LVU418
7051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 1309              		.loc 1 7051 9 view .LVU419
7051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 1310              		.loc 1 7051 16 is_stmt 0 view .LVU420
 1311 0052 0120     		movs	r0, #1
 1312 0054 00E0     		b	.L105
 1313              	.L111:
7055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 1314              		.loc 1 7055 10 view .LVU421
 1315 0056 0020     		movs	r0, #0
 1316              	.L105:
7056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1317              		.loc 1 7056 1 view .LVU422
 1318 0058 70BD     		pop	{r4, r5, r6, pc}
 1319              	.LVL108:
 1320              	.L108:
7036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 1321              		.loc 1 7036 14 view .LVU423
 1322 005a 0120     		movs	r0, #1
 1323 005c FCE7     		b	.L105
 1324              		.cfi_endproc
 1325              	.LFE409:
 1327              		.section	.text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
 1328              		.align	1
 1329              		.syntax unified
 1330              		.thumb
 1331              		.thumb_func
 1333              	I2C_WaitOnRXNEFlagUntilTimeout:
 1334              	.LVL109:
 1335              	.LFB410:
7068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 1336              		.loc 1 7068 1 is_stmt 1 view -0
 1337              		.cfi_startproc
 1338              		@ args = 0, pretend = 0, frame = 0
 1339              		@ frame_needed = 0, uses_anonymous_args = 0
7068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef status = HAL_OK;
 1340              		.loc 1 7068 1 is_stmt 0 view .LVU425
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 161


 1341 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 1342              		.cfi_def_cfa_offset 24
 1343              		.cfi_offset 3, -24
 1344              		.cfi_offset 4, -20
 1345              		.cfi_offset 5, -16
 1346              		.cfi_offset 6, -12
 1347              		.cfi_offset 7, -8
 1348              		.cfi_offset 14, -4
 1349 0002 0446     		mov	r4, r0
 1350 0004 0E46     		mov	r6, r1
 1351 0006 1746     		mov	r7, r2
7069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1352              		.loc 1 7069 3 is_stmt 1 view .LVU426
 1353              	.LVL110:
7071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1354              		.loc 1 7071 3 view .LVU427
7069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1355              		.loc 1 7069 21 is_stmt 0 view .LVU428
 1356 0008 0025     		movs	r5, #0
7071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1357              		.loc 1 7071 9 view .LVU429
 1358 000a 18E0     		b	.L113
 1359              	.LVL111:
 1360              	.L116:
7113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 1361              		.loc 1 7113 9 is_stmt 1 view .LVU430
7113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 1362              		.loc 1 7113 25 is_stmt 0 view .LVU431
 1363 000c 0023     		movs	r3, #0
 1364 000e 6364     		str	r3, [r4, #68]
 1365              	.LVL112:
 1366              	.L115:
7118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1367              		.loc 1 7118 5 is_stmt 1 view .LVU432
7118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1368              		.loc 1 7118 12 is_stmt 0 view .LVU433
 1369 0010 FFF7FEFF 		bl	HAL_GetTick
 1370              	.LVL113:
7118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1371              		.loc 1 7118 26 discriminator 1 view .LVU434
 1372 0014 C01B     		subs	r0, r0, r7
7118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1373              		.loc 1 7118 8 discriminator 1 view .LVU435
 1374 0016 B042     		cmp	r0, r6
 1375 0018 00D8     		bhi	.L117
7118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1376              		.loc 1 7118 50 discriminator 2 view .LVU436
 1377 001a 86B9     		cbnz	r6, .L113
 1378              	.L117:
7118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1379              		.loc 1 7118 70 discriminator 3 view .LVU437
 1380 001c 7DB9     		cbnz	r5, .L113
7120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 1381              		.loc 1 7120 7 is_stmt 1 view .LVU438
7120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 1382              		.loc 1 7120 12 is_stmt 0 view .LVU439
 1383 001e 2368     		ldr	r3, [r4]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 162


 1384 0020 9B69     		ldr	r3, [r3, #24]
7120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 1385              		.loc 1 7120 10 view .LVU440
 1386 0022 13F0040F 		tst	r3, #4
 1387 0026 0AD1     		bne	.L113
7122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 1388              		.loc 1 7122 9 is_stmt 1 view .LVU441
7122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 1389              		.loc 1 7122 13 is_stmt 0 view .LVU442
 1390 0028 636C     		ldr	r3, [r4, #68]
7122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->State = HAL_I2C_STATE_READY;
 1391              		.loc 1 7122 25 view .LVU443
 1392 002a 43F02003 		orr	r3, r3, #32
 1393 002e 6364     		str	r3, [r4, #68]
7123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1394              		.loc 1 7123 9 is_stmt 1 view .LVU444
7123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1395              		.loc 1 7123 21 is_stmt 0 view .LVU445
 1396 0030 2023     		movs	r3, #32
 1397 0032 84F84130 		strb	r3, [r4, #65]
7126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1398              		.loc 1 7126 9 is_stmt 1 view .LVU446
7126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1399              		.loc 1 7126 9 view .LVU447
 1400 0036 0023     		movs	r3, #0
 1401 0038 84F84030 		strb	r3, [r4, #64]
7126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1402              		.loc 1 7126 9 view .LVU448
7128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 1403              		.loc 1 7128 9 view .LVU449
 1404              	.LVL114:
7128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 1405              		.loc 1 7128 16 is_stmt 0 view .LVU450
 1406 003c 0125     		movs	r5, #1
 1407              	.LVL115:
 1408              	.L113:
7071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1409              		.loc 1 7071 61 is_stmt 1 view .LVU451
7071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1410              		.loc 1 7071 11 is_stmt 0 view .LVU452
 1411 003e 2368     		ldr	r3, [r4]
 1412 0040 9B69     		ldr	r3, [r3, #24]
7071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1413              		.loc 1 7071 61 view .LVU453
 1414 0042 13F0040F 		tst	r3, #4
 1415 0046 2ED1     		bne	.L119
7071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1416              		.loc 1 7071 61 discriminator 1 view .LVU454
 1417 0048 6DBB     		cbnz	r5, .L119
7074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1418              		.loc 1 7074 5 is_stmt 1 view .LVU455
7074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1419              		.loc 1 7074 9 is_stmt 0 view .LVU456
 1420 004a 3A46     		mov	r2, r7
 1421 004c 3146     		mov	r1, r6
 1422 004e 2046     		mov	r0, r4
 1423 0050 FFF7FEFF 		bl	I2C_IsErrorOccurred
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 163


 1424              	.LVL116:
7074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1425              		.loc 1 7074 8 discriminator 1 view .LVU457
 1426 0054 00B1     		cbz	r0, .L114
7076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 1427              		.loc 1 7076 14 view .LVU458
 1428 0056 0125     		movs	r5, #1
 1429              	.LVL117:
 1430              	.L114:
7080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1431              		.loc 1 7080 5 is_stmt 1 view .LVU459
7080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1432              		.loc 1 7080 10 is_stmt 0 view .LVU460
 1433 0058 2368     		ldr	r3, [r4]
 1434 005a 9A69     		ldr	r2, [r3, #24]
7080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1435              		.loc 1 7080 8 view .LVU461
 1436 005c 12F0200F 		tst	r2, #32
 1437 0060 D6D0     		beq	.L115
7080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1438              		.loc 1 7080 59 discriminator 1 view .LVU462
 1439 0062 002D     		cmp	r5, #0
 1440 0064 D4D1     		bne	.L115
7084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 1441              		.loc 1 7084 7 is_stmt 1 view .LVU463
7084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 1442              		.loc 1 7084 12 is_stmt 0 view .LVU464
 1443 0066 9A69     		ldr	r2, [r3, #24]
7088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 1444              		.loc 1 7088 9 is_stmt 1 view .LVU465
7092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 1445              		.loc 1 7092 7 view .LVU466
7092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 1446              		.loc 1 7092 11 is_stmt 0 view .LVU467
 1447 0068 9A69     		ldr	r2, [r3, #24]
7092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 1448              		.loc 1 7092 10 view .LVU468
 1449 006a 12F0100F 		tst	r2, #16
 1450 006e CDD0     		beq	.L116
7094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->ErrorCode = HAL_I2C_ERROR_AF;
 1451              		.loc 1 7094 9 is_stmt 1 view .LVU469
 1452 0070 1022     		movs	r2, #16
 1453 0072 DA61     		str	r2, [r3, #28]
7095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1454              		.loc 1 7095 9 view .LVU470
7095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1455              		.loc 1 7095 25 is_stmt 0 view .LVU471
 1456 0074 0423     		movs	r3, #4
 1457 0076 6364     		str	r3, [r4, #68]
7098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1458              		.loc 1 7098 9 is_stmt 1 view .LVU472
 1459 0078 2368     		ldr	r3, [r4]
 1460 007a 2022     		movs	r2, #32
 1461 007c DA61     		str	r2, [r3, #28]
7101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1462              		.loc 1 7101 9 view .LVU473
 1463 007e 2168     		ldr	r1, [r4]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 164


 1464 0080 4B68     		ldr	r3, [r1, #4]
 1465 0082 23F0FF73 		bic	r3, r3, #33423360
 1466 0086 23F48B33 		bic	r3, r3, #71168
 1467 008a 23F4FF73 		bic	r3, r3, #510
 1468 008e 23F00103 		bic	r3, r3, #1
 1469 0092 4B60     		str	r3, [r1, #4]
7103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
 1470              		.loc 1 7103 9 view .LVU474
7103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode = HAL_I2C_MODE_NONE;
 1471              		.loc 1 7103 21 is_stmt 0 view .LVU475
 1472 0094 84F84120 		strb	r2, [r4, #65]
7104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1473              		.loc 1 7104 9 is_stmt 1 view .LVU476
7104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1474              		.loc 1 7104 20 is_stmt 0 view .LVU477
 1475 0098 0023     		movs	r3, #0
 1476 009a 84F84230 		strb	r3, [r4, #66]
7107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1477              		.loc 1 7107 9 is_stmt 1 view .LVU478
7107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1478              		.loc 1 7107 9 view .LVU479
 1479 009e 84F84030 		strb	r3, [r4, #64]
7107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1480              		.loc 1 7107 9 view .LVU480
7109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 1481              		.loc 1 7109 9 view .LVU481
 1482              	.LVL118:
7109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 1483              		.loc 1 7109 16 is_stmt 0 view .LVU482
 1484 00a2 0125     		movs	r5, #1
 1485 00a4 B4E7     		b	.L115
 1486              	.LVL119:
 1487              	.L119:
7132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 1488              		.loc 1 7132 3 is_stmt 1 view .LVU483
7133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1489              		.loc 1 7133 1 is_stmt 0 view .LVU484
 1490 00a6 2846     		mov	r0, r5
 1491 00a8 F8BD     		pop	{r3, r4, r5, r6, r7, pc}
7133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1492              		.loc 1 7133 1 view .LVU485
 1493              		.cfi_endproc
 1494              	.LFE410:
 1496              		.section	.text.HAL_I2C_MspInit,"ax",%progbits
 1497              		.align	1
 1498              		.weak	HAL_I2C_MspInit
 1499              		.syntax unified
 1500              		.thumb
 1501              		.thumb_func
 1503              	HAL_I2C_MspInit:
 1504              	.LVL120:
 1505              	.LFB337:
 697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 1506              		.loc 1 697 1 is_stmt 1 view -0
 1507              		.cfi_startproc
 1508              		@ args = 0, pretend = 0, frame = 0
 1509              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 165


 1510              		@ link register save eliminated.
 699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1511              		.loc 1 699 3 view .LVU487
 704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1512              		.loc 1 704 1 is_stmt 0 view .LVU488
 1513 0000 7047     		bx	lr
 1514              		.cfi_endproc
 1515              	.LFE337:
 1517              		.section	.text.HAL_I2C_Init,"ax",%progbits
 1518              		.align	1
 1519              		.global	HAL_I2C_Init
 1520              		.syntax unified
 1521              		.thumb
 1522              		.thumb_func
 1524              	HAL_I2C_Init:
 1525              	.LVL121:
 1526              	.LFB335:
 536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the I2C handle allocation */
 1527              		.loc 1 536 1 is_stmt 1 view -0
 1528              		.cfi_startproc
 1529              		@ args = 0, pretend = 0, frame = 0
 1530              		@ frame_needed = 0, uses_anonymous_args = 0
 538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1531              		.loc 1 538 3 view .LVU490
 538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1532              		.loc 1 538 6 is_stmt 0 view .LVU491
 1533 0000 0028     		cmp	r0, #0
 1534 0002 5DD0     		beq	.L131
 536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the I2C handle allocation */
 1535              		.loc 1 536 1 view .LVU492
 1536 0004 10B5     		push	{r4, lr}
 1537              		.cfi_def_cfa_offset 8
 1538              		.cfi_offset 4, -8
 1539              		.cfi_offset 14, -4
 1540 0006 0446     		mov	r4, r0
 544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
 1541              		.loc 1 544 3 is_stmt 1 view .LVU493
 545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
 1542              		.loc 1 545 3 view .LVU494
 546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
 1543              		.loc 1 546 3 view .LVU495
 547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
 1544              		.loc 1 547 3 view .LVU496
 548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
 1545              		.loc 1 548 3 view .LVU497
 549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
 1546              		.loc 1 549 3 view .LVU498
 550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
 1547              		.loc 1 550 3 view .LVU499
 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1548              		.loc 1 551 3 view .LVU500
 553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1549              		.loc 1 553 3 view .LVU501
 553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1550              		.loc 1 553 11 is_stmt 0 view .LVU502
 1551 0008 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
 553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 166


 1552              		.loc 1 553 6 view .LVU503
 1553 000c 002B     		cmp	r3, #0
 1554 000e 46D0     		beq	.L136
 1555              	.LVL122:
 1556              	.L126:
 584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1557              		.loc 1 584 3 is_stmt 1 view .LVU504
 584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1558              		.loc 1 584 15 is_stmt 0 view .LVU505
 1559 0010 2423     		movs	r3, #36
 1560 0012 84F84130 		strb	r3, [r4, #65]
 587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1561              		.loc 1 587 3 is_stmt 1 view .LVU506
 1562 0016 2268     		ldr	r2, [r4]
 1563 0018 1368     		ldr	r3, [r2]
 1564 001a 23F00103 		bic	r3, r3, #1
 1565 001e 1360     		str	r3, [r2]
 591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1566              		.loc 1 591 3 view .LVU507
 591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1567              		.loc 1 591 39 is_stmt 0 view .LVU508
 1568 0020 6368     		ldr	r3, [r4, #4]
 591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1569              		.loc 1 591 7 view .LVU509
 1570 0022 2268     		ldr	r2, [r4]
 591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1571              		.loc 1 591 47 view .LVU510
 1572 0024 23F07063 		bic	r3, r3, #251658240
 591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1573              		.loc 1 591 27 view .LVU511
 1574 0028 1361     		str	r3, [r2, #16]
 595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1575              		.loc 1 595 3 is_stmt 1 view .LVU512
 595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1576              		.loc 1 595 7 is_stmt 0 view .LVU513
 1577 002a 2268     		ldr	r2, [r4]
 595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1578              		.loc 1 595 17 view .LVU514
 1579 002c 9368     		ldr	r3, [r2, #8]
 595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1580              		.loc 1 595 24 view .LVU515
 1581 002e 23F40043 		bic	r3, r3, #32768
 1582 0032 9360     		str	r3, [r2, #8]
 598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1583              		.loc 1 598 3 is_stmt 1 view .LVU516
 598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1584              		.loc 1 598 17 is_stmt 0 view .LVU517
 1585 0034 E368     		ldr	r3, [r4, #12]
 598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1586              		.loc 1 598 6 view .LVU518
 1587 0036 012B     		cmp	r3, #1
 1588 0038 36D0     		beq	.L137
 604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1589              		.loc 1 604 5 is_stmt 1 view .LVU519
 604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1590              		.loc 1 604 75 is_stmt 0 view .LVU520
 1591 003a A368     		ldr	r3, [r4, #8]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 167


 604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1592              		.loc 1 604 9 view .LVU521
 1593 003c 2268     		ldr	r2, [r4]
 604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1594              		.loc 1 604 63 view .LVU522
 1595 003e 43F40443 		orr	r3, r3, #33792
 604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1596              		.loc 1 604 26 view .LVU523
 1597 0042 9360     		str	r3, [r2, #8]
 1598              	.L128:
 609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1599              		.loc 1 609 3 is_stmt 1 view .LVU524
 609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1600              		.loc 1 609 17 is_stmt 0 view .LVU525
 1601 0044 E368     		ldr	r3, [r4, #12]
 609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1602              		.loc 1 609 6 view .LVU526
 1603 0046 022B     		cmp	r3, #2
 1604 0048 34D0     		beq	.L138
 616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1605              		.loc 1 616 5 is_stmt 1 view .LVU527
 1606 004a 2268     		ldr	r2, [r4]
 1607 004c 5368     		ldr	r3, [r2, #4]
 1608 004e 23F40063 		bic	r3, r3, #2048
 1609 0052 5360     		str	r3, [r2, #4]
 1610              	.L130:
 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1611              		.loc 1 619 3 view .LVU528
 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1612              		.loc 1 619 7 is_stmt 0 view .LVU529
 1613 0054 2268     		ldr	r2, [r4]
 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1614              		.loc 1 619 17 view .LVU530
 1615 0056 5168     		ldr	r1, [r2, #4]
 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1616              		.loc 1 619 23 view .LVU531
 1617 0058 1A4B     		ldr	r3, .L139
 1618 005a 0B43     		orrs	r3, r3, r1
 1619 005c 5360     		str	r3, [r2, #4]
 623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1620              		.loc 1 623 3 is_stmt 1 view .LVU532
 623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1621              		.loc 1 623 7 is_stmt 0 view .LVU533
 1622 005e 2268     		ldr	r2, [r4]
 623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1623              		.loc 1 623 17 view .LVU534
 1624 0060 D368     		ldr	r3, [r2, #12]
 623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1625              		.loc 1 623 24 view .LVU535
 1626 0062 23F40043 		bic	r3, r3, #32768
 1627 0066 D360     		str	r3, [r2, #12]
 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                           (hi2c->Init.OwnAddress2Masks << 8));
 1628              		.loc 1 626 3 is_stmt 1 view .LVU536
 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                           (hi2c->Init.OwnAddress2Masks << 8));
 1629              		.loc 1 626 37 is_stmt 0 view .LVU537
 1630 0068 2369     		ldr	r3, [r4, #16]
 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                           (hi2c->Init.OwnAddress2Masks << 8));
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 168


 1631              		.loc 1 626 66 view .LVU538
 1632 006a 6269     		ldr	r2, [r4, #20]
 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                           (hi2c->Init.OwnAddress2Masks << 8));
 1633              		.loc 1 626 54 view .LVU539
 1634 006c 1343     		orrs	r3, r3, r2
 627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1635              		.loc 1 627 38 view .LVU540
 1636 006e A169     		ldr	r1, [r4, #24]
 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                           (hi2c->Init.OwnAddress2Masks << 8));
 1637              		.loc 1 626 7 view .LVU541
 1638 0070 2268     		ldr	r2, [r4]
 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                           (hi2c->Init.OwnAddress2Masks << 8));
 1639              		.loc 1 626 79 view .LVU542
 1640 0072 43EA0123 		orr	r3, r3, r1, lsl #8
 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                           (hi2c->Init.OwnAddress2Masks << 8));
 1641              		.loc 1 626 24 view .LVU543
 1642 0076 D360     		str	r3, [r2, #12]
 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1643              		.loc 1 631 3 is_stmt 1 view .LVU544
 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1644              		.loc 1 631 36 is_stmt 0 view .LVU545
 1645 0078 E369     		ldr	r3, [r4, #28]
 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1646              		.loc 1 631 65 view .LVU546
 1647 007a 216A     		ldr	r1, [r4, #32]
 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1648              		.loc 1 631 7 view .LVU547
 1649 007c 2268     		ldr	r2, [r4]
 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1650              		.loc 1 631 53 view .LVU548
 1651 007e 0B43     		orrs	r3, r3, r1
 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1652              		.loc 1 631 23 view .LVU549
 1653 0080 1360     		str	r3, [r2]
 634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1654              		.loc 1 634 3 is_stmt 1 view .LVU550
 1655 0082 2268     		ldr	r2, [r4]
 1656 0084 1368     		ldr	r3, [r2]
 1657 0086 43F00103 		orr	r3, r3, #1
 1658 008a 1360     		str	r3, [r2]
 636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_READY;
 1659              		.loc 1 636 3 view .LVU551
 636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_READY;
 1660              		.loc 1 636 19 is_stmt 0 view .LVU552
 1661 008c 0020     		movs	r0, #0
 1662 008e 6064     		str	r0, [r4, #68]
 637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 1663              		.loc 1 637 3 is_stmt 1 view .LVU553
 637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 1664              		.loc 1 637 15 is_stmt 0 view .LVU554
 1665 0090 2023     		movs	r3, #32
 1666 0092 84F84130 		strb	r3, [r4, #65]
 638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 1667              		.loc 1 638 3 is_stmt 1 view .LVU555
 638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 1668              		.loc 1 638 23 is_stmt 0 view .LVU556
 1669 0096 2063     		str	r0, [r4, #48]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 169


 639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1670              		.loc 1 639 3 is_stmt 1 view .LVU557
 639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1671              		.loc 1 639 14 is_stmt 0 view .LVU558
 1672 0098 84F84200 		strb	r0, [r4, #66]
 641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 1673              		.loc 1 641 3 is_stmt 1 view .LVU559
 642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1674              		.loc 1 642 1 is_stmt 0 view .LVU560
 1675 009c 10BD     		pop	{r4, pc}
 1676              	.LVL123:
 1677              	.L136:
 556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1678              		.loc 1 556 5 is_stmt 1 view .LVU561
 556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1679              		.loc 1 556 16 is_stmt 0 view .LVU562
 1680 009e 80F84030 		strb	r3, [r0, #64]
 580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 1681              		.loc 1 580 5 is_stmt 1 view .LVU563
 1682 00a2 FFF7FEFF 		bl	HAL_I2C_MspInit
 1683              	.LVL124:
 580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 1684              		.loc 1 580 5 is_stmt 0 view .LVU564
 1685 00a6 B3E7     		b	.L126
 1686              	.L137:
 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1687              		.loc 1 600 5 is_stmt 1 view .LVU565
 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1688              		.loc 1 600 56 is_stmt 0 view .LVU566
 1689 00a8 A368     		ldr	r3, [r4, #8]
 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1690              		.loc 1 600 9 view .LVU567
 1691 00aa 2268     		ldr	r2, [r4]
 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1692              		.loc 1 600 44 view .LVU568
 1693 00ac 43F40043 		orr	r3, r3, #32768
 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1694              		.loc 1 600 26 view .LVU569
 1695 00b0 9360     		str	r3, [r2, #8]
 1696 00b2 C7E7     		b	.L128
 1697              	.L138:
 611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1698              		.loc 1 611 5 is_stmt 1 view .LVU570
 1699 00b4 2268     		ldr	r2, [r4]
 1700 00b6 5368     		ldr	r3, [r2, #4]
 1701 00b8 43F40063 		orr	r3, r3, #2048
 1702 00bc 5360     		str	r3, [r2, #4]
 1703 00be C9E7     		b	.L130
 1704              	.LVL125:
 1705              	.L131:
 1706              		.cfi_def_cfa_offset 0
 1707              		.cfi_restore 4
 1708              		.cfi_restore 14
 540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 1709              		.loc 1 540 12 is_stmt 0 view .LVU571
 1710 00c0 0120     		movs	r0, #1
 1711              	.LVL126:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 170


 642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1712              		.loc 1 642 1 view .LVU572
 1713 00c2 7047     		bx	lr
 1714              	.L140:
 1715              		.align	2
 1716              	.L139:
 1717 00c4 00800002 		.word	33587200
 1718              		.cfi_endproc
 1719              	.LFE335:
 1721              		.section	.text.HAL_I2C_MspDeInit,"ax",%progbits
 1722              		.align	1
 1723              		.weak	HAL_I2C_MspDeInit
 1724              		.syntax unified
 1725              		.thumb
 1726              		.thumb_func
 1728              	HAL_I2C_MspDeInit:
 1729              	.LVL127:
 1730              	.LFB338:
 713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 1731              		.loc 1 713 1 is_stmt 1 view -0
 1732              		.cfi_startproc
 1733              		@ args = 0, pretend = 0, frame = 0
 1734              		@ frame_needed = 0, uses_anonymous_args = 0
 1735              		@ link register save eliminated.
 715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1736              		.loc 1 715 3 view .LVU574
 720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1737              		.loc 1 720 1 is_stmt 0 view .LVU575
 1738 0000 7047     		bx	lr
 1739              		.cfi_endproc
 1740              	.LFE338:
 1742              		.section	.text.HAL_I2C_DeInit,"ax",%progbits
 1743              		.align	1
 1744              		.global	HAL_I2C_DeInit
 1745              		.syntax unified
 1746              		.thumb
 1747              		.thumb_func
 1749              	HAL_I2C_DeInit:
 1750              	.LVL128:
 1751              	.LFB336:
 651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the I2C handle allocation */
 1752              		.loc 1 651 1 is_stmt 1 view -0
 1753              		.cfi_startproc
 1754              		@ args = 0, pretend = 0, frame = 0
 1755              		@ frame_needed = 0, uses_anonymous_args = 0
 653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1756              		.loc 1 653 3 view .LVU577
 653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1757              		.loc 1 653 6 is_stmt 0 view .LVU578
 1758 0000 A8B1     		cbz	r0, .L144
 651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the I2C handle allocation */
 1759              		.loc 1 651 1 view .LVU579
 1760 0002 10B5     		push	{r4, lr}
 1761              		.cfi_def_cfa_offset 8
 1762              		.cfi_offset 4, -8
 1763              		.cfi_offset 14, -4
 1764 0004 0446     		mov	r4, r0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 171


 659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1765              		.loc 1 659 3 is_stmt 1 view .LVU580
 661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1766              		.loc 1 661 3 view .LVU581
 661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1767              		.loc 1 661 15 is_stmt 0 view .LVU582
 1768 0006 2423     		movs	r3, #36
 1769 0008 80F84130 		strb	r3, [r0, #65]
 664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1770              		.loc 1 664 3 is_stmt 1 view .LVU583
 1771 000c 0268     		ldr	r2, [r0]
 1772 000e 1368     		ldr	r3, [r2]
 1773 0010 23F00103 		bic	r3, r3, #1
 1774 0014 1360     		str	r3, [r2]
 676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 1775              		.loc 1 676 3 view .LVU584
 1776 0016 FFF7FEFF 		bl	HAL_I2C_MspDeInit
 1777              	.LVL129:
 679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_RESET;
 1778              		.loc 1 679 3 view .LVU585
 679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_RESET;
 1779              		.loc 1 679 19 is_stmt 0 view .LVU586
 1780 001a 0020     		movs	r0, #0
 1781 001c 6064     		str	r0, [r4, #68]
 680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 1782              		.loc 1 680 3 is_stmt 1 view .LVU587
 680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 1783              		.loc 1 680 15 is_stmt 0 view .LVU588
 1784 001e 84F84100 		strb	r0, [r4, #65]
 681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 1785              		.loc 1 681 3 is_stmt 1 view .LVU589
 681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 1786              		.loc 1 681 23 is_stmt 0 view .LVU590
 1787 0022 2063     		str	r0, [r4, #48]
 682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1788              		.loc 1 682 3 is_stmt 1 view .LVU591
 682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1789              		.loc 1 682 14 is_stmt 0 view .LVU592
 1790 0024 84F84200 		strb	r0, [r4, #66]
 685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1791              		.loc 1 685 3 is_stmt 1 view .LVU593
 685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1792              		.loc 1 685 3 view .LVU594
 1793 0028 84F84000 		strb	r0, [r4, #64]
 685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1794              		.loc 1 685 3 view .LVU595
 687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 1795              		.loc 1 687 3 view .LVU596
 688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1796              		.loc 1 688 1 is_stmt 0 view .LVU597
 1797 002c 10BD     		pop	{r4, pc}
 1798              	.LVL130:
 1799              	.L144:
 1800              		.cfi_def_cfa_offset 0
 1801              		.cfi_restore 4
 1802              		.cfi_restore 14
 655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 172


 1803              		.loc 1 655 12 view .LVU598
 1804 002e 0120     		movs	r0, #1
 1805              	.LVL131:
 688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1806              		.loc 1 688 1 view .LVU599
 1807 0030 7047     		bx	lr
 1808              		.cfi_endproc
 1809              	.LFE336:
 1811              		.section	.text.HAL_I2C_Master_Transmit,"ax",%progbits
 1812              		.align	1
 1813              		.global	HAL_I2C_Master_Transmit
 1814              		.syntax unified
 1815              		.thumb
 1816              		.thumb_func
 1818              	HAL_I2C_Master_Transmit:
 1819              	.LVL132:
 1820              	.LFB339:
1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 1821              		.loc 1 1121 1 is_stmt 1 view -0
 1822              		.cfi_startproc
 1823              		@ args = 4, pretend = 0, frame = 0
 1824              		@ frame_needed = 0, uses_anonymous_args = 0
1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 1825              		.loc 1 1121 1 is_stmt 0 view .LVU601
 1826 0000 2DE9F047 		push	{r4, r5, r6, r7, r8, r9, r10, lr}
 1827              		.cfi_def_cfa_offset 32
 1828              		.cfi_offset 4, -32
 1829              		.cfi_offset 5, -28
 1830              		.cfi_offset 6, -24
 1831              		.cfi_offset 7, -20
 1832              		.cfi_offset 8, -16
 1833              		.cfi_offset 9, -12
 1834              		.cfi_offset 10, -8
 1835              		.cfi_offset 14, -4
 1836 0004 82B0     		sub	sp, sp, #8
 1837              		.cfi_def_cfa_offset 40
 1838 0006 0F46     		mov	r7, r1
 1839 0008 0A9E     		ldr	r6, [sp, #40]
1122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 1840              		.loc 1 1122 3 is_stmt 1 view .LVU602
1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1841              		.loc 1 1123 3 view .LVU603
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1842              		.loc 1 1125 3 view .LVU604
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1843              		.loc 1 1125 11 is_stmt 0 view .LVU605
 1844 000a 90F84110 		ldrb	r1, [r0, #65]	@ zero_extendqisi2
 1845              	.LVL133:
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 1846              		.loc 1 1125 6 view .LVU606
 1847 000e 2029     		cmp	r1, #32
 1848 0010 40F0B780 		bne	.L159
 1849 0014 0446     		mov	r4, r0
 1850 0016 9146     		mov	r9, r2
 1851 0018 9846     		mov	r8, r3
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1852              		.loc 1 1128 5 is_stmt 1 view .LVU607
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 173


1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1853              		.loc 1 1128 5 view .LVU608
 1854 001a 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 1855              	.LVL134:
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1856              		.loc 1 1128 5 is_stmt 0 view .LVU609
 1857 001e 012B     		cmp	r3, #1
 1858 0020 00F0B380 		beq	.L160
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1859              		.loc 1 1128 5 is_stmt 1 discriminator 2 view .LVU610
 1860 0024 4FF0010A 		mov	r10, #1
 1861 0028 80F840A0 		strb	r10, [r0, #64]
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1862              		.loc 1 1128 5 view .LVU611
1131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1863              		.loc 1 1131 5 view .LVU612
1131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1864              		.loc 1 1131 17 is_stmt 0 view .LVU613
 1865 002c FFF7FEFF 		bl	HAL_GetTick
 1866              	.LVL135:
1131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1867              		.loc 1 1131 17 view .LVU614
 1868 0030 0546     		mov	r5, r0
 1869              	.LVL136:
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1870              		.loc 1 1133 5 is_stmt 1 view .LVU615
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1871              		.loc 1 1133 9 is_stmt 0 view .LVU616
 1872 0032 0090     		str	r0, [sp]
 1873 0034 1923     		movs	r3, #25
 1874 0036 5246     		mov	r2, r10
 1875 0038 4FF40041 		mov	r1, #32768
 1876 003c 2046     		mov	r0, r4
 1877              	.LVL137:
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1878              		.loc 1 1133 9 view .LVU617
 1879 003e FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 1880              	.LVL138:
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1881              		.loc 1 1133 8 discriminator 1 view .LVU618
 1882 0042 0028     		cmp	r0, #0
 1883 0044 40F0A380 		bne	.L161
1138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 1884              		.loc 1 1138 5 is_stmt 1 view .LVU619
1138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 1885              		.loc 1 1138 21 is_stmt 0 view .LVU620
 1886 0048 2123     		movs	r3, #33
 1887 004a 84F84130 		strb	r3, [r4, #65]
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 1888              		.loc 1 1139 5 is_stmt 1 view .LVU621
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 1889              		.loc 1 1139 21 is_stmt 0 view .LVU622
 1890 004e 1023     		movs	r3, #16
 1891 0050 84F84230 		strb	r3, [r4, #66]
1140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1892              		.loc 1 1140 5 is_stmt 1 view .LVU623
1140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 174


 1893              		.loc 1 1140 21 is_stmt 0 view .LVU624
 1894 0054 0023     		movs	r3, #0
 1895 0056 6364     		str	r3, [r4, #68]
1143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 1896              		.loc 1 1143 5 is_stmt 1 view .LVU625
1143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 1897              		.loc 1 1143 21 is_stmt 0 view .LVU626
 1898 0058 C4F82490 		str	r9, [r4, #36]
1144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 1899              		.loc 1 1144 5 is_stmt 1 view .LVU627
1144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 1900              		.loc 1 1144 21 is_stmt 0 view .LVU628
 1901 005c A4F82A80 		strh	r8, [r4, #42]	@ movhi
1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1902              		.loc 1 1145 5 is_stmt 1 view .LVU629
1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1903              		.loc 1 1145 21 is_stmt 0 view .LVU630
 1904 0060 6363     		str	r3, [r4, #52]
1147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1905              		.loc 1 1147 5 is_stmt 1 view .LVU631
1147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1906              		.loc 1 1147 13 is_stmt 0 view .LVU632
 1907 0062 638D     		ldrh	r3, [r4, #42]
 1908 0064 9BB2     		uxth	r3, r3
1147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1909              		.loc 1 1147 8 view .LVU633
 1910 0066 FF2B     		cmp	r3, #255
 1911 0068 1ED9     		bls	.L151
1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 1912              		.loc 1 1149 7 is_stmt 1 view .LVU634
1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 1913              		.loc 1 1149 22 is_stmt 0 view .LVU635
 1914 006a FF23     		movs	r3, #255
 1915 006c 2385     		strh	r3, [r4, #40]	@ movhi
1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 1916              		.loc 1 1150 7 is_stmt 1 view .LVU636
 1917              	.LVL139:
1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 1918              		.loc 1 1150 16 is_stmt 0 view .LVU637
 1919 006e 4FF08073 		mov	r3, #16777216
 1920              	.LVL140:
 1921              	.L152:
1158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1922              		.loc 1 1158 5 is_stmt 1 view .LVU638
1158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1923              		.loc 1 1158 13 is_stmt 0 view .LVU639
 1924 0072 228D     		ldrh	r2, [r4, #40]
1158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 1925              		.loc 1 1158 8 view .LVU640
 1926 0074 EAB1     		cbz	r2, .L153
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1927              		.loc 1 1162 7 is_stmt 1 view .LVU641
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1928              		.loc 1 1162 11 is_stmt 0 view .LVU642
 1929 0076 2268     		ldr	r2, [r4]
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1930              		.loc 1 1162 30 view .LVU643
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 175


 1931 0078 99F80010 		ldrb	r1, [r9]	@ zero_extendqisi2
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1932              		.loc 1 1162 28 view .LVU644
 1933 007c 9162     		str	r1, [r2, #40]
1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1934              		.loc 1 1165 7 is_stmt 1 view .LVU645
1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1935              		.loc 1 1165 11 is_stmt 0 view .LVU646
 1936 007e 626A     		ldr	r2, [r4, #36]
1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1937              		.loc 1 1165 21 view .LVU647
 1938 0080 0132     		adds	r2, r2, #1
 1939 0082 6262     		str	r2, [r4, #36]
1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 1940              		.loc 1 1167 7 is_stmt 1 view .LVU648
1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 1941              		.loc 1 1167 11 is_stmt 0 view .LVU649
 1942 0084 628D     		ldrh	r2, [r4, #42]
 1943 0086 92B2     		uxth	r2, r2
1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 1944              		.loc 1 1167 22 view .LVU650
 1945 0088 013A     		subs	r2, r2, #1
 1946 008a 92B2     		uxth	r2, r2
 1947 008c 6285     		strh	r2, [r4, #42]	@ movhi
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1948              		.loc 1 1168 7 is_stmt 1 view .LVU651
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1949              		.loc 1 1168 11 is_stmt 0 view .LVU652
 1950 008e 228D     		ldrh	r2, [r4, #40]
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 1951              		.loc 1 1168 21 view .LVU653
 1952 0090 013A     		subs	r2, r2, #1
 1953 0092 92B2     		uxth	r2, r2
 1954 0094 2285     		strh	r2, [r4, #40]	@ movhi
1172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 1955              		.loc 1 1172 7 is_stmt 1 view .LVU654
 1956 0096 0132     		adds	r2, r2, #1
 1957 0098 4149     		ldr	r1, .L167
 1958 009a 0091     		str	r1, [sp]
 1959 009c D2B2     		uxtb	r2, r2
 1960 009e 3946     		mov	r1, r7
 1961 00a0 2046     		mov	r0, r4
 1962 00a2 FFF7FEFF 		bl	I2C_TransferConfig
 1963              	.LVL141:
1172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 1964              		.loc 1 1172 7 is_stmt 0 view .LVU655
 1965 00a6 18E0     		b	.L157
 1966              	.LVL142:
 1967              	.L151:
1154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 1968              		.loc 1 1154 7 is_stmt 1 view .LVU656
1154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 1969              		.loc 1 1154 28 is_stmt 0 view .LVU657
 1970 00a8 638D     		ldrh	r3, [r4, #42]
1154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 1971              		.loc 1 1154 22 view .LVU658
 1972 00aa 2385     		strh	r3, [r4, #40]	@ movhi
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 176


1155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 1973              		.loc 1 1155 7 is_stmt 1 view .LVU659
 1974              	.LVL143:
1155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 1975              		.loc 1 1155 16 is_stmt 0 view .LVU660
 1976 00ac 4FF00073 		mov	r3, #33554432
 1977 00b0 DFE7     		b	.L152
 1978              	.LVL144:
 1979              	.L153:
1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 1980              		.loc 1 1179 7 is_stmt 1 view .LVU661
 1981 00b2 3B49     		ldr	r1, .L167
 1982 00b4 0091     		str	r1, [sp]
 1983 00b6 D2B2     		uxtb	r2, r2
 1984 00b8 3946     		mov	r1, r7
 1985 00ba 2046     		mov	r0, r4
 1986 00bc FFF7FEFF 		bl	I2C_TransferConfig
 1987              	.LVL145:
1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 1988              		.loc 1 1179 7 is_stmt 0 view .LVU662
 1989 00c0 0BE0     		b	.L157
 1990              	.L156:
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 1991              		.loc 1 1215 11 is_stmt 1 view .LVU663
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 1992              		.loc 1 1215 32 is_stmt 0 view .LVU664
 1993 00c2 628D     		ldrh	r2, [r4, #42]
 1994 00c4 92B2     		uxth	r2, r2
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 1995              		.loc 1 1215 26 view .LVU665
 1996 00c6 2285     		strh	r2, [r4, #40]	@ movhi
1216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
 1997              		.loc 1 1216 11 is_stmt 1 view .LVU666
 1998 00c8 0023     		movs	r3, #0
 1999 00ca 0093     		str	r3, [sp]
 2000 00cc 4FF00073 		mov	r3, #33554432
 2001 00d0 D2B2     		uxtb	r2, r2
 2002 00d2 3946     		mov	r1, r7
 2003 00d4 2046     		mov	r0, r4
 2004 00d6 FFF7FEFF 		bl	I2C_TransferConfig
 2005              	.LVL146:
 2006              	.L157:
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2007              		.loc 1 1183 28 view .LVU667
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2008              		.loc 1 1183 16 is_stmt 0 view .LVU668
 2009 00da 638D     		ldrh	r3, [r4, #42]
 2010 00dc 9BB2     		uxth	r3, r3
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2011              		.loc 1 1183 28 view .LVU669
 2012 00de 002B     		cmp	r3, #0
 2013 00e0 33D0     		beq	.L166
1186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2014              		.loc 1 1186 7 is_stmt 1 view .LVU670
1186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2015              		.loc 1 1186 11 is_stmt 0 view .LVU671
 2016 00e2 2A46     		mov	r2, r5
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 177


 2017 00e4 3146     		mov	r1, r6
 2018 00e6 2046     		mov	r0, r4
 2019 00e8 FFF7FEFF 		bl	I2C_WaitOnTXISFlagUntilTimeout
 2020              	.LVL147:
1186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2021              		.loc 1 1186 10 discriminator 1 view .LVU672
 2022 00ec 0028     		cmp	r0, #0
 2023 00ee 50D1     		bne	.L162
1191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2024              		.loc 1 1191 7 is_stmt 1 view .LVU673
1191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2025              		.loc 1 1191 35 is_stmt 0 view .LVU674
 2026 00f0 626A     		ldr	r2, [r4, #36]
1191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2027              		.loc 1 1191 11 view .LVU675
 2028 00f2 2368     		ldr	r3, [r4]
1191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2029              		.loc 1 1191 30 view .LVU676
 2030 00f4 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
1191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2031              		.loc 1 1191 28 view .LVU677
 2032 00f6 9A62     		str	r2, [r3, #40]
1194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2033              		.loc 1 1194 7 is_stmt 1 view .LVU678
1194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2034              		.loc 1 1194 11 is_stmt 0 view .LVU679
 2035 00f8 636A     		ldr	r3, [r4, #36]
1194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2036              		.loc 1 1194 21 view .LVU680
 2037 00fa 0133     		adds	r3, r3, #1
 2038 00fc 6362     		str	r3, [r4, #36]
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 2039              		.loc 1 1196 7 is_stmt 1 view .LVU681
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 2040              		.loc 1 1196 11 is_stmt 0 view .LVU682
 2041 00fe 638D     		ldrh	r3, [r4, #42]
 2042 0100 9BB2     		uxth	r3, r3
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 2043              		.loc 1 1196 22 view .LVU683
 2044 0102 013B     		subs	r3, r3, #1
 2045 0104 9BB2     		uxth	r3, r3
 2046 0106 6385     		strh	r3, [r4, #42]	@ movhi
1197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2047              		.loc 1 1197 7 is_stmt 1 view .LVU684
1197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2048              		.loc 1 1197 11 is_stmt 0 view .LVU685
 2049 0108 238D     		ldrh	r3, [r4, #40]
1197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2050              		.loc 1 1197 21 view .LVU686
 2051 010a 013B     		subs	r3, r3, #1
 2052 010c 9BB2     		uxth	r3, r3
 2053 010e 2385     		strh	r3, [r4, #40]	@ movhi
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2054              		.loc 1 1199 7 is_stmt 1 view .LVU687
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2055              		.loc 1 1199 16 is_stmt 0 view .LVU688
 2056 0110 628D     		ldrh	r2, [r4, #42]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 178


 2057 0112 92B2     		uxth	r2, r2
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2058              		.loc 1 1199 10 view .LVU689
 2059 0114 002A     		cmp	r2, #0
 2060 0116 E0D0     		beq	.L157
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2061              		.loc 1 1199 35 discriminator 1 view .LVU690
 2062 0118 002B     		cmp	r3, #0
 2063 011a DED1     		bne	.L157
1202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2064              		.loc 1 1202 9 is_stmt 1 view .LVU691
1202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2065              		.loc 1 1202 13 is_stmt 0 view .LVU692
 2066 011c 0095     		str	r5, [sp]
 2067 011e 3346     		mov	r3, r6
 2068 0120 0022     		movs	r2, #0
 2069 0122 8021     		movs	r1, #128
 2070 0124 2046     		mov	r0, r4
 2071 0126 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 2072              	.LVL148:
1202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2073              		.loc 1 1202 12 discriminator 1 view .LVU693
 2074 012a A0BB     		cbnz	r0, .L163
1207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2075              		.loc 1 1207 9 is_stmt 1 view .LVU694
1207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2076              		.loc 1 1207 17 is_stmt 0 view .LVU695
 2077 012c 638D     		ldrh	r3, [r4, #42]
 2078 012e 9BB2     		uxth	r3, r3
1207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2079              		.loc 1 1207 12 view .LVU696
 2080 0130 FF2B     		cmp	r3, #255
 2081 0132 C6D9     		bls	.L156
1209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
 2082              		.loc 1 1209 11 is_stmt 1 view .LVU697
1209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
 2083              		.loc 1 1209 26 is_stmt 0 view .LVU698
 2084 0134 FF22     		movs	r2, #255
 2085 0136 2285     		strh	r2, [r4, #40]	@ movhi
1210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
 2086              		.loc 1 1210 11 is_stmt 1 view .LVU699
 2087 0138 0023     		movs	r3, #0
 2088 013a 0093     		str	r3, [sp]
 2089 013c 4FF08073 		mov	r3, #16777216
 2090 0140 3946     		mov	r1, r7
 2091 0142 2046     		mov	r0, r4
 2092 0144 FFF7FEFF 		bl	I2C_TransferConfig
 2093              	.LVL149:
 2094 0148 C7E7     		b	.L157
 2095              	.L166:
1224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2096              		.loc 1 1224 5 view .LVU700
1224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2097              		.loc 1 1224 9 is_stmt 0 view .LVU701
 2098 014a 2A46     		mov	r2, r5
 2099 014c 3146     		mov	r1, r6
 2100 014e 2046     		mov	r0, r4
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 179


 2101 0150 FFF7FEFF 		bl	I2C_WaitOnSTOPFlagUntilTimeout
 2102              	.LVL150:
1224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2103              		.loc 1 1224 8 discriminator 1 view .LVU702
 2104 0154 08BB     		cbnz	r0, .L164
1230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2105              		.loc 1 1230 5 is_stmt 1 view .LVU703
 2106 0156 2368     		ldr	r3, [r4]
 2107 0158 2022     		movs	r2, #32
 2108 015a DA61     		str	r2, [r3, #28]
1233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2109              		.loc 1 1233 5 view .LVU704
 2110 015c 2168     		ldr	r1, [r4]
 2111 015e 4B68     		ldr	r3, [r1, #4]
 2112 0160 23F0FF73 		bic	r3, r3, #33423360
 2113 0164 23F48B33 		bic	r3, r3, #71168
 2114 0168 23F4FF73 		bic	r3, r3, #510
 2115 016c 23F00103 		bic	r3, r3, #1
 2116 0170 4B60     		str	r3, [r1, #4]
1235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 2117              		.loc 1 1235 5 view .LVU705
1235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 2118              		.loc 1 1235 17 is_stmt 0 view .LVU706
 2119 0172 84F84120 		strb	r2, [r4, #65]
1236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2120              		.loc 1 1236 5 is_stmt 1 view .LVU707
1236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2121              		.loc 1 1236 17 is_stmt 0 view .LVU708
 2122 0176 0023     		movs	r3, #0
 2123 0178 84F84230 		strb	r3, [r4, #66]
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2124              		.loc 1 1239 5 is_stmt 1 view .LVU709
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2125              		.loc 1 1239 5 view .LVU710
 2126 017c 84F84030 		strb	r3, [r4, #64]
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2127              		.loc 1 1239 5 view .LVU711
1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 2128              		.loc 1 1241 5 view .LVU712
1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 2129              		.loc 1 1241 12 is_stmt 0 view .LVU713
 2130 0180 00E0     		b	.L150
 2131              	.LVL151:
 2132              	.L159:
1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 2133              		.loc 1 1245 12 view .LVU714
 2134 0182 0220     		movs	r0, #2
 2135              	.LVL152:
 2136              	.L150:
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2137              		.loc 1 1247 1 view .LVU715
 2138 0184 02B0     		add	sp, sp, #8
 2139              		.cfi_remember_state
 2140              		.cfi_def_cfa_offset 32
 2141              		@ sp needed
 2142 0186 BDE8F087 		pop	{r4, r5, r6, r7, r8, r9, r10, pc}
 2143              	.LVL153:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 180


 2144              	.L160:
 2145              		.cfi_restore_state
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2146              		.loc 1 1128 5 discriminator 1 view .LVU716
 2147 018a 0220     		movs	r0, #2
 2148              	.LVL154:
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2149              		.loc 1 1128 5 discriminator 1 view .LVU717
 2150 018c FAE7     		b	.L150
 2151              	.LVL155:
 2152              	.L161:
1135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2153              		.loc 1 1135 14 view .LVU718
 2154 018e 0120     		movs	r0, #1
 2155 0190 F8E7     		b	.L150
 2156              	.LVL156:
 2157              	.L162:
1188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2158              		.loc 1 1188 16 view .LVU719
 2159 0192 0120     		movs	r0, #1
 2160 0194 F6E7     		b	.L150
 2161              	.L163:
1204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 2162              		.loc 1 1204 18 view .LVU720
 2163 0196 0120     		movs	r0, #1
 2164 0198 F4E7     		b	.L150
 2165              	.L164:
1226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2166              		.loc 1 1226 14 view .LVU721
 2167 019a 0120     		movs	r0, #1
 2168 019c F2E7     		b	.L150
 2169              	.L168:
 2170 019e 00BF     		.align	2
 2171              	.L167:
 2172 01a0 00200080 		.word	-2147475456
 2173              		.cfi_endproc
 2174              	.LFE339:
 2176              		.section	.text.HAL_I2C_Master_Receive,"ax",%progbits
 2177              		.align	1
 2178              		.global	HAL_I2C_Master_Receive
 2179              		.syntax unified
 2180              		.thumb
 2181              		.thumb_func
 2183              	HAL_I2C_Master_Receive:
 2184              	.LVL157:
 2185              	.LFB340:
1262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 2186              		.loc 1 1262 1 is_stmt 1 view -0
 2187              		.cfi_startproc
 2188              		@ args = 4, pretend = 0, frame = 0
 2189              		@ frame_needed = 0, uses_anonymous_args = 0
1262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 2190              		.loc 1 1262 1 is_stmt 0 view .LVU723
 2191 0000 2DE9F047 		push	{r4, r5, r6, r7, r8, r9, r10, lr}
 2192              		.cfi_def_cfa_offset 32
 2193              		.cfi_offset 4, -32
 2194              		.cfi_offset 5, -28
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 181


 2195              		.cfi_offset 6, -24
 2196              		.cfi_offset 7, -20
 2197              		.cfi_offset 8, -16
 2198              		.cfi_offset 9, -12
 2199              		.cfi_offset 10, -8
 2200              		.cfi_offset 14, -4
 2201 0004 82B0     		sub	sp, sp, #8
 2202              		.cfi_def_cfa_offset 40
 2203 0006 0F46     		mov	r7, r1
 2204 0008 0A9E     		ldr	r6, [sp, #40]
1263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2205              		.loc 1 1263 3 is_stmt 1 view .LVU724
1265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 2206              		.loc 1 1265 3 view .LVU725
1265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 2207              		.loc 1 1265 11 is_stmt 0 view .LVU726
 2208 000a 90F84110 		ldrb	r1, [r0, #65]	@ zero_extendqisi2
 2209              	.LVL158:
1265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 2210              		.loc 1 1265 6 view .LVU727
 2211 000e 2029     		cmp	r1, #32
 2212 0010 40F0A280 		bne	.L177
 2213 0014 0446     		mov	r4, r0
 2214 0016 9146     		mov	r9, r2
 2215 0018 9846     		mov	r8, r3
1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2216              		.loc 1 1268 5 is_stmt 1 view .LVU728
1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2217              		.loc 1 1268 5 view .LVU729
 2218 001a 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 2219              	.LVL159:
1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2220              		.loc 1 1268 5 is_stmt 0 view .LVU730
 2221 001e 012B     		cmp	r3, #1
 2222 0020 00F09E80 		beq	.L178
1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2223              		.loc 1 1268 5 is_stmt 1 discriminator 2 view .LVU731
 2224 0024 4FF0010A 		mov	r10, #1
 2225 0028 80F840A0 		strb	r10, [r0, #64]
1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2226              		.loc 1 1268 5 view .LVU732
1271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2227              		.loc 1 1271 5 view .LVU733
1271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2228              		.loc 1 1271 17 is_stmt 0 view .LVU734
 2229 002c FFF7FEFF 		bl	HAL_GetTick
 2230              	.LVL160:
1271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2231              		.loc 1 1271 17 view .LVU735
 2232 0030 0546     		mov	r5, r0
 2233              	.LVL161:
1273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2234              		.loc 1 1273 5 is_stmt 1 view .LVU736
1273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2235              		.loc 1 1273 9 is_stmt 0 view .LVU737
 2236 0032 0090     		str	r0, [sp]
 2237 0034 1923     		movs	r3, #25
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 182


 2238 0036 5246     		mov	r2, r10
 2239 0038 4FF40041 		mov	r1, #32768
 2240 003c 2046     		mov	r0, r4
 2241              	.LVL162:
1273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2242              		.loc 1 1273 9 view .LVU738
 2243 003e FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 2244              	.LVL163:
1273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2245              		.loc 1 1273 8 discriminator 1 view .LVU739
 2246 0042 0028     		cmp	r0, #0
 2247 0044 40F08E80 		bne	.L179
1278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 2248              		.loc 1 1278 5 is_stmt 1 view .LVU740
1278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 2249              		.loc 1 1278 21 is_stmt 0 view .LVU741
 2250 0048 2223     		movs	r3, #34
 2251 004a 84F84130 		strb	r3, [r4, #65]
1279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 2252              		.loc 1 1279 5 is_stmt 1 view .LVU742
1279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 2253              		.loc 1 1279 21 is_stmt 0 view .LVU743
 2254 004e 1023     		movs	r3, #16
 2255 0050 84F84230 		strb	r3, [r4, #66]
1280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2256              		.loc 1 1280 5 is_stmt 1 view .LVU744
1280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2257              		.loc 1 1280 21 is_stmt 0 view .LVU745
 2258 0054 0023     		movs	r3, #0
 2259 0056 6364     		str	r3, [r4, #68]
1283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 2260              		.loc 1 1283 5 is_stmt 1 view .LVU746
1283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 2261              		.loc 1 1283 21 is_stmt 0 view .LVU747
 2262 0058 C4F82490 		str	r9, [r4, #36]
1284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 2263              		.loc 1 1284 5 is_stmt 1 view .LVU748
1284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 2264              		.loc 1 1284 21 is_stmt 0 view .LVU749
 2265 005c A4F82A80 		strh	r8, [r4, #42]	@ movhi
1285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2266              		.loc 1 1285 5 is_stmt 1 view .LVU750
1285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2267              		.loc 1 1285 21 is_stmt 0 view .LVU751
 2268 0060 6363     		str	r3, [r4, #52]
1289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2269              		.loc 1 1289 5 is_stmt 1 view .LVU752
1289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2270              		.loc 1 1289 13 is_stmt 0 view .LVU753
 2271 0062 638D     		ldrh	r3, [r4, #42]
 2272 0064 9BB2     		uxth	r3, r3
1289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2273              		.loc 1 1289 8 view .LVU754
 2274 0066 FF2B     		cmp	r3, #255
 2275 0068 0AD9     		bls	.L171
1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
 2276              		.loc 1 1291 7 is_stmt 1 view .LVU755
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 183


1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
 2277              		.loc 1 1291 22 is_stmt 0 view .LVU756
 2278 006a FF22     		movs	r2, #255
 2279 006c 2285     		strh	r2, [r4, #40]	@ movhi
1292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
 2280              		.loc 1 1292 7 is_stmt 1 view .LVU757
 2281 006e 414B     		ldr	r3, .L185
 2282 0070 0093     		str	r3, [sp]
 2283 0072 4FF08073 		mov	r3, #16777216
 2284 0076 3946     		mov	r1, r7
 2285 0078 2046     		mov	r0, r4
 2286 007a FFF7FEFF 		bl	I2C_TransferConfig
 2287              	.LVL164:
 2288 007e 18E0     		b	.L175
 2289              	.L171:
1297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 2290              		.loc 1 1297 7 view .LVU758
1297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 2291              		.loc 1 1297 28 is_stmt 0 view .LVU759
 2292 0080 628D     		ldrh	r2, [r4, #42]
 2293 0082 92B2     		uxth	r2, r2
1297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 2294              		.loc 1 1297 22 view .LVU760
 2295 0084 2285     		strh	r2, [r4, #40]	@ movhi
1298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
 2296              		.loc 1 1298 7 is_stmt 1 view .LVU761
 2297 0086 3B4B     		ldr	r3, .L185
 2298 0088 0093     		str	r3, [sp]
 2299 008a 4FF00073 		mov	r3, #33554432
 2300 008e D2B2     		uxtb	r2, r2
 2301 0090 3946     		mov	r1, r7
 2302 0092 2046     		mov	r0, r4
 2303 0094 FFF7FEFF 		bl	I2C_TransferConfig
 2304              	.LVL165:
 2305 0098 0BE0     		b	.L175
 2306              	.L174:
1335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 2307              		.loc 1 1335 11 view .LVU762
1335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 2308              		.loc 1 1335 32 is_stmt 0 view .LVU763
 2309 009a 628D     		ldrh	r2, [r4, #42]
 2310 009c 92B2     		uxth	r2, r2
1335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 2311              		.loc 1 1335 26 view .LVU764
 2312 009e 2285     		strh	r2, [r4, #40]	@ movhi
1336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
 2313              		.loc 1 1336 11 is_stmt 1 view .LVU765
 2314 00a0 0023     		movs	r3, #0
 2315 00a2 0093     		str	r3, [sp]
 2316 00a4 4FF00073 		mov	r3, #33554432
 2317 00a8 D2B2     		uxtb	r2, r2
 2318 00aa 3946     		mov	r1, r7
 2319 00ac 2046     		mov	r0, r4
 2320 00ae FFF7FEFF 		bl	I2C_TransferConfig
 2321              	.LVL166:
 2322              	.L175:
1302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 184


 2323              		.loc 1 1302 28 view .LVU766
1302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2324              		.loc 1 1302 16 is_stmt 0 view .LVU767
 2325 00b2 638D     		ldrh	r3, [r4, #42]
 2326 00b4 9BB2     		uxth	r3, r3
1302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2327              		.loc 1 1302 28 view .LVU768
 2328 00b6 002B     		cmp	r3, #0
 2329 00b8 32D0     		beq	.L184
1305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2330              		.loc 1 1305 7 is_stmt 1 view .LVU769
1305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2331              		.loc 1 1305 11 is_stmt 0 view .LVU770
 2332 00ba 2A46     		mov	r2, r5
 2333 00bc 3146     		mov	r1, r6
 2334 00be 2046     		mov	r0, r4
 2335 00c0 FFF7FEFF 		bl	I2C_WaitOnRXNEFlagUntilTimeout
 2336              	.LVL167:
1305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2337              		.loc 1 1305 10 discriminator 1 view .LVU771
 2338 00c4 0028     		cmp	r0, #0
 2339 00c6 4FD1     		bne	.L180
1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2340              		.loc 1 1311 7 is_stmt 1 view .LVU772
1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2341              		.loc 1 1311 38 is_stmt 0 view .LVU773
 2342 00c8 2368     		ldr	r3, [r4]
1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2343              		.loc 1 1311 48 view .LVU774
 2344 00ca 5A6A     		ldr	r2, [r3, #36]
1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2345              		.loc 1 1311 12 view .LVU775
 2346 00cc 636A     		ldr	r3, [r4, #36]
1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2347              		.loc 1 1311 23 view .LVU776
 2348 00ce 1A70     		strb	r2, [r3]
1314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2349              		.loc 1 1314 7 is_stmt 1 view .LVU777
1314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2350              		.loc 1 1314 11 is_stmt 0 view .LVU778
 2351 00d0 636A     		ldr	r3, [r4, #36]
1314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2352              		.loc 1 1314 21 view .LVU779
 2353 00d2 0133     		adds	r3, r3, #1
 2354 00d4 6362     		str	r3, [r4, #36]
1316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 2355              		.loc 1 1316 7 is_stmt 1 view .LVU780
1316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 2356              		.loc 1 1316 11 is_stmt 0 view .LVU781
 2357 00d6 228D     		ldrh	r2, [r4, #40]
1316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 2358              		.loc 1 1316 21 view .LVU782
 2359 00d8 013A     		subs	r2, r2, #1
 2360 00da 92B2     		uxth	r2, r2
 2361 00dc 2285     		strh	r2, [r4, #40]	@ movhi
1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2362              		.loc 1 1317 7 is_stmt 1 view .LVU783
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 185


1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2363              		.loc 1 1317 11 is_stmt 0 view .LVU784
 2364 00de 638D     		ldrh	r3, [r4, #42]
 2365 00e0 9BB2     		uxth	r3, r3
1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2366              		.loc 1 1317 22 view .LVU785
 2367 00e2 013B     		subs	r3, r3, #1
 2368 00e4 9BB2     		uxth	r3, r3
 2369 00e6 6385     		strh	r3, [r4, #42]	@ movhi
1319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2370              		.loc 1 1319 7 is_stmt 1 view .LVU786
1319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2371              		.loc 1 1319 16 is_stmt 0 view .LVU787
 2372 00e8 638D     		ldrh	r3, [r4, #42]
 2373 00ea 9BB2     		uxth	r3, r3
1319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2374              		.loc 1 1319 10 view .LVU788
 2375 00ec 002B     		cmp	r3, #0
 2376 00ee E0D0     		beq	.L175
1319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2377              		.loc 1 1319 35 discriminator 1 view .LVU789
 2378 00f0 002A     		cmp	r2, #0
 2379 00f2 DED1     		bne	.L175
1322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2380              		.loc 1 1322 9 is_stmt 1 view .LVU790
1322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2381              		.loc 1 1322 13 is_stmt 0 view .LVU791
 2382 00f4 0095     		str	r5, [sp]
 2383 00f6 3346     		mov	r3, r6
 2384 00f8 8021     		movs	r1, #128
 2385 00fa 2046     		mov	r0, r4
 2386 00fc FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 2387              	.LVL168:
1322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2388              		.loc 1 1322 12 discriminator 1 view .LVU792
 2389 0100 A0BB     		cbnz	r0, .L181
1327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2390              		.loc 1 1327 9 is_stmt 1 view .LVU793
1327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2391              		.loc 1 1327 17 is_stmt 0 view .LVU794
 2392 0102 638D     		ldrh	r3, [r4, #42]
 2393 0104 9BB2     		uxth	r3, r3
1327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 2394              		.loc 1 1327 12 view .LVU795
 2395 0106 FF2B     		cmp	r3, #255
 2396 0108 C7D9     		bls	.L174
1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
 2397              		.loc 1 1329 11 is_stmt 1 view .LVU796
1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
 2398              		.loc 1 1329 26 is_stmt 0 view .LVU797
 2399 010a FF22     		movs	r2, #255
 2400 010c 2285     		strh	r2, [r4, #40]	@ movhi
1330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
 2401              		.loc 1 1330 11 is_stmt 1 view .LVU798
 2402 010e 0023     		movs	r3, #0
 2403 0110 0093     		str	r3, [sp]
 2404 0112 4FF08073 		mov	r3, #16777216
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 186


 2405 0116 3946     		mov	r1, r7
 2406 0118 2046     		mov	r0, r4
 2407 011a FFF7FEFF 		bl	I2C_TransferConfig
 2408              	.LVL169:
 2409 011e C8E7     		b	.L175
 2410              	.L184:
1344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2411              		.loc 1 1344 5 view .LVU799
1344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2412              		.loc 1 1344 9 is_stmt 0 view .LVU800
 2413 0120 2A46     		mov	r2, r5
 2414 0122 3146     		mov	r1, r6
 2415 0124 2046     		mov	r0, r4
 2416 0126 FFF7FEFF 		bl	I2C_WaitOnSTOPFlagUntilTimeout
 2417              	.LVL170:
1344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2418              		.loc 1 1344 8 discriminator 1 view .LVU801
 2419 012a 08BB     		cbnz	r0, .L182
1350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2420              		.loc 1 1350 5 is_stmt 1 view .LVU802
 2421 012c 2368     		ldr	r3, [r4]
 2422 012e 2022     		movs	r2, #32
 2423 0130 DA61     		str	r2, [r3, #28]
1353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2424              		.loc 1 1353 5 view .LVU803
 2425 0132 2168     		ldr	r1, [r4]
 2426 0134 4B68     		ldr	r3, [r1, #4]
 2427 0136 23F0FF73 		bic	r3, r3, #33423360
 2428 013a 23F48B33 		bic	r3, r3, #71168
 2429 013e 23F4FF73 		bic	r3, r3, #510
 2430 0142 23F00103 		bic	r3, r3, #1
 2431 0146 4B60     		str	r3, [r1, #4]
1355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 2432              		.loc 1 1355 5 view .LVU804
1355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 2433              		.loc 1 1355 17 is_stmt 0 view .LVU805
 2434 0148 84F84120 		strb	r2, [r4, #65]
1356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2435              		.loc 1 1356 5 is_stmt 1 view .LVU806
1356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2436              		.loc 1 1356 17 is_stmt 0 view .LVU807
 2437 014c 0023     		movs	r3, #0
 2438 014e 84F84230 		strb	r3, [r4, #66]
1359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2439              		.loc 1 1359 5 is_stmt 1 view .LVU808
1359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2440              		.loc 1 1359 5 view .LVU809
 2441 0152 84F84030 		strb	r3, [r4, #64]
1359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2442              		.loc 1 1359 5 view .LVU810
1361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 2443              		.loc 1 1361 5 view .LVU811
1361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 2444              		.loc 1 1361 12 is_stmt 0 view .LVU812
 2445 0156 00E0     		b	.L170
 2446              	.LVL171:
 2447              	.L177:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 187


1365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 2448              		.loc 1 1365 12 view .LVU813
 2449 0158 0220     		movs	r0, #2
 2450              	.LVL172:
 2451              	.L170:
1367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2452              		.loc 1 1367 1 view .LVU814
 2453 015a 02B0     		add	sp, sp, #8
 2454              		.cfi_remember_state
 2455              		.cfi_def_cfa_offset 32
 2456              		@ sp needed
 2457 015c BDE8F087 		pop	{r4, r5, r6, r7, r8, r9, r10, pc}
 2458              	.LVL173:
 2459              	.L178:
 2460              		.cfi_restore_state
1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2461              		.loc 1 1268 5 discriminator 1 view .LVU815
 2462 0160 0220     		movs	r0, #2
 2463              	.LVL174:
1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2464              		.loc 1 1268 5 discriminator 1 view .LVU816
 2465 0162 FAE7     		b	.L170
 2466              	.LVL175:
 2467              	.L179:
1275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2468              		.loc 1 1275 14 view .LVU817
 2469 0164 0120     		movs	r0, #1
 2470 0166 F8E7     		b	.L170
 2471              	.L180:
1307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2472              		.loc 1 1307 16 view .LVU818
 2473 0168 0120     		movs	r0, #1
 2474 016a F6E7     		b	.L170
 2475              	.L181:
1324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 2476              		.loc 1 1324 18 view .LVU819
 2477 016c 0120     		movs	r0, #1
 2478 016e F4E7     		b	.L170
 2479              	.L182:
1346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2480              		.loc 1 1346 14 view .LVU820
 2481 0170 0120     		movs	r0, #1
 2482 0172 F2E7     		b	.L170
 2483              	.L186:
 2484              		.align	2
 2485              	.L185:
 2486 0174 00240080 		.word	-2147474432
 2487              		.cfi_endproc
 2488              	.LFE340:
 2490              		.section	.text.HAL_I2C_Slave_Transmit,"ax",%progbits
 2491              		.align	1
 2492              		.global	HAL_I2C_Slave_Transmit
 2493              		.syntax unified
 2494              		.thumb
 2495              		.thumb_func
 2497              	HAL_I2C_Slave_Transmit:
 2498              	.LVL176:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 188


 2499              	.LFB341:
1380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 2500              		.loc 1 1380 1 is_stmt 1 view -0
 2501              		.cfi_startproc
 2502              		@ args = 0, pretend = 0, frame = 0
 2503              		@ frame_needed = 0, uses_anonymous_args = 0
1380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 2504              		.loc 1 1380 1 is_stmt 0 view .LVU822
 2505 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 2506              		.cfi_def_cfa_offset 24
 2507              		.cfi_offset 4, -24
 2508              		.cfi_offset 5, -20
 2509              		.cfi_offset 6, -16
 2510              		.cfi_offset 7, -12
 2511              		.cfi_offset 8, -8
 2512              		.cfi_offset 14, -4
 2513 0004 82B0     		sub	sp, sp, #8
 2514              		.cfi_def_cfa_offset 32
 2515 0006 1D46     		mov	r5, r3
1381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t tmpXferCount;
 2516              		.loc 1 1381 3 is_stmt 1 view .LVU823
1382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef error;
 2517              		.loc 1 1382 3 view .LVU824
1383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2518              		.loc 1 1383 3 view .LVU825
1385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 2519              		.loc 1 1385 3 view .LVU826
1385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 2520              		.loc 1 1385 11 is_stmt 0 view .LVU827
 2521 0008 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
 2522              	.LVL177:
1385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 2523              		.loc 1 1385 6 view .LVU828
 2524 000c 202B     		cmp	r3, #32
 2525 000e 40F0E180 		bne	.L202
 2526 0012 0446     		mov	r4, r0
 2527 0014 8846     		mov	r8, r1
 2528 0016 1746     		mov	r7, r2
1387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2529              		.loc 1 1387 5 is_stmt 1 view .LVU829
1387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2530              		.loc 1 1387 8 is_stmt 0 view .LVU830
 2531 0018 002A     		cmp	r2, #0
 2532 001a 18BF     		it	ne
 2533 001c 0029     		cmpne	r1, #0
 2534 001e 54D0     		beq	.L205
1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2535              		.loc 1 1393 5 is_stmt 1 view .LVU831
1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2536              		.loc 1 1393 5 view .LVU832
 2537 0020 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 2538 0024 012B     		cmp	r3, #1
 2539 0026 00F0D980 		beq	.L203
1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2540              		.loc 1 1393 5 discriminator 2 view .LVU833
 2541 002a 0123     		movs	r3, #1
 2542 002c 80F84030 		strb	r3, [r0, #64]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 189


1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2543              		.loc 1 1393 5 view .LVU834
1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2544              		.loc 1 1396 5 view .LVU835
1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2545              		.loc 1 1396 17 is_stmt 0 view .LVU836
 2546 0030 FFF7FEFF 		bl	HAL_GetTick
 2547              	.LVL178:
1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2548              		.loc 1 1396 17 view .LVU837
 2549 0034 0646     		mov	r6, r0
 2550              	.LVL179:
1398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 2551              		.loc 1 1398 5 is_stmt 1 view .LVU838
1398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 2552              		.loc 1 1398 21 is_stmt 0 view .LVU839
 2553 0036 2123     		movs	r3, #33
 2554 0038 84F84130 		strb	r3, [r4, #65]
1399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 2555              		.loc 1 1399 5 is_stmt 1 view .LVU840
1399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 2556              		.loc 1 1399 21 is_stmt 0 view .LVU841
 2557 003c 2023     		movs	r3, #32
 2558 003e 84F84230 		strb	r3, [r4, #66]
1400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2559              		.loc 1 1400 5 is_stmt 1 view .LVU842
1400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2560              		.loc 1 1400 21 is_stmt 0 view .LVU843
 2561 0042 0022     		movs	r2, #0
 2562 0044 6264     		str	r2, [r4, #68]
1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 2563              		.loc 1 1403 5 is_stmt 1 view .LVU844
1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 2564              		.loc 1 1403 21 is_stmt 0 view .LVU845
 2565 0046 C4F82480 		str	r8, [r4, #36]
1404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 2566              		.loc 1 1404 5 is_stmt 1 view .LVU846
1404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 2567              		.loc 1 1404 21 is_stmt 0 view .LVU847
 2568 004a 6785     		strh	r7, [r4, #42]	@ movhi
1405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2569              		.loc 1 1405 5 is_stmt 1 view .LVU848
1405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2570              		.loc 1 1405 21 is_stmt 0 view .LVU849
 2571 004c 6263     		str	r2, [r4, #52]
1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2572              		.loc 1 1408 5 is_stmt 1 view .LVU850
1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2573              		.loc 1 1408 9 is_stmt 0 view .LVU851
 2574 004e 2168     		ldr	r1, [r4]
1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2575              		.loc 1 1408 19 view .LVU852
 2576 0050 4B68     		ldr	r3, [r1, #4]
1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2577              		.loc 1 1408 25 view .LVU853
 2578 0052 23F40043 		bic	r3, r3, #32768
 2579 0056 4B60     		str	r3, [r1, #4]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 190


1411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2580              		.loc 1 1411 5 is_stmt 1 view .LVU854
1411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2581              		.loc 1 1411 9 is_stmt 0 view .LVU855
 2582 0058 0090     		str	r0, [sp]
 2583 005a 2B46     		mov	r3, r5
 2584 005c 0821     		movs	r1, #8
 2585 005e 2046     		mov	r0, r4
 2586              	.LVL180:
1411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2587              		.loc 1 1411 9 view .LVU856
 2588 0060 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 2589              	.LVL181:
1411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2590              		.loc 1 1411 8 discriminator 1 view .LVU857
 2591 0064 0028     		cmp	r0, #0
 2592 0066 35D1     		bne	.L206
1419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2593              		.loc 1 1419 5 is_stmt 1 view .LVU858
1419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2594              		.loc 1 1419 19 is_stmt 0 view .LVU859
 2595 0068 236A     		ldr	r3, [r4, #32]
1419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2596              		.loc 1 1419 8 view .LVU860
 2597 006a B3F5003F 		cmp	r3, #131072
 2598 006e 38D0     		beq	.L207
 2599              	.L191:
1432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2600              		.loc 1 1432 5 is_stmt 1 view .LVU861
 2601 0070 2368     		ldr	r3, [r4]
 2602 0072 0822     		movs	r2, #8
 2603 0074 DA61     		str	r2, [r3, #28]
1435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2604              		.loc 1 1435 5 view .LVU862
1435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2605              		.loc 1 1435 19 is_stmt 0 view .LVU863
 2606 0076 E368     		ldr	r3, [r4, #12]
1435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2607              		.loc 1 1435 8 view .LVU864
 2608 0078 022B     		cmp	r3, #2
 2609 007a 3FD0     		beq	.L208
 2610              	.L192:
1450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2611              		.loc 1 1450 5 is_stmt 1 view .LVU865
1450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2612              		.loc 1 1450 9 is_stmt 0 view .LVU866
 2613 007c 0096     		str	r6, [sp]
 2614 007e 2B46     		mov	r3, r5
 2615 0080 0022     		movs	r2, #0
 2616 0082 4FF48031 		mov	r1, #65536
 2617 0086 2046     		mov	r0, r4
 2618 0088 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 2619              	.LVL182:
1450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2620              		.loc 1 1450 8 discriminator 1 view .LVU867
 2621 008c 0028     		cmp	r0, #0
 2622 008e 48D1     		bne	.L209
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 191


 2623              	.L194:
1457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2624              		.loc 1 1457 28 is_stmt 1 view .LVU868
1457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2625              		.loc 1 1457 16 is_stmt 0 view .LVU869
 2626 0090 638D     		ldrh	r3, [r4, #42]
 2627 0092 9BB2     		uxth	r3, r3
1457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2628              		.loc 1 1457 28 view .LVU870
 2629 0094 002B     		cmp	r3, #0
 2630 0096 52D0     		beq	.L210
1460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2631              		.loc 1 1460 7 is_stmt 1 view .LVU871
1460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2632              		.loc 1 1460 11 is_stmt 0 view .LVU872
 2633 0098 3246     		mov	r2, r6
 2634 009a 2946     		mov	r1, r5
 2635 009c 2046     		mov	r0, r4
 2636 009e FFF7FEFF 		bl	I2C_WaitOnTXISFlagUntilTimeout
 2637              	.LVL183:
1460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2638              		.loc 1 1460 10 discriminator 1 view .LVU873
 2639 00a2 0028     		cmp	r0, #0
 2640 00a4 44D1     		bne	.L211
1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2641              		.loc 1 1468 7 is_stmt 1 view .LVU874
1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2642              		.loc 1 1468 35 is_stmt 0 view .LVU875
 2643 00a6 626A     		ldr	r2, [r4, #36]
1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2644              		.loc 1 1468 11 view .LVU876
 2645 00a8 2368     		ldr	r3, [r4]
1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2646              		.loc 1 1468 30 view .LVU877
 2647 00aa 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2648              		.loc 1 1468 28 view .LVU878
 2649 00ac 9A62     		str	r2, [r3, #40]
1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2650              		.loc 1 1471 7 is_stmt 1 view .LVU879
1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2651              		.loc 1 1471 11 is_stmt 0 view .LVU880
 2652 00ae 636A     		ldr	r3, [r4, #36]
1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2653              		.loc 1 1471 21 view .LVU881
 2654 00b0 0133     		adds	r3, r3, #1
 2655 00b2 6362     		str	r3, [r4, #36]
1473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2656              		.loc 1 1473 7 is_stmt 1 view .LVU882
1473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2657              		.loc 1 1473 11 is_stmt 0 view .LVU883
 2658 00b4 B4F82AC0 		ldrh	ip, [r4, #42]
 2659 00b8 1FFA8CFC 		uxth	ip, ip
1473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2660              		.loc 1 1473 22 view .LVU884
 2661 00bc 0CF1FF3C 		add	ip, ip, #-1
 2662 00c0 1FFA8CFC 		uxth	ip, ip
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 192


 2663 00c4 A4F82AC0 		strh	ip, [r4, #42]	@ movhi
 2664 00c8 E2E7     		b	.L194
 2665              	.LVL184:
 2666              	.L205:
1389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 2667              		.loc 1 1389 7 is_stmt 1 view .LVU885
1389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 2668              		.loc 1 1389 23 is_stmt 0 view .LVU886
 2669 00ca 4FF40073 		mov	r3, #512
 2670 00ce 4364     		str	r3, [r0, #68]
1390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2671              		.loc 1 1390 7 is_stmt 1 view .LVU887
1390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2672              		.loc 1 1390 15 is_stmt 0 view .LVU888
 2673 00d0 0120     		movs	r0, #1
 2674              	.LVL185:
1390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2675              		.loc 1 1390 15 view .LVU889
 2676 00d2 80E0     		b	.L188
 2677              	.LVL186:
 2678              	.L206:
1414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2679              		.loc 1 1414 7 is_stmt 1 view .LVU890
1414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2680              		.loc 1 1414 11 is_stmt 0 view .LVU891
 2681 00d4 2268     		ldr	r2, [r4]
1414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2682              		.loc 1 1414 21 view .LVU892
 2683 00d6 5368     		ldr	r3, [r2, #4]
1414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2684              		.loc 1 1414 27 view .LVU893
 2685 00d8 43F40043 		orr	r3, r3, #32768
 2686 00dc 5360     		str	r3, [r2, #4]
1415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2687              		.loc 1 1415 7 is_stmt 1 view .LVU894
1415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2688              		.loc 1 1415 14 is_stmt 0 view .LVU895
 2689 00de 0120     		movs	r0, #1
 2690 00e0 79E0     		b	.L188
 2691              	.L207:
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2692              		.loc 1 1423 7 is_stmt 1 view .LVU896
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2693              		.loc 1 1423 35 is_stmt 0 view .LVU897
 2694 00e2 626A     		ldr	r2, [r4, #36]
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2695              		.loc 1 1423 11 view .LVU898
 2696 00e4 2368     		ldr	r3, [r4]
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2697              		.loc 1 1423 30 view .LVU899
 2698 00e6 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2699              		.loc 1 1423 28 view .LVU900
 2700 00e8 9A62     		str	r2, [r3, #40]
1426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2701              		.loc 1 1426 7 is_stmt 1 view .LVU901
1426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 193


 2702              		.loc 1 1426 11 is_stmt 0 view .LVU902
 2703 00ea 636A     		ldr	r3, [r4, #36]
1426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2704              		.loc 1 1426 21 view .LVU903
 2705 00ec 0133     		adds	r3, r3, #1
 2706 00ee 6362     		str	r3, [r4, #36]
1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2707              		.loc 1 1428 7 is_stmt 1 view .LVU904
1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2708              		.loc 1 1428 11 is_stmt 0 view .LVU905
 2709 00f0 638D     		ldrh	r3, [r4, #42]
 2710 00f2 9BB2     		uxth	r3, r3
1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2711              		.loc 1 1428 22 view .LVU906
 2712 00f4 013B     		subs	r3, r3, #1
 2713 00f6 9BB2     		uxth	r3, r3
 2714 00f8 6385     		strh	r3, [r4, #42]	@ movhi
 2715 00fa B9E7     		b	.L191
 2716              	.L208:
1438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2717              		.loc 1 1438 7 is_stmt 1 view .LVU907
1438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2718              		.loc 1 1438 11 is_stmt 0 view .LVU908
 2719 00fc 0096     		str	r6, [sp]
 2720 00fe 2B46     		mov	r3, r5
 2721 0100 0022     		movs	r2, #0
 2722 0102 0821     		movs	r1, #8
 2723 0104 2046     		mov	r0, r4
 2724 0106 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 2725              	.LVL187:
1438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2726              		.loc 1 1438 10 discriminator 1 view .LVU909
 2727 010a 18B9     		cbnz	r0, .L212
1446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2728              		.loc 1 1446 7 is_stmt 1 view .LVU910
 2729 010c 2368     		ldr	r3, [r4]
 2730 010e 0822     		movs	r2, #8
 2731 0110 DA61     		str	r2, [r3, #28]
 2732 0112 B3E7     		b	.L192
 2733              	.L212:
1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2734              		.loc 1 1441 9 view .LVU911
1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2735              		.loc 1 1441 13 is_stmt 0 view .LVU912
 2736 0114 2268     		ldr	r2, [r4]
1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2737              		.loc 1 1441 23 view .LVU913
 2738 0116 5368     		ldr	r3, [r2, #4]
1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2739              		.loc 1 1441 29 view .LVU914
 2740 0118 43F40043 		orr	r3, r3, #32768
 2741 011c 5360     		str	r3, [r2, #4]
1442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2742              		.loc 1 1442 9 is_stmt 1 view .LVU915
1442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2743              		.loc 1 1442 16 is_stmt 0 view .LVU916
 2744 011e 0120     		movs	r0, #1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 194


 2745 0120 59E0     		b	.L188
 2746              	.L209:
1453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2747              		.loc 1 1453 7 is_stmt 1 view .LVU917
1453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2748              		.loc 1 1453 11 is_stmt 0 view .LVU918
 2749 0122 2268     		ldr	r2, [r4]
1453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2750              		.loc 1 1453 21 view .LVU919
 2751 0124 5368     		ldr	r3, [r2, #4]
1453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2752              		.loc 1 1453 27 view .LVU920
 2753 0126 43F40043 		orr	r3, r3, #32768
 2754 012a 5360     		str	r3, [r2, #4]
1454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2755              		.loc 1 1454 7 is_stmt 1 view .LVU921
1454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2756              		.loc 1 1454 14 is_stmt 0 view .LVU922
 2757 012c 0120     		movs	r0, #1
 2758 012e 52E0     		b	.L188
 2759              	.L211:
1463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2760              		.loc 1 1463 9 is_stmt 1 view .LVU923
1463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2761              		.loc 1 1463 13 is_stmt 0 view .LVU924
 2762 0130 2268     		ldr	r2, [r4]
1463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2763              		.loc 1 1463 23 view .LVU925
 2764 0132 5368     		ldr	r3, [r2, #4]
1463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2765              		.loc 1 1463 29 view .LVU926
 2766 0134 43F40043 		orr	r3, r3, #32768
 2767 0138 5360     		str	r3, [r2, #4]
1464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2768              		.loc 1 1464 9 is_stmt 1 view .LVU927
1464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2769              		.loc 1 1464 16 is_stmt 0 view .LVU928
 2770 013a 0120     		movs	r0, #1
 2771 013c 4BE0     		b	.L188
 2772              	.L210:
1477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2773              		.loc 1 1477 5 is_stmt 1 view .LVU929
1477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2774              		.loc 1 1477 13 is_stmt 0 view .LVU930
 2775 013e 0096     		str	r6, [sp]
 2776 0140 2B46     		mov	r3, r5
 2777 0142 0022     		movs	r2, #0
 2778 0144 1021     		movs	r1, #16
 2779 0146 2046     		mov	r0, r4
 2780 0148 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 2781              	.LVL188:
1479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2782              		.loc 1 1479 5 is_stmt 1 view .LVU931
1479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2783              		.loc 1 1479 8 is_stmt 0 view .LVU932
 2784 014c E8B1     		cbz	r0, .L197
1485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 195


 2785              		.loc 1 1485 7 is_stmt 1 view .LVU933
1485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U))
 2786              		.loc 1 1485 20 is_stmt 0 view .LVU934
 2787 014e 638D     		ldrh	r3, [r4, #42]
 2788 0150 9BB2     		uxth	r3, r3
 2789              	.LVL189:
1486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2790              		.loc 1 1486 7 is_stmt 1 view .LVU935
1486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2791              		.loc 1 1486 16 is_stmt 0 view .LVU936
 2792 0152 626C     		ldr	r2, [r4, #68]
1486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2793              		.loc 1 1486 10 view .LVU937
 2794 0154 042A     		cmp	r2, #4
 2795 0156 11D1     		bne	.L198
1486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2796              		.loc 1 1486 49 discriminator 1 view .LVU938
 2797 0158 83B9     		cbnz	r3, .L198
1489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2798              		.loc 1 1489 9 is_stmt 1 view .LVU939
1489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2799              		.loc 1 1489 25 is_stmt 0 view .LVU940
 2800 015a 6364     		str	r3, [r4, #68]
 2801              	.LVL190:
 2802              	.L199:
1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2803              		.loc 1 1520 5 is_stmt 1 view .LVU941
1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2804              		.loc 1 1520 9 is_stmt 0 view .LVU942
 2805 015c 0096     		str	r6, [sp]
 2806 015e 2B46     		mov	r3, r5
 2807 0160 0122     		movs	r2, #1
 2808 0162 4FF40041 		mov	r1, #32768
 2809 0166 2046     		mov	r0, r4
 2810 0168 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 2811              	.LVL191:
1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2812              		.loc 1 1520 8 discriminator 1 view .LVU943
 2813 016c 20B3     		cbz	r0, .L201
1523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2814              		.loc 1 1523 7 is_stmt 1 view .LVU944
1523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2815              		.loc 1 1523 11 is_stmt 0 view .LVU945
 2816 016e 2268     		ldr	r2, [r4]
1523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2817              		.loc 1 1523 21 view .LVU946
 2818 0170 5368     		ldr	r3, [r2, #4]
1523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 2819              		.loc 1 1523 27 view .LVU947
 2820 0172 43F40043 		orr	r3, r3, #32768
 2821 0176 5360     		str	r3, [r2, #4]
1524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2822              		.loc 1 1524 7 is_stmt 1 view .LVU948
1524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2823              		.loc 1 1524 14 is_stmt 0 view .LVU949
 2824 0178 0120     		movs	r0, #1
 2825 017a 2CE0     		b	.L188
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 196


 2826              	.LVL192:
 2827              	.L198:
1494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2828              		.loc 1 1494 9 is_stmt 1 view .LVU950
1494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2829              		.loc 1 1494 13 is_stmt 0 view .LVU951
 2830 017c 2268     		ldr	r2, [r4]
1494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2831              		.loc 1 1494 23 view .LVU952
 2832 017e 5368     		ldr	r3, [r2, #4]
 2833              	.LVL193:
1494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         return HAL_ERROR;
 2834              		.loc 1 1494 29 view .LVU953
 2835 0180 43F40043 		orr	r3, r3, #32768
 2836 0184 5360     		str	r3, [r2, #4]
1495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2837              		.loc 1 1495 9 is_stmt 1 view .LVU954
1495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2838              		.loc 1 1495 16 is_stmt 0 view .LVU955
 2839 0186 0120     		movs	r0, #1
 2840              	.LVL194:
1495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2841              		.loc 1 1495 16 view .LVU956
 2842 0188 25E0     		b	.L188
 2843              	.LVL195:
 2844              	.L197:
1501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2845              		.loc 1 1501 7 is_stmt 1 view .LVU957
 2846 018a 2046     		mov	r0, r4
 2847              	.LVL196:
1501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2848              		.loc 1 1501 7 is_stmt 0 view .LVU958
 2849 018c FFF7FEFF 		bl	I2C_Flush_TXDR
 2850              	.LVL197:
1504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2851              		.loc 1 1504 7 is_stmt 1 view .LVU959
 2852 0190 2368     		ldr	r3, [r4]
 2853 0192 1022     		movs	r2, #16
 2854 0194 DA61     		str	r2, [r3, #28]
1507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2855              		.loc 1 1507 7 view .LVU960
1507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2856              		.loc 1 1507 11 is_stmt 0 view .LVU961
 2857 0196 3246     		mov	r2, r6
 2858 0198 2946     		mov	r1, r5
 2859 019a 2046     		mov	r0, r4
 2860 019c FFF7FEFF 		bl	I2C_WaitOnSTOPFlagUntilTimeout
 2861              	.LVL198:
1507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 2862              		.loc 1 1507 10 discriminator 1 view .LVU962
 2863 01a0 18B9     		cbnz	r0, .L213
1516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 2864              		.loc 1 1516 7 is_stmt 1 view .LVU963
 2865 01a2 2368     		ldr	r3, [r4]
 2866 01a4 2022     		movs	r2, #32
 2867 01a6 DA61     		str	r2, [r3, #28]
 2868 01a8 D8E7     		b	.L199
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 197


 2869              	.L213:
1510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2870              		.loc 1 1510 9 view .LVU964
1510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2871              		.loc 1 1510 13 is_stmt 0 view .LVU965
 2872 01aa 2268     		ldr	r2, [r4]
1510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2873              		.loc 1 1510 23 view .LVU966
 2874 01ac 5368     		ldr	r3, [r2, #4]
1510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2875              		.loc 1 1510 29 view .LVU967
 2876 01ae 43F40043 		orr	r3, r3, #32768
 2877 01b2 5360     		str	r3, [r2, #4]
1512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2878              		.loc 1 1512 9 is_stmt 1 view .LVU968
1512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 2879              		.loc 1 1512 16 is_stmt 0 view .LVU969
 2880 01b4 0120     		movs	r0, #1
 2881 01b6 0EE0     		b	.L188
 2882              	.L201:
1528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2883              		.loc 1 1528 5 is_stmt 1 view .LVU970
1528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2884              		.loc 1 1528 9 is_stmt 0 view .LVU971
 2885 01b8 2268     		ldr	r2, [r4]
1528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2886              		.loc 1 1528 19 view .LVU972
 2887 01ba 5368     		ldr	r3, [r2, #4]
1528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2888              		.loc 1 1528 25 view .LVU973
 2889 01bc 43F40043 		orr	r3, r3, #32768
 2890 01c0 5360     		str	r3, [r2, #4]
1530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 2891              		.loc 1 1530 5 is_stmt 1 view .LVU974
1530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 2892              		.loc 1 1530 17 is_stmt 0 view .LVU975
 2893 01c2 2023     		movs	r3, #32
 2894 01c4 84F84130 		strb	r3, [r4, #65]
1531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2895              		.loc 1 1531 5 is_stmt 1 view .LVU976
1531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2896              		.loc 1 1531 17 is_stmt 0 view .LVU977
 2897 01c8 0023     		movs	r3, #0
 2898 01ca 84F84230 		strb	r3, [r4, #66]
1534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2899              		.loc 1 1534 5 is_stmt 1 view .LVU978
1534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2900              		.loc 1 1534 5 view .LVU979
 2901 01ce 84F84030 		strb	r3, [r4, #64]
1534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2902              		.loc 1 1534 5 view .LVU980
1536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 2903              		.loc 1 1536 5 view .LVU981
1536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 2904              		.loc 1 1536 12 is_stmt 0 view .LVU982
 2905 01d2 00E0     		b	.L188
 2906              	.LVL199:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 198


 2907              	.L202:
1540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 2908              		.loc 1 1540 12 view .LVU983
 2909 01d4 0220     		movs	r0, #2
 2910              	.LVL200:
 2911              	.L188:
1542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2912              		.loc 1 1542 1 view .LVU984
 2913 01d6 02B0     		add	sp, sp, #8
 2914              		.cfi_remember_state
 2915              		.cfi_def_cfa_offset 24
 2916              		@ sp needed
 2917 01d8 BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 2918              	.LVL201:
 2919              	.L203:
 2920              		.cfi_restore_state
1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2921              		.loc 1 1393 5 discriminator 1 view .LVU985
 2922 01dc 0220     		movs	r0, #2
 2923              	.LVL202:
1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2924              		.loc 1 1393 5 discriminator 1 view .LVU986
 2925 01de FAE7     		b	.L188
 2926              		.cfi_endproc
 2927              	.LFE341:
 2929              		.section	.text.HAL_I2C_Slave_Receive,"ax",%progbits
 2930              		.align	1
 2931              		.global	HAL_I2C_Slave_Receive
 2932              		.syntax unified
 2933              		.thumb
 2934              		.thumb_func
 2936              	HAL_I2C_Slave_Receive:
 2937              	.LVL203:
 2938              	.LFB342:
1555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 2939              		.loc 1 1555 1 is_stmt 1 view -0
 2940              		.cfi_startproc
 2941              		@ args = 0, pretend = 0, frame = 0
 2942              		@ frame_needed = 0, uses_anonymous_args = 0
1555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 2943              		.loc 1 1555 1 is_stmt 0 view .LVU988
 2944 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 2945              		.cfi_def_cfa_offset 24
 2946              		.cfi_offset 4, -24
 2947              		.cfi_offset 5, -20
 2948              		.cfi_offset 6, -16
 2949              		.cfi_offset 7, -12
 2950              		.cfi_offset 8, -8
 2951              		.cfi_offset 14, -4
 2952 0004 82B0     		sub	sp, sp, #8
 2953              		.cfi_def_cfa_offset 32
 2954 0006 1D46     		mov	r5, r3
1556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2955              		.loc 1 1556 3 is_stmt 1 view .LVU989
1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 2956              		.loc 1 1558 3 view .LVU990
1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 199


 2957              		.loc 1 1558 11 is_stmt 0 view .LVU991
 2958 0008 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
 2959              	.LVL204:
1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 2960              		.loc 1 1558 6 view .LVU992
 2961 000c 202B     		cmp	r3, #32
 2962 000e 40F0B280 		bne	.L224
 2963 0012 0446     		mov	r4, r0
 2964 0014 8846     		mov	r8, r1
 2965 0016 1746     		mov	r7, r2
1560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2966              		.loc 1 1560 5 is_stmt 1 view .LVU993
1560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 2967              		.loc 1 1560 8 is_stmt 0 view .LVU994
 2968 0018 002A     		cmp	r2, #0
 2969 001a 18BF     		it	ne
 2970 001c 0029     		cmpne	r1, #0
 2971 001e 2BD0     		beq	.L227
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2972              		.loc 1 1566 5 is_stmt 1 view .LVU995
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2973              		.loc 1 1566 5 view .LVU996
 2974 0020 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 2975 0024 012B     		cmp	r3, #1
 2976 0026 00F0AA80 		beq	.L225
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2977              		.loc 1 1566 5 discriminator 2 view .LVU997
 2978 002a 0123     		movs	r3, #1
 2979 002c 80F84030 		strb	r3, [r0, #64]
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2980              		.loc 1 1566 5 view .LVU998
1569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2981              		.loc 1 1569 5 view .LVU999
1569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2982              		.loc 1 1569 17 is_stmt 0 view .LVU1000
 2983 0030 FFF7FEFF 		bl	HAL_GetTick
 2984              	.LVL205:
1569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2985              		.loc 1 1569 17 view .LVU1001
 2986 0034 0646     		mov	r6, r0
 2987              	.LVL206:
1571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 2988              		.loc 1 1571 5 is_stmt 1 view .LVU1002
1571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 2989              		.loc 1 1571 21 is_stmt 0 view .LVU1003
 2990 0036 2223     		movs	r3, #34
 2991 0038 84F84130 		strb	r3, [r4, #65]
1572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 2992              		.loc 1 1572 5 is_stmt 1 view .LVU1004
1572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 2993              		.loc 1 1572 21 is_stmt 0 view .LVU1005
 2994 003c 2023     		movs	r3, #32
 2995 003e 84F84230 		strb	r3, [r4, #66]
1573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2996              		.loc 1 1573 5 is_stmt 1 view .LVU1006
1573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 2997              		.loc 1 1573 21 is_stmt 0 view .LVU1007
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 200


 2998 0042 0022     		movs	r2, #0
 2999 0044 6264     		str	r2, [r4, #68]
1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 3000              		.loc 1 1576 5 is_stmt 1 view .LVU1008
1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 3001              		.loc 1 1576 21 is_stmt 0 view .LVU1009
 3002 0046 C4F82480 		str	r8, [r4, #36]
1577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize = hi2c->XferCount;
 3003              		.loc 1 1577 5 is_stmt 1 view .LVU1010
1577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize = hi2c->XferCount;
 3004              		.loc 1 1577 21 is_stmt 0 view .LVU1011
 3005 004a 6785     		strh	r7, [r4, #42]	@ movhi
1578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 3006              		.loc 1 1578 5 is_stmt 1 view .LVU1012
1578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 3007              		.loc 1 1578 26 is_stmt 0 view .LVU1013
 3008 004c 638D     		ldrh	r3, [r4, #42]
1578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 3009              		.loc 1 1578 20 view .LVU1014
 3010 004e 2385     		strh	r3, [r4, #40]	@ movhi
1579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3011              		.loc 1 1579 5 is_stmt 1 view .LVU1015
1579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3012              		.loc 1 1579 21 is_stmt 0 view .LVU1016
 3013 0050 6263     		str	r2, [r4, #52]
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3014              		.loc 1 1582 5 is_stmt 1 view .LVU1017
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3015              		.loc 1 1582 9 is_stmt 0 view .LVU1018
 3016 0052 2168     		ldr	r1, [r4]
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3017              		.loc 1 1582 19 view .LVU1019
 3018 0054 4B68     		ldr	r3, [r1, #4]
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3019              		.loc 1 1582 25 view .LVU1020
 3020 0056 23F40043 		bic	r3, r3, #32768
 3021 005a 4B60     		str	r3, [r1, #4]
1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3022              		.loc 1 1585 5 is_stmt 1 view .LVU1021
1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3023              		.loc 1 1585 9 is_stmt 0 view .LVU1022
 3024 005c 0090     		str	r0, [sp]
 3025 005e 2B46     		mov	r3, r5
 3026 0060 0821     		movs	r1, #8
 3027 0062 2046     		mov	r0, r4
 3028              	.LVL207:
1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3029              		.loc 1 1585 9 view .LVU1023
 3030 0064 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 3031              	.LVL208:
1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3032              		.loc 1 1585 8 discriminator 1 view .LVU1024
 3033 0068 58B1     		cbz	r0, .L217
1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3034              		.loc 1 1588 7 is_stmt 1 view .LVU1025
1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3035              		.loc 1 1588 11 is_stmt 0 view .LVU1026
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 201


 3036 006a 2268     		ldr	r2, [r4]
1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3037              		.loc 1 1588 21 view .LVU1027
 3038 006c 5368     		ldr	r3, [r2, #4]
1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3039              		.loc 1 1588 27 view .LVU1028
 3040 006e 43F40043 		orr	r3, r3, #32768
 3041 0072 5360     		str	r3, [r2, #4]
1589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3042              		.loc 1 1589 7 is_stmt 1 view .LVU1029
1589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3043              		.loc 1 1589 14 is_stmt 0 view .LVU1030
 3044 0074 0120     		movs	r0, #1
 3045 0076 7FE0     		b	.L215
 3046              	.LVL209:
 3047              	.L227:
1562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 3048              		.loc 1 1562 7 is_stmt 1 view .LVU1031
1562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 3049              		.loc 1 1562 23 is_stmt 0 view .LVU1032
 3050 0078 4FF40073 		mov	r3, #512
 3051 007c 4364     		str	r3, [r0, #68]
1563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3052              		.loc 1 1563 7 is_stmt 1 view .LVU1033
1563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3053              		.loc 1 1563 15 is_stmt 0 view .LVU1034
 3054 007e 0120     		movs	r0, #1
 3055              	.LVL210:
1563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3056              		.loc 1 1563 15 view .LVU1035
 3057 0080 7AE0     		b	.L215
 3058              	.LVL211:
 3059              	.L217:
1593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3060              		.loc 1 1593 5 is_stmt 1 view .LVU1036
 3061 0082 2368     		ldr	r3, [r4]
 3062 0084 0822     		movs	r2, #8
 3063 0086 DA61     		str	r2, [r3, #28]
1596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3064              		.loc 1 1596 5 view .LVU1037
1596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3065              		.loc 1 1596 9 is_stmt 0 view .LVU1038
 3066 0088 0096     		str	r6, [sp]
 3067 008a 2B46     		mov	r3, r5
 3068 008c 0122     		movs	r2, #1
 3069 008e 4FF48031 		mov	r1, #65536
 3070 0092 2046     		mov	r0, r4
 3071 0094 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 3072              	.LVL212:
1596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3073              		.loc 1 1596 8 discriminator 1 view .LVU1039
 3074 0098 F0B9     		cbnz	r0, .L228
 3075              	.L218:
1603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3076              		.loc 1 1603 28 is_stmt 1 view .LVU1040
1603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3077              		.loc 1 1603 16 is_stmt 0 view .LVU1041
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 202


 3078 009a 638D     		ldrh	r3, [r4, #42]
 3079 009c 9BB2     		uxth	r3, r3
1603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3080              		.loc 1 1603 28 view .LVU1042
 3081 009e 002B     		cmp	r3, #0
 3082 00a0 3BD0     		beq	.L229
1606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 3083              		.loc 1 1606 7 is_stmt 1 view .LVU1043
1606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 3084              		.loc 1 1606 11 is_stmt 0 view .LVU1044
 3085 00a2 3246     		mov	r2, r6
 3086 00a4 2946     		mov	r1, r5
 3087 00a6 2046     		mov	r0, r4
 3088 00a8 FFF7FEFF 		bl	I2C_WaitOnRXNEFlagUntilTimeout
 3089              	.LVL213:
1606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 3090              		.loc 1 1606 10 discriminator 1 view .LVU1045
 3091 00ac D8B9     		cbnz	r0, .L230
1628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3092              		.loc 1 1628 7 is_stmt 1 view .LVU1046
1628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3093              		.loc 1 1628 38 is_stmt 0 view .LVU1047
 3094 00ae 2368     		ldr	r3, [r4]
1628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3095              		.loc 1 1628 48 view .LVU1048
 3096 00b0 5A6A     		ldr	r2, [r3, #36]
1628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3097              		.loc 1 1628 12 view .LVU1049
 3098 00b2 636A     		ldr	r3, [r4, #36]
1628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3099              		.loc 1 1628 23 view .LVU1050
 3100 00b4 1A70     		strb	r2, [r3]
1631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3101              		.loc 1 1631 7 is_stmt 1 view .LVU1051
1631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3102              		.loc 1 1631 11 is_stmt 0 view .LVU1052
 3103 00b6 636A     		ldr	r3, [r4, #36]
1631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3104              		.loc 1 1631 21 view .LVU1053
 3105 00b8 0133     		adds	r3, r3, #1
 3106 00ba 6362     		str	r3, [r4, #36]
1633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 3107              		.loc 1 1633 7 is_stmt 1 view .LVU1054
1633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 3108              		.loc 1 1633 11 is_stmt 0 view .LVU1055
 3109 00bc B4F82AC0 		ldrh	ip, [r4, #42]
 3110 00c0 1FFA8CFC 		uxth	ip, ip
1633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 3111              		.loc 1 1633 22 view .LVU1056
 3112 00c4 0CF1FF3C 		add	ip, ip, #-1
 3113 00c8 1FFA8CFC 		uxth	ip, ip
 3114 00cc A4F82AC0 		strh	ip, [r4, #42]	@ movhi
1634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3115              		.loc 1 1634 7 is_stmt 1 view .LVU1057
1634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3116              		.loc 1 1634 11 is_stmt 0 view .LVU1058
 3117 00d0 238D     		ldrh	r3, [r4, #40]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 203


1634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3118              		.loc 1 1634 21 view .LVU1059
 3119 00d2 013B     		subs	r3, r3, #1
 3120 00d4 2385     		strh	r3, [r4, #40]	@ movhi
 3121 00d6 E0E7     		b	.L218
 3122              	.L228:
1599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3123              		.loc 1 1599 7 is_stmt 1 view .LVU1060
1599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3124              		.loc 1 1599 11 is_stmt 0 view .LVU1061
 3125 00d8 2268     		ldr	r2, [r4]
1599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3126              		.loc 1 1599 21 view .LVU1062
 3127 00da 5368     		ldr	r3, [r2, #4]
1599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3128              		.loc 1 1599 27 view .LVU1063
 3129 00dc 43F40043 		orr	r3, r3, #32768
 3130 00e0 5360     		str	r3, [r2, #4]
1600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3131              		.loc 1 1600 7 is_stmt 1 view .LVU1064
1600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3132              		.loc 1 1600 14 is_stmt 0 view .LVU1065
 3133 00e2 0120     		movs	r0, #1
 3134 00e4 48E0     		b	.L215
 3135              	.L230:
1609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3136              		.loc 1 1609 9 is_stmt 1 view .LVU1066
1609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3137              		.loc 1 1609 13 is_stmt 0 view .LVU1067
 3138 00e6 2268     		ldr	r2, [r4]
1609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3139              		.loc 1 1609 23 view .LVU1068
 3140 00e8 5368     		ldr	r3, [r2, #4]
1609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3141              		.loc 1 1609 29 view .LVU1069
 3142 00ea 43F40043 		orr	r3, r3, #32768
 3143 00ee 5360     		str	r3, [r2, #4]
1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 3144              		.loc 1 1612 9 is_stmt 1 view .LVU1070
1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 3145              		.loc 1 1612 13 is_stmt 0 view .LVU1071
 3146 00f0 2368     		ldr	r3, [r4]
 3147 00f2 9A69     		ldr	r2, [r3, #24]
1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 3148              		.loc 1 1612 12 view .LVU1072
 3149 00f4 12F0040F 		tst	r2, #4
 3150 00f8 0DD0     		beq	.L220
1615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3151              		.loc 1 1615 11 is_stmt 1 view .LVU1073
1615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3152              		.loc 1 1615 52 is_stmt 0 view .LVU1074
 3153 00fa 5A6A     		ldr	r2, [r3, #36]
1615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3154              		.loc 1 1615 16 view .LVU1075
 3155 00fc 636A     		ldr	r3, [r4, #36]
1615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3156              		.loc 1 1615 27 view .LVU1076
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 204


 3157 00fe 1A70     		strb	r2, [r3]
1618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3158              		.loc 1 1618 11 is_stmt 1 view .LVU1077
1618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3159              		.loc 1 1618 15 is_stmt 0 view .LVU1078
 3160 0100 636A     		ldr	r3, [r4, #36]
1618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3161              		.loc 1 1618 25 view .LVU1079
 3162 0102 0133     		adds	r3, r3, #1
 3163 0104 6362     		str	r3, [r4, #36]
1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize--;
 3164              		.loc 1 1620 11 is_stmt 1 view .LVU1080
1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize--;
 3165              		.loc 1 1620 15 is_stmt 0 view .LVU1081
 3166 0106 638D     		ldrh	r3, [r4, #42]
 3167 0108 9BB2     		uxth	r3, r3
1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->XferSize--;
 3168              		.loc 1 1620 26 view .LVU1082
 3169 010a 013B     		subs	r3, r3, #1
 3170 010c 9BB2     		uxth	r3, r3
 3171 010e 6385     		strh	r3, [r4, #42]	@ movhi
1621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 3172              		.loc 1 1621 11 is_stmt 1 view .LVU1083
1621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 3173              		.loc 1 1621 15 is_stmt 0 view .LVU1084
 3174 0110 238D     		ldrh	r3, [r4, #40]
1621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 3175              		.loc 1 1621 25 view .LVU1085
 3176 0112 013B     		subs	r3, r3, #1
 3177 0114 2385     		strh	r3, [r4, #40]	@ movhi
 3178              	.L220:
1624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 3179              		.loc 1 1624 9 is_stmt 1 view .LVU1086
1624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 3180              		.loc 1 1624 16 is_stmt 0 view .LVU1087
 3181 0116 0120     		movs	r0, #1
 3182 0118 2EE0     		b	.L215
 3183              	.L229:
1638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3184              		.loc 1 1638 5 is_stmt 1 view .LVU1088
1638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3185              		.loc 1 1638 9 is_stmt 0 view .LVU1089
 3186 011a 3246     		mov	r2, r6
 3187 011c 2946     		mov	r1, r5
 3188 011e 2046     		mov	r0, r4
 3189 0120 FFF7FEFF 		bl	I2C_WaitOnSTOPFlagUntilTimeout
 3190              	.LVL214:
1638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3191              		.loc 1 1638 8 discriminator 1 view .LVU1090
 3192 0124 30B1     		cbz	r0, .L222
1641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3193              		.loc 1 1641 7 is_stmt 1 view .LVU1091
1641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3194              		.loc 1 1641 11 is_stmt 0 view .LVU1092
 3195 0126 2268     		ldr	r2, [r4]
1641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3196              		.loc 1 1641 21 view .LVU1093
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 205


 3197 0128 5368     		ldr	r3, [r2, #4]
1641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3198              		.loc 1 1641 27 view .LVU1094
 3199 012a 43F40043 		orr	r3, r3, #32768
 3200 012e 5360     		str	r3, [r2, #4]
1642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3201              		.loc 1 1642 7 is_stmt 1 view .LVU1095
1642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3202              		.loc 1 1642 14 is_stmt 0 view .LVU1096
 3203 0130 0120     		movs	r0, #1
 3204 0132 21E0     		b	.L215
 3205              	.L222:
1646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3206              		.loc 1 1646 5 is_stmt 1 view .LVU1097
 3207 0134 2368     		ldr	r3, [r4]
 3208 0136 2022     		movs	r2, #32
 3209 0138 DA61     		str	r2, [r3, #28]
1649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3210              		.loc 1 1649 5 view .LVU1098
1649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3211              		.loc 1 1649 9 is_stmt 0 view .LVU1099
 3212 013a 0096     		str	r6, [sp]
 3213 013c 2B46     		mov	r3, r5
 3214 013e 0122     		movs	r2, #1
 3215 0140 4FF40041 		mov	r1, #32768
 3216 0144 2046     		mov	r0, r4
 3217 0146 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 3218              	.LVL215:
1649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3219              		.loc 1 1649 8 discriminator 1 view .LVU1100
 3220 014a 30B1     		cbz	r0, .L223
1652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3221              		.loc 1 1652 7 is_stmt 1 view .LVU1101
1652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3222              		.loc 1 1652 11 is_stmt 0 view .LVU1102
 3223 014c 2268     		ldr	r2, [r4]
1652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3224              		.loc 1 1652 21 view .LVU1103
 3225 014e 5368     		ldr	r3, [r2, #4]
1652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 3226              		.loc 1 1652 27 view .LVU1104
 3227 0150 43F40043 		orr	r3, r3, #32768
 3228 0154 5360     		str	r3, [r2, #4]
1653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3229              		.loc 1 1653 7 is_stmt 1 view .LVU1105
1653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3230              		.loc 1 1653 14 is_stmt 0 view .LVU1106
 3231 0156 0120     		movs	r0, #1
 3232 0158 0EE0     		b	.L215
 3233              	.L223:
1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3234              		.loc 1 1657 5 is_stmt 1 view .LVU1107
1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3235              		.loc 1 1657 9 is_stmt 0 view .LVU1108
 3236 015a 2268     		ldr	r2, [r4]
1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3237              		.loc 1 1657 19 view .LVU1109
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 206


 3238 015c 5368     		ldr	r3, [r2, #4]
1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3239              		.loc 1 1657 25 view .LVU1110
 3240 015e 43F40043 		orr	r3, r3, #32768
 3241 0162 5360     		str	r3, [r2, #4]
1659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 3242              		.loc 1 1659 5 is_stmt 1 view .LVU1111
1659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 3243              		.loc 1 1659 17 is_stmt 0 view .LVU1112
 3244 0164 2023     		movs	r3, #32
 3245 0166 84F84130 		strb	r3, [r4, #65]
1660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3246              		.loc 1 1660 5 is_stmt 1 view .LVU1113
1660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3247              		.loc 1 1660 17 is_stmt 0 view .LVU1114
 3248 016a 0023     		movs	r3, #0
 3249 016c 84F84230 		strb	r3, [r4, #66]
1663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3250              		.loc 1 1663 5 is_stmt 1 view .LVU1115
1663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3251              		.loc 1 1663 5 view .LVU1116
 3252 0170 84F84030 		strb	r3, [r4, #64]
1663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3253              		.loc 1 1663 5 view .LVU1117
1665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3254              		.loc 1 1665 5 view .LVU1118
1665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3255              		.loc 1 1665 12 is_stmt 0 view .LVU1119
 3256 0174 00E0     		b	.L215
 3257              	.LVL216:
 3258              	.L224:
1669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3259              		.loc 1 1669 12 view .LVU1120
 3260 0176 0220     		movs	r0, #2
 3261              	.LVL217:
 3262              	.L215:
1671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3263              		.loc 1 1671 1 view .LVU1121
 3264 0178 02B0     		add	sp, sp, #8
 3265              		.cfi_remember_state
 3266              		.cfi_def_cfa_offset 24
 3267              		@ sp needed
 3268 017a BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 3269              	.LVL218:
 3270              	.L225:
 3271              		.cfi_restore_state
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3272              		.loc 1 1566 5 discriminator 1 view .LVU1122
 3273 017e 0220     		movs	r0, #2
 3274              	.LVL219:
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3275              		.loc 1 1566 5 discriminator 1 view .LVU1123
 3276 0180 FAE7     		b	.L215
 3277              		.cfi_endproc
 3278              	.LFE342:
 3280              		.section	.text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
 3281              		.align	1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 207


 3282              		.global	HAL_I2C_Master_Transmit_IT
 3283              		.syntax unified
 3284              		.thumb
 3285              		.thumb_func
 3287              	HAL_I2C_Master_Transmit_IT:
 3288              	.LVL220:
 3289              	.LFB343:
1685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 3290              		.loc 1 1685 1 is_stmt 1 view -0
 3291              		.cfi_startproc
 3292              		@ args = 0, pretend = 0, frame = 0
 3293              		@ frame_needed = 0, uses_anonymous_args = 0
1685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 3294              		.loc 1 1685 1 is_stmt 0 view .LVU1125
 3295 0000 30B5     		push	{r4, r5, lr}
 3296              		.cfi_def_cfa_offset 12
 3297              		.cfi_offset 4, -12
 3298              		.cfi_offset 5, -8
 3299              		.cfi_offset 14, -4
 3300 0002 83B0     		sub	sp, sp, #12
 3301              		.cfi_def_cfa_offset 24
 3302 0004 0446     		mov	r4, r0
1686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3303              		.loc 1 1686 3 is_stmt 1 view .LVU1126
1688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3304              		.loc 1 1688 3 view .LVU1127
1688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3305              		.loc 1 1688 11 is_stmt 0 view .LVU1128
 3306 0006 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 3307              	.LVL221:
1688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3308              		.loc 1 1688 6 view .LVU1129
 3309 000a 2028     		cmp	r0, #32
 3310 000c 4ED1     		bne	.L237
1690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3311              		.loc 1 1690 5 is_stmt 1 view .LVU1130
1690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3312              		.loc 1 1690 9 is_stmt 0 view .LVU1131
 3313 000e 2068     		ldr	r0, [r4]
 3314 0010 8569     		ldr	r5, [r0, #24]
1690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3315              		.loc 1 1690 8 view .LVU1132
 3316 0012 15F4004F 		tst	r5, #32768
 3317 0016 4BD1     		bne	.L238
1696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3318              		.loc 1 1696 5 is_stmt 1 view .LVU1133
1696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3319              		.loc 1 1696 5 view .LVU1134
 3320 0018 94F84050 		ldrb	r5, [r4, #64]	@ zero_extendqisi2
 3321 001c 012D     		cmp	r5, #1
 3322 001e 49D0     		beq	.L239
1696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3323              		.loc 1 1696 5 discriminator 2 view .LVU1135
 3324 0020 0125     		movs	r5, #1
 3325 0022 84F84050 		strb	r5, [r4, #64]
1696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3326              		.loc 1 1696 5 view .LVU1136
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 208


1698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 3327              		.loc 1 1698 5 view .LVU1137
1698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 3328              		.loc 1 1698 23 is_stmt 0 view .LVU1138
 3329 0026 2125     		movs	r5, #33
 3330 0028 84F84150 		strb	r5, [r4, #65]
1699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3331              		.loc 1 1699 5 is_stmt 1 view .LVU1139
1699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3332              		.loc 1 1699 23 is_stmt 0 view .LVU1140
 3333 002c 1025     		movs	r5, #16
 3334 002e 84F84250 		strb	r5, [r4, #66]
1700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3335              		.loc 1 1700 5 is_stmt 1 view .LVU1141
1700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3336              		.loc 1 1700 23 is_stmt 0 view .LVU1142
 3337 0032 0025     		movs	r5, #0
 3338 0034 6564     		str	r5, [r4, #68]
1703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3339              		.loc 1 1703 5 is_stmt 1 view .LVU1143
1703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3340              		.loc 1 1703 23 is_stmt 0 view .LVU1144
 3341 0036 6262     		str	r2, [r4, #36]
1704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3342              		.loc 1 1704 5 is_stmt 1 view .LVU1145
1704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3343              		.loc 1 1704 23 is_stmt 0 view .LVU1146
 3344 0038 6385     		strh	r3, [r4, #42]	@ movhi
1705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
 3345              		.loc 1 1705 5 is_stmt 1 view .LVU1147
1705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
 3346              		.loc 1 1705 23 is_stmt 0 view .LVU1148
 3347 003a 1F4B     		ldr	r3, .L241
 3348              	.LVL222:
1705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
 3349              		.loc 1 1705 23 view .LVU1149
 3350 003c E362     		str	r3, [r4, #44]
 3351              	.LVL223:
1706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3352              		.loc 1 1706 5 is_stmt 1 view .LVU1150
1706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3353              		.loc 1 1706 23 is_stmt 0 view .LVU1151
 3354 003e 1F4B     		ldr	r3, .L241+4
 3355 0040 6363     		str	r3, [r4, #52]
1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3356              		.loc 1 1708 5 is_stmt 1 view .LVU1152
1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3357              		.loc 1 1708 13 is_stmt 0 view .LVU1153
 3358 0042 638D     		ldrh	r3, [r4, #42]
 3359 0044 9BB2     		uxth	r3, r3
1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3360              		.loc 1 1708 8 view .LVU1154
 3361 0046 FF2B     		cmp	r3, #255
 3362 0048 24D9     		bls	.L233
1710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 3363              		.loc 1 1710 7 is_stmt 1 view .LVU1155
1710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 209


 3364              		.loc 1 1710 22 is_stmt 0 view .LVU1156
 3365 004a FF23     		movs	r3, #255
 3366 004c 2385     		strh	r3, [r4, #40]	@ movhi
1711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3367              		.loc 1 1711 7 is_stmt 1 view .LVU1157
 3368              	.LVL224:
1711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3369              		.loc 1 1711 16 is_stmt 0 view .LVU1158
 3370 004e 4FF08073 		mov	r3, #16777216
 3371              	.LVL225:
 3372              	.L234:
1721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3373              		.loc 1 1721 5 is_stmt 1 view .LVU1159
1721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3374              		.loc 1 1721 13 is_stmt 0 view .LVU1160
 3375 0052 258D     		ldrh	r5, [r4, #40]
1721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3376              		.loc 1 1721 8 view .LVU1161
 3377 0054 1DB3     		cbz	r5, .L235
1725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3378              		.loc 1 1725 7 is_stmt 1 view .LVU1162
1725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3379              		.loc 1 1725 30 is_stmt 0 view .LVU1163
 3380 0056 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
 3381              	.LVL226:
1725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3382              		.loc 1 1725 28 view .LVU1164
 3383 0058 8262     		str	r2, [r0, #40]
 3384              	.LVL227:
1728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3385              		.loc 1 1728 7 is_stmt 1 view .LVU1165
1728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3386              		.loc 1 1728 11 is_stmt 0 view .LVU1166
 3387 005a 626A     		ldr	r2, [r4, #36]
1728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3388              		.loc 1 1728 21 view .LVU1167
 3389 005c 0132     		adds	r2, r2, #1
 3390 005e 6262     		str	r2, [r4, #36]
1730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 3391              		.loc 1 1730 7 is_stmt 1 view .LVU1168
1730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 3392              		.loc 1 1730 11 is_stmt 0 view .LVU1169
 3393 0060 628D     		ldrh	r2, [r4, #42]
 3394 0062 92B2     		uxth	r2, r2
1730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 3395              		.loc 1 1730 22 view .LVU1170
 3396 0064 013A     		subs	r2, r2, #1
 3397 0066 92B2     		uxth	r2, r2
 3398 0068 6285     		strh	r2, [r4, #42]	@ movhi
1731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3399              		.loc 1 1731 7 is_stmt 1 view .LVU1171
1731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3400              		.loc 1 1731 11 is_stmt 0 view .LVU1172
 3401 006a 228D     		ldrh	r2, [r4, #40]
1731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3402              		.loc 1 1731 21 view .LVU1173
 3403 006c 013A     		subs	r2, r2, #1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 210


 3404 006e 92B2     		uxth	r2, r2
 3405 0070 2285     		strh	r2, [r4, #40]	@ movhi
1733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 3406              		.loc 1 1733 7 is_stmt 1 view .LVU1174
 3407 0072 0132     		adds	r2, r2, #1
 3408 0074 1248     		ldr	r0, .L241+8
 3409 0076 0090     		str	r0, [sp]
 3410 0078 D2B2     		uxtb	r2, r2
 3411 007a 2046     		mov	r0, r4
 3412 007c FFF7FEFF 		bl	I2C_TransferConfig
 3413              	.LVL228:
 3414              	.L236:
1743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3415              		.loc 1 1743 5 view .LVU1175
1743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3416              		.loc 1 1743 5 view .LVU1176
 3417 0080 0025     		movs	r5, #0
 3418 0082 84F84050 		strb	r5, [r4, #64]
1743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3419              		.loc 1 1743 5 view .LVU1177
1753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3420              		.loc 1 1753 5 view .LVU1178
 3421 0086 0121     		movs	r1, #1
 3422 0088 2046     		mov	r0, r4
 3423 008a FFF7FEFF 		bl	I2C_Enable_IRQ
 3424              	.LVL229:
1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3425              		.loc 1 1755 5 view .LVU1179
1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3426              		.loc 1 1755 12 is_stmt 0 view .LVU1180
 3427 008e 2846     		mov	r0, r5
 3428              	.LVL230:
 3429              	.L232:
1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3430              		.loc 1 1761 1 view .LVU1181
 3431 0090 03B0     		add	sp, sp, #12
 3432              		.cfi_remember_state
 3433              		.cfi_def_cfa_offset 12
 3434              		@ sp needed
 3435 0092 30BD     		pop	{r4, r5, pc}
 3436              	.LVL231:
 3437              	.L233:
 3438              		.cfi_restore_state
1715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 3439              		.loc 1 1715 7 is_stmt 1 view .LVU1182
1715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 3440              		.loc 1 1715 28 is_stmt 0 view .LVU1183
 3441 0094 638D     		ldrh	r3, [r4, #42]
1715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 3442              		.loc 1 1715 22 view .LVU1184
 3443 0096 2385     		strh	r3, [r4, #40]	@ movhi
1716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3444              		.loc 1 1716 7 is_stmt 1 view .LVU1185
 3445              	.LVL232:
1716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3446              		.loc 1 1716 16 is_stmt 0 view .LVU1186
 3447 0098 4FF00073 		mov	r3, #33554432
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 211


 3448 009c D9E7     		b	.L234
 3449              	.LVL233:
 3450              	.L235:
1738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 3451              		.loc 1 1738 7 is_stmt 1 view .LVU1187
 3452 009e 084A     		ldr	r2, .L241+8
 3453              	.LVL234:
1738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 3454              		.loc 1 1738 7 is_stmt 0 view .LVU1188
 3455 00a0 0092     		str	r2, [sp]
 3456              	.LVL235:
1738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 3457              		.loc 1 1738 7 view .LVU1189
 3458 00a2 EAB2     		uxtb	r2, r5
 3459 00a4 2046     		mov	r0, r4
 3460 00a6 FFF7FEFF 		bl	I2C_TransferConfig
 3461              	.LVL236:
1738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 3462              		.loc 1 1738 7 view .LVU1190
 3463 00aa E9E7     		b	.L236
 3464              	.LVL237:
 3465              	.L237:
1759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3466              		.loc 1 1759 12 view .LVU1191
 3467 00ac 0220     		movs	r0, #2
 3468 00ae EFE7     		b	.L232
 3469              	.L238:
1692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3470              		.loc 1 1692 14 view .LVU1192
 3471 00b0 0220     		movs	r0, #2
 3472 00b2 EDE7     		b	.L232
 3473              	.L239:
1696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3474              		.loc 1 1696 5 discriminator 1 view .LVU1193
 3475 00b4 0220     		movs	r0, #2
 3476 00b6 EBE7     		b	.L232
 3477              	.L242:
 3478              		.align	2
 3479              	.L241:
 3480 00b8 0000FFFF 		.word	-65536
 3481 00bc 00000000 		.word	I2C_Master_ISR_IT
 3482 00c0 00200080 		.word	-2147475456
 3483              		.cfi_endproc
 3484              	.LFE343:
 3486              		.section	.text.HAL_I2C_Master_Receive_IT,"ax",%progbits
 3487              		.align	1
 3488              		.global	HAL_I2C_Master_Receive_IT
 3489              		.syntax unified
 3490              		.thumb
 3491              		.thumb_func
 3493              	HAL_I2C_Master_Receive_IT:
 3494              	.LVL238:
 3495              	.LFB344:
1775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 3496              		.loc 1 1775 1 is_stmt 1 view -0
 3497              		.cfi_startproc
 3498              		@ args = 0, pretend = 0, frame = 0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 212


 3499              		@ frame_needed = 0, uses_anonymous_args = 0
1775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 3500              		.loc 1 1775 1 is_stmt 0 view .LVU1195
 3501 0000 30B5     		push	{r4, r5, lr}
 3502              		.cfi_def_cfa_offset 12
 3503              		.cfi_offset 4, -12
 3504              		.cfi_offset 5, -8
 3505              		.cfi_offset 14, -4
 3506 0002 83B0     		sub	sp, sp, #12
 3507              		.cfi_def_cfa_offset 24
 3508 0004 0446     		mov	r4, r0
1776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3509              		.loc 1 1776 3 is_stmt 1 view .LVU1196
1778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3510              		.loc 1 1778 3 view .LVU1197
1778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3511              		.loc 1 1778 11 is_stmt 0 view .LVU1198
 3512 0006 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 3513              	.LVL239:
1778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3514              		.loc 1 1778 6 view .LVU1199
 3515 000a 2028     		cmp	r0, #32
 3516 000c 37D1     		bne	.L247
1780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3517              		.loc 1 1780 5 is_stmt 1 view .LVU1200
1780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3518              		.loc 1 1780 9 is_stmt 0 view .LVU1201
 3519 000e 2068     		ldr	r0, [r4]
 3520 0010 8069     		ldr	r0, [r0, #24]
1780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3521              		.loc 1 1780 8 view .LVU1202
 3522 0012 10F4004F 		tst	r0, #32768
 3523 0016 34D1     		bne	.L248
1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3524              		.loc 1 1786 5 is_stmt 1 view .LVU1203
1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3525              		.loc 1 1786 5 view .LVU1204
 3526 0018 94F84000 		ldrb	r0, [r4, #64]	@ zero_extendqisi2
 3527 001c 0128     		cmp	r0, #1
 3528 001e 32D0     		beq	.L249
1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3529              		.loc 1 1786 5 discriminator 2 view .LVU1205
 3530 0020 0120     		movs	r0, #1
 3531 0022 84F84000 		strb	r0, [r4, #64]
1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3532              		.loc 1 1786 5 view .LVU1206
1788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 3533              		.loc 1 1788 5 view .LVU1207
1788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 3534              		.loc 1 1788 23 is_stmt 0 view .LVU1208
 3535 0026 2220     		movs	r0, #34
 3536 0028 84F84100 		strb	r0, [r4, #65]
1789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3537              		.loc 1 1789 5 is_stmt 1 view .LVU1209
1789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3538              		.loc 1 1789 23 is_stmt 0 view .LVU1210
 3539 002c 1020     		movs	r0, #16
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 213


 3540 002e 84F84200 		strb	r0, [r4, #66]
1790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3541              		.loc 1 1790 5 is_stmt 1 view .LVU1211
1790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3542              		.loc 1 1790 23 is_stmt 0 view .LVU1212
 3543 0032 0020     		movs	r0, #0
 3544 0034 6064     		str	r0, [r4, #68]
1793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3545              		.loc 1 1793 5 is_stmt 1 view .LVU1213
1793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3546              		.loc 1 1793 23 is_stmt 0 view .LVU1214
 3547 0036 6262     		str	r2, [r4, #36]
1794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3548              		.loc 1 1794 5 is_stmt 1 view .LVU1215
1794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3549              		.loc 1 1794 23 is_stmt 0 view .LVU1216
 3550 0038 6385     		strh	r3, [r4, #42]	@ movhi
1795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
 3551              		.loc 1 1795 5 is_stmt 1 view .LVU1217
1795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
 3552              		.loc 1 1795 23 is_stmt 0 view .LVU1218
 3553 003a 144B     		ldr	r3, .L251
 3554              	.LVL240:
1795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
 3555              		.loc 1 1795 23 view .LVU1219
 3556 003c E362     		str	r3, [r4, #44]
 3557              	.LVL241:
1796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3558              		.loc 1 1796 5 is_stmt 1 view .LVU1220
1796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3559              		.loc 1 1796 23 is_stmt 0 view .LVU1221
 3560 003e 144B     		ldr	r3, .L251+4
 3561 0040 6363     		str	r3, [r4, #52]
1798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3562              		.loc 1 1798 5 is_stmt 1 view .LVU1222
1798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3563              		.loc 1 1798 13 is_stmt 0 view .LVU1223
 3564 0042 638D     		ldrh	r3, [r4, #42]
 3565 0044 9BB2     		uxth	r3, r3
1798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3566              		.loc 1 1798 8 view .LVU1224
 3567 0046 FF2B     		cmp	r3, #255
 3568 0048 14D9     		bls	.L245
1800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 3569              		.loc 1 1800 7 is_stmt 1 view .LVU1225
1800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 3570              		.loc 1 1800 22 is_stmt 0 view .LVU1226
 3571 004a FF23     		movs	r3, #255
 3572 004c 2385     		strh	r3, [r4, #40]	@ movhi
1801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3573              		.loc 1 1801 7 is_stmt 1 view .LVU1227
 3574              	.LVL242:
1801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3575              		.loc 1 1801 16 is_stmt 0 view .LVU1228
 3576 004e 4FF08073 		mov	r3, #16777216
 3577              	.LVL243:
 3578              	.L246:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 214


1811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3579              		.loc 1 1811 5 is_stmt 1 view .LVU1229
 3580 0052 104A     		ldr	r2, .L251+8
 3581              	.LVL244:
1811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3582              		.loc 1 1811 5 is_stmt 0 view .LVU1230
 3583 0054 0092     		str	r2, [sp]
 3584              	.LVL245:
1811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3585              		.loc 1 1811 5 view .LVU1231
 3586 0056 94F82820 		ldrb	r2, [r4, #40]	@ zero_extendqisi2
 3587 005a 2046     		mov	r0, r4
 3588 005c FFF7FEFF 		bl	I2C_TransferConfig
 3589              	.LVL246:
1814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3590              		.loc 1 1814 5 is_stmt 1 view .LVU1232
1814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3591              		.loc 1 1814 5 view .LVU1233
 3592 0060 0025     		movs	r5, #0
 3593 0062 84F84050 		strb	r5, [r4, #64]
1814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3594              		.loc 1 1814 5 view .LVU1234
1824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3595              		.loc 1 1824 5 view .LVU1235
 3596 0066 0221     		movs	r1, #2
 3597 0068 2046     		mov	r0, r4
 3598 006a FFF7FEFF 		bl	I2C_Enable_IRQ
 3599              	.LVL247:
1826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3600              		.loc 1 1826 5 view .LVU1236
1826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3601              		.loc 1 1826 12 is_stmt 0 view .LVU1237
 3602 006e 2846     		mov	r0, r5
 3603              	.LVL248:
 3604              	.L244:
1832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3605              		.loc 1 1832 1 view .LVU1238
 3606 0070 03B0     		add	sp, sp, #12
 3607              		.cfi_remember_state
 3608              		.cfi_def_cfa_offset 12
 3609              		@ sp needed
 3610 0072 30BD     		pop	{r4, r5, pc}
 3611              	.LVL249:
 3612              	.L245:
 3613              		.cfi_restore_state
1805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 3614              		.loc 1 1805 7 is_stmt 1 view .LVU1239
1805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 3615              		.loc 1 1805 28 is_stmt 0 view .LVU1240
 3616 0074 638D     		ldrh	r3, [r4, #42]
1805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 3617              		.loc 1 1805 22 view .LVU1241
 3618 0076 2385     		strh	r3, [r4, #40]	@ movhi
1806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3619              		.loc 1 1806 7 is_stmt 1 view .LVU1242
 3620              	.LVL250:
1806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 215


 3621              		.loc 1 1806 16 is_stmt 0 view .LVU1243
 3622 0078 4FF00073 		mov	r3, #33554432
 3623 007c E9E7     		b	.L246
 3624              	.LVL251:
 3625              	.L247:
1830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3626              		.loc 1 1830 12 view .LVU1244
 3627 007e 0220     		movs	r0, #2
 3628 0080 F6E7     		b	.L244
 3629              	.L248:
1782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3630              		.loc 1 1782 14 view .LVU1245
 3631 0082 0220     		movs	r0, #2
 3632 0084 F4E7     		b	.L244
 3633              	.L249:
1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3634              		.loc 1 1786 5 discriminator 1 view .LVU1246
 3635 0086 0220     		movs	r0, #2
 3636 0088 F2E7     		b	.L244
 3637              	.L252:
 3638 008a 00BF     		.align	2
 3639              	.L251:
 3640 008c 0000FFFF 		.word	-65536
 3641 0090 00000000 		.word	I2C_Master_ISR_IT
 3642 0094 00240080 		.word	-2147474432
 3643              		.cfi_endproc
 3644              	.LFE344:
 3646              		.section	.text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
 3647              		.align	1
 3648              		.global	HAL_I2C_Slave_Transmit_IT
 3649              		.syntax unified
 3650              		.thumb
 3651              		.thumb_func
 3653              	HAL_I2C_Slave_Transmit_IT:
 3654              	.LVL252:
 3655              	.LFB345:
1843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
 3656              		.loc 1 1843 1 is_stmt 1 view -0
 3657              		.cfi_startproc
 3658              		@ args = 0, pretend = 0, frame = 0
 3659              		@ frame_needed = 0, uses_anonymous_args = 0
1844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3660              		.loc 1 1844 3 view .LVU1248
1844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3661              		.loc 1 1844 11 is_stmt 0 view .LVU1249
 3662 0000 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
1844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3663              		.loc 1 1844 6 view .LVU1250
 3664 0004 202B     		cmp	r3, #32
 3665 0006 38D1     		bne	.L256
1847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3666              		.loc 1 1847 5 is_stmt 1 view .LVU1251
1847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3667              		.loc 1 1847 5 view .LVU1252
 3668 0008 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 3669 000c 012B     		cmp	r3, #1
 3670 000e 36D0     		beq	.L257
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 216


1843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
 3671              		.loc 1 1843 1 is_stmt 0 view .LVU1253
 3672 0010 10B5     		push	{r4, lr}
 3673              		.cfi_def_cfa_offset 8
 3674              		.cfi_offset 4, -8
 3675              		.cfi_offset 14, -4
1847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3676              		.loc 1 1847 5 is_stmt 1 discriminator 2 view .LVU1254
 3677 0012 0123     		movs	r3, #1
 3678 0014 80F84030 		strb	r3, [r0, #64]
1847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3679              		.loc 1 1847 5 view .LVU1255
1849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 3680              		.loc 1 1849 5 view .LVU1256
1849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 3681              		.loc 1 1849 23 is_stmt 0 view .LVU1257
 3682 0018 2123     		movs	r3, #33
 3683 001a 80F84130 		strb	r3, [r0, #65]
1850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3684              		.loc 1 1850 5 is_stmt 1 view .LVU1258
1850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3685              		.loc 1 1850 23 is_stmt 0 view .LVU1259
 3686 001e 2023     		movs	r3, #32
 3687 0020 80F84230 		strb	r3, [r0, #66]
1851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3688              		.loc 1 1851 5 is_stmt 1 view .LVU1260
1851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3689              		.loc 1 1851 23 is_stmt 0 view .LVU1261
 3690 0024 0023     		movs	r3, #0
 3691 0026 4364     		str	r3, [r0, #68]
1854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3692              		.loc 1 1854 5 is_stmt 1 view .LVU1262
1854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3693              		.loc 1 1854 9 is_stmt 0 view .LVU1263
 3694 0028 0468     		ldr	r4, [r0]
1854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3695              		.loc 1 1854 19 view .LVU1264
 3696 002a 6368     		ldr	r3, [r4, #4]
1854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3697              		.loc 1 1854 25 view .LVU1265
 3698 002c 23F40043 		bic	r3, r3, #32768
 3699 0030 6360     		str	r3, [r4, #4]
1857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3700              		.loc 1 1857 5 is_stmt 1 view .LVU1266
1857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3701              		.loc 1 1857 23 is_stmt 0 view .LVU1267
 3702 0032 4162     		str	r1, [r0, #36]
1858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 3703              		.loc 1 1858 5 is_stmt 1 view .LVU1268
1858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 3704              		.loc 1 1858 23 is_stmt 0 view .LVU1269
 3705 0034 4285     		strh	r2, [r0, #42]	@ movhi
1859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3706              		.loc 1 1859 5 is_stmt 1 view .LVU1270
1859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3707              		.loc 1 1859 29 is_stmt 0 view .LVU1271
 3708 0036 438D     		ldrh	r3, [r0, #42]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 217


1859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3709              		.loc 1 1859 23 view .LVU1272
 3710 0038 0385     		strh	r3, [r0, #40]	@ movhi
1860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
 3711              		.loc 1 1860 5 is_stmt 1 view .LVU1273
1860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
 3712              		.loc 1 1860 23 is_stmt 0 view .LVU1274
 3713 003a 124B     		ldr	r3, .L263
 3714 003c C362     		str	r3, [r0, #44]
1861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3715              		.loc 1 1861 5 is_stmt 1 view .LVU1275
1861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3716              		.loc 1 1861 23 is_stmt 0 view .LVU1276
 3717 003e 124B     		ldr	r3, .L263+4
 3718 0040 4363     		str	r3, [r0, #52]
1864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3719              		.loc 1 1864 5 is_stmt 1 view .LVU1277
1864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3720              		.loc 1 1864 19 is_stmt 0 view .LVU1278
 3721 0042 036A     		ldr	r3, [r0, #32]
1864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3722              		.loc 1 1864 8 view .LVU1279
 3723 0044 B3F5003F 		cmp	r3, #131072
 3724 0048 08D0     		beq	.L262
 3725              	.LVL253:
 3726              	.L255:
1878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3727              		.loc 1 1878 5 is_stmt 1 view .LVU1280
1878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3728              		.loc 1 1878 5 view .LVU1281
 3729 004a 0024     		movs	r4, #0
 3730 004c 80F84040 		strb	r4, [r0, #64]
1878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3731              		.loc 1 1878 5 view .LVU1282
1888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3732              		.loc 1 1888 5 view .LVU1283
 3733 0050 48F20101 		movw	r1, #32769
 3734              	.LVL254:
1888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3735              		.loc 1 1888 5 is_stmt 0 view .LVU1284
 3736 0054 FFF7FEFF 		bl	I2C_Enable_IRQ
 3737              	.LVL255:
1890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3738              		.loc 1 1890 5 is_stmt 1 view .LVU1285
1890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3739              		.loc 1 1890 12 is_stmt 0 view .LVU1286
 3740 0058 2046     		mov	r0, r4
1896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3741              		.loc 1 1896 1 view .LVU1287
 3742 005a 10BD     		pop	{r4, pc}
 3743              	.LVL256:
 3744              	.L262:
1868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3745              		.loc 1 1868 7 is_stmt 1 view .LVU1288
1868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3746              		.loc 1 1868 11 is_stmt 0 view .LVU1289
 3747 005c 0368     		ldr	r3, [r0]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 218


1868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3748              		.loc 1 1868 30 view .LVU1290
 3749 005e 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 3750              	.LVL257:
1868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3751              		.loc 1 1868 28 view .LVU1291
 3752 0060 9A62     		str	r2, [r3, #40]
1871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3753              		.loc 1 1871 7 is_stmt 1 view .LVU1292
1871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3754              		.loc 1 1871 11 is_stmt 0 view .LVU1293
 3755 0062 436A     		ldr	r3, [r0, #36]
1871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3756              		.loc 1 1871 21 view .LVU1294
 3757 0064 0133     		adds	r3, r3, #1
 3758 0066 4362     		str	r3, [r0, #36]
1873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 3759              		.loc 1 1873 7 is_stmt 1 view .LVU1295
1873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 3760              		.loc 1 1873 11 is_stmt 0 view .LVU1296
 3761 0068 438D     		ldrh	r3, [r0, #42]
 3762 006a 9BB2     		uxth	r3, r3
1873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 3763              		.loc 1 1873 22 view .LVU1297
 3764 006c 013B     		subs	r3, r3, #1
 3765 006e 9BB2     		uxth	r3, r3
 3766 0070 4385     		strh	r3, [r0, #42]	@ movhi
1874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3767              		.loc 1 1874 7 is_stmt 1 view .LVU1298
1874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3768              		.loc 1 1874 11 is_stmt 0 view .LVU1299
 3769 0072 038D     		ldrh	r3, [r0, #40]
1874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 3770              		.loc 1 1874 21 view .LVU1300
 3771 0074 013B     		subs	r3, r3, #1
 3772 0076 0385     		strh	r3, [r0, #40]	@ movhi
 3773 0078 E7E7     		b	.L255
 3774              	.LVL258:
 3775              	.L256:
 3776              		.cfi_def_cfa_offset 0
 3777              		.cfi_restore 4
 3778              		.cfi_restore 14
1894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3779              		.loc 1 1894 12 view .LVU1301
 3780 007a 0220     		movs	r0, #2
 3781              	.LVL259:
1894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3782              		.loc 1 1894 12 view .LVU1302
 3783 007c 7047     		bx	lr
 3784              	.LVL260:
 3785              	.L257:
1847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3786              		.loc 1 1847 5 discriminator 1 view .LVU1303
 3787 007e 0220     		movs	r0, #2
 3788              	.LVL261:
1896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3789              		.loc 1 1896 1 view .LVU1304
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 219


 3790 0080 7047     		bx	lr
 3791              	.L264:
 3792 0082 00BF     		.align	2
 3793              	.L263:
 3794 0084 0000FFFF 		.word	-65536
 3795 0088 00000000 		.word	I2C_Slave_ISR_IT
 3796              		.cfi_endproc
 3797              	.LFE345:
 3799              		.section	.text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
 3800              		.align	1
 3801              		.global	HAL_I2C_Slave_Receive_IT
 3802              		.syntax unified
 3803              		.thumb
 3804              		.thumb_func
 3806              	HAL_I2C_Slave_Receive_IT:
 3807              	.LVL262:
 3808              	.LFB346:
1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
 3809              		.loc 1 1907 1 is_stmt 1 view -0
 3810              		.cfi_startproc
 3811              		@ args = 0, pretend = 0, frame = 0
 3812              		@ frame_needed = 0, uses_anonymous_args = 0
1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
 3813              		.loc 1 1907 1 is_stmt 0 view .LVU1306
 3814 0000 38B5     		push	{r3, r4, r5, lr}
 3815              		.cfi_def_cfa_offset 16
 3816              		.cfi_offset 3, -16
 3817              		.cfi_offset 4, -12
 3818              		.cfi_offset 5, -8
 3819              		.cfi_offset 14, -4
1908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3820              		.loc 1 1908 3 is_stmt 1 view .LVU1307
1908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3821              		.loc 1 1908 11 is_stmt 0 view .LVU1308
 3822 0002 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
1908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3823              		.loc 1 1908 6 view .LVU1309
 3824 0006 202B     		cmp	r3, #32
 3825 0008 23D1     		bne	.L267
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3826              		.loc 1 1911 5 is_stmt 1 view .LVU1310
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3827              		.loc 1 1911 5 view .LVU1311
 3828 000a 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 3829 000e 012B     		cmp	r3, #1
 3830 0010 21D0     		beq	.L268
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3831              		.loc 1 1911 5 discriminator 2 view .LVU1312
 3832 0012 0123     		movs	r3, #1
 3833 0014 80F84030 		strb	r3, [r0, #64]
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3834              		.loc 1 1911 5 view .LVU1313
1913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 3835              		.loc 1 1913 5 view .LVU1314
1913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 3836              		.loc 1 1913 23 is_stmt 0 view .LVU1315
 3837 0018 2223     		movs	r3, #34
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 220


 3838 001a 80F84130 		strb	r3, [r0, #65]
1914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3839              		.loc 1 1914 5 is_stmt 1 view .LVU1316
1914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3840              		.loc 1 1914 23 is_stmt 0 view .LVU1317
 3841 001e 2023     		movs	r3, #32
 3842 0020 80F84230 		strb	r3, [r0, #66]
1915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3843              		.loc 1 1915 5 is_stmt 1 view .LVU1318
1915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3844              		.loc 1 1915 23 is_stmt 0 view .LVU1319
 3845 0024 0024     		movs	r4, #0
 3846 0026 4464     		str	r4, [r0, #68]
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3847              		.loc 1 1918 5 is_stmt 1 view .LVU1320
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3848              		.loc 1 1918 9 is_stmt 0 view .LVU1321
 3849 0028 0568     		ldr	r5, [r0]
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3850              		.loc 1 1918 19 view .LVU1322
 3851 002a 6B68     		ldr	r3, [r5, #4]
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3852              		.loc 1 1918 25 view .LVU1323
 3853 002c 23F40043 		bic	r3, r3, #32768
 3854 0030 6B60     		str	r3, [r5, #4]
1921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3855              		.loc 1 1921 5 is_stmt 1 view .LVU1324
1921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3856              		.loc 1 1921 23 is_stmt 0 view .LVU1325
 3857 0032 4162     		str	r1, [r0, #36]
1922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 3858              		.loc 1 1922 5 is_stmt 1 view .LVU1326
1922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 3859              		.loc 1 1922 23 is_stmt 0 view .LVU1327
 3860 0034 4285     		strh	r2, [r0, #42]	@ movhi
1923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3861              		.loc 1 1923 5 is_stmt 1 view .LVU1328
1923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3862              		.loc 1 1923 29 is_stmt 0 view .LVU1329
 3863 0036 438D     		ldrh	r3, [r0, #42]
1923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3864              		.loc 1 1923 23 view .LVU1330
 3865 0038 0385     		strh	r3, [r0, #40]	@ movhi
1924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
 3866              		.loc 1 1924 5 is_stmt 1 view .LVU1331
1924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
 3867              		.loc 1 1924 23 is_stmt 0 view .LVU1332
 3868 003a 084B     		ldr	r3, .L270
 3869 003c C362     		str	r3, [r0, #44]
1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3870              		.loc 1 1925 5 is_stmt 1 view .LVU1333
1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3871              		.loc 1 1925 23 is_stmt 0 view .LVU1334
 3872 003e 084B     		ldr	r3, .L270+4
 3873 0040 4363     		str	r3, [r0, #52]
1928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3874              		.loc 1 1928 5 is_stmt 1 view .LVU1335
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 221


1928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3875              		.loc 1 1928 5 view .LVU1336
 3876 0042 80F84040 		strb	r4, [r0, #64]
1928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3877              		.loc 1 1928 5 view .LVU1337
1938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3878              		.loc 1 1938 5 view .LVU1338
 3879 0046 48F20201 		movw	r1, #32770
 3880              	.LVL263:
1938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3881              		.loc 1 1938 5 is_stmt 0 view .LVU1339
 3882 004a FFF7FEFF 		bl	I2C_Enable_IRQ
 3883              	.LVL264:
1940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3884              		.loc 1 1940 5 is_stmt 1 view .LVU1340
1940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3885              		.loc 1 1940 12 is_stmt 0 view .LVU1341
 3886 004e 2046     		mov	r0, r4
 3887              	.L266:
1946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3888              		.loc 1 1946 1 view .LVU1342
 3889 0050 38BD     		pop	{r3, r4, r5, pc}
 3890              	.LVL265:
 3891              	.L267:
1944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3892              		.loc 1 1944 12 view .LVU1343
 3893 0052 0220     		movs	r0, #2
 3894              	.LVL266:
1944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 3895              		.loc 1 1944 12 view .LVU1344
 3896 0054 FCE7     		b	.L266
 3897              	.LVL267:
 3898              	.L268:
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3899              		.loc 1 1911 5 discriminator 1 view .LVU1345
 3900 0056 0220     		movs	r0, #2
 3901              	.LVL268:
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3902              		.loc 1 1911 5 discriminator 1 view .LVU1346
 3903 0058 FAE7     		b	.L266
 3904              	.L271:
 3905 005a 00BF     		.align	2
 3906              	.L270:
 3907 005c 0000FFFF 		.word	-65536
 3908 0060 00000000 		.word	I2C_Slave_ISR_IT
 3909              		.cfi_endproc
 3910              	.LFE346:
 3912              		.section	.text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
 3913              		.align	1
 3914              		.global	HAL_I2C_Master_Transmit_DMA
 3915              		.syntax unified
 3916              		.thumb
 3917              		.thumb_func
 3919              	HAL_I2C_Master_Transmit_DMA:
 3920              	.LVL269:
 3921              	.LFB347:
1960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 222


 3922              		.loc 1 1960 1 is_stmt 1 view -0
 3923              		.cfi_startproc
 3924              		@ args = 0, pretend = 0, frame = 0
 3925              		@ frame_needed = 0, uses_anonymous_args = 0
1960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 3926              		.loc 1 1960 1 is_stmt 0 view .LVU1348
 3927 0000 70B5     		push	{r4, r5, r6, lr}
 3928              		.cfi_def_cfa_offset 16
 3929              		.cfi_offset 4, -16
 3930              		.cfi_offset 5, -12
 3931              		.cfi_offset 6, -8
 3932              		.cfi_offset 14, -4
 3933 0002 82B0     		sub	sp, sp, #8
 3934              		.cfi_def_cfa_offset 24
 3935 0004 0446     		mov	r4, r0
1961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 3936              		.loc 1 1961 3 is_stmt 1 view .LVU1349
1962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t sizetoxfer = 0U;
 3937              		.loc 1 1962 3 view .LVU1350
1963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3938              		.loc 1 1963 3 view .LVU1351
 3939              	.LVL270:
1965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3940              		.loc 1 1965 3 view .LVU1352
1965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3941              		.loc 1 1965 11 is_stmt 0 view .LVU1353
 3942 0006 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 3943              	.LVL271:
1965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 3944              		.loc 1 1965 6 view .LVU1354
 3945 000a 2028     		cmp	r0, #32
 3946 000c 40F09D80 		bne	.L282
 3947 0010 0D46     		mov	r5, r1
1967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3948              		.loc 1 1967 5 is_stmt 1 view .LVU1355
1967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3949              		.loc 1 1967 9 is_stmt 0 view .LVU1356
 3950 0012 2068     		ldr	r0, [r4]
 3951 0014 8169     		ldr	r1, [r0, #24]
 3952              	.LVL272:
1967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3953              		.loc 1 1967 8 view .LVU1357
 3954 0016 11F40041 		ands	r1, r1, #32768
 3955 001a 40F09980 		bne	.L283
1973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3956              		.loc 1 1973 5 is_stmt 1 view .LVU1358
1973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3957              		.loc 1 1973 5 view .LVU1359
 3958 001e 94F84060 		ldrb	r6, [r4, #64]	@ zero_extendqisi2
 3959 0022 012E     		cmp	r6, #1
 3960 0024 00F09680 		beq	.L284
1973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3961              		.loc 1 1973 5 discriminator 2 view .LVU1360
 3962 0028 0126     		movs	r6, #1
 3963 002a 84F84060 		strb	r6, [r4, #64]
1973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3964              		.loc 1 1973 5 view .LVU1361
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 223


1975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 3965              		.loc 1 1975 5 view .LVU1362
1975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 3966              		.loc 1 1975 23 is_stmt 0 view .LVU1363
 3967 002e 2126     		movs	r6, #33
 3968 0030 84F84160 		strb	r6, [r4, #65]
1976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3969              		.loc 1 1976 5 is_stmt 1 view .LVU1364
1976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 3970              		.loc 1 1976 23 is_stmt 0 view .LVU1365
 3971 0034 1026     		movs	r6, #16
 3972 0036 84F84260 		strb	r6, [r4, #66]
1977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3973              		.loc 1 1977 5 is_stmt 1 view .LVU1366
1977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3974              		.loc 1 1977 23 is_stmt 0 view .LVU1367
 3975 003a 0026     		movs	r6, #0
 3976 003c 6664     		str	r6, [r4, #68]
1980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3977              		.loc 1 1980 5 is_stmt 1 view .LVU1368
1980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 3978              		.loc 1 1980 23 is_stmt 0 view .LVU1369
 3979 003e 6262     		str	r2, [r4, #36]
1981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3980              		.loc 1 1981 5 is_stmt 1 view .LVU1370
1981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 3981              		.loc 1 1981 23 is_stmt 0 view .LVU1371
 3982 0040 6385     		strh	r3, [r4, #42]	@ movhi
1982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
 3983              		.loc 1 1982 5 is_stmt 1 view .LVU1372
1982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
 3984              		.loc 1 1982 23 is_stmt 0 view .LVU1373
 3985 0042 454B     		ldr	r3, .L288
 3986              	.LVL273:
1982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
 3987              		.loc 1 1982 23 view .LVU1374
 3988 0044 E362     		str	r3, [r4, #44]
 3989              	.LVL274:
1983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3990              		.loc 1 1983 5 is_stmt 1 view .LVU1375
1983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 3991              		.loc 1 1983 23 is_stmt 0 view .LVU1376
 3992 0046 454B     		ldr	r3, .L288+4
 3993 0048 6363     		str	r3, [r4, #52]
1985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3994              		.loc 1 1985 5 is_stmt 1 view .LVU1377
1985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3995              		.loc 1 1985 13 is_stmt 0 view .LVU1378
 3996 004a 638D     		ldrh	r3, [r4, #42]
 3997 004c 9BB2     		uxth	r3, r3
1985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 3998              		.loc 1 1985 8 view .LVU1379
 3999 004e FF2B     		cmp	r3, #255
 4000 0050 37D9     		bls	.L274
1987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 4001              		.loc 1 1987 7 is_stmt 1 view .LVU1380
1987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 224


 4002              		.loc 1 1987 22 is_stmt 0 view .LVU1381
 4003 0052 FF23     		movs	r3, #255
 4004 0054 2385     		strh	r3, [r4, #40]	@ movhi
1988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4005              		.loc 1 1988 7 is_stmt 1 view .LVU1382
 4006              	.LVL275:
1988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4007              		.loc 1 1988 16 is_stmt 0 view .LVU1383
 4008 0056 4FF08076 		mov	r6, #16777216
 4009              	.LVL276:
 4010              	.L275:
1996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4011              		.loc 1 1996 5 is_stmt 1 view .LVU1384
1996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4012              		.loc 1 1996 13 is_stmt 0 view .LVU1385
 4013 005a 238D     		ldrh	r3, [r4, #40]
1996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4014              		.loc 1 1996 8 view .LVU1386
 4015 005c 63B1     		cbz	r3, .L276
2000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4016              		.loc 1 2000 7 is_stmt 1 view .LVU1387
2000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4017              		.loc 1 2000 30 is_stmt 0 view .LVU1388
 4018 005e 1378     		ldrb	r3, [r2]	@ zero_extendqisi2
2000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4019              		.loc 1 2000 28 view .LVU1389
 4020 0060 8362     		str	r3, [r0, #40]
2003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4021              		.loc 1 2003 7 is_stmt 1 view .LVU1390
2003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4022              		.loc 1 2003 11 is_stmt 0 view .LVU1391
 4023 0062 636A     		ldr	r3, [r4, #36]
2003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4024              		.loc 1 2003 21 view .LVU1392
 4025 0064 0133     		adds	r3, r3, #1
 4026 0066 6362     		str	r3, [r4, #36]
2005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 4027              		.loc 1 2005 7 is_stmt 1 view .LVU1393
2005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 4028              		.loc 1 2005 24 is_stmt 0 view .LVU1394
 4029 0068 218D     		ldrh	r1, [r4, #40]
 4030              	.LVL277:
2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 4031              		.loc 1 2006 7 is_stmt 1 view .LVU1395
2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 4032              		.loc 1 2006 11 is_stmt 0 view .LVU1396
 4033 006a 638D     		ldrh	r3, [r4, #42]
 4034 006c 9BB2     		uxth	r3, r3
2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 4035              		.loc 1 2006 22 view .LVU1397
 4036 006e 013B     		subs	r3, r3, #1
 4037 0070 9BB2     		uxth	r3, r3
 4038 0072 6385     		strh	r3, [r4, #42]	@ movhi
2007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4039              		.loc 1 2007 7 is_stmt 1 view .LVU1398
2007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4040              		.loc 1 2007 21 is_stmt 0 view .LVU1399
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 225


 4041 0074 4B1E     		subs	r3, r1, #1
 4042 0076 2385     		strh	r3, [r4, #40]	@ movhi
 4043              	.LVL278:
 4044              	.L276:
2010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4045              		.loc 1 2010 5 is_stmt 1 view .LVU1400
2010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4046              		.loc 1 2010 13 is_stmt 0 view .LVU1401
 4047 0078 238D     		ldrh	r3, [r4, #40]
2010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4048              		.loc 1 2010 8 view .LVU1402
 4049 007a 002B     		cmp	r3, #0
 4050 007c 51D0     		beq	.L277
2012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4051              		.loc 1 2012 7 is_stmt 1 view .LVU1403
2012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4052              		.loc 1 2012 15 is_stmt 0 view .LVU1404
 4053 007e A36B     		ldr	r3, [r4, #56]
2012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4054              		.loc 1 2012 10 view .LVU1405
 4055 0080 23B3     		cbz	r3, .L278
2015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4056              		.loc 1 2015 9 is_stmt 1 view .LVU1406
2015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4057              		.loc 1 2015 40 is_stmt 0 view .LVU1407
 4058 0082 374A     		ldr	r2, .L288+8
 4059              	.LVL279:
2015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4060              		.loc 1 2015 40 view .LVU1408
 4061 0084 DA63     		str	r2, [r3, #60]
2018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4062              		.loc 1 2018 9 is_stmt 1 view .LVU1409
2018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4063              		.loc 1 2018 13 is_stmt 0 view .LVU1410
 4064 0086 A36B     		ldr	r3, [r4, #56]
2018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4065              		.loc 1 2018 41 view .LVU1411
 4066 0088 364A     		ldr	r2, .L288+12
 4067 008a DA64     		str	r2, [r3, #76]
2021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
 4068              		.loc 1 2021 9 is_stmt 1 view .LVU1412
2021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
 4069              		.loc 1 2021 13 is_stmt 0 view .LVU1413
 4070 008c A26B     		ldr	r2, [r4, #56]
2021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
 4071              		.loc 1 2021 44 view .LVU1414
 4072 008e 0023     		movs	r3, #0
 4073 0090 1364     		str	r3, [r2, #64]
2022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4074              		.loc 1 2022 9 is_stmt 1 view .LVU1415
2022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4075              		.loc 1 2022 13 is_stmt 0 view .LVU1416
 4076 0092 A26B     		ldr	r2, [r4, #56]
2022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4077              		.loc 1 2022 41 view .LVU1417
 4078 0094 1365     		str	r3, [r2, #80]
2025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 226


 4079              		.loc 1 2025 9 is_stmt 1 view .LVU1418
2026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4080              		.loc 1 2026 57 is_stmt 0 view .LVU1419
 4081 0096 2268     		ldr	r2, [r4]
2025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
 4082              		.loc 1 2025 25 view .LVU1420
 4083 0098 238D     		ldrh	r3, [r4, #40]
 4084 009a 2832     		adds	r2, r2, #40
 4085 009c 616A     		ldr	r1, [r4, #36]
 4086              	.LVL280:
2025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
 4087              		.loc 1 2025 25 view .LVU1421
 4088 009e A06B     		ldr	r0, [r4, #56]
 4089 00a0 FFF7FEFF 		bl	HAL_DMA_Start_IT
 4090              	.LVL281:
2043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4091              		.loc 1 2043 7 is_stmt 1 view .LVU1422
2043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4092              		.loc 1 2043 10 is_stmt 0 view .LVU1423
 4093 00a4 00B3     		cbz	r0, .L287
2068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4094              		.loc 1 2068 9 is_stmt 1 view .LVU1424
2068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4095              		.loc 1 2068 25 is_stmt 0 view .LVU1425
 4096 00a6 2023     		movs	r3, #32
 4097 00a8 84F84130 		strb	r3, [r4, #65]
2069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4098              		.loc 1 2069 9 is_stmt 1 view .LVU1426
2069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4099              		.loc 1 2069 25 is_stmt 0 view .LVU1427
 4100 00ac 0022     		movs	r2, #0
 4101 00ae 84F84220 		strb	r2, [r4, #66]
2072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4102              		.loc 1 2072 9 is_stmt 1 view .LVU1428
2072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4103              		.loc 1 2072 13 is_stmt 0 view .LVU1429
 4104 00b2 636C     		ldr	r3, [r4, #68]
2072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4105              		.loc 1 2072 25 view .LVU1430
 4106 00b4 43F01003 		orr	r3, r3, #16
 4107 00b8 6364     		str	r3, [r4, #68]
2075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4108              		.loc 1 2075 9 is_stmt 1 view .LVU1431
2075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4109              		.loc 1 2075 9 view .LVU1432
 4110 00ba 84F84020 		strb	r2, [r4, #64]
2075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4111              		.loc 1 2075 9 view .LVU1433
2077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4112              		.loc 1 2077 9 view .LVU1434
2077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4113              		.loc 1 2077 16 is_stmt 0 view .LVU1435
 4114 00be 0120     		movs	r0, #1
 4115              	.LVL282:
2077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4116              		.loc 1 2077 16 view .LVU1436
 4117 00c0 44E0     		b	.L273
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 227


 4118              	.LVL283:
 4119              	.L274:
1992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 4120              		.loc 1 1992 7 is_stmt 1 view .LVU1437
1992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 4121              		.loc 1 1992 28 is_stmt 0 view .LVU1438
 4122 00c2 638D     		ldrh	r3, [r4, #42]
1992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 4123              		.loc 1 1992 22 view .LVU1439
 4124 00c4 2385     		strh	r3, [r4, #40]	@ movhi
1993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4125              		.loc 1 1993 7 is_stmt 1 view .LVU1440
 4126              	.LVL284:
1993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4127              		.loc 1 1993 16 is_stmt 0 view .LVU1441
 4128 00c6 4FF00076 		mov	r6, #33554432
 4129 00ca C6E7     		b	.L275
 4130              	.LVL285:
 4131              	.L278:
2031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4132              		.loc 1 2031 9 is_stmt 1 view .LVU1442
2031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4133              		.loc 1 2031 25 is_stmt 0 view .LVU1443
 4134 00cc 2023     		movs	r3, #32
 4135 00ce 84F84130 		strb	r3, [r4, #65]
2032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4136              		.loc 1 2032 9 is_stmt 1 view .LVU1444
2032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4137              		.loc 1 2032 25 is_stmt 0 view .LVU1445
 4138 00d2 0022     		movs	r2, #0
 4139              	.LVL286:
2032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4140              		.loc 1 2032 25 view .LVU1446
 4141 00d4 84F84220 		strb	r2, [r4, #66]
2035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4142              		.loc 1 2035 9 is_stmt 1 view .LVU1447
2035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4143              		.loc 1 2035 13 is_stmt 0 view .LVU1448
 4144 00d8 636C     		ldr	r3, [r4, #68]
2035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4145              		.loc 1 2035 25 view .LVU1449
 4146 00da 43F08003 		orr	r3, r3, #128
 4147 00de 6364     		str	r3, [r4, #68]
2038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4148              		.loc 1 2038 9 is_stmt 1 view .LVU1450
2038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4149              		.loc 1 2038 9 view .LVU1451
 4150 00e0 84F84020 		strb	r2, [r4, #64]
2038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4151              		.loc 1 2038 9 view .LVU1452
2040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4152              		.loc 1 2040 9 view .LVU1453
2040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4153              		.loc 1 2040 16 is_stmt 0 view .LVU1454
 4154 00e4 0120     		movs	r0, #1
 4155 00e6 31E0     		b	.L273
 4156              	.LVL287:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 228


 4157              	.L287:
2047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            xfermode, I2C_GENERATE_START_WRITE);
 4158              		.loc 1 2047 9 is_stmt 1 view .LVU1455
2047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            xfermode, I2C_GENERATE_START_WRITE);
 4159              		.loc 1 2047 60 is_stmt 0 view .LVU1456
 4160 00e8 228D     		ldrh	r2, [r4, #40]
2047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            xfermode, I2C_GENERATE_START_WRITE);
 4161              		.loc 1 2047 9 view .LVU1457
 4162 00ea 0132     		adds	r2, r2, #1
 4163 00ec 1E4B     		ldr	r3, .L288+16
 4164 00ee 0093     		str	r3, [sp]
 4165 00f0 3346     		mov	r3, r6
 4166 00f2 D2B2     		uxtb	r2, r2
 4167 00f4 2946     		mov	r1, r5
 4168 00f6 2046     		mov	r0, r4
 4169              	.LVL288:
2047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            xfermode, I2C_GENERATE_START_WRITE);
 4170              		.loc 1 2047 9 view .LVU1458
 4171 00f8 FFF7FEFF 		bl	I2C_TransferConfig
 4172              	.LVL289:
2051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4173              		.loc 1 2051 9 is_stmt 1 view .LVU1459
2051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4174              		.loc 1 2051 13 is_stmt 0 view .LVU1460
 4175 00fc 638D     		ldrh	r3, [r4, #42]
 4176 00fe 9BB2     		uxth	r3, r3
2051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4177              		.loc 1 2051 32 view .LVU1461
 4178 0100 228D     		ldrh	r2, [r4, #40]
2051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4179              		.loc 1 2051 25 view .LVU1462
 4180 0102 9B1A     		subs	r3, r3, r2
 4181 0104 9BB2     		uxth	r3, r3
 4182 0106 6385     		strh	r3, [r4, #42]	@ movhi
2054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4183              		.loc 1 2054 9 is_stmt 1 view .LVU1463
2054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4184              		.loc 1 2054 9 view .LVU1464
 4185 0108 0023     		movs	r3, #0
 4186 010a 84F84030 		strb	r3, [r4, #64]
2054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4187              		.loc 1 2054 9 view .LVU1465
2060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4188              		.loc 1 2060 9 view .LVU1466
 4189 010e 1021     		movs	r1, #16
 4190 0110 2046     		mov	r0, r4
 4191 0112 FFF7FEFF 		bl	I2C_Enable_IRQ
 4192              	.LVL290:
2063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4193              		.loc 1 2063 9 view .LVU1467
2063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4194              		.loc 1 2063 13 is_stmt 0 view .LVU1468
 4195 0116 2268     		ldr	r2, [r4]
2063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4196              		.loc 1 2063 23 view .LVU1469
 4197 0118 1368     		ldr	r3, [r2]
2063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 229


 4198              		.loc 1 2063 29 view .LVU1470
 4199 011a 43F48043 		orr	r3, r3, #16384
 4200 011e 1360     		str	r3, [r2]
 4201 0120 11E0     		b	.L281
 4202              	.LVL291:
 4203              	.L277:
2083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4204              		.loc 1 2083 7 is_stmt 1 view .LVU1471
2083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4205              		.loc 1 2083 21 is_stmt 0 view .LVU1472
 4206 0122 124B     		ldr	r3, .L288+20
 4207 0124 6363     		str	r3, [r4, #52]
2087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 4208              		.loc 1 2087 7 is_stmt 1 view .LVU1473
 4209 0126 104B     		ldr	r3, .L288+16
 4210 0128 0093     		str	r3, [sp]
 4211 012a 4FF00073 		mov	r3, #33554432
 4212 012e CAB2     		uxtb	r2, r1
 4213              	.LVL292:
2087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 4214              		.loc 1 2087 7 is_stmt 0 view .LVU1474
 4215 0130 2946     		mov	r1, r5
 4216              	.LVL293:
2087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_WRITE);
 4217              		.loc 1 2087 7 view .LVU1475
 4218 0132 2046     		mov	r0, r4
 4219 0134 FFF7FEFF 		bl	I2C_TransferConfig
 4220              	.LVL294:
2091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4221              		.loc 1 2091 7 is_stmt 1 view .LVU1476
2091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4222              		.loc 1 2091 7 view .LVU1477
 4223 0138 0023     		movs	r3, #0
 4224 013a 84F84030 		strb	r3, [r4, #64]
2091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4225              		.loc 1 2091 7 view .LVU1478
2100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4226              		.loc 1 2100 7 view .LVU1479
 4227 013e 0121     		movs	r1, #1
 4228 0140 2046     		mov	r0, r4
 4229 0142 FFF7FEFF 		bl	I2C_Enable_IRQ
 4230              	.LVL295:
 4231              	.L281:
2103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 4232              		.loc 1 2103 5 view .LVU1480
2103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 4233              		.loc 1 2103 12 is_stmt 0 view .LVU1481
 4234 0146 0020     		movs	r0, #0
 4235 0148 00E0     		b	.L273
 4236              	.LVL296:
 4237              	.L282:
2107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 4238              		.loc 1 2107 12 view .LVU1482
 4239 014a 0220     		movs	r0, #2
 4240              	.LVL297:
 4241              	.L273:
2109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 230


 4242              		.loc 1 2109 1 view .LVU1483
 4243 014c 02B0     		add	sp, sp, #8
 4244              		.cfi_remember_state
 4245              		.cfi_def_cfa_offset 16
 4246              		@ sp needed
 4247 014e 70BD     		pop	{r4, r5, r6, pc}
 4248              	.LVL298:
 4249              	.L283:
 4250              		.cfi_restore_state
1969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4251              		.loc 1 1969 14 view .LVU1484
 4252 0150 0220     		movs	r0, #2
 4253 0152 FBE7     		b	.L273
 4254              	.L284:
1973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4255              		.loc 1 1973 5 discriminator 1 view .LVU1485
 4256 0154 0220     		movs	r0, #2
 4257 0156 F9E7     		b	.L273
 4258              	.L289:
 4259              		.align	2
 4260              	.L288:
 4261 0158 0000FFFF 		.word	-65536
 4262 015c 00000000 		.word	I2C_Master_ISR_DMA
 4263 0160 00000000 		.word	I2C_DMAMasterTransmitCplt
 4264 0164 00000000 		.word	I2C_DMAError
 4265 0168 00200080 		.word	-2147475456
 4266 016c 00000000 		.word	I2C_Master_ISR_IT
 4267              		.cfi_endproc
 4268              	.LFE347:
 4270              		.section	.text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
 4271              		.align	1
 4272              		.global	HAL_I2C_Master_Receive_DMA
 4273              		.syntax unified
 4274              		.thumb
 4275              		.thumb_func
 4277              	HAL_I2C_Master_Receive_DMA:
 4278              	.LVL299:
 4279              	.LFB348:
2123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 4280              		.loc 1 2123 1 is_stmt 1 view -0
 4281              		.cfi_startproc
 4282              		@ args = 0, pretend = 0, frame = 0
 4283              		@ frame_needed = 0, uses_anonymous_args = 0
2123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 4284              		.loc 1 2123 1 is_stmt 0 view .LVU1487
 4285 0000 70B5     		push	{r4, r5, r6, lr}
 4286              		.cfi_def_cfa_offset 16
 4287              		.cfi_offset 4, -16
 4288              		.cfi_offset 5, -12
 4289              		.cfi_offset 6, -8
 4290              		.cfi_offset 14, -4
 4291 0002 82B0     		sub	sp, sp, #8
 4292              		.cfi_def_cfa_offset 24
 4293 0004 0446     		mov	r4, r0
2124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 4294              		.loc 1 2124 3 is_stmt 1 view .LVU1488
2125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 231


 4295              		.loc 1 2125 3 view .LVU1489
2127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 4296              		.loc 1 2127 3 view .LVU1490
2127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 4297              		.loc 1 2127 11 is_stmt 0 view .LVU1491
 4298 0006 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 4299              	.LVL300:
2127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 4300              		.loc 1 2127 6 view .LVU1492
 4301 000a 2028     		cmp	r0, #32
 4302 000c 40F08C80 		bne	.L299
 4303 0010 0D46     		mov	r5, r1
2129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4304              		.loc 1 2129 5 is_stmt 1 view .LVU1493
2129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4305              		.loc 1 2129 9 is_stmt 0 view .LVU1494
 4306 0012 2168     		ldr	r1, [r4]
 4307              	.LVL301:
2129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4308              		.loc 1 2129 9 view .LVU1495
 4309 0014 8969     		ldr	r1, [r1, #24]
2129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4310              		.loc 1 2129 8 view .LVU1496
 4311 0016 11F4004F 		tst	r1, #32768
 4312 001a 40F08880 		bne	.L300
2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4313              		.loc 1 2135 5 is_stmt 1 view .LVU1497
2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4314              		.loc 1 2135 5 view .LVU1498
 4315 001e 94F84010 		ldrb	r1, [r4, #64]	@ zero_extendqisi2
 4316 0022 0129     		cmp	r1, #1
 4317 0024 00F08580 		beq	.L301
2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4318              		.loc 1 2135 5 discriminator 2 view .LVU1499
 4319 0028 0121     		movs	r1, #1
 4320 002a 84F84010 		strb	r1, [r4, #64]
2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4321              		.loc 1 2135 5 view .LVU1500
2137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 4322              		.loc 1 2137 5 view .LVU1501
2137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MASTER;
 4323              		.loc 1 2137 23 is_stmt 0 view .LVU1502
 4324 002e 2221     		movs	r1, #34
 4325 0030 84F84110 		strb	r1, [r4, #65]
2138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 4326              		.loc 1 2138 5 is_stmt 1 view .LVU1503
2138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 4327              		.loc 1 2138 23 is_stmt 0 view .LVU1504
 4328 0034 1021     		movs	r1, #16
 4329 0036 84F84210 		strb	r1, [r4, #66]
2139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4330              		.loc 1 2139 5 is_stmt 1 view .LVU1505
2139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4331              		.loc 1 2139 23 is_stmt 0 view .LVU1506
 4332 003a 0021     		movs	r1, #0
 4333 003c 6164     		str	r1, [r4, #68]
2142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 232


 4334              		.loc 1 2142 5 is_stmt 1 view .LVU1507
2142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4335              		.loc 1 2142 23 is_stmt 0 view .LVU1508
 4336 003e 6262     		str	r2, [r4, #36]
2143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4337              		.loc 1 2143 5 is_stmt 1 view .LVU1509
2143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4338              		.loc 1 2143 23 is_stmt 0 view .LVU1510
 4339 0040 6385     		strh	r3, [r4, #42]	@ movhi
2144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
 4340              		.loc 1 2144 5 is_stmt 1 view .LVU1511
2144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
 4341              		.loc 1 2144 23 is_stmt 0 view .LVU1512
 4342 0042 3D4B     		ldr	r3, .L305
 4343              	.LVL302:
2144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
 4344              		.loc 1 2144 23 view .LVU1513
 4345 0044 E362     		str	r3, [r4, #44]
 4346              	.LVL303:
2145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4347              		.loc 1 2145 5 is_stmt 1 view .LVU1514
2145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4348              		.loc 1 2145 23 is_stmt 0 view .LVU1515
 4349 0046 3D4B     		ldr	r3, .L305+4
 4350 0048 6363     		str	r3, [r4, #52]
2147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4351              		.loc 1 2147 5 is_stmt 1 view .LVU1516
2147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4352              		.loc 1 2147 13 is_stmt 0 view .LVU1517
 4353 004a 638D     		ldrh	r3, [r4, #42]
 4354 004c 9BB2     		uxth	r3, r3
2147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4355              		.loc 1 2147 8 view .LVU1518
 4356 004e FF2B     		cmp	r3, #255
 4357 0050 27D9     		bls	.L292
2149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 4358              		.loc 1 2149 7 is_stmt 1 view .LVU1519
2149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 4359              		.loc 1 2149 22 is_stmt 0 view .LVU1520
 4360 0052 FF23     		movs	r3, #255
 4361 0054 2385     		strh	r3, [r4, #40]	@ movhi
2150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4362              		.loc 1 2150 7 is_stmt 1 view .LVU1521
 4363              	.LVL304:
2150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4364              		.loc 1 2150 16 is_stmt 0 view .LVU1522
 4365 0056 4FF08076 		mov	r6, #16777216
 4366              	.LVL305:
 4367              	.L293:
2158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4368              		.loc 1 2158 5 is_stmt 1 view .LVU1523
2158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4369              		.loc 1 2158 13 is_stmt 0 view .LVU1524
 4370 005a 218D     		ldrh	r1, [r4, #40]
2158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4371              		.loc 1 2158 8 view .LVU1525
 4372 005c 0029     		cmp	r1, #0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 233


 4373 005e 4FD0     		beq	.L294
2160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4374              		.loc 1 2160 7 is_stmt 1 view .LVU1526
2160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4375              		.loc 1 2160 15 is_stmt 0 view .LVU1527
 4376 0060 E36B     		ldr	r3, [r4, #60]
2160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4377              		.loc 1 2160 10 view .LVU1528
 4378 0062 1BB3     		cbz	r3, .L295
2163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4379              		.loc 1 2163 9 is_stmt 1 view .LVU1529
2163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4380              		.loc 1 2163 40 is_stmt 0 view .LVU1530
 4381 0064 3649     		ldr	r1, .L305+8
 4382 0066 D963     		str	r1, [r3, #60]
2166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4383              		.loc 1 2166 9 is_stmt 1 view .LVU1531
2166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4384              		.loc 1 2166 13 is_stmt 0 view .LVU1532
 4385 0068 E36B     		ldr	r3, [r4, #60]
2166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4386              		.loc 1 2166 41 view .LVU1533
 4387 006a 3649     		ldr	r1, .L305+12
 4388 006c D964     		str	r1, [r3, #76]
2169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback = NULL;
 4389              		.loc 1 2169 9 is_stmt 1 view .LVU1534
2169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback = NULL;
 4390              		.loc 1 2169 13 is_stmt 0 view .LVU1535
 4391 006e E16B     		ldr	r1, [r4, #60]
2169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback = NULL;
 4392              		.loc 1 2169 44 view .LVU1536
 4393 0070 0023     		movs	r3, #0
 4394 0072 0B64     		str	r3, [r1, #64]
2170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4395              		.loc 1 2170 9 is_stmt 1 view .LVU1537
2170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4396              		.loc 1 2170 13 is_stmt 0 view .LVU1538
 4397 0074 E16B     		ldr	r1, [r4, #60]
2170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4398              		.loc 1 2170 41 view .LVU1539
 4399 0076 0B65     		str	r3, [r1, #80]
2173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          hi2c->XferSize);
 4400              		.loc 1 2173 9 is_stmt 1 view .LVU1540
2173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          hi2c->XferSize);
 4401              		.loc 1 2173 71 is_stmt 0 view .LVU1541
 4402 0078 2168     		ldr	r1, [r4]
2173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          hi2c->XferSize);
 4403              		.loc 1 2173 25 view .LVU1542
 4404 007a 238D     		ldrh	r3, [r4, #40]
 4405 007c 2431     		adds	r1, r1, #36
 4406 007e E06B     		ldr	r0, [r4, #60]
 4407 0080 FFF7FEFF 		bl	HAL_DMA_Start_IT
 4408              	.LVL306:
2191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4409              		.loc 1 2191 7 is_stmt 1 view .LVU1543
2191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4410              		.loc 1 2191 10 is_stmt 0 view .LVU1544
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 234


 4411 0084 00B3     		cbz	r0, .L304
2215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4412              		.loc 1 2215 9 is_stmt 1 view .LVU1545
2215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4413              		.loc 1 2215 25 is_stmt 0 view .LVU1546
 4414 0086 2023     		movs	r3, #32
 4415 0088 84F84130 		strb	r3, [r4, #65]
2216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4416              		.loc 1 2216 9 is_stmt 1 view .LVU1547
2216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4417              		.loc 1 2216 25 is_stmt 0 view .LVU1548
 4418 008c 0022     		movs	r2, #0
 4419 008e 84F84220 		strb	r2, [r4, #66]
2219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4420              		.loc 1 2219 9 is_stmt 1 view .LVU1549
2219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4421              		.loc 1 2219 13 is_stmt 0 view .LVU1550
 4422 0092 636C     		ldr	r3, [r4, #68]
2219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4423              		.loc 1 2219 25 view .LVU1551
 4424 0094 43F01003 		orr	r3, r3, #16
 4425 0098 6364     		str	r3, [r4, #68]
2222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4426              		.loc 1 2222 9 is_stmt 1 view .LVU1552
2222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4427              		.loc 1 2222 9 view .LVU1553
 4428 009a 84F84020 		strb	r2, [r4, #64]
2222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4429              		.loc 1 2222 9 view .LVU1554
2224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4430              		.loc 1 2224 9 view .LVU1555
2224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4431              		.loc 1 2224 16 is_stmt 0 view .LVU1556
 4432 009e 0120     		movs	r0, #1
 4433              	.LVL307:
2224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4434              		.loc 1 2224 16 view .LVU1557
 4435 00a0 43E0     		b	.L291
 4436              	.LVL308:
 4437              	.L292:
2154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 4438              		.loc 1 2154 7 is_stmt 1 view .LVU1558
2154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 4439              		.loc 1 2154 28 is_stmt 0 view .LVU1559
 4440 00a2 638D     		ldrh	r3, [r4, #42]
2154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_AUTOEND_MODE;
 4441              		.loc 1 2154 22 view .LVU1560
 4442 00a4 2385     		strh	r3, [r4, #40]	@ movhi
2155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4443              		.loc 1 2155 7 is_stmt 1 view .LVU1561
 4444              	.LVL309:
2155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4445              		.loc 1 2155 16 is_stmt 0 view .LVU1562
 4446 00a6 4FF00076 		mov	r6, #33554432
 4447 00aa D6E7     		b	.L293
 4448              	.LVL310:
 4449              	.L295:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 235


2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4450              		.loc 1 2179 9 is_stmt 1 view .LVU1563
2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4451              		.loc 1 2179 25 is_stmt 0 view .LVU1564
 4452 00ac 2023     		movs	r3, #32
 4453 00ae 84F84130 		strb	r3, [r4, #65]
2180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4454              		.loc 1 2180 9 is_stmt 1 view .LVU1565
2180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4455              		.loc 1 2180 25 is_stmt 0 view .LVU1566
 4456 00b2 0022     		movs	r2, #0
 4457              	.LVL311:
2180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4458              		.loc 1 2180 25 view .LVU1567
 4459 00b4 84F84220 		strb	r2, [r4, #66]
2183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4460              		.loc 1 2183 9 is_stmt 1 view .LVU1568
2183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4461              		.loc 1 2183 13 is_stmt 0 view .LVU1569
 4462 00b8 636C     		ldr	r3, [r4, #68]
2183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4463              		.loc 1 2183 25 view .LVU1570
 4464 00ba 43F08003 		orr	r3, r3, #128
 4465 00be 6364     		str	r3, [r4, #68]
2186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4466              		.loc 1 2186 9 is_stmt 1 view .LVU1571
2186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4467              		.loc 1 2186 9 view .LVU1572
 4468 00c0 84F84020 		strb	r2, [r4, #64]
2186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4469              		.loc 1 2186 9 view .LVU1573
2188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4470              		.loc 1 2188 9 view .LVU1574
2188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4471              		.loc 1 2188 16 is_stmt 0 view .LVU1575
 4472 00c4 0120     		movs	r0, #1
 4473 00c6 30E0     		b	.L291
 4474              	.LVL312:
 4475              	.L304:
2195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4476              		.loc 1 2195 9 is_stmt 1 view .LVU1576
 4477 00c8 1F4B     		ldr	r3, .L305+16
 4478 00ca 0093     		str	r3, [sp]
 4479 00cc 3346     		mov	r3, r6
 4480 00ce 94F82820 		ldrb	r2, [r4, #40]	@ zero_extendqisi2
 4481 00d2 2946     		mov	r1, r5
 4482 00d4 2046     		mov	r0, r4
 4483              	.LVL313:
2195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4484              		.loc 1 2195 9 is_stmt 0 view .LVU1577
 4485 00d6 FFF7FEFF 		bl	I2C_TransferConfig
 4486              	.LVL314:
2198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4487              		.loc 1 2198 9 is_stmt 1 view .LVU1578
2198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4488              		.loc 1 2198 13 is_stmt 0 view .LVU1579
 4489 00da 638D     		ldrh	r3, [r4, #42]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 236


 4490 00dc 9BB2     		uxth	r3, r3
2198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4491              		.loc 1 2198 32 view .LVU1580
 4492 00de 228D     		ldrh	r2, [r4, #40]
2198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4493              		.loc 1 2198 25 view .LVU1581
 4494 00e0 9B1A     		subs	r3, r3, r2
 4495 00e2 9BB2     		uxth	r3, r3
 4496 00e4 6385     		strh	r3, [r4, #42]	@ movhi
2201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4497              		.loc 1 2201 9 is_stmt 1 view .LVU1582
2201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4498              		.loc 1 2201 9 view .LVU1583
 4499 00e6 0023     		movs	r3, #0
 4500 00e8 84F84030 		strb	r3, [r4, #64]
2201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4501              		.loc 1 2201 9 view .LVU1584
2207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4502              		.loc 1 2207 9 view .LVU1585
 4503 00ec 1021     		movs	r1, #16
 4504 00ee 2046     		mov	r0, r4
 4505 00f0 FFF7FEFF 		bl	I2C_Enable_IRQ
 4506              	.LVL315:
2210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4507              		.loc 1 2210 9 view .LVU1586
2210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4508              		.loc 1 2210 13 is_stmt 0 view .LVU1587
 4509 00f4 2268     		ldr	r2, [r4]
2210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4510              		.loc 1 2210 23 view .LVU1588
 4511 00f6 1368     		ldr	r3, [r2]
2210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4512              		.loc 1 2210 29 view .LVU1589
 4513 00f8 43F40043 		orr	r3, r3, #32768
 4514 00fc 1360     		str	r3, [r2]
 4515 00fe 11E0     		b	.L298
 4516              	.LVL316:
 4517              	.L294:
2230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4518              		.loc 1 2230 7 is_stmt 1 view .LVU1590
2230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4519              		.loc 1 2230 21 is_stmt 0 view .LVU1591
 4520 0100 124B     		ldr	r3, .L305+20
 4521 0102 6363     		str	r3, [r4, #52]
2234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
 4522              		.loc 1 2234 7 is_stmt 1 view .LVU1592
 4523 0104 104B     		ldr	r3, .L305+16
 4524 0106 0093     		str	r3, [sp]
 4525 0108 4FF00073 		mov	r3, #33554432
 4526 010c CAB2     		uxtb	r2, r1
 4527              	.LVL317:
2234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
 4528              		.loc 1 2234 7 is_stmt 0 view .LVU1593
 4529 010e 2946     		mov	r1, r5
 4530 0110 2046     		mov	r0, r4
 4531 0112 FFF7FEFF 		bl	I2C_TransferConfig
 4532              	.LVL318:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 237


2238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4533              		.loc 1 2238 7 is_stmt 1 view .LVU1594
2238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4534              		.loc 1 2238 7 view .LVU1595
 4535 0116 0023     		movs	r3, #0
 4536 0118 84F84030 		strb	r3, [r4, #64]
2238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4537              		.loc 1 2238 7 view .LVU1596
2247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4538              		.loc 1 2247 7 view .LVU1597
 4539 011c 0221     		movs	r1, #2
 4540 011e 2046     		mov	r0, r4
 4541 0120 FFF7FEFF 		bl	I2C_Enable_IRQ
 4542              	.LVL319:
 4543              	.L298:
2250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 4544              		.loc 1 2250 5 view .LVU1598
2250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 4545              		.loc 1 2250 12 is_stmt 0 view .LVU1599
 4546 0124 0020     		movs	r0, #0
 4547 0126 00E0     		b	.L291
 4548              	.LVL320:
 4549              	.L299:
2254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 4550              		.loc 1 2254 12 view .LVU1600
 4551 0128 0220     		movs	r0, #2
 4552              	.LVL321:
 4553              	.L291:
2256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4554              		.loc 1 2256 1 view .LVU1601
 4555 012a 02B0     		add	sp, sp, #8
 4556              		.cfi_remember_state
 4557              		.cfi_def_cfa_offset 16
 4558              		@ sp needed
 4559 012c 70BD     		pop	{r4, r5, r6, pc}
 4560              	.LVL322:
 4561              	.L300:
 4562              		.cfi_restore_state
2131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4563              		.loc 1 2131 14 view .LVU1602
 4564 012e 0220     		movs	r0, #2
 4565 0130 FBE7     		b	.L291
 4566              	.L301:
2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4567              		.loc 1 2135 5 discriminator 1 view .LVU1603
 4568 0132 0220     		movs	r0, #2
 4569 0134 F9E7     		b	.L291
 4570              	.L306:
 4571 0136 00BF     		.align	2
 4572              	.L305:
 4573 0138 0000FFFF 		.word	-65536
 4574 013c 00000000 		.word	I2C_Master_ISR_DMA
 4575 0140 00000000 		.word	I2C_DMAMasterReceiveCplt
 4576 0144 00000000 		.word	I2C_DMAError
 4577 0148 00240080 		.word	-2147474432
 4578 014c 00000000 		.word	I2C_Master_ISR_IT
 4579              		.cfi_endproc
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 238


 4580              	.LFE348:
 4582              		.section	.text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
 4583              		.align	1
 4584              		.global	HAL_I2C_Slave_Transmit_DMA
 4585              		.syntax unified
 4586              		.thumb
 4587              		.thumb_func
 4589              	HAL_I2C_Slave_Transmit_DMA:
 4590              	.LVL323:
 4591              	.LFB349:
2267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 4592              		.loc 1 2267 1 is_stmt 1 view -0
 4593              		.cfi_startproc
 4594              		@ args = 0, pretend = 0, frame = 0
 4595              		@ frame_needed = 0, uses_anonymous_args = 0
2268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4596              		.loc 1 2268 3 view .LVU1605
2270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 4597              		.loc 1 2270 3 view .LVU1606
2270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 4598              		.loc 1 2270 11 is_stmt 0 view .LVU1607
 4599 0000 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
2270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 4600              		.loc 1 2270 6 view .LVU1608
 4601 0004 202B     		cmp	r3, #32
 4602 0006 40F08D80 		bne	.L316
2267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 4603              		.loc 1 2267 1 view .LVU1609
 4604 000a 10B5     		push	{r4, lr}
 4605              		.cfi_def_cfa_offset 8
 4606              		.cfi_offset 4, -8
 4607              		.cfi_offset 14, -4
 4608 000c 0446     		mov	r4, r0
2272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4609              		.loc 1 2272 5 is_stmt 1 view .LVU1610
2272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4610              		.loc 1 2272 8 is_stmt 0 view .LVU1611
 4611 000e 002A     		cmp	r2, #0
 4612 0010 18BF     		it	ne
 4613 0012 0029     		cmpne	r1, #0
 4614 0014 42D0     		beq	.L323
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4615              		.loc 1 2278 5 is_stmt 1 view .LVU1612
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4616              		.loc 1 2278 5 view .LVU1613
 4617 0016 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 4618 001a 012B     		cmp	r3, #1
 4619 001c 00F08480 		beq	.L317
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4620              		.loc 1 2278 5 discriminator 2 view .LVU1614
 4621 0020 0123     		movs	r3, #1
 4622 0022 80F84030 		strb	r3, [r0, #64]
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4623              		.loc 1 2278 5 view .LVU1615
2280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 4624              		.loc 1 2280 5 view .LVU1616
2280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 239


 4625              		.loc 1 2280 23 is_stmt 0 view .LVU1617
 4626 0026 2123     		movs	r3, #33
 4627 0028 80F84130 		strb	r3, [r0, #65]
2281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 4628              		.loc 1 2281 5 is_stmt 1 view .LVU1618
2281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 4629              		.loc 1 2281 23 is_stmt 0 view .LVU1619
 4630 002c 2023     		movs	r3, #32
 4631 002e 80F84230 		strb	r3, [r0, #66]
2282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4632              		.loc 1 2282 5 is_stmt 1 view .LVU1620
2282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4633              		.loc 1 2282 23 is_stmt 0 view .LVU1621
 4634 0032 0023     		movs	r3, #0
 4635 0034 4364     		str	r3, [r0, #68]
2285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4636              		.loc 1 2285 5 is_stmt 1 view .LVU1622
2285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4637              		.loc 1 2285 23 is_stmt 0 view .LVU1623
 4638 0036 4162     		str	r1, [r0, #36]
2286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 4639              		.loc 1 2286 5 is_stmt 1 view .LVU1624
2286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 4640              		.loc 1 2286 23 is_stmt 0 view .LVU1625
 4641 0038 4285     		strh	r2, [r0, #42]	@ movhi
2287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4642              		.loc 1 2287 5 is_stmt 1 view .LVU1626
2287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4643              		.loc 1 2287 29 is_stmt 0 view .LVU1627
 4644 003a 438D     		ldrh	r3, [r0, #42]
2287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4645              		.loc 1 2287 23 view .LVU1628
 4646 003c 0385     		strh	r3, [r0, #40]	@ movhi
2288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
 4647              		.loc 1 2288 5 is_stmt 1 view .LVU1629
2288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
 4648              		.loc 1 2288 23 is_stmt 0 view .LVU1630
 4649 003e 3B4B     		ldr	r3, .L326
 4650 0040 C362     		str	r3, [r0, #44]
2289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4651              		.loc 1 2289 5 is_stmt 1 view .LVU1631
2289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4652              		.loc 1 2289 23 is_stmt 0 view .LVU1632
 4653 0042 3B4B     		ldr	r3, .L326+4
 4654 0044 4363     		str	r3, [r0, #52]
2292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4655              		.loc 1 2292 5 is_stmt 1 view .LVU1633
2292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4656              		.loc 1 2292 19 is_stmt 0 view .LVU1634
 4657 0046 036A     		ldr	r3, [r0, #32]
2292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4658              		.loc 1 2292 8 view .LVU1635
 4659 0048 B3F5003F 		cmp	r3, #131072
 4660 004c 2BD0     		beq	.L324
 4661              	.LVL324:
 4662              	.L310:
2305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 240


 4663              		.loc 1 2305 5 is_stmt 1 view .LVU1636
2305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4664              		.loc 1 2305 13 is_stmt 0 view .LVU1637
 4665 004e 638D     		ldrh	r3, [r4, #42]
 4666 0050 9BB2     		uxth	r3, r3
2305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4667              		.loc 1 2305 8 view .LVU1638
 4668 0052 002B     		cmp	r3, #0
 4669 0054 57D0     		beq	.L311
2307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4670              		.loc 1 2307 7 is_stmt 1 view .LVU1639
2307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4671              		.loc 1 2307 15 is_stmt 0 view .LVU1640
 4672 0056 A36B     		ldr	r3, [r4, #56]
2307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4673              		.loc 1 2307 10 view .LVU1641
 4674 0058 002B     		cmp	r3, #0
 4675 005a 33D0     		beq	.L312
2310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4676              		.loc 1 2310 9 is_stmt 1 view .LVU1642
2310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4677              		.loc 1 2310 40 is_stmt 0 view .LVU1643
 4678 005c 354A     		ldr	r2, .L326+8
 4679 005e DA63     		str	r2, [r3, #60]
2313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4680              		.loc 1 2313 9 is_stmt 1 view .LVU1644
2313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4681              		.loc 1 2313 13 is_stmt 0 view .LVU1645
 4682 0060 A36B     		ldr	r3, [r4, #56]
2313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4683              		.loc 1 2313 41 view .LVU1646
 4684 0062 354A     		ldr	r2, .L326+12
 4685 0064 DA64     		str	r2, [r3, #76]
2316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
 4686              		.loc 1 2316 9 is_stmt 1 view .LVU1647
2316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
 4687              		.loc 1 2316 13 is_stmt 0 view .LVU1648
 4688 0066 A26B     		ldr	r2, [r4, #56]
2316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
 4689              		.loc 1 2316 44 view .LVU1649
 4690 0068 0023     		movs	r3, #0
 4691 006a 1364     		str	r3, [r2, #64]
2317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4692              		.loc 1 2317 9 is_stmt 1 view .LVU1650
2317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4693              		.loc 1 2317 13 is_stmt 0 view .LVU1651
 4694 006c A26B     		ldr	r2, [r4, #56]
2317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4695              		.loc 1 2317 41 view .LVU1652
 4696 006e 1365     		str	r3, [r2, #80]
2320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
 4697              		.loc 1 2320 9 is_stmt 1 view .LVU1653
2321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          hi2c->XferSize);
 4698              		.loc 1 2321 83 is_stmt 0 view .LVU1654
 4699 0070 2268     		ldr	r2, [r4]
2320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
 4700              		.loc 1 2320 25 view .LVU1655
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 241


 4701 0072 238D     		ldrh	r3, [r4, #40]
 4702 0074 2832     		adds	r2, r2, #40
 4703 0076 616A     		ldr	r1, [r4, #36]
 4704              	.LVL325:
2320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
 4705              		.loc 1 2320 25 view .LVU1656
 4706 0078 A06B     		ldr	r0, [r4, #56]
 4707              	.LVL326:
2320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
 4708              		.loc 1 2320 25 view .LVU1657
 4709 007a FFF7FEFF 		bl	HAL_DMA_Start_IT
 4710              	.LVL327:
2339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4711              		.loc 1 2339 7 is_stmt 1 view .LVU1658
2339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 4712              		.loc 1 2339 10 is_stmt 0 view .LVU1659
 4713 007e 78B3     		cbz	r0, .L325
2359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4714              		.loc 1 2359 9 is_stmt 1 view .LVU1660
2359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4715              		.loc 1 2359 25 is_stmt 0 view .LVU1661
 4716 0080 2823     		movs	r3, #40
 4717 0082 84F84130 		strb	r3, [r4, #65]
2360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4718              		.loc 1 2360 9 is_stmt 1 view .LVU1662
2360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4719              		.loc 1 2360 25 is_stmt 0 view .LVU1663
 4720 0086 0022     		movs	r2, #0
 4721 0088 84F84220 		strb	r2, [r4, #66]
2363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4722              		.loc 1 2363 9 is_stmt 1 view .LVU1664
2363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4723              		.loc 1 2363 13 is_stmt 0 view .LVU1665
 4724 008c 636C     		ldr	r3, [r4, #68]
2363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4725              		.loc 1 2363 25 view .LVU1666
 4726 008e 43F01003 		orr	r3, r3, #16
 4727 0092 6364     		str	r3, [r4, #68]
2366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4728              		.loc 1 2366 9 is_stmt 1 view .LVU1667
2366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4729              		.loc 1 2366 9 view .LVU1668
 4730 0094 84F84020 		strb	r2, [r4, #64]
2366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4731              		.loc 1 2366 9 view .LVU1669
2368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4732              		.loc 1 2368 9 view .LVU1670
2368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4733              		.loc 1 2368 16 is_stmt 0 view .LVU1671
 4734 0098 0120     		movs	r0, #1
 4735              	.LVL328:
2368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4736              		.loc 1 2368 16 view .LVU1672
 4737 009a 03E0     		b	.L308
 4738              	.LVL329:
 4739              	.L323:
2274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 242


 4740              		.loc 1 2274 7 is_stmt 1 view .LVU1673
2274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 4741              		.loc 1 2274 23 is_stmt 0 view .LVU1674
 4742 009c 4FF40073 		mov	r3, #512
 4743 00a0 4364     		str	r3, [r0, #68]
2275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4744              		.loc 1 2275 7 is_stmt 1 view .LVU1675
2275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4745              		.loc 1 2275 15 is_stmt 0 view .LVU1676
 4746 00a2 0120     		movs	r0, #1
 4747              	.LVL330:
 4748              	.L308:
2392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4749              		.loc 1 2392 1 view .LVU1677
 4750 00a4 10BD     		pop	{r4, pc}
 4751              	.LVL331:
 4752              	.L324:
2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4753              		.loc 1 2296 7 is_stmt 1 view .LVU1678
2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4754              		.loc 1 2296 11 is_stmt 0 view .LVU1679
 4755 00a6 0368     		ldr	r3, [r0]
2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4756              		.loc 1 2296 30 view .LVU1680
 4757 00a8 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 4758              	.LVL332:
2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4759              		.loc 1 2296 28 view .LVU1681
 4760 00aa 9A62     		str	r2, [r3, #40]
2299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4761              		.loc 1 2299 7 is_stmt 1 view .LVU1682
2299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4762              		.loc 1 2299 11 is_stmt 0 view .LVU1683
 4763 00ac 436A     		ldr	r3, [r0, #36]
2299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4764              		.loc 1 2299 21 view .LVU1684
 4765 00ae 0133     		adds	r3, r3, #1
 4766 00b0 4362     		str	r3, [r0, #36]
2301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 4767              		.loc 1 2301 7 is_stmt 1 view .LVU1685
2301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 4768              		.loc 1 2301 11 is_stmt 0 view .LVU1686
 4769 00b2 438D     		ldrh	r3, [r0, #42]
 4770 00b4 9BB2     		uxth	r3, r3
2301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 4771              		.loc 1 2301 22 view .LVU1687
 4772 00b6 013B     		subs	r3, r3, #1
 4773 00b8 9BB2     		uxth	r3, r3
 4774 00ba 4385     		strh	r3, [r0, #42]	@ movhi
2302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4775              		.loc 1 2302 7 is_stmt 1 view .LVU1688
2302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4776              		.loc 1 2302 11 is_stmt 0 view .LVU1689
 4777 00bc 038D     		ldrh	r3, [r0, #40]
2302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4778              		.loc 1 2302 21 view .LVU1690
 4779 00be 013B     		subs	r3, r3, #1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 243


 4780 00c0 0385     		strh	r3, [r0, #40]	@ movhi
 4781 00c2 C4E7     		b	.L310
 4782              	.L312:
2327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4783              		.loc 1 2327 9 is_stmt 1 view .LVU1691
2327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 4784              		.loc 1 2327 25 is_stmt 0 view .LVU1692
 4785 00c4 2823     		movs	r3, #40
 4786 00c6 84F84130 		strb	r3, [r4, #65]
2328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4787              		.loc 1 2328 9 is_stmt 1 view .LVU1693
2328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4788              		.loc 1 2328 25 is_stmt 0 view .LVU1694
 4789 00ca 0022     		movs	r2, #0
 4790 00cc 84F84220 		strb	r2, [r4, #66]
2331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4791              		.loc 1 2331 9 is_stmt 1 view .LVU1695
2331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4792              		.loc 1 2331 13 is_stmt 0 view .LVU1696
 4793 00d0 636C     		ldr	r3, [r4, #68]
2331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4794              		.loc 1 2331 25 view .LVU1697
 4795 00d2 43F08003 		orr	r3, r3, #128
 4796 00d6 6364     		str	r3, [r4, #68]
2334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4797              		.loc 1 2334 9 is_stmt 1 view .LVU1698
2334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4798              		.loc 1 2334 9 view .LVU1699
 4799 00d8 84F84020 		strb	r2, [r4, #64]
2334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4800              		.loc 1 2334 9 view .LVU1700
2336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4801              		.loc 1 2336 9 view .LVU1701
2336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4802              		.loc 1 2336 16 is_stmt 0 view .LVU1702
 4803 00dc 0120     		movs	r0, #1
 4804              	.LVL333:
2336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4805              		.loc 1 2336 16 view .LVU1703
 4806 00de E1E7     		b	.L308
 4807              	.LVL334:
 4808              	.L325:
2342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4809              		.loc 1 2342 9 is_stmt 1 view .LVU1704
2342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4810              		.loc 1 2342 13 is_stmt 0 view .LVU1705
 4811 00e0 2268     		ldr	r2, [r4]
2342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4812              		.loc 1 2342 23 view .LVU1706
 4813 00e2 5368     		ldr	r3, [r2, #4]
2342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4814              		.loc 1 2342 29 view .LVU1707
 4815 00e4 23F40043 		bic	r3, r3, #32768
 4816 00e8 5360     		str	r3, [r2, #4]
2345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4817              		.loc 1 2345 9 is_stmt 1 view .LVU1708
2345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 244


 4818              		.loc 1 2345 9 view .LVU1709
 4819 00ea 0023     		movs	r3, #0
 4820 00ec 84F84030 		strb	r3, [r4, #64]
2345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4821              		.loc 1 2345 9 view .LVU1710
2351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4822              		.loc 1 2351 9 view .LVU1711
 4823 00f0 4FF40041 		mov	r1, #32768
 4824 00f4 2046     		mov	r0, r4
 4825              	.LVL335:
2351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4826              		.loc 1 2351 9 is_stmt 0 view .LVU1712
 4827 00f6 FFF7FEFF 		bl	I2C_Enable_IRQ
 4828              	.LVL336:
2354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4829              		.loc 1 2354 9 is_stmt 1 view .LVU1713
2354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4830              		.loc 1 2354 13 is_stmt 0 view .LVU1714
 4831 00fa 2268     		ldr	r2, [r4]
2354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4832              		.loc 1 2354 23 view .LVU1715
 4833 00fc 1368     		ldr	r3, [r2]
2354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 4834              		.loc 1 2354 29 view .LVU1716
 4835 00fe 43F48043 		orr	r3, r3, #16384
 4836 0102 1360     		str	r3, [r2]
 4837 0104 0CE0     		b	.L315
 4838              	.LVL337:
 4839              	.L311:
2374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4840              		.loc 1 2374 7 is_stmt 1 view .LVU1717
2374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4841              		.loc 1 2374 11 is_stmt 0 view .LVU1718
 4842 0106 2268     		ldr	r2, [r4]
2374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4843              		.loc 1 2374 21 view .LVU1719
 4844 0108 5368     		ldr	r3, [r2, #4]
2374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4845              		.loc 1 2374 27 view .LVU1720
 4846 010a 23F40043 		bic	r3, r3, #32768
 4847 010e 5360     		str	r3, [r2, #4]
2377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4848              		.loc 1 2377 7 is_stmt 1 view .LVU1721
2377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4849              		.loc 1 2377 7 view .LVU1722
 4850 0110 0023     		movs	r3, #0
 4851 0112 84F84030 		strb	r3, [r4, #64]
2377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4852              		.loc 1 2377 7 view .LVU1723
2383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4853              		.loc 1 2383 7 view .LVU1724
 4854 0116 4FF40041 		mov	r1, #32768
 4855              	.LVL338:
2383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4856              		.loc 1 2383 7 is_stmt 0 view .LVU1725
 4857 011a 2046     		mov	r0, r4
 4858              	.LVL339:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 245


2383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 4859              		.loc 1 2383 7 view .LVU1726
 4860 011c FFF7FEFF 		bl	I2C_Enable_IRQ
 4861              	.LVL340:
 4862              	.L315:
2386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 4863              		.loc 1 2386 5 is_stmt 1 view .LVU1727
2386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 4864              		.loc 1 2386 12 is_stmt 0 view .LVU1728
 4865 0120 0020     		movs	r0, #0
 4866 0122 BFE7     		b	.L308
 4867              	.LVL341:
 4868              	.L316:
 4869              		.cfi_def_cfa_offset 0
 4870              		.cfi_restore 4
 4871              		.cfi_restore 14
2390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 4872              		.loc 1 2390 12 view .LVU1729
 4873 0124 0220     		movs	r0, #2
 4874              	.LVL342:
2392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4875              		.loc 1 2392 1 view .LVU1730
 4876 0126 7047     		bx	lr
 4877              	.LVL343:
 4878              	.L317:
 4879              		.cfi_def_cfa_offset 8
 4880              		.cfi_offset 4, -8
 4881              		.cfi_offset 14, -4
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4882              		.loc 1 2278 5 discriminator 1 view .LVU1731
 4883 0128 0220     		movs	r0, #2
 4884              	.LVL344:
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4885              		.loc 1 2278 5 discriminator 1 view .LVU1732
 4886 012a BBE7     		b	.L308
 4887              	.L327:
 4888              		.align	2
 4889              	.L326:
 4890 012c 0000FFFF 		.word	-65536
 4891 0130 00000000 		.word	I2C_Slave_ISR_DMA
 4892 0134 00000000 		.word	I2C_DMASlaveTransmitCplt
 4893 0138 00000000 		.word	I2C_DMAError
 4894              		.cfi_endproc
 4895              	.LFE349:
 4897              		.section	.text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
 4898              		.align	1
 4899              		.global	HAL_I2C_Slave_Receive_DMA
 4900              		.syntax unified
 4901              		.thumb
 4902              		.thumb_func
 4904              	HAL_I2C_Slave_Receive_DMA:
 4905              	.LVL345:
 4906              	.LFB350:
2403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 4907              		.loc 1 2403 1 is_stmt 1 view -0
 4908              		.cfi_startproc
 4909              		@ args = 0, pretend = 0, frame = 0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 246


 4910              		@ frame_needed = 0, uses_anonymous_args = 0
2403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 4911              		.loc 1 2403 1 is_stmt 0 view .LVU1734
 4912 0000 38B5     		push	{r3, r4, r5, lr}
 4913              		.cfi_def_cfa_offset 16
 4914              		.cfi_offset 3, -16
 4915              		.cfi_offset 4, -12
 4916              		.cfi_offset 5, -8
 4917              		.cfi_offset 14, -4
2404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4918              		.loc 1 2404 3 is_stmt 1 view .LVU1735
2406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 4919              		.loc 1 2406 3 view .LVU1736
2406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 4920              		.loc 1 2406 11 is_stmt 0 view .LVU1737
 4921 0002 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
2406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 4922              		.loc 1 2406 6 view .LVU1738
 4923 0006 202B     		cmp	r3, #32
 4924 0008 65D1     		bne	.L334
 4925 000a 0446     		mov	r4, r0
2408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4926              		.loc 1 2408 5 is_stmt 1 view .LVU1739
2408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4927              		.loc 1 2408 8 is_stmt 0 view .LVU1740
 4928 000c 002A     		cmp	r2, #0
 4929 000e 18BF     		it	ne
 4930 0010 0029     		cmpne	r1, #0
 4931 0012 3AD0     		beq	.L338
2414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4932              		.loc 1 2414 5 is_stmt 1 view .LVU1741
2414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4933              		.loc 1 2414 5 view .LVU1742
 4934 0014 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 4935 0018 012B     		cmp	r3, #1
 4936 001a 5FD0     		beq	.L335
2414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4937              		.loc 1 2414 5 discriminator 2 view .LVU1743
 4938 001c 0123     		movs	r3, #1
 4939 001e 80F84030 		strb	r3, [r0, #64]
2414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4940              		.loc 1 2414 5 view .LVU1744
2416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 4941              		.loc 1 2416 5 view .LVU1745
2416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_SLAVE;
 4942              		.loc 1 2416 23 is_stmt 0 view .LVU1746
 4943 0022 2223     		movs	r3, #34
 4944 0024 80F84130 		strb	r3, [r0, #65]
2417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 4945              		.loc 1 2417 5 is_stmt 1 view .LVU1747
2417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 4946              		.loc 1 2417 23 is_stmt 0 view .LVU1748
 4947 0028 2023     		movs	r3, #32
 4948 002a 80F84230 		strb	r3, [r0, #66]
2418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4949              		.loc 1 2418 5 is_stmt 1 view .LVU1749
2418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 247


 4950              		.loc 1 2418 23 is_stmt 0 view .LVU1750
 4951 002e 0023     		movs	r3, #0
 4952 0030 4364     		str	r3, [r0, #68]
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4953              		.loc 1 2421 5 is_stmt 1 view .LVU1751
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 4954              		.loc 1 2421 23 is_stmt 0 view .LVU1752
 4955 0032 4162     		str	r1, [r0, #36]
2422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 4956              		.loc 1 2422 5 is_stmt 1 view .LVU1753
2422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 4957              		.loc 1 2422 23 is_stmt 0 view .LVU1754
 4958 0034 4285     		strh	r2, [r0, #42]	@ movhi
2423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4959              		.loc 1 2423 5 is_stmt 1 view .LVU1755
2423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4960              		.loc 1 2423 29 is_stmt 0 view .LVU1756
 4961 0036 438D     		ldrh	r3, [r0, #42]
2423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 4962              		.loc 1 2423 23 view .LVU1757
 4963 0038 0385     		strh	r3, [r0, #40]	@ movhi
2424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
 4964              		.loc 1 2424 5 is_stmt 1 view .LVU1758
2424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
 4965              		.loc 1 2424 23 is_stmt 0 view .LVU1759
 4966 003a 294B     		ldr	r3, .L340
 4967 003c C362     		str	r3, [r0, #44]
2425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4968              		.loc 1 2425 5 is_stmt 1 view .LVU1760
2425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4969              		.loc 1 2425 23 is_stmt 0 view .LVU1761
 4970 003e 294B     		ldr	r3, .L340+4
 4971 0040 4363     		str	r3, [r0, #52]
2427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4972              		.loc 1 2427 5 is_stmt 1 view .LVU1762
2427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4973              		.loc 1 2427 13 is_stmt 0 view .LVU1763
 4974 0042 C36B     		ldr	r3, [r0, #60]
2427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 4975              		.loc 1 2427 8 view .LVU1764
 4976 0044 33B3     		cbz	r3, .L331
2430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4977              		.loc 1 2430 7 is_stmt 1 view .LVU1765
2430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4978              		.loc 1 2430 38 is_stmt 0 view .LVU1766
 4979 0046 284A     		ldr	r2, .L340+8
 4980              	.LVL346:
2430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4981              		.loc 1 2430 38 view .LVU1767
 4982 0048 DA63     		str	r2, [r3, #60]
2433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4983              		.loc 1 2433 7 is_stmt 1 view .LVU1768
2433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4984              		.loc 1 2433 11 is_stmt 0 view .LVU1769
 4985 004a C36B     		ldr	r3, [r0, #60]
2433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4986              		.loc 1 2433 39 view .LVU1770
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 248


 4987 004c 274A     		ldr	r2, .L340+12
 4988 004e DA64     		str	r2, [r3, #76]
2436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 4989              		.loc 1 2436 7 is_stmt 1 view .LVU1771
2436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 4990              		.loc 1 2436 11 is_stmt 0 view .LVU1772
 4991 0050 C26B     		ldr	r2, [r0, #60]
2436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 4992              		.loc 1 2436 42 view .LVU1773
 4993 0052 0023     		movs	r3, #0
 4994 0054 1364     		str	r3, [r2, #64]
2437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4995              		.loc 1 2437 7 is_stmt 1 view .LVU1774
2437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4996              		.loc 1 2437 11 is_stmt 0 view .LVU1775
 4997 0056 C26B     		ldr	r2, [r0, #60]
2437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 4998              		.loc 1 2437 39 view .LVU1776
 4999 0058 1365     		str	r3, [r2, #80]
2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 5000              		.loc 1 2440 7 is_stmt 1 view .LVU1777
2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 5001              		.loc 1 2440 69 is_stmt 0 view .LVU1778
 5002 005a 0068     		ldr	r0, [r0]
 5003              	.LVL347:
2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 5004              		.loc 1 2440 23 view .LVU1779
 5005 005c 238D     		ldrh	r3, [r4, #40]
 5006 005e 0A46     		mov	r2, r1
 5007 0060 00F12401 		add	r1, r0, #36
 5008              	.LVL348:
2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 5009              		.loc 1 2440 23 view .LVU1780
 5010 0064 E06B     		ldr	r0, [r4, #60]
 5011 0066 FFF7FEFF 		bl	HAL_DMA_Start_IT
 5012              	.LVL349:
2458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5013              		.loc 1 2458 5 is_stmt 1 view .LVU1781
2458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5014              		.loc 1 2458 8 is_stmt 0 view .LVU1782
 5015 006a 0546     		mov	r5, r0
 5016 006c 00B3     		cbz	r0, .L339
2478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 5017              		.loc 1 2478 7 is_stmt 1 view .LVU1783
2478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 5018              		.loc 1 2478 23 is_stmt 0 view .LVU1784
 5019 006e 2823     		movs	r3, #40
 5020 0070 84F84130 		strb	r3, [r4, #65]
2479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5021              		.loc 1 2479 7 is_stmt 1 view .LVU1785
2479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5022              		.loc 1 2479 23 is_stmt 0 view .LVU1786
 5023 0074 0022     		movs	r2, #0
 5024 0076 84F84220 		strb	r2, [r4, #66]
2482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5025              		.loc 1 2482 7 is_stmt 1 view .LVU1787
2482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 249


 5026              		.loc 1 2482 11 is_stmt 0 view .LVU1788
 5027 007a 636C     		ldr	r3, [r4, #68]
2482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5028              		.loc 1 2482 23 view .LVU1789
 5029 007c 43F01003 		orr	r3, r3, #16
 5030 0080 6364     		str	r3, [r4, #68]
2485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5031              		.loc 1 2485 7 is_stmt 1 view .LVU1790
2485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5032              		.loc 1 2485 7 view .LVU1791
 5033 0082 84F84020 		strb	r2, [r4, #64]
2485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5034              		.loc 1 2485 7 view .LVU1792
2487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5035              		.loc 1 2487 7 view .LVU1793
2487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5036              		.loc 1 2487 14 is_stmt 0 view .LVU1794
 5037 0086 0125     		movs	r5, #1
 5038 0088 26E0     		b	.L329
 5039              	.LVL350:
 5040              	.L338:
2410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 5041              		.loc 1 2410 7 is_stmt 1 view .LVU1795
2410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 5042              		.loc 1 2410 23 is_stmt 0 view .LVU1796
 5043 008a 4FF40073 		mov	r3, #512
 5044 008e 4364     		str	r3, [r0, #68]
2411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5045              		.loc 1 2411 7 is_stmt 1 view .LVU1797
2411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5046              		.loc 1 2411 15 is_stmt 0 view .LVU1798
 5047 0090 0125     		movs	r5, #1
 5048 0092 21E0     		b	.L329
 5049              	.L331:
2446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 5050              		.loc 1 2446 7 is_stmt 1 view .LVU1799
2446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 5051              		.loc 1 2446 23 is_stmt 0 view .LVU1800
 5052 0094 2823     		movs	r3, #40
 5053 0096 80F84130 		strb	r3, [r0, #65]
2447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5054              		.loc 1 2447 7 is_stmt 1 view .LVU1801
2447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5055              		.loc 1 2447 23 is_stmt 0 view .LVU1802
 5056 009a 0022     		movs	r2, #0
 5057              	.LVL351:
2447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5058              		.loc 1 2447 23 view .LVU1803
 5059 009c 80F84220 		strb	r2, [r0, #66]
2450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5060              		.loc 1 2450 7 is_stmt 1 view .LVU1804
2450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5061              		.loc 1 2450 11 is_stmt 0 view .LVU1805
 5062 00a0 436C     		ldr	r3, [r0, #68]
2450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5063              		.loc 1 2450 23 view .LVU1806
 5064 00a2 43F08003 		orr	r3, r3, #128
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 250


 5065 00a6 4364     		str	r3, [r0, #68]
2453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5066              		.loc 1 2453 7 is_stmt 1 view .LVU1807
2453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5067              		.loc 1 2453 7 view .LVU1808
 5068 00a8 80F84020 		strb	r2, [r0, #64]
2453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5069              		.loc 1 2453 7 view .LVU1809
2455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5070              		.loc 1 2455 7 view .LVU1810
2455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5071              		.loc 1 2455 14 is_stmt 0 view .LVU1811
 5072 00ac 0125     		movs	r5, #1
 5073 00ae 13E0     		b	.L329
 5074              	.LVL352:
 5075              	.L339:
2461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5076              		.loc 1 2461 7 is_stmt 1 view .LVU1812
2461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5077              		.loc 1 2461 11 is_stmt 0 view .LVU1813
 5078 00b0 2268     		ldr	r2, [r4]
2461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5079              		.loc 1 2461 21 view .LVU1814
 5080 00b2 5368     		ldr	r3, [r2, #4]
2461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5081              		.loc 1 2461 27 view .LVU1815
 5082 00b4 23F40043 		bic	r3, r3, #32768
 5083 00b8 5360     		str	r3, [r2, #4]
2464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5084              		.loc 1 2464 7 is_stmt 1 view .LVU1816
2464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5085              		.loc 1 2464 7 view .LVU1817
 5086 00ba 0023     		movs	r3, #0
 5087 00bc 84F84030 		strb	r3, [r4, #64]
2464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5088              		.loc 1 2464 7 view .LVU1818
2470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5089              		.loc 1 2470 7 view .LVU1819
 5090 00c0 4FF40041 		mov	r1, #32768
 5091 00c4 2046     		mov	r0, r4
 5092              	.LVL353:
2470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5093              		.loc 1 2470 7 is_stmt 0 view .LVU1820
 5094 00c6 FFF7FEFF 		bl	I2C_Enable_IRQ
 5095              	.LVL354:
2473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5096              		.loc 1 2473 7 is_stmt 1 view .LVU1821
2473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5097              		.loc 1 2473 11 is_stmt 0 view .LVU1822
 5098 00ca 2268     		ldr	r2, [r4]
2473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5099              		.loc 1 2473 21 view .LVU1823
 5100 00cc 1368     		ldr	r3, [r2]
2473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5101              		.loc 1 2473 27 view .LVU1824
 5102 00ce 43F40043 		orr	r3, r3, #32768
 5103 00d2 1360     		str	r3, [r2]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 251


2490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5104              		.loc 1 2490 5 is_stmt 1 view .LVU1825
2490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5105              		.loc 1 2490 12 is_stmt 0 view .LVU1826
 5106 00d4 00E0     		b	.L329
 5107              	.LVL355:
 5108              	.L334:
2494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5109              		.loc 1 2494 12 view .LVU1827
 5110 00d6 0225     		movs	r5, #2
 5111              	.LVL356:
 5112              	.L329:
2496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5113              		.loc 1 2496 1 view .LVU1828
 5114 00d8 2846     		mov	r0, r5
 5115 00da 38BD     		pop	{r3, r4, r5, pc}
 5116              	.LVL357:
 5117              	.L335:
2414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5118              		.loc 1 2414 5 discriminator 1 view .LVU1829
 5119 00dc 0225     		movs	r5, #2
 5120 00de FBE7     		b	.L329
 5121              	.L341:
 5122              		.align	2
 5123              	.L340:
 5124 00e0 0000FFFF 		.word	-65536
 5125 00e4 00000000 		.word	I2C_Slave_ISR_DMA
 5126 00e8 00000000 		.word	I2C_DMASlaveReceiveCplt
 5127 00ec 00000000 		.word	I2C_DMAError
 5128              		.cfi_endproc
 5129              	.LFE350:
 5131              		.section	.text.HAL_I2C_Mem_Write,"ax",%progbits
 5132              		.align	1
 5133              		.global	HAL_I2C_Mem_Write
 5134              		.syntax unified
 5135              		.thumb
 5136              		.thumb_func
 5138              	HAL_I2C_Mem_Write:
 5139              	.LVL358:
 5140              	.LFB351:
2513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 5141              		.loc 1 2513 1 is_stmt 1 view -0
 5142              		.cfi_startproc
 5143              		@ args = 12, pretend = 0, frame = 0
 5144              		@ frame_needed = 0, uses_anonymous_args = 0
2513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 5145              		.loc 1 2513 1 is_stmt 0 view .LVU1831
 5146 0000 2DE9F04F 		push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
 5147              		.cfi_def_cfa_offset 36
 5148              		.cfi_offset 4, -36
 5149              		.cfi_offset 5, -32
 5150              		.cfi_offset 6, -28
 5151              		.cfi_offset 7, -24
 5152              		.cfi_offset 8, -20
 5153              		.cfi_offset 9, -16
 5154              		.cfi_offset 10, -12
 5155              		.cfi_offset 11, -8
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 252


 5156              		.cfi_offset 14, -4
 5157 0004 83B0     		sub	sp, sp, #12
 5158              		.cfi_def_cfa_offset 48
 5159 0006 0D46     		mov	r5, r1
 5160 0008 BDF834A0 		ldrh	r10, [sp, #52]
 5161 000c 0E9F     		ldr	r7, [sp, #56]
2514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5162              		.loc 1 2514 3 is_stmt 1 view .LVU1832
2517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5163              		.loc 1 2517 3 view .LVU1833
2519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 5164              		.loc 1 2519 3 view .LVU1834
2519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 5165              		.loc 1 2519 11 is_stmt 0 view .LVU1835
 5166 000e 90F84110 		ldrb	r1, [r0, #65]	@ zero_extendqisi2
 5167              	.LVL359:
2519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 5168              		.loc 1 2519 6 view .LVU1836
 5169 0012 2029     		cmp	r1, #32
 5170 0014 40F0BC80 		bne	.L351
 5171 0018 0446     		mov	r4, r0
 5172 001a 9146     		mov	r9, r2
 5173 001c 9846     		mov	r8, r3
2521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5174              		.loc 1 2521 5 is_stmt 1 view .LVU1837
2521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5175              		.loc 1 2521 8 is_stmt 0 view .LVU1838
 5176 001e 0C9B     		ldr	r3, [sp, #48]
 5177              	.LVL360:
2521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5178              		.loc 1 2521 8 view .LVU1839
 5179 0020 BAF1000F 		cmp	r10, #0
 5180 0024 18BF     		it	ne
 5181 0026 002B     		cmpne	r3, #0
 5182 0028 16D0     		beq	.L358
2528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5183              		.loc 1 2528 5 is_stmt 1 view .LVU1840
2528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5184              		.loc 1 2528 5 view .LVU1841
 5185 002a 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 5186 002e 012B     		cmp	r3, #1
 5187 0030 00F0B280 		beq	.L352
2528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5188              		.loc 1 2528 5 discriminator 2 view .LVU1842
 5189 0034 4FF0010B 		mov	fp, #1
 5190 0038 80F840B0 		strb	fp, [r0, #64]
2528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5191              		.loc 1 2528 5 view .LVU1843
2531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5192              		.loc 1 2531 5 view .LVU1844
2531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5193              		.loc 1 2531 17 is_stmt 0 view .LVU1845
 5194 003c FFF7FEFF 		bl	HAL_GetTick
 5195              	.LVL361:
2531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5196              		.loc 1 2531 17 view .LVU1846
 5197 0040 0646     		mov	r6, r0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 253


 5198              	.LVL362:
2533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5199              		.loc 1 2533 5 is_stmt 1 view .LVU1847
2533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5200              		.loc 1 2533 9 is_stmt 0 view .LVU1848
 5201 0042 0090     		str	r0, [sp]
 5202 0044 1923     		movs	r3, #25
 5203 0046 5A46     		mov	r2, fp
 5204 0048 4FF40041 		mov	r1, #32768
 5205 004c 2046     		mov	r0, r4
 5206              	.LVL363:
2533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5207              		.loc 1 2533 9 view .LVU1849
 5208 004e FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 5209              	.LVL364:
2533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5210              		.loc 1 2533 8 discriminator 1 view .LVU1850
 5211 0052 30B1     		cbz	r0, .L359
2535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5212              		.loc 1 2535 14 view .LVU1851
 5213 0054 0120     		movs	r0, #1
 5214 0056 9CE0     		b	.L343
 5215              	.LVL365:
 5216              	.L358:
2523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 5217              		.loc 1 2523 7 is_stmt 1 view .LVU1852
2523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 5218              		.loc 1 2523 23 is_stmt 0 view .LVU1853
 5219 0058 4FF40073 		mov	r3, #512
 5220 005c 4364     		str	r3, [r0, #68]
2524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5221              		.loc 1 2524 7 is_stmt 1 view .LVU1854
2524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5222              		.loc 1 2524 15 is_stmt 0 view .LVU1855
 5223 005e 0120     		movs	r0, #1
 5224              	.LVL366:
2524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5225              		.loc 1 2524 15 view .LVU1856
 5226 0060 97E0     		b	.L343
 5227              	.LVL367:
 5228              	.L359:
2538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 5229              		.loc 1 2538 5 is_stmt 1 view .LVU1857
2538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 5230              		.loc 1 2538 21 is_stmt 0 view .LVU1858
 5231 0062 2123     		movs	r3, #33
 5232 0064 84F84130 		strb	r3, [r4, #65]
2539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5233              		.loc 1 2539 5 is_stmt 1 view .LVU1859
2539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5234              		.loc 1 2539 21 is_stmt 0 view .LVU1860
 5235 0068 4023     		movs	r3, #64
 5236 006a 84F84230 		strb	r3, [r4, #66]
2540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5237              		.loc 1 2540 5 is_stmt 1 view .LVU1861
2540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5238              		.loc 1 2540 21 is_stmt 0 view .LVU1862
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 254


 5239 006e 0023     		movs	r3, #0
 5240 0070 6364     		str	r3, [r4, #68]
2543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 5241              		.loc 1 2543 5 is_stmt 1 view .LVU1863
2543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 5242              		.loc 1 2543 21 is_stmt 0 view .LVU1864
 5243 0072 0C9A     		ldr	r2, [sp, #48]
 5244 0074 6262     		str	r2, [r4, #36]
2544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 5245              		.loc 1 2544 5 is_stmt 1 view .LVU1865
2544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 5246              		.loc 1 2544 21 is_stmt 0 view .LVU1866
 5247 0076 A4F82AA0 		strh	r10, [r4, #42]	@ movhi
2545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5248              		.loc 1 2545 5 is_stmt 1 view .LVU1867
2545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5249              		.loc 1 2545 21 is_stmt 0 view .LVU1868
 5250 007a 6363     		str	r3, [r4, #52]
2548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5251              		.loc 1 2548 5 is_stmt 1 view .LVU1869
2548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5252              		.loc 1 2548 9 is_stmt 0 view .LVU1870
 5253 007c 0196     		str	r6, [sp, #4]
 5254 007e 0097     		str	r7, [sp]
 5255 0080 4346     		mov	r3, r8
 5256 0082 4A46     		mov	r2, r9
 5257 0084 2946     		mov	r1, r5
 5258 0086 2046     		mov	r0, r4
 5259 0088 FFF7FEFF 		bl	I2C_RequestMemoryWrite
 5260              	.LVL368:
2548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5261              		.loc 1 2548 8 discriminator 1 view .LVU1871
 5262 008c 70B9     		cbnz	r0, .L360
2556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5263              		.loc 1 2556 5 is_stmt 1 view .LVU1872
2556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5264              		.loc 1 2556 13 is_stmt 0 view .LVU1873
 5265 008e 638D     		ldrh	r3, [r4, #42]
 5266 0090 9BB2     		uxth	r3, r3
2556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5267              		.loc 1 2556 8 view .LVU1874
 5268 0092 FF2B     		cmp	r3, #255
 5269 0094 0FD9     		bls	.L346
2558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
 5270              		.loc 1 2558 7 is_stmt 1 view .LVU1875
2558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
 5271              		.loc 1 2558 22 is_stmt 0 view .LVU1876
 5272 0096 FF22     		movs	r2, #255
 5273 0098 2285     		strh	r2, [r4, #40]	@ movhi
2559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5274              		.loc 1 2559 7 is_stmt 1 view .LVU1877
 5275 009a 0023     		movs	r3, #0
 5276 009c 0093     		str	r3, [sp]
 5277 009e 4FF08073 		mov	r3, #16777216
 5278 00a2 2946     		mov	r1, r5
 5279 00a4 2046     		mov	r0, r4
 5280 00a6 FFF7FEFF 		bl	I2C_TransferConfig
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 255


 5281              	.LVL369:
 5282 00aa 21E0     		b	.L350
 5283              	.L360:
2551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 5284              		.loc 1 2551 7 view .LVU1878
2551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 5285              		.loc 1 2551 7 view .LVU1879
 5286 00ac 0023     		movs	r3, #0
 5287 00ae 84F84030 		strb	r3, [r4, #64]
2551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 5288              		.loc 1 2551 7 view .LVU1880
2552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5289              		.loc 1 2552 7 view .LVU1881
2552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5290              		.loc 1 2552 14 is_stmt 0 view .LVU1882
 5291 00b2 5846     		mov	r0, fp
 5292 00b4 6DE0     		b	.L343
 5293              	.L346:
2563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
 5294              		.loc 1 2563 7 is_stmt 1 view .LVU1883
2563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
 5295              		.loc 1 2563 28 is_stmt 0 view .LVU1884
 5296 00b6 628D     		ldrh	r2, [r4, #42]
 5297 00b8 92B2     		uxth	r2, r2
2563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
 5298              		.loc 1 2563 22 view .LVU1885
 5299 00ba 2285     		strh	r2, [r4, #40]	@ movhi
2564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5300              		.loc 1 2564 7 is_stmt 1 view .LVU1886
 5301 00bc 0023     		movs	r3, #0
 5302 00be 0093     		str	r3, [sp]
 5303 00c0 4FF00073 		mov	r3, #33554432
 5304 00c4 D2B2     		uxtb	r2, r2
 5305 00c6 2946     		mov	r1, r5
 5306 00c8 2046     		mov	r0, r4
 5307 00ca FFF7FEFF 		bl	I2C_TransferConfig
 5308              	.LVL370:
 5309 00ce 0FE0     		b	.L350
 5310              	.L349:
2600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 5311              		.loc 1 2600 11 view .LVU1887
2600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 5312              		.loc 1 2600 32 is_stmt 0 view .LVU1888
 5313 00d0 628D     		ldrh	r2, [r4, #42]
 5314 00d2 92B2     		uxth	r2, r2
2600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 5315              		.loc 1 2600 26 view .LVU1889
 5316 00d4 2285     		strh	r2, [r4, #40]	@ movhi
2601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
 5317              		.loc 1 2601 11 is_stmt 1 view .LVU1890
 5318 00d6 0023     		movs	r3, #0
 5319 00d8 0093     		str	r3, [sp]
 5320 00da 4FF00073 		mov	r3, #33554432
 5321 00de D2B2     		uxtb	r2, r2
 5322 00e0 2946     		mov	r1, r5
 5323 00e2 2046     		mov	r0, r4
 5324 00e4 FFF7FEFF 		bl	I2C_TransferConfig
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 256


 5325              	.LVL371:
 5326              	.L348:
2606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5327              		.loc 1 2606 30 view .LVU1891
2606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5328              		.loc 1 2606 18 is_stmt 0 view .LVU1892
 5329 00e8 638D     		ldrh	r3, [r4, #42]
 5330 00ea 9BB2     		uxth	r3, r3
2606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5331              		.loc 1 2606 30 view .LVU1893
 5332 00ec 002B     		cmp	r3, #0
 5333 00ee 33D0     		beq	.L361
 5334              	.L350:
2567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5335              		.loc 1 2567 5 is_stmt 1 view .LVU1894
2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5336              		.loc 1 2570 7 view .LVU1895
2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5337              		.loc 1 2570 11 is_stmt 0 view .LVU1896
 5338 00f0 3246     		mov	r2, r6
 5339 00f2 3946     		mov	r1, r7
 5340 00f4 2046     		mov	r0, r4
 5341 00f6 FFF7FEFF 		bl	I2C_WaitOnTXISFlagUntilTimeout
 5342              	.LVL372:
2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5343              		.loc 1 2570 10 discriminator 1 view .LVU1897
 5344 00fa 0028     		cmp	r0, #0
 5345 00fc 4ED1     		bne	.L354
2576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5346              		.loc 1 2576 7 is_stmt 1 view .LVU1898
2576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5347              		.loc 1 2576 35 is_stmt 0 view .LVU1899
 5348 00fe 626A     		ldr	r2, [r4, #36]
2576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5349              		.loc 1 2576 11 view .LVU1900
 5350 0100 2368     		ldr	r3, [r4]
2576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5351              		.loc 1 2576 30 view .LVU1901
 5352 0102 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
2576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5353              		.loc 1 2576 28 view .LVU1902
 5354 0104 9A62     		str	r2, [r3, #40]
2579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5355              		.loc 1 2579 7 is_stmt 1 view .LVU1903
2579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5356              		.loc 1 2579 11 is_stmt 0 view .LVU1904
 5357 0106 636A     		ldr	r3, [r4, #36]
2579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5358              		.loc 1 2579 21 view .LVU1905
 5359 0108 0133     		adds	r3, r3, #1
 5360 010a 6362     		str	r3, [r4, #36]
2581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 5361              		.loc 1 2581 7 is_stmt 1 view .LVU1906
2581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 5362              		.loc 1 2581 11 is_stmt 0 view .LVU1907
 5363 010c 638D     		ldrh	r3, [r4, #42]
 5364 010e 9BB2     		uxth	r3, r3
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 257


2581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 5365              		.loc 1 2581 22 view .LVU1908
 5366 0110 013B     		subs	r3, r3, #1
 5367 0112 9BB2     		uxth	r3, r3
 5368 0114 6385     		strh	r3, [r4, #42]	@ movhi
2582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5369              		.loc 1 2582 7 is_stmt 1 view .LVU1909
2582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5370              		.loc 1 2582 11 is_stmt 0 view .LVU1910
 5371 0116 238D     		ldrh	r3, [r4, #40]
2582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5372              		.loc 1 2582 21 view .LVU1911
 5373 0118 013B     		subs	r3, r3, #1
 5374 011a 9BB2     		uxth	r3, r3
 5375 011c 2385     		strh	r3, [r4, #40]	@ movhi
2584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5376              		.loc 1 2584 7 is_stmt 1 view .LVU1912
2584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5377              		.loc 1 2584 16 is_stmt 0 view .LVU1913
 5378 011e 628D     		ldrh	r2, [r4, #42]
 5379 0120 92B2     		uxth	r2, r2
2584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5380              		.loc 1 2584 10 view .LVU1914
 5381 0122 002A     		cmp	r2, #0
 5382 0124 E0D0     		beq	.L348
2584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5383              		.loc 1 2584 35 discriminator 1 view .LVU1915
 5384 0126 002B     		cmp	r3, #0
 5385 0128 DED1     		bne	.L348
2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5386              		.loc 1 2587 9 is_stmt 1 view .LVU1916
2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5387              		.loc 1 2587 13 is_stmt 0 view .LVU1917
 5388 012a 0096     		str	r6, [sp]
 5389 012c 3B46     		mov	r3, r7
 5390 012e 0022     		movs	r2, #0
 5391 0130 8021     		movs	r1, #128
 5392 0132 2046     		mov	r0, r4
 5393 0134 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 5394              	.LVL373:
2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5395              		.loc 1 2587 12 discriminator 1 view .LVU1918
 5396 0138 90BB     		cbnz	r0, .L355
2592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5397              		.loc 1 2592 9 is_stmt 1 view .LVU1919
2592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5398              		.loc 1 2592 17 is_stmt 0 view .LVU1920
 5399 013a 638D     		ldrh	r3, [r4, #42]
 5400 013c 9BB2     		uxth	r3, r3
2592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5401              		.loc 1 2592 12 view .LVU1921
 5402 013e FF2B     		cmp	r3, #255
 5403 0140 C6D9     		bls	.L349
2594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
 5404              		.loc 1 2594 11 is_stmt 1 view .LVU1922
2594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
 5405              		.loc 1 2594 26 is_stmt 0 view .LVU1923
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 258


 5406 0142 FF22     		movs	r2, #255
 5407 0144 2285     		strh	r2, [r4, #40]	@ movhi
2595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
 5408              		.loc 1 2595 11 is_stmt 1 view .LVU1924
 5409 0146 0023     		movs	r3, #0
 5410 0148 0093     		str	r3, [sp]
 5411 014a 4FF08073 		mov	r3, #16777216
 5412 014e 2946     		mov	r1, r5
 5413 0150 2046     		mov	r0, r4
 5414 0152 FFF7FEFF 		bl	I2C_TransferConfig
 5415              	.LVL374:
 5416 0156 C7E7     		b	.L348
 5417              	.L361:
2610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5418              		.loc 1 2610 5 view .LVU1925
2610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5419              		.loc 1 2610 9 is_stmt 0 view .LVU1926
 5420 0158 3246     		mov	r2, r6
 5421 015a 3946     		mov	r1, r7
 5422 015c 2046     		mov	r0, r4
 5423 015e FFF7FEFF 		bl	I2C_WaitOnSTOPFlagUntilTimeout
 5424              	.LVL375:
2610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5425              		.loc 1 2610 8 discriminator 1 view .LVU1927
 5426 0162 F8B9     		cbnz	r0, .L356
2616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5427              		.loc 1 2616 5 is_stmt 1 view .LVU1928
 5428 0164 2368     		ldr	r3, [r4]
 5429 0166 2022     		movs	r2, #32
 5430 0168 DA61     		str	r2, [r3, #28]
2619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5431              		.loc 1 2619 5 view .LVU1929
 5432 016a 2168     		ldr	r1, [r4]
 5433 016c 4B68     		ldr	r3, [r1, #4]
 5434 016e 23F0FF73 		bic	r3, r3, #33423360
 5435 0172 23F48B33 		bic	r3, r3, #71168
 5436 0176 23F4FF73 		bic	r3, r3, #510
 5437 017a 23F00103 		bic	r3, r3, #1
 5438 017e 4B60     		str	r3, [r1, #4]
2621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 5439              		.loc 1 2621 5 view .LVU1930
2621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 5440              		.loc 1 2621 17 is_stmt 0 view .LVU1931
 5441 0180 84F84120 		strb	r2, [r4, #65]
2622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5442              		.loc 1 2622 5 is_stmt 1 view .LVU1932
2622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5443              		.loc 1 2622 17 is_stmt 0 view .LVU1933
 5444 0184 0023     		movs	r3, #0
 5445 0186 84F84230 		strb	r3, [r4, #66]
2625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5446              		.loc 1 2625 5 is_stmt 1 view .LVU1934
2625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5447              		.loc 1 2625 5 view .LVU1935
 5448 018a 84F84030 		strb	r3, [r4, #64]
2625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5449              		.loc 1 2625 5 view .LVU1936
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 259


2627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5450              		.loc 1 2627 5 view .LVU1937
2627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5451              		.loc 1 2627 12 is_stmt 0 view .LVU1938
 5452 018e 00E0     		b	.L343
 5453              	.LVL376:
 5454              	.L351:
2631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5455              		.loc 1 2631 12 view .LVU1939
 5456 0190 0220     		movs	r0, #2
 5457              	.LVL377:
 5458              	.L343:
2633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5459              		.loc 1 2633 1 view .LVU1940
 5460 0192 03B0     		add	sp, sp, #12
 5461              		.cfi_remember_state
 5462              		.cfi_def_cfa_offset 36
 5463              		@ sp needed
 5464 0194 BDE8F08F 		pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
 5465              	.LVL378:
 5466              	.L352:
 5467              		.cfi_restore_state
2528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5468              		.loc 1 2528 5 discriminator 1 view .LVU1941
 5469 0198 0220     		movs	r0, #2
 5470              	.LVL379:
2528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5471              		.loc 1 2528 5 discriminator 1 view .LVU1942
 5472 019a FAE7     		b	.L343
 5473              	.LVL380:
 5474              	.L354:
2572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 5475              		.loc 1 2572 16 view .LVU1943
 5476 019c 0120     		movs	r0, #1
 5477 019e F8E7     		b	.L343
 5478              	.L355:
2589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 5479              		.loc 1 2589 18 view .LVU1944
 5480 01a0 0120     		movs	r0, #1
 5481 01a2 F6E7     		b	.L343
 5482              	.L356:
2612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5483              		.loc 1 2612 14 view .LVU1945
 5484 01a4 0120     		movs	r0, #1
 5485 01a6 F4E7     		b	.L343
 5486              		.cfi_endproc
 5487              	.LFE351:
 5489              		.section	.text.HAL_I2C_Mem_Read,"ax",%progbits
 5490              		.align	1
 5491              		.global	HAL_I2C_Mem_Read
 5492              		.syntax unified
 5493              		.thumb
 5494              		.thumb_func
 5496              	HAL_I2C_Mem_Read:
 5497              	.LVL381:
 5498              	.LFB352:
2650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 260


 5499              		.loc 1 2650 1 is_stmt 1 view -0
 5500              		.cfi_startproc
 5501              		@ args = 12, pretend = 0, frame = 0
 5502              		@ frame_needed = 0, uses_anonymous_args = 0
2650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 5503              		.loc 1 2650 1 is_stmt 0 view .LVU1947
 5504 0000 2DE9F04F 		push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
 5505              		.cfi_def_cfa_offset 36
 5506              		.cfi_offset 4, -36
 5507              		.cfi_offset 5, -32
 5508              		.cfi_offset 6, -28
 5509              		.cfi_offset 7, -24
 5510              		.cfi_offset 8, -20
 5511              		.cfi_offset 9, -16
 5512              		.cfi_offset 10, -12
 5513              		.cfi_offset 11, -8
 5514              		.cfi_offset 14, -4
 5515 0004 83B0     		sub	sp, sp, #12
 5516              		.cfi_def_cfa_offset 48
 5517 0006 0D46     		mov	r5, r1
 5518 0008 BDF834A0 		ldrh	r10, [sp, #52]
 5519 000c 0E9F     		ldr	r7, [sp, #56]
2651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5520              		.loc 1 2651 3 is_stmt 1 view .LVU1948
2654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5521              		.loc 1 2654 3 view .LVU1949
2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 5522              		.loc 1 2656 3 view .LVU1950
2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 5523              		.loc 1 2656 11 is_stmt 0 view .LVU1951
 5524 000e 90F84110 		ldrb	r1, [r0, #65]	@ zero_extendqisi2
 5525              	.LVL382:
2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 5526              		.loc 1 2656 6 view .LVU1952
 5527 0012 2029     		cmp	r1, #32
 5528 0014 40F0BD80 		bne	.L371
 5529 0018 0446     		mov	r4, r0
 5530 001a 9146     		mov	r9, r2
 5531 001c 9846     		mov	r8, r3
2658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5532              		.loc 1 2658 5 is_stmt 1 view .LVU1953
2658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5533              		.loc 1 2658 8 is_stmt 0 view .LVU1954
 5534 001e 0C9B     		ldr	r3, [sp, #48]
 5535              	.LVL383:
2658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5536              		.loc 1 2658 8 view .LVU1955
 5537 0020 BAF1000F 		cmp	r10, #0
 5538 0024 18BF     		it	ne
 5539 0026 002B     		cmpne	r3, #0
 5540 0028 16D0     		beq	.L378
2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5541              		.loc 1 2665 5 is_stmt 1 view .LVU1956
2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5542              		.loc 1 2665 5 view .LVU1957
 5543 002a 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 5544 002e 012B     		cmp	r3, #1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 261


 5545 0030 00F0B380 		beq	.L372
2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5546              		.loc 1 2665 5 discriminator 2 view .LVU1958
 5547 0034 4FF0010B 		mov	fp, #1
 5548 0038 80F840B0 		strb	fp, [r0, #64]
2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5549              		.loc 1 2665 5 view .LVU1959
2668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5550              		.loc 1 2668 5 view .LVU1960
2668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5551              		.loc 1 2668 17 is_stmt 0 view .LVU1961
 5552 003c FFF7FEFF 		bl	HAL_GetTick
 5553              	.LVL384:
2668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5554              		.loc 1 2668 17 view .LVU1962
 5555 0040 0646     		mov	r6, r0
 5556              	.LVL385:
2670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5557              		.loc 1 2670 5 is_stmt 1 view .LVU1963
2670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5558              		.loc 1 2670 9 is_stmt 0 view .LVU1964
 5559 0042 0090     		str	r0, [sp]
 5560 0044 1923     		movs	r3, #25
 5561 0046 5A46     		mov	r2, fp
 5562 0048 4FF40041 		mov	r1, #32768
 5563 004c 2046     		mov	r0, r4
 5564              	.LVL386:
2670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5565              		.loc 1 2670 9 view .LVU1965
 5566 004e FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 5567              	.LVL387:
2670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5568              		.loc 1 2670 8 discriminator 1 view .LVU1966
 5569 0052 30B1     		cbz	r0, .L379
2672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5570              		.loc 1 2672 14 view .LVU1967
 5571 0054 0120     		movs	r0, #1
 5572 0056 9DE0     		b	.L363
 5573              	.LVL388:
 5574              	.L378:
2660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 5575              		.loc 1 2660 7 is_stmt 1 view .LVU1968
2660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 5576              		.loc 1 2660 23 is_stmt 0 view .LVU1969
 5577 0058 4FF40073 		mov	r3, #512
 5578 005c 4364     		str	r3, [r0, #68]
2661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5579              		.loc 1 2661 7 is_stmt 1 view .LVU1970
2661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5580              		.loc 1 2661 15 is_stmt 0 view .LVU1971
 5581 005e 0120     		movs	r0, #1
 5582              	.LVL389:
2661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5583              		.loc 1 2661 15 view .LVU1972
 5584 0060 98E0     		b	.L363
 5585              	.LVL390:
 5586              	.L379:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 262


2675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 5587              		.loc 1 2675 5 is_stmt 1 view .LVU1973
2675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MEM;
 5588              		.loc 1 2675 21 is_stmt 0 view .LVU1974
 5589 0062 2223     		movs	r3, #34
 5590 0064 84F84130 		strb	r3, [r4, #65]
2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5591              		.loc 1 2676 5 is_stmt 1 view .LVU1975
2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 5592              		.loc 1 2676 21 is_stmt 0 view .LVU1976
 5593 0068 4023     		movs	r3, #64
 5594 006a 84F84230 		strb	r3, [r4, #66]
2677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5595              		.loc 1 2677 5 is_stmt 1 view .LVU1977
2677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5596              		.loc 1 2677 21 is_stmt 0 view .LVU1978
 5597 006e 0023     		movs	r3, #0
 5598 0070 6364     		str	r3, [r4, #68]
2680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 5599              		.loc 1 2680 5 is_stmt 1 view .LVU1979
2680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount = Size;
 5600              		.loc 1 2680 21 is_stmt 0 view .LVU1980
 5601 0072 0C9A     		ldr	r2, [sp, #48]
 5602 0074 6262     		str	r2, [r4, #36]
2681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 5603              		.loc 1 2681 5 is_stmt 1 view .LVU1981
2681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR   = NULL;
 5604              		.loc 1 2681 21 is_stmt 0 view .LVU1982
 5605 0076 A4F82AA0 		strh	r10, [r4, #42]	@ movhi
2682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5606              		.loc 1 2682 5 is_stmt 1 view .LVU1983
2682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5607              		.loc 1 2682 21 is_stmt 0 view .LVU1984
 5608 007a 6363     		str	r3, [r4, #52]
2685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5609              		.loc 1 2685 5 is_stmt 1 view .LVU1985
2685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5610              		.loc 1 2685 9 is_stmt 0 view .LVU1986
 5611 007c 0196     		str	r6, [sp, #4]
 5612 007e 0097     		str	r7, [sp]
 5613 0080 4346     		mov	r3, r8
 5614 0082 4A46     		mov	r2, r9
 5615 0084 2946     		mov	r1, r5
 5616 0086 2046     		mov	r0, r4
 5617 0088 FFF7FEFF 		bl	I2C_RequestMemoryRead
 5618              	.LVL391:
2685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5619              		.loc 1 2685 8 discriminator 1 view .LVU1987
 5620 008c 70B9     		cbnz	r0, .L380
2694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5621              		.loc 1 2694 5 is_stmt 1 view .LVU1988
2694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5622              		.loc 1 2694 13 is_stmt 0 view .LVU1989
 5623 008e 638D     		ldrh	r3, [r4, #42]
 5624 0090 9BB2     		uxth	r3, r3
2694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5625              		.loc 1 2694 8 view .LVU1990
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 263


 5626 0092 FF2B     		cmp	r3, #255
 5627 0094 0FD9     		bls	.L366
2696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
 5628              		.loc 1 2696 7 is_stmt 1 view .LVU1991
2696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
 5629              		.loc 1 2696 22 is_stmt 0 view .LVU1992
 5630 0096 FF22     		movs	r2, #255
 5631 0098 2285     		strh	r2, [r4, #40]	@ movhi
2697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
 5632              		.loc 1 2697 7 is_stmt 1 view .LVU1993
 5633 009a 444B     		ldr	r3, .L382
 5634 009c 0093     		str	r3, [sp]
 5635 009e 4FF08073 		mov	r3, #16777216
 5636 00a2 2946     		mov	r1, r5
 5637 00a4 2046     		mov	r0, r4
 5638 00a6 FFF7FEFF 		bl	I2C_TransferConfig
 5639              	.LVL392:
 5640 00aa 21E0     		b	.L370
 5641              	.L380:
2688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 5642              		.loc 1 2688 7 view .LVU1994
2688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 5643              		.loc 1 2688 7 view .LVU1995
 5644 00ac 0023     		movs	r3, #0
 5645 00ae 84F84030 		strb	r3, [r4, #64]
2688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return HAL_ERROR;
 5646              		.loc 1 2688 7 view .LVU1996
2689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5647              		.loc 1 2689 7 view .LVU1997
2689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5648              		.loc 1 2689 14 is_stmt 0 view .LVU1998
 5649 00b2 5846     		mov	r0, fp
 5650 00b4 6EE0     		b	.L363
 5651              	.L366:
2702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 5652              		.loc 1 2702 7 is_stmt 1 view .LVU1999
2702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 5653              		.loc 1 2702 28 is_stmt 0 view .LVU2000
 5654 00b6 628D     		ldrh	r2, [r4, #42]
 5655 00b8 92B2     		uxth	r2, r2
2702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 5656              		.loc 1 2702 22 view .LVU2001
 5657 00ba 2285     		strh	r2, [r4, #40]	@ movhi
2703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
 5658              		.loc 1 2703 7 is_stmt 1 view .LVU2002
 5659 00bc 3B4B     		ldr	r3, .L382
 5660 00be 0093     		str	r3, [sp]
 5661 00c0 4FF00073 		mov	r3, #33554432
 5662 00c4 D2B2     		uxtb	r2, r2
 5663 00c6 2946     		mov	r1, r5
 5664 00c8 2046     		mov	r0, r4
 5665 00ca FFF7FEFF 		bl	I2C_TransferConfig
 5666              	.LVL393:
 5667 00ce 0FE0     		b	.L370
 5668              	.L369:
2740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 5669              		.loc 1 2740 11 view .LVU2003
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 264


2740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 5670              		.loc 1 2740 32 is_stmt 0 view .LVU2004
 5671 00d0 628D     		ldrh	r2, [r4, #42]
 5672 00d2 92B2     		uxth	r2, r2
2740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
 5673              		.loc 1 2740 26 view .LVU2005
 5674 00d4 2285     		strh	r2, [r4, #40]	@ movhi
2741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
 5675              		.loc 1 2741 11 is_stmt 1 view .LVU2006
 5676 00d6 0023     		movs	r3, #0
 5677 00d8 0093     		str	r3, [sp]
 5678 00da 4FF00073 		mov	r3, #33554432
 5679 00de D2B2     		uxtb	r2, r2
 5680 00e0 2946     		mov	r1, r5
 5681 00e2 2046     		mov	r0, r4
 5682 00e4 FFF7FEFF 		bl	I2C_TransferConfig
 5683              	.LVL394:
 5684              	.L368:
2745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5685              		.loc 1 2745 30 view .LVU2007
2745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5686              		.loc 1 2745 18 is_stmt 0 view .LVU2008
 5687 00e8 638D     		ldrh	r3, [r4, #42]
 5688 00ea 9BB2     		uxth	r3, r3
2745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5689              		.loc 1 2745 30 view .LVU2009
 5690 00ec 002B     		cmp	r3, #0
 5691 00ee 34D0     		beq	.L381
 5692              	.L370:
2707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5693              		.loc 1 2707 5 is_stmt 1 view .LVU2010
2710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5694              		.loc 1 2710 7 view .LVU2011
2710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5695              		.loc 1 2710 11 is_stmt 0 view .LVU2012
 5696 00f0 0096     		str	r6, [sp]
 5697 00f2 3B46     		mov	r3, r7
 5698 00f4 0022     		movs	r2, #0
 5699 00f6 0421     		movs	r1, #4
 5700 00f8 2046     		mov	r0, r4
 5701 00fa FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 5702              	.LVL395:
2710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5703              		.loc 1 2710 10 discriminator 1 view .LVU2013
 5704 00fe 0028     		cmp	r0, #0
 5705 0100 4DD1     		bne	.L374
2716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5706              		.loc 1 2716 7 is_stmt 1 view .LVU2014
2716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5707              		.loc 1 2716 38 is_stmt 0 view .LVU2015
 5708 0102 2368     		ldr	r3, [r4]
2716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5709              		.loc 1 2716 48 view .LVU2016
 5710 0104 5A6A     		ldr	r2, [r3, #36]
2716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5711              		.loc 1 2716 12 view .LVU2017
 5712 0106 636A     		ldr	r3, [r4, #36]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 265


2716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5713              		.loc 1 2716 23 view .LVU2018
 5714 0108 1A70     		strb	r2, [r3]
2719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5715              		.loc 1 2719 7 is_stmt 1 view .LVU2019
2719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5716              		.loc 1 2719 11 is_stmt 0 view .LVU2020
 5717 010a 636A     		ldr	r3, [r4, #36]
2719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5718              		.loc 1 2719 21 view .LVU2021
 5719 010c 0133     		adds	r3, r3, #1
 5720 010e 6362     		str	r3, [r4, #36]
2721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 5721              		.loc 1 2721 7 is_stmt 1 view .LVU2022
2721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 5722              		.loc 1 2721 11 is_stmt 0 view .LVU2023
 5723 0110 228D     		ldrh	r2, [r4, #40]
2721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 5724              		.loc 1 2721 21 view .LVU2024
 5725 0112 013A     		subs	r2, r2, #1
 5726 0114 92B2     		uxth	r2, r2
 5727 0116 2285     		strh	r2, [r4, #40]	@ movhi
2722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5728              		.loc 1 2722 7 is_stmt 1 view .LVU2025
2722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5729              		.loc 1 2722 11 is_stmt 0 view .LVU2026
 5730 0118 638D     		ldrh	r3, [r4, #42]
 5731 011a 9BB2     		uxth	r3, r3
2722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5732              		.loc 1 2722 22 view .LVU2027
 5733 011c 013B     		subs	r3, r3, #1
 5734 011e 9BB2     		uxth	r3, r3
 5735 0120 6385     		strh	r3, [r4, #42]	@ movhi
2724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5736              		.loc 1 2724 7 is_stmt 1 view .LVU2028
2724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5737              		.loc 1 2724 16 is_stmt 0 view .LVU2029
 5738 0122 638D     		ldrh	r3, [r4, #42]
 5739 0124 9BB2     		uxth	r3, r3
2724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5740              		.loc 1 2724 10 view .LVU2030
 5741 0126 002B     		cmp	r3, #0
 5742 0128 DED0     		beq	.L368
2724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 5743              		.loc 1 2724 35 discriminator 1 view .LVU2031
 5744 012a 002A     		cmp	r2, #0
 5745 012c DCD1     		bne	.L368
2727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5746              		.loc 1 2727 9 is_stmt 1 view .LVU2032
2727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5747              		.loc 1 2727 13 is_stmt 0 view .LVU2033
 5748 012e 0096     		str	r6, [sp]
 5749 0130 3B46     		mov	r3, r7
 5750 0132 8021     		movs	r1, #128
 5751 0134 2046     		mov	r0, r4
 5752 0136 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 5753              	.LVL396:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 266


2727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5754              		.loc 1 2727 12 discriminator 1 view .LVU2034
 5755 013a 90BB     		cbnz	r0, .L375
2732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5756              		.loc 1 2732 9 is_stmt 1 view .LVU2035
2732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5757              		.loc 1 2732 17 is_stmt 0 view .LVU2036
 5758 013c 638D     		ldrh	r3, [r4, #42]
 5759 013e 9BB2     		uxth	r3, r3
2732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 5760              		.loc 1 2732 12 view .LVU2037
 5761 0140 FF2B     		cmp	r3, #255
 5762 0142 C5D9     		bls	.L369
2734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
 5763              		.loc 1 2734 11 is_stmt 1 view .LVU2038
2734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
 5764              		.loc 1 2734 26 is_stmt 0 view .LVU2039
 5765 0144 FF22     		movs	r2, #255
 5766 0146 2285     		strh	r2, [r4, #40]	@ movhi
2735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_NO_STARTSTOP);
 5767              		.loc 1 2735 11 is_stmt 1 view .LVU2040
 5768 0148 0023     		movs	r3, #0
 5769 014a 0093     		str	r3, [sp]
 5770 014c 4FF08073 		mov	r3, #16777216
 5771 0150 2946     		mov	r1, r5
 5772 0152 2046     		mov	r0, r4
 5773 0154 FFF7FEFF 		bl	I2C_TransferConfig
 5774              	.LVL397:
 5775 0158 C6E7     		b	.L368
 5776              	.L381:
2749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5777              		.loc 1 2749 5 view .LVU2041
2749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5778              		.loc 1 2749 9 is_stmt 0 view .LVU2042
 5779 015a 3246     		mov	r2, r6
 5780 015c 3946     		mov	r1, r7
 5781 015e 2046     		mov	r0, r4
 5782 0160 FFF7FEFF 		bl	I2C_WaitOnSTOPFlagUntilTimeout
 5783              	.LVL398:
2749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5784              		.loc 1 2749 8 discriminator 1 view .LVU2043
 5785 0164 F8B9     		cbnz	r0, .L376
2755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5786              		.loc 1 2755 5 is_stmt 1 view .LVU2044
 5787 0166 2368     		ldr	r3, [r4]
 5788 0168 2022     		movs	r2, #32
 5789 016a DA61     		str	r2, [r3, #28]
2758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5790              		.loc 1 2758 5 view .LVU2045
 5791 016c 2168     		ldr	r1, [r4]
 5792 016e 4B68     		ldr	r3, [r1, #4]
 5793 0170 23F0FF73 		bic	r3, r3, #33423360
 5794 0174 23F48B33 		bic	r3, r3, #71168
 5795 0178 23F4FF73 		bic	r3, r3, #510
 5796 017c 23F00103 		bic	r3, r3, #1
 5797 0180 4B60     		str	r3, [r1, #4]
2760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 267


 5798              		.loc 1 2760 5 view .LVU2046
2760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode  = HAL_I2C_MODE_NONE;
 5799              		.loc 1 2760 17 is_stmt 0 view .LVU2047
 5800 0182 84F84120 		strb	r2, [r4, #65]
2761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5801              		.loc 1 2761 5 is_stmt 1 view .LVU2048
2761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5802              		.loc 1 2761 17 is_stmt 0 view .LVU2049
 5803 0186 0023     		movs	r3, #0
 5804 0188 84F84230 		strb	r3, [r4, #66]
2764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5805              		.loc 1 2764 5 is_stmt 1 view .LVU2050
2764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5806              		.loc 1 2764 5 view .LVU2051
 5807 018c 84F84030 		strb	r3, [r4, #64]
2764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5808              		.loc 1 2764 5 view .LVU2052
2766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5809              		.loc 1 2766 5 view .LVU2053
2766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5810              		.loc 1 2766 12 is_stmt 0 view .LVU2054
 5811 0190 00E0     		b	.L363
 5812              	.LVL399:
 5813              	.L371:
2770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5814              		.loc 1 2770 12 view .LVU2055
 5815 0192 0220     		movs	r0, #2
 5816              	.LVL400:
 5817              	.L363:
2772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** /**
 5818              		.loc 1 2772 1 view .LVU2056
 5819 0194 03B0     		add	sp, sp, #12
 5820              		.cfi_remember_state
 5821              		.cfi_def_cfa_offset 36
 5822              		@ sp needed
 5823 0196 BDE8F08F 		pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
 5824              	.LVL401:
 5825              	.L372:
 5826              		.cfi_restore_state
2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5827              		.loc 1 2665 5 discriminator 1 view .LVU2057
 5828 019a 0220     		movs	r0, #2
 5829              	.LVL402:
2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5830              		.loc 1 2665 5 discriminator 1 view .LVU2058
 5831 019c FAE7     		b	.L363
 5832              	.LVL403:
 5833              	.L374:
2712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 5834              		.loc 1 2712 16 view .LVU2059
 5835 019e 0120     		movs	r0, #1
 5836 01a0 F8E7     		b	.L363
 5837              	.L375:
2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 5838              		.loc 1 2729 18 view .LVU2060
 5839 01a2 0120     		movs	r0, #1
 5840 01a4 F6E7     		b	.L363
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 268


 5841              	.L376:
2751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5842              		.loc 1 2751 14 view .LVU2061
 5843 01a6 0120     		movs	r0, #1
 5844 01a8 F4E7     		b	.L363
 5845              	.L383:
 5846 01aa 00BF     		.align	2
 5847              	.L382:
 5848 01ac 00240080 		.word	-2147474432
 5849              		.cfi_endproc
 5850              	.LFE352:
 5852              		.section	.text.HAL_I2C_Mem_Write_IT,"ax",%progbits
 5853              		.align	1
 5854              		.global	HAL_I2C_Mem_Write_IT
 5855              		.syntax unified
 5856              		.thumb
 5857              		.thumb_func
 5859              	HAL_I2C_Mem_Write_IT:
 5860              	.LVL404:
 5861              	.LFB353:
2787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
 5862              		.loc 1 2787 1 is_stmt 1 view -0
 5863              		.cfi_startproc
 5864              		@ args = 8, pretend = 0, frame = 0
 5865              		@ frame_needed = 0, uses_anonymous_args = 0
2787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
 5866              		.loc 1 2787 1 is_stmt 0 view .LVU2063
 5867 0000 70B5     		push	{r4, r5, r6, lr}
 5868              		.cfi_def_cfa_offset 16
 5869              		.cfi_offset 4, -16
 5870              		.cfi_offset 5, -12
 5871              		.cfi_offset 6, -8
 5872              		.cfi_offset 14, -4
 5873 0002 82B0     		sub	sp, sp, #8
 5874              		.cfi_def_cfa_offset 24
 5875 0004 0446     		mov	r4, r0
 5876 0006 1D46     		mov	r5, r3
 5877 0008 BDF81C30 		ldrh	r3, [sp, #28]
 5878              	.LVL405:
2789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5879              		.loc 1 2789 3 is_stmt 1 view .LVU2064
2791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 5880              		.loc 1 2791 3 view .LVU2065
2791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 5881              		.loc 1 2791 11 is_stmt 0 view .LVU2066
 5882 000c 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 5883              	.LVL406:
2791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 5884              		.loc 1 2791 6 view .LVU2067
 5885 0010 2028     		cmp	r0, #32
 5886 0012 43D1     		bne	.L389
2793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5887              		.loc 1 2793 5 is_stmt 1 view .LVU2068
2793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5888              		.loc 1 2793 8 is_stmt 0 view .LVU2069
 5889 0014 0698     		ldr	r0, [sp, #24]
 5890 0016 002B     		cmp	r3, #0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 269


 5891 0018 18BF     		it	ne
 5892 001a 0028     		cmpne	r0, #0
 5893 001c 33D0     		beq	.L393
2799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5894              		.loc 1 2799 5 is_stmt 1 view .LVU2070
2799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5895              		.loc 1 2799 9 is_stmt 0 view .LVU2071
 5896 001e 2068     		ldr	r0, [r4]
 5897 0020 8669     		ldr	r6, [r0, #24]
2799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5898              		.loc 1 2799 8 view .LVU2072
 5899 0022 16F4004F 		tst	r6, #32768
 5900 0026 3CD1     		bne	.L390
2805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5901              		.loc 1 2805 5 is_stmt 1 view .LVU2073
2805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5902              		.loc 1 2805 5 view .LVU2074
 5903 0028 94F84060 		ldrb	r6, [r4, #64]	@ zero_extendqisi2
 5904 002c 012E     		cmp	r6, #1
 5905 002e 3AD0     		beq	.L391
2805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5906              		.loc 1 2805 5 discriminator 2 view .LVU2075
 5907 0030 0126     		movs	r6, #1
 5908 0032 84F84060 		strb	r6, [r4, #64]
2805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5909              		.loc 1 2805 5 view .LVU2076
2807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
 5910              		.loc 1 2807 5 view .LVU2077
2807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
 5911              		.loc 1 2807 23 is_stmt 0 view .LVU2078
 5912 0036 2126     		movs	r6, #33
 5913 0038 84F84160 		strb	r6, [r4, #65]
2808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 5914              		.loc 1 2808 5 is_stmt 1 view .LVU2079
2808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 5915              		.loc 1 2808 23 is_stmt 0 view .LVU2080
 5916 003c 4026     		movs	r6, #64
 5917 003e 84F84260 		strb	r6, [r4, #66]
2809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5918              		.loc 1 2809 5 is_stmt 1 view .LVU2081
2809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5919              		.loc 1 2809 23 is_stmt 0 view .LVU2082
 5920 0042 0026     		movs	r6, #0
 5921 0044 6664     		str	r6, [r4, #68]
2812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
 5922              		.loc 1 2812 5 is_stmt 1 view .LVU2083
2812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->pBuffPtr    = pData;
 5923              		.loc 1 2812 23 is_stmt 0 view .LVU2084
 5924 0046 2685     		strh	r6, [r4, #40]	@ movhi
2813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 5925              		.loc 1 2813 5 is_stmt 1 view .LVU2085
2813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 5926              		.loc 1 2813 23 is_stmt 0 view .LVU2086
 5927 0048 069E     		ldr	r6, [sp, #24]
 5928 004a 6662     		str	r6, [r4, #36]
2814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5929              		.loc 1 2814 5 is_stmt 1 view .LVU2087
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 270


2814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 5930              		.loc 1 2814 23 is_stmt 0 view .LVU2088
 5931 004c 6385     		strh	r3, [r4, #42]	@ movhi
2815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_IT;
 5932              		.loc 1 2815 5 is_stmt 1 view .LVU2089
2815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_IT;
 5933              		.loc 1 2815 23 is_stmt 0 view .LVU2090
 5934 004e 174B     		ldr	r3, .L395
 5935 0050 E362     		str	r3, [r4, #44]
2816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 5936              		.loc 1 2816 5 is_stmt 1 view .LVU2091
2816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 5937              		.loc 1 2816 23 is_stmt 0 view .LVU2092
 5938 0052 174B     		ldr	r3, .L395+4
 5939 0054 6363     		str	r3, [r4, #52]
2817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5940              		.loc 1 2817 5 is_stmt 1 view .LVU2093
2817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5941              		.loc 1 2817 23 is_stmt 0 view .LVU2094
 5942 0056 E164     		str	r1, [r4, #76]
2820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5943              		.loc 1 2820 5 is_stmt 1 view .LVU2095
2820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 5944              		.loc 1 2820 8 is_stmt 0 view .LVU2096
 5945 0058 012D     		cmp	r5, #1
 5946 005a 19D0     		beq	.L394
2832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5947              		.loc 1 2832 7 is_stmt 1 view .LVU2097
2832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5948              		.loc 1 2832 30 is_stmt 0 view .LVU2098
 5949 005c 130A     		lsrs	r3, r2, #8
2832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5950              		.loc 1 2832 28 view .LVU2099
 5951 005e 8362     		str	r3, [r0, #40]
2835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5952              		.loc 1 2835 7 is_stmt 1 view .LVU2100
2835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5953              		.loc 1 2835 26 is_stmt 0 view .LVU2101
 5954 0060 D2B2     		uxtb	r2, r2
 5955              	.LVL407:
2835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5956              		.loc 1 2835 24 view .LVU2102
 5957 0062 2265     		str	r2, [r4, #80]
 5958              	.L388:
2838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5959              		.loc 1 2838 5 is_stmt 1 view .LVU2103
 5960 0064 134B     		ldr	r3, .L395+8
 5961 0066 0093     		str	r3, [sp]
 5962 0068 4FF08073 		mov	r3, #16777216
 5963 006c EAB2     		uxtb	r2, r5
 5964 006e 2046     		mov	r0, r4
 5965 0070 FFF7FEFF 		bl	I2C_TransferConfig
 5966              	.LVL408:
2841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5967              		.loc 1 2841 5 view .LVU2104
2841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5968              		.loc 1 2841 5 view .LVU2105
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 271


 5969 0074 0025     		movs	r5, #0
 5970              	.LVL409:
2841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5971              		.loc 1 2841 5 is_stmt 0 view .LVU2106
 5972 0076 84F84050 		strb	r5, [r4, #64]
2841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5973              		.loc 1 2841 5 is_stmt 1 view .LVU2107
2851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5974              		.loc 1 2851 5 view .LVU2108
 5975 007a 0121     		movs	r1, #1
 5976 007c 2046     		mov	r0, r4
 5977 007e FFF7FEFF 		bl	I2C_Enable_IRQ
 5978              	.LVL410:
2853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5979              		.loc 1 2853 5 view .LVU2109
2853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 5980              		.loc 1 2853 12 is_stmt 0 view .LVU2110
 5981 0082 2846     		mov	r0, r5
 5982 0084 0BE0     		b	.L385
 5983              	.LVL411:
 5984              	.L393:
2795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 5985              		.loc 1 2795 7 is_stmt 1 view .LVU2111
2795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 5986              		.loc 1 2795 23 is_stmt 0 view .LVU2112
 5987 0086 4FF40073 		mov	r3, #512
 5988 008a 6364     		str	r3, [r4, #68]
2796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5989              		.loc 1 2796 7 is_stmt 1 view .LVU2113
2796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 5990              		.loc 1 2796 15 is_stmt 0 view .LVU2114
 5991 008c 0120     		movs	r0, #1
 5992 008e 06E0     		b	.L385
 5993              	.L394:
2823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5994              		.loc 1 2823 7 is_stmt 1 view .LVU2115
2823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5995              		.loc 1 2823 30 is_stmt 0 view .LVU2116
 5996 0090 D2B2     		uxtb	r2, r2
 5997              	.LVL412:
2823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 5998              		.loc 1 2823 28 view .LVU2117
 5999 0092 8262     		str	r2, [r0, #40]
2826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6000              		.loc 1 2826 7 is_stmt 1 view .LVU2118
2826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6001              		.loc 1 2826 24 is_stmt 0 view .LVU2119
 6002 0094 4FF0FF33 		mov	r3, #-1
 6003 0098 2365     		str	r3, [r4, #80]
 6004 009a E3E7     		b	.L388
 6005              	.LVL413:
 6006              	.L389:
2857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 6007              		.loc 1 2857 12 view .LVU2120
 6008 009c 0220     		movs	r0, #2
 6009              	.LVL414:
 6010              	.L385:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 272


2859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6011              		.loc 1 2859 1 view .LVU2121
 6012 009e 02B0     		add	sp, sp, #8
 6013              		.cfi_remember_state
 6014              		.cfi_def_cfa_offset 16
 6015              		@ sp needed
 6016 00a0 70BD     		pop	{r4, r5, r6, pc}
 6017              	.LVL415:
 6018              	.L390:
 6019              		.cfi_restore_state
2801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6020              		.loc 1 2801 14 view .LVU2122
 6021 00a2 0220     		movs	r0, #2
 6022 00a4 FBE7     		b	.L385
 6023              	.L391:
2805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6024              		.loc 1 2805 5 discriminator 1 view .LVU2123
 6025 00a6 0220     		movs	r0, #2
 6026 00a8 F9E7     		b	.L385
 6027              	.L396:
 6028 00aa 00BF     		.align	2
 6029              	.L395:
 6030 00ac 0000FFFF 		.word	-65536
 6031 00b0 00000000 		.word	I2C_Mem_ISR_IT
 6032 00b4 00200080 		.word	-2147475456
 6033              		.cfi_endproc
 6034              	.LFE353:
 6036              		.section	.text.HAL_I2C_Mem_Read_IT,"ax",%progbits
 6037              		.align	1
 6038              		.global	HAL_I2C_Mem_Read_IT
 6039              		.syntax unified
 6040              		.thumb
 6041              		.thumb_func
 6043              	HAL_I2C_Mem_Read_IT:
 6044              	.LVL416:
 6045              	.LFB354:
2875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
 6046              		.loc 1 2875 1 is_stmt 1 view -0
 6047              		.cfi_startproc
 6048              		@ args = 8, pretend = 0, frame = 0
 6049              		@ frame_needed = 0, uses_anonymous_args = 0
2875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Check the parameters */
 6050              		.loc 1 2875 1 is_stmt 0 view .LVU2125
 6051 0000 70B5     		push	{r4, r5, r6, lr}
 6052              		.cfi_def_cfa_offset 16
 6053              		.cfi_offset 4, -16
 6054              		.cfi_offset 5, -12
 6055              		.cfi_offset 6, -8
 6056              		.cfi_offset 14, -4
 6057 0002 82B0     		sub	sp, sp, #8
 6058              		.cfi_def_cfa_offset 24
 6059 0004 0446     		mov	r4, r0
 6060 0006 1D46     		mov	r5, r3
 6061 0008 BDF81C30 		ldrh	r3, [sp, #28]
 6062              	.LVL417:
2877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6063              		.loc 1 2877 3 is_stmt 1 view .LVU2126
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 273


2879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6064              		.loc 1 2879 3 view .LVU2127
2879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6065              		.loc 1 2879 11 is_stmt 0 view .LVU2128
 6066 000c 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 6067              	.LVL418:
2879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6068              		.loc 1 2879 6 view .LVU2129
 6069 0010 2028     		cmp	r0, #32
 6070 0012 41D1     		bne	.L402
2881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6071              		.loc 1 2881 5 is_stmt 1 view .LVU2130
2881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6072              		.loc 1 2881 8 is_stmt 0 view .LVU2131
 6073 0014 0698     		ldr	r0, [sp, #24]
 6074 0016 002B     		cmp	r3, #0
 6075 0018 18BF     		it	ne
 6076 001a 0028     		cmpne	r0, #0
 6077 001c 31D0     		beq	.L406
2887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6078              		.loc 1 2887 5 is_stmt 1 view .LVU2132
2887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6079              		.loc 1 2887 9 is_stmt 0 view .LVU2133
 6080 001e 2068     		ldr	r0, [r4]
 6081 0020 8669     		ldr	r6, [r0, #24]
2887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6082              		.loc 1 2887 8 view .LVU2134
 6083 0022 16F4004F 		tst	r6, #32768
 6084 0026 3AD1     		bne	.L403
2893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6085              		.loc 1 2893 5 is_stmt 1 view .LVU2135
2893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6086              		.loc 1 2893 5 view .LVU2136
 6087 0028 94F84060 		ldrb	r6, [r4, #64]	@ zero_extendqisi2
 6088 002c 012E     		cmp	r6, #1
 6089 002e 38D0     		beq	.L404
2893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6090              		.loc 1 2893 5 discriminator 2 view .LVU2137
 6091 0030 0126     		movs	r6, #1
 6092 0032 84F84060 		strb	r6, [r4, #64]
2893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6093              		.loc 1 2893 5 view .LVU2138
2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
 6094              		.loc 1 2895 5 view .LVU2139
2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
 6095              		.loc 1 2895 23 is_stmt 0 view .LVU2140
 6096 0036 2226     		movs	r6, #34
 6097 0038 84F84160 		strb	r6, [r4, #65]
2896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 6098              		.loc 1 2896 5 is_stmt 1 view .LVU2141
2896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 6099              		.loc 1 2896 23 is_stmt 0 view .LVU2142
 6100 003c 4026     		movs	r6, #64
 6101 003e 84F84260 		strb	r6, [r4, #66]
2897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6102              		.loc 1 2897 5 is_stmt 1 view .LVU2143
2897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 274


 6103              		.loc 1 2897 23 is_stmt 0 view .LVU2144
 6104 0042 0026     		movs	r6, #0
 6105 0044 6664     		str	r6, [r4, #68]
2900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6106              		.loc 1 2900 5 is_stmt 1 view .LVU2145
2900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6107              		.loc 1 2900 23 is_stmt 0 view .LVU2146
 6108 0046 069E     		ldr	r6, [sp, #24]
 6109 0048 6662     		str	r6, [r4, #36]
2901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6110              		.loc 1 2901 5 is_stmt 1 view .LVU2147
2901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6111              		.loc 1 2901 23 is_stmt 0 view .LVU2148
 6112 004a 6385     		strh	r3, [r4, #42]	@ movhi
2902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_IT;
 6113              		.loc 1 2902 5 is_stmt 1 view .LVU2149
2902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_IT;
 6114              		.loc 1 2902 23 is_stmt 0 view .LVU2150
 6115 004c 164B     		ldr	r3, .L408
 6116 004e E362     		str	r3, [r4, #44]
2903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 6117              		.loc 1 2903 5 is_stmt 1 view .LVU2151
2903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 6118              		.loc 1 2903 23 is_stmt 0 view .LVU2152
 6119 0050 164B     		ldr	r3, .L408+4
 6120 0052 6363     		str	r3, [r4, #52]
2904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6121              		.loc 1 2904 5 is_stmt 1 view .LVU2153
2904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6122              		.loc 1 2904 23 is_stmt 0 view .LVU2154
 6123 0054 E164     		str	r1, [r4, #76]
2907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6124              		.loc 1 2907 5 is_stmt 1 view .LVU2155
2907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6125              		.loc 1 2907 8 is_stmt 0 view .LVU2156
 6126 0056 012D     		cmp	r5, #1
 6127 0058 18D0     		beq	.L407
2919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6128              		.loc 1 2919 7 is_stmt 1 view .LVU2157
2919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6129              		.loc 1 2919 30 is_stmt 0 view .LVU2158
 6130 005a 130A     		lsrs	r3, r2, #8
2919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6131              		.loc 1 2919 28 view .LVU2159
 6132 005c 8362     		str	r3, [r0, #40]
2922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6133              		.loc 1 2922 7 is_stmt 1 view .LVU2160
2922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6134              		.loc 1 2922 26 is_stmt 0 view .LVU2161
 6135 005e D2B2     		uxtb	r2, r2
 6136              	.LVL419:
2922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6137              		.loc 1 2922 24 view .LVU2162
 6138 0060 2265     		str	r2, [r4, #80]
 6139              	.L401:
2925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6140              		.loc 1 2925 5 is_stmt 1 view .LVU2163
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 275


 6141 0062 134B     		ldr	r3, .L408+8
 6142 0064 0093     		str	r3, [sp]
 6143 0066 0023     		movs	r3, #0
 6144 0068 EAB2     		uxtb	r2, r5
 6145 006a 2046     		mov	r0, r4
 6146 006c FFF7FEFF 		bl	I2C_TransferConfig
 6147              	.LVL420:
2928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6148              		.loc 1 2928 5 view .LVU2164
2928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6149              		.loc 1 2928 5 view .LVU2165
 6150 0070 0025     		movs	r5, #0
 6151              	.LVL421:
2928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6152              		.loc 1 2928 5 is_stmt 0 view .LVU2166
 6153 0072 84F84050 		strb	r5, [r4, #64]
2928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6154              		.loc 1 2928 5 is_stmt 1 view .LVU2167
2938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6155              		.loc 1 2938 5 view .LVU2168
 6156 0076 0121     		movs	r1, #1
 6157 0078 2046     		mov	r0, r4
 6158 007a FFF7FEFF 		bl	I2C_Enable_IRQ
 6159              	.LVL422:
2940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 6160              		.loc 1 2940 5 view .LVU2169
2940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 6161              		.loc 1 2940 12 is_stmt 0 view .LVU2170
 6162 007e 2846     		mov	r0, r5
 6163 0080 0BE0     		b	.L398
 6164              	.LVL423:
 6165              	.L406:
2883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 6166              		.loc 1 2883 7 is_stmt 1 view .LVU2171
2883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 6167              		.loc 1 2883 23 is_stmt 0 view .LVU2172
 6168 0082 4FF40073 		mov	r3, #512
 6169 0086 6364     		str	r3, [r4, #68]
2884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6170              		.loc 1 2884 7 is_stmt 1 view .LVU2173
2884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6171              		.loc 1 2884 15 is_stmt 0 view .LVU2174
 6172 0088 0120     		movs	r0, #1
 6173 008a 06E0     		b	.L398
 6174              	.L407:
2910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6175              		.loc 1 2910 7 is_stmt 1 view .LVU2175
2910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6176              		.loc 1 2910 30 is_stmt 0 view .LVU2176
 6177 008c D2B2     		uxtb	r2, r2
 6178              	.LVL424:
2910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6179              		.loc 1 2910 28 view .LVU2177
 6180 008e 8262     		str	r2, [r0, #40]
2913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6181              		.loc 1 2913 7 is_stmt 1 view .LVU2178
2913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 276


 6182              		.loc 1 2913 24 is_stmt 0 view .LVU2179
 6183 0090 4FF0FF33 		mov	r3, #-1
 6184 0094 2365     		str	r3, [r4, #80]
 6185 0096 E4E7     		b	.L401
 6186              	.LVL425:
 6187              	.L402:
2944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 6188              		.loc 1 2944 12 view .LVU2180
 6189 0098 0220     		movs	r0, #2
 6190              	.LVL426:
 6191              	.L398:
2946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6192              		.loc 1 2946 1 view .LVU2181
 6193 009a 02B0     		add	sp, sp, #8
 6194              		.cfi_remember_state
 6195              		.cfi_def_cfa_offset 16
 6196              		@ sp needed
 6197 009c 70BD     		pop	{r4, r5, r6, pc}
 6198              	.LVL427:
 6199              	.L403:
 6200              		.cfi_restore_state
2889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6201              		.loc 1 2889 14 view .LVU2182
 6202 009e 0220     		movs	r0, #2
 6203 00a0 FBE7     		b	.L398
 6204              	.L404:
2893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6205              		.loc 1 2893 5 discriminator 1 view .LVU2183
 6206 00a2 0220     		movs	r0, #2
 6207 00a4 F9E7     		b	.L398
 6208              	.L409:
 6209 00a6 00BF     		.align	2
 6210              	.L408:
 6211 00a8 0000FFFF 		.word	-65536
 6212 00ac 00000000 		.word	I2C_Mem_ISR_IT
 6213 00b0 00200080 		.word	-2147475456
 6214              		.cfi_endproc
 6215              	.LFE354:
 6217              		.section	.text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
 6218              		.align	1
 6219              		.global	HAL_I2C_Mem_Write_DMA
 6220              		.syntax unified
 6221              		.thumb
 6222              		.thumb_func
 6224              	HAL_I2C_Mem_Write_DMA:
 6225              	.LVL428:
 6226              	.LFB355:
2962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 6227              		.loc 1 2962 1 is_stmt 1 view -0
 6228              		.cfi_startproc
 6229              		@ args = 8, pretend = 0, frame = 0
 6230              		@ frame_needed = 0, uses_anonymous_args = 0
2962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 6231              		.loc 1 2962 1 is_stmt 0 view .LVU2185
 6232 0000 F0B5     		push	{r4, r5, r6, r7, lr}
 6233              		.cfi_def_cfa_offset 20
 6234              		.cfi_offset 4, -20
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 277


 6235              		.cfi_offset 5, -16
 6236              		.cfi_offset 6, -12
 6237              		.cfi_offset 7, -8
 6238              		.cfi_offset 14, -4
 6239 0002 83B0     		sub	sp, sp, #12
 6240              		.cfi_def_cfa_offset 32
 6241 0004 0446     		mov	r4, r0
 6242 0006 0E46     		mov	r6, r1
 6243 0008 1F46     		mov	r7, r3
 6244 000a 0899     		ldr	r1, [sp, #32]
 6245              	.LVL429:
2962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 6246              		.loc 1 2962 1 view .LVU2186
 6247 000c BDF82430 		ldrh	r3, [sp, #36]
 6248              	.LVL430:
2963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6249              		.loc 1 2963 3 is_stmt 1 view .LVU2187
2966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6250              		.loc 1 2966 3 view .LVU2188
2968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6251              		.loc 1 2968 3 view .LVU2189
2968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6252              		.loc 1 2968 11 is_stmt 0 view .LVU2190
 6253 0010 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 6254              	.LVL431:
2968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6255              		.loc 1 2968 6 view .LVU2191
 6256 0014 2028     		cmp	r0, #32
 6257 0016 7AD1     		bne	.L420
2970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6258              		.loc 1 2970 5 is_stmt 1 view .LVU2192
2970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6259              		.loc 1 2970 8 is_stmt 0 view .LVU2193
 6260 0018 002B     		cmp	r3, #0
 6261 001a 18BF     		it	ne
 6262 001c 0029     		cmpne	r1, #0
 6263 001e 49D0     		beq	.L425
2976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6264              		.loc 1 2976 5 is_stmt 1 view .LVU2194
2976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6265              		.loc 1 2976 9 is_stmt 0 view .LVU2195
 6266 0020 2068     		ldr	r0, [r4]
 6267 0022 8569     		ldr	r5, [r0, #24]
2976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6268              		.loc 1 2976 8 view .LVU2196
 6269 0024 15F4004F 		tst	r5, #32768
 6270 0028 75D1     		bne	.L421
2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6271              		.loc 1 2982 5 is_stmt 1 view .LVU2197
2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6272              		.loc 1 2982 5 view .LVU2198
 6273 002a 94F84050 		ldrb	r5, [r4, #64]	@ zero_extendqisi2
 6274 002e 012D     		cmp	r5, #1
 6275 0030 73D0     		beq	.L422
2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6276              		.loc 1 2982 5 discriminator 2 view .LVU2199
 6277 0032 0125     		movs	r5, #1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 278


 6278 0034 84F84050 		strb	r5, [r4, #64]
2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6279              		.loc 1 2982 5 view .LVU2200
2984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
 6280              		.loc 1 2984 5 view .LVU2201
2984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
 6281              		.loc 1 2984 23 is_stmt 0 view .LVU2202
 6282 0038 2125     		movs	r5, #33
 6283 003a 84F84150 		strb	r5, [r4, #65]
2985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 6284              		.loc 1 2985 5 is_stmt 1 view .LVU2203
2985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 6285              		.loc 1 2985 23 is_stmt 0 view .LVU2204
 6286 003e 4025     		movs	r5, #64
 6287 0040 84F84250 		strb	r5, [r4, #66]
2986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6288              		.loc 1 2986 5 is_stmt 1 view .LVU2205
2986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6289              		.loc 1 2986 23 is_stmt 0 view .LVU2206
 6290 0044 0025     		movs	r5, #0
 6291 0046 6564     		str	r5, [r4, #68]
2989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6292              		.loc 1 2989 5 is_stmt 1 view .LVU2207
2989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6293              		.loc 1 2989 23 is_stmt 0 view .LVU2208
 6294 0048 6162     		str	r1, [r4, #36]
2990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6295              		.loc 1 2990 5 is_stmt 1 view .LVU2209
2990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6296              		.loc 1 2990 23 is_stmt 0 view .LVU2210
 6297 004a 6385     		strh	r3, [r4, #42]	@ movhi
2991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_DMA;
 6298              		.loc 1 2991 5 is_stmt 1 view .LVU2211
2991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_DMA;
 6299              		.loc 1 2991 23 is_stmt 0 view .LVU2212
 6300 004c 344B     		ldr	r3, .L428
 6301 004e E362     		str	r3, [r4, #44]
2992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 6302              		.loc 1 2992 5 is_stmt 1 view .LVU2213
2992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 6303              		.loc 1 2992 23 is_stmt 0 view .LVU2214
 6304 0050 344B     		ldr	r3, .L428+4
 6305 0052 6363     		str	r3, [r4, #52]
2993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6306              		.loc 1 2993 5 is_stmt 1 view .LVU2215
2993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6307              		.loc 1 2993 23 is_stmt 0 view .LVU2216
 6308 0054 E664     		str	r6, [r4, #76]
2995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6309              		.loc 1 2995 5 is_stmt 1 view .LVU2217
2995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6310              		.loc 1 2995 13 is_stmt 0 view .LVU2218
 6311 0056 638D     		ldrh	r3, [r4, #42]
 6312 0058 9BB2     		uxth	r3, r3
2995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6313              		.loc 1 2995 8 view .LVU2219
 6314 005a FF2B     		cmp	r3, #255
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 279


 6315 005c 2FD9     		bls	.L413
2997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6316              		.loc 1 2997 7 is_stmt 1 view .LVU2220
2997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6317              		.loc 1 2997 22 is_stmt 0 view .LVU2221
 6318 005e FF23     		movs	r3, #255
 6319 0060 2385     		strh	r3, [r4, #40]	@ movhi
 6320              	.L414:
3005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6321              		.loc 1 3005 5 is_stmt 1 view .LVU2222
3005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6322              		.loc 1 3005 8 is_stmt 0 view .LVU2223
 6323 0062 012F     		cmp	r7, #1
 6324 0064 2ED0     		beq	.L426
3017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6325              		.loc 1 3017 7 is_stmt 1 view .LVU2224
3017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6326              		.loc 1 3017 30 is_stmt 0 view .LVU2225
 6327 0066 130A     		lsrs	r3, r2, #8
3017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6328              		.loc 1 3017 28 view .LVU2226
 6329 0068 8362     		str	r3, [r0, #40]
3020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6330              		.loc 1 3020 7 is_stmt 1 view .LVU2227
3020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6331              		.loc 1 3020 26 is_stmt 0 view .LVU2228
 6332 006a D2B2     		uxtb	r2, r2
 6333              	.LVL432:
3020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6334              		.loc 1 3020 24 view .LVU2229
 6335 006c 2265     		str	r2, [r4, #80]
 6336              	.L416:
3023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6337              		.loc 1 3023 5 is_stmt 1 view .LVU2230
3023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6338              		.loc 1 3023 13 is_stmt 0 view .LVU2231
 6339 006e A36B     		ldr	r3, [r4, #56]
3023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6340              		.loc 1 3023 8 view .LVU2232
 6341 0070 002B     		cmp	r3, #0
 6342 0072 2DD0     		beq	.L417
3026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6343              		.loc 1 3026 7 is_stmt 1 view .LVU2233
3026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6344              		.loc 1 3026 38 is_stmt 0 view .LVU2234
 6345 0074 2C4A     		ldr	r2, .L428+8
 6346 0076 DA63     		str	r2, [r3, #60]
3029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6347              		.loc 1 3029 7 is_stmt 1 view .LVU2235
3029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6348              		.loc 1 3029 11 is_stmt 0 view .LVU2236
 6349 0078 A36B     		ldr	r3, [r4, #56]
3029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6350              		.loc 1 3029 39 view .LVU2237
 6351 007a 2C4A     		ldr	r2, .L428+12
 6352 007c DA64     		str	r2, [r3, #76]
3032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 280


 6353              		.loc 1 3032 7 is_stmt 1 view .LVU2238
3032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 6354              		.loc 1 3032 11 is_stmt 0 view .LVU2239
 6355 007e A26B     		ldr	r2, [r4, #56]
3032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 6356              		.loc 1 3032 42 view .LVU2240
 6357 0080 0023     		movs	r3, #0
 6358 0082 1364     		str	r3, [r2, #64]
3033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6359              		.loc 1 3033 7 is_stmt 1 view .LVU2241
3033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6360              		.loc 1 3033 11 is_stmt 0 view .LVU2242
 6361 0084 A26B     		ldr	r2, [r4, #56]
3033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6362              		.loc 1 3033 39 view .LVU2243
 6363 0086 1365     		str	r3, [r2, #80]
3036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 6364              		.loc 1 3036 7 is_stmt 1 view .LVU2244
3036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 6365              		.loc 1 3036 86 is_stmt 0 view .LVU2245
 6366 0088 2268     		ldr	r2, [r4]
3036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 6367              		.loc 1 3036 23 view .LVU2246
 6368 008a 238D     		ldrh	r3, [r4, #40]
 6369 008c 2832     		adds	r2, r2, #40
 6370 008e A06B     		ldr	r0, [r4, #56]
 6371 0090 FFF7FEFF 		bl	HAL_DMA_Start_IT
 6372              	.LVL433:
3054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6373              		.loc 1 3054 5 is_stmt 1 view .LVU2247
3054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6374              		.loc 1 3054 8 is_stmt 0 view .LVU2248
 6375 0094 0546     		mov	r5, r0
 6376 0096 48B3     		cbz	r0, .L427
3074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6377              		.loc 1 3074 7 is_stmt 1 view .LVU2249
3074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6378              		.loc 1 3074 23 is_stmt 0 view .LVU2250
 6379 0098 2023     		movs	r3, #32
 6380 009a 84F84130 		strb	r3, [r4, #65]
3075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6381              		.loc 1 3075 7 is_stmt 1 view .LVU2251
3075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6382              		.loc 1 3075 23 is_stmt 0 view .LVU2252
 6383 009e 0022     		movs	r2, #0
 6384 00a0 84F84220 		strb	r2, [r4, #66]
3078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6385              		.loc 1 3078 7 is_stmt 1 view .LVU2253
3078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6386              		.loc 1 3078 11 is_stmt 0 view .LVU2254
 6387 00a4 636C     		ldr	r3, [r4, #68]
3078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6388              		.loc 1 3078 23 view .LVU2255
 6389 00a6 43F01003 		orr	r3, r3, #16
 6390 00aa 6364     		str	r3, [r4, #68]
3081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6391              		.loc 1 3081 7 is_stmt 1 view .LVU2256
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 281


3081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6392              		.loc 1 3081 7 view .LVU2257
 6393 00ac 84F84020 		strb	r2, [r4, #64]
3081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6394              		.loc 1 3081 7 view .LVU2258
3083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6395              		.loc 1 3083 7 view .LVU2259
3083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6396              		.loc 1 3083 14 is_stmt 0 view .LVU2260
 6397 00b0 0125     		movs	r5, #1
 6398 00b2 2DE0     		b	.L411
 6399              	.LVL434:
 6400              	.L425:
2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 6401              		.loc 1 2972 7 is_stmt 1 view .LVU2261
2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 6402              		.loc 1 2972 23 is_stmt 0 view .LVU2262
 6403 00b4 4FF40073 		mov	r3, #512
 6404 00b8 6364     		str	r3, [r4, #68]
2973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6405              		.loc 1 2973 7 is_stmt 1 view .LVU2263
2973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6406              		.loc 1 2973 15 is_stmt 0 view .LVU2264
 6407 00ba 0125     		movs	r5, #1
 6408 00bc 28E0     		b	.L411
 6409              	.L413:
3001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6410              		.loc 1 3001 7 is_stmt 1 view .LVU2265
3001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6411              		.loc 1 3001 28 is_stmt 0 view .LVU2266
 6412 00be 638D     		ldrh	r3, [r4, #42]
3001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6413              		.loc 1 3001 22 view .LVU2267
 6414 00c0 2385     		strh	r3, [r4, #40]	@ movhi
 6415 00c2 CEE7     		b	.L414
 6416              	.L426:
3008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6417              		.loc 1 3008 7 is_stmt 1 view .LVU2268
3008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6418              		.loc 1 3008 30 is_stmt 0 view .LVU2269
 6419 00c4 D2B2     		uxtb	r2, r2
 6420              	.LVL435:
3008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6421              		.loc 1 3008 28 view .LVU2270
 6422 00c6 8262     		str	r2, [r0, #40]
3011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6423              		.loc 1 3011 7 is_stmt 1 view .LVU2271
3011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6424              		.loc 1 3011 24 is_stmt 0 view .LVU2272
 6425 00c8 4FF0FF33 		mov	r3, #-1
 6426 00cc 2365     		str	r3, [r4, #80]
 6427 00ce CEE7     		b	.L416
 6428              	.L417:
3042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6429              		.loc 1 3042 7 is_stmt 1 view .LVU2273
3042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6430              		.loc 1 3042 23 is_stmt 0 view .LVU2274
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 282


 6431 00d0 2023     		movs	r3, #32
 6432 00d2 84F84130 		strb	r3, [r4, #65]
3043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6433              		.loc 1 3043 7 is_stmt 1 view .LVU2275
3043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6434              		.loc 1 3043 23 is_stmt 0 view .LVU2276
 6435 00d6 0022     		movs	r2, #0
 6436 00d8 84F84220 		strb	r2, [r4, #66]
3046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6437              		.loc 1 3046 7 is_stmt 1 view .LVU2277
3046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6438              		.loc 1 3046 11 is_stmt 0 view .LVU2278
 6439 00dc 636C     		ldr	r3, [r4, #68]
3046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6440              		.loc 1 3046 23 view .LVU2279
 6441 00de 43F08003 		orr	r3, r3, #128
 6442 00e2 6364     		str	r3, [r4, #68]
3049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6443              		.loc 1 3049 7 is_stmt 1 view .LVU2280
3049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6444              		.loc 1 3049 7 view .LVU2281
 6445 00e4 84F84020 		strb	r2, [r4, #64]
3049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6446              		.loc 1 3049 7 view .LVU2282
3051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6447              		.loc 1 3051 7 view .LVU2283
3051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6448              		.loc 1 3051 14 is_stmt 0 view .LVU2284
 6449 00e8 0125     		movs	r5, #1
 6450 00ea 11E0     		b	.L411
 6451              	.LVL436:
 6452              	.L427:
3057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6453              		.loc 1 3057 7 is_stmt 1 view .LVU2285
 6454 00ec 104B     		ldr	r3, .L428+16
 6455 00ee 0093     		str	r3, [sp]
 6456 00f0 4FF08073 		mov	r3, #16777216
 6457 00f4 FAB2     		uxtb	r2, r7
 6458 00f6 3146     		mov	r1, r6
 6459 00f8 2046     		mov	r0, r4
 6460              	.LVL437:
3057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6461              		.loc 1 3057 7 is_stmt 0 view .LVU2286
 6462 00fa FFF7FEFF 		bl	I2C_TransferConfig
 6463              	.LVL438:
3060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6464              		.loc 1 3060 7 is_stmt 1 view .LVU2287
3060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6465              		.loc 1 3060 7 view .LVU2288
 6466 00fe 0023     		movs	r3, #0
 6467 0100 84F84030 		strb	r3, [r4, #64]
3060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6468              		.loc 1 3060 7 view .LVU2289
3069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6469              		.loc 1 3069 7 view .LVU2290
 6470 0104 0121     		movs	r1, #1
 6471 0106 2046     		mov	r0, r4
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 283


 6472 0108 FFF7FEFF 		bl	I2C_Enable_IRQ
 6473              	.LVL439:
3086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 6474              		.loc 1 3086 5 view .LVU2291
3086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 6475              		.loc 1 3086 12 is_stmt 0 view .LVU2292
 6476 010c 00E0     		b	.L411
 6477              	.LVL440:
 6478              	.L420:
3090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 6479              		.loc 1 3090 12 view .LVU2293
 6480 010e 0225     		movs	r5, #2
 6481              	.LVL441:
 6482              	.L411:
3092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6483              		.loc 1 3092 1 view .LVU2294
 6484 0110 2846     		mov	r0, r5
 6485 0112 03B0     		add	sp, sp, #12
 6486              		.cfi_remember_state
 6487              		.cfi_def_cfa_offset 20
 6488              		@ sp needed
 6489 0114 F0BD     		pop	{r4, r5, r6, r7, pc}
 6490              	.LVL442:
 6491              	.L421:
 6492              		.cfi_restore_state
2978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6493              		.loc 1 2978 14 view .LVU2295
 6494 0116 0225     		movs	r5, #2
 6495 0118 FAE7     		b	.L411
 6496              	.L422:
2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6497              		.loc 1 2982 5 discriminator 1 view .LVU2296
 6498 011a 0225     		movs	r5, #2
 6499 011c F8E7     		b	.L411
 6500              	.L429:
 6501 011e 00BF     		.align	2
 6502              	.L428:
 6503 0120 0000FFFF 		.word	-65536
 6504 0124 00000000 		.word	I2C_Mem_ISR_DMA
 6505 0128 00000000 		.word	I2C_DMAMasterTransmitCplt
 6506 012c 00000000 		.word	I2C_DMAError
 6507 0130 00200080 		.word	-2147475456
 6508              		.cfi_endproc
 6509              	.LFE355:
 6511              		.section	.text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
 6512              		.align	1
 6513              		.global	HAL_I2C_Mem_Read_DMA
 6514              		.syntax unified
 6515              		.thumb
 6516              		.thumb_func
 6518              	HAL_I2C_Mem_Read_DMA:
 6519              	.LVL443:
 6520              	.LFB356:
3108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 6521              		.loc 1 3108 1 is_stmt 1 view -0
 6522              		.cfi_startproc
 6523              		@ args = 8, pretend = 0, frame = 0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 284


 6524              		@ frame_needed = 0, uses_anonymous_args = 0
3108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 6525              		.loc 1 3108 1 is_stmt 0 view .LVU2298
 6526 0000 F0B5     		push	{r4, r5, r6, r7, lr}
 6527              		.cfi_def_cfa_offset 20
 6528              		.cfi_offset 4, -20
 6529              		.cfi_offset 5, -16
 6530              		.cfi_offset 6, -12
 6531              		.cfi_offset 7, -8
 6532              		.cfi_offset 14, -4
 6533 0002 83B0     		sub	sp, sp, #12
 6534              		.cfi_def_cfa_offset 32
 6535 0004 0446     		mov	r4, r0
 6536 0006 1F46     		mov	r7, r3
 6537 0008 089D     		ldr	r5, [sp, #32]
 6538 000a BDF82430 		ldrh	r3, [sp, #36]
 6539              	.LVL444:
3109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6540              		.loc 1 3109 3 is_stmt 1 view .LVU2299
3112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6541              		.loc 1 3112 3 view .LVU2300
3114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6542              		.loc 1 3114 3 view .LVU2301
3114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6543              		.loc 1 3114 11 is_stmt 0 view .LVU2302
 6544 000e 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 6545              	.LVL445:
3114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6546              		.loc 1 3114 6 view .LVU2303
 6547 0012 2028     		cmp	r0, #32
 6548 0014 7BD1     		bne	.L440
 6549 0016 0E46     		mov	r6, r1
3116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6550              		.loc 1 3116 5 is_stmt 1 view .LVU2304
3116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6551              		.loc 1 3116 8 is_stmt 0 view .LVU2305
 6552 0018 002B     		cmp	r3, #0
 6553 001a 18BF     		it	ne
 6554 001c 002D     		cmpne	r5, #0
 6555 001e 4AD0     		beq	.L445
3122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6556              		.loc 1 3122 5 is_stmt 1 view .LVU2306
3122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6557              		.loc 1 3122 9 is_stmt 0 view .LVU2307
 6558 0020 2168     		ldr	r1, [r4]
 6559              	.LVL446:
3122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6560              		.loc 1 3122 9 view .LVU2308
 6561 0022 8869     		ldr	r0, [r1, #24]
3122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6562              		.loc 1 3122 8 view .LVU2309
 6563 0024 10F4004F 		tst	r0, #32768
 6564 0028 75D1     		bne	.L441
3128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6565              		.loc 1 3128 5 is_stmt 1 view .LVU2310
3128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6566              		.loc 1 3128 5 view .LVU2311
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 285


 6567 002a 94F84000 		ldrb	r0, [r4, #64]	@ zero_extendqisi2
 6568 002e 0128     		cmp	r0, #1
 6569 0030 73D0     		beq	.L442
3128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6570              		.loc 1 3128 5 discriminator 2 view .LVU2312
 6571 0032 0120     		movs	r0, #1
 6572 0034 84F84000 		strb	r0, [r4, #64]
3128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6573              		.loc 1 3128 5 view .LVU2313
3130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
 6574              		.loc 1 3130 5 view .LVU2314
3130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode        = HAL_I2C_MODE_MEM;
 6575              		.loc 1 3130 23 is_stmt 0 view .LVU2315
 6576 0038 2220     		movs	r0, #34
 6577 003a 84F84100 		strb	r0, [r4, #65]
3131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 6578              		.loc 1 3131 5 is_stmt 1 view .LVU2316
3131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode   = HAL_I2C_ERROR_NONE;
 6579              		.loc 1 3131 23 is_stmt 0 view .LVU2317
 6580 003e 4020     		movs	r0, #64
 6581 0040 84F84200 		strb	r0, [r4, #66]
3132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6582              		.loc 1 3132 5 is_stmt 1 view .LVU2318
3132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6583              		.loc 1 3132 23 is_stmt 0 view .LVU2319
 6584 0044 0020     		movs	r0, #0
 6585 0046 6064     		str	r0, [r4, #68]
3135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6586              		.loc 1 3135 5 is_stmt 1 view .LVU2320
3135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 6587              		.loc 1 3135 23 is_stmt 0 view .LVU2321
 6588 0048 6562     		str	r5, [r4, #36]
3136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6589              		.loc 1 3136 5 is_stmt 1 view .LVU2322
3136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = I2C_NO_OPTION_FRAME;
 6590              		.loc 1 3136 23 is_stmt 0 view .LVU2323
 6591 004a 6385     		strh	r3, [r4, #42]	@ movhi
3137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_DMA;
 6592              		.loc 1 3137 5 is_stmt 1 view .LVU2324
3137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Mem_ISR_DMA;
 6593              		.loc 1 3137 23 is_stmt 0 view .LVU2325
 6594 004c 344B     		ldr	r3, .L448
 6595 004e E362     		str	r3, [r4, #44]
3138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 6596              		.loc 1 3138 5 is_stmt 1 view .LVU2326
3138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Devaddress  = DevAddress;
 6597              		.loc 1 3138 23 is_stmt 0 view .LVU2327
 6598 0050 344B     		ldr	r3, .L448+4
 6599 0052 6363     		str	r3, [r4, #52]
3139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6600              		.loc 1 3139 5 is_stmt 1 view .LVU2328
3139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6601              		.loc 1 3139 23 is_stmt 0 view .LVU2329
 6602 0054 E664     		str	r6, [r4, #76]
3141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6603              		.loc 1 3141 5 is_stmt 1 view .LVU2330
3141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 286


 6604              		.loc 1 3141 13 is_stmt 0 view .LVU2331
 6605 0056 638D     		ldrh	r3, [r4, #42]
 6606 0058 9BB2     		uxth	r3, r3
3141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6607              		.loc 1 3141 8 view .LVU2332
 6608 005a FF2B     		cmp	r3, #255
 6609 005c 30D9     		bls	.L433
3143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6610              		.loc 1 3143 7 is_stmt 1 view .LVU2333
3143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6611              		.loc 1 3143 22 is_stmt 0 view .LVU2334
 6612 005e FF23     		movs	r3, #255
 6613 0060 2385     		strh	r3, [r4, #40]	@ movhi
 6614              	.L434:
3151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6615              		.loc 1 3151 5 is_stmt 1 view .LVU2335
3151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6616              		.loc 1 3151 8 is_stmt 0 view .LVU2336
 6617 0062 012F     		cmp	r7, #1
 6618 0064 2FD0     		beq	.L446
3163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6619              		.loc 1 3163 7 is_stmt 1 view .LVU2337
3163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6620              		.loc 1 3163 30 is_stmt 0 view .LVU2338
 6621 0066 130A     		lsrs	r3, r2, #8
3163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6622              		.loc 1 3163 28 view .LVU2339
 6623 0068 8B62     		str	r3, [r1, #40]
3166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6624              		.loc 1 3166 7 is_stmt 1 view .LVU2340
3166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6625              		.loc 1 3166 26 is_stmt 0 view .LVU2341
 6626 006a D2B2     		uxtb	r2, r2
 6627              	.LVL447:
3166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6628              		.loc 1 3166 24 view .LVU2342
 6629 006c 2265     		str	r2, [r4, #80]
 6630              	.L436:
3169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6631              		.loc 1 3169 5 is_stmt 1 view .LVU2343
3169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6632              		.loc 1 3169 13 is_stmt 0 view .LVU2344
 6633 006e E36B     		ldr	r3, [r4, #60]
3169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6634              		.loc 1 3169 8 view .LVU2345
 6635 0070 002B     		cmp	r3, #0
 6636 0072 2ED0     		beq	.L437
3172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6637              		.loc 1 3172 7 is_stmt 1 view .LVU2346
3172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6638              		.loc 1 3172 38 is_stmt 0 view .LVU2347
 6639 0074 2C4A     		ldr	r2, .L448+8
 6640 0076 DA63     		str	r2, [r3, #60]
3175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6641              		.loc 1 3175 7 is_stmt 1 view .LVU2348
3175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6642              		.loc 1 3175 11 is_stmt 0 view .LVU2349
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 287


 6643 0078 E36B     		ldr	r3, [r4, #60]
3175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6644              		.loc 1 3175 39 view .LVU2350
 6645 007a 2C4A     		ldr	r2, .L448+12
 6646 007c DA64     		str	r2, [r3, #76]
3178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 6647              		.loc 1 3178 7 is_stmt 1 view .LVU2351
3178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 6648              		.loc 1 3178 11 is_stmt 0 view .LVU2352
 6649 007e E26B     		ldr	r2, [r4, #60]
3178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 6650              		.loc 1 3178 42 view .LVU2353
 6651 0080 0023     		movs	r3, #0
 6652 0082 1364     		str	r3, [r2, #64]
3179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6653              		.loc 1 3179 7 is_stmt 1 view .LVU2354
3179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6654              		.loc 1 3179 11 is_stmt 0 view .LVU2355
 6655 0084 E26B     		ldr	r2, [r4, #60]
3179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6656              		.loc 1 3179 39 view .LVU2356
 6657 0086 1365     		str	r3, [r2, #80]
3182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 6658              		.loc 1 3182 7 is_stmt 1 view .LVU2357
3182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 6659              		.loc 1 3182 69 is_stmt 0 view .LVU2358
 6660 0088 2168     		ldr	r1, [r4]
3182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 6661              		.loc 1 3182 23 view .LVU2359
 6662 008a 238D     		ldrh	r3, [r4, #40]
 6663 008c 2A46     		mov	r2, r5
 6664 008e 2431     		adds	r1, r1, #36
 6665 0090 E06B     		ldr	r0, [r4, #60]
 6666 0092 FFF7FEFF 		bl	HAL_DMA_Start_IT
 6667              	.LVL448:
3200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6668              		.loc 1 3200 5 is_stmt 1 view .LVU2360
3200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6669              		.loc 1 3200 8 is_stmt 0 view .LVU2361
 6670 0096 0546     		mov	r5, r0
 6671 0098 48B3     		cbz	r0, .L447
3220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6672              		.loc 1 3220 7 is_stmt 1 view .LVU2362
3220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6673              		.loc 1 3220 23 is_stmt 0 view .LVU2363
 6674 009a 2023     		movs	r3, #32
 6675 009c 84F84130 		strb	r3, [r4, #65]
3221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6676              		.loc 1 3221 7 is_stmt 1 view .LVU2364
3221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6677              		.loc 1 3221 23 is_stmt 0 view .LVU2365
 6678 00a0 0022     		movs	r2, #0
 6679 00a2 84F84220 		strb	r2, [r4, #66]
3224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6680              		.loc 1 3224 7 is_stmt 1 view .LVU2366
3224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6681              		.loc 1 3224 11 is_stmt 0 view .LVU2367
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 288


 6682 00a6 636C     		ldr	r3, [r4, #68]
3224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6683              		.loc 1 3224 23 view .LVU2368
 6684 00a8 43F01003 		orr	r3, r3, #16
 6685 00ac 6364     		str	r3, [r4, #68]
3227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6686              		.loc 1 3227 7 is_stmt 1 view .LVU2369
3227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6687              		.loc 1 3227 7 view .LVU2370
 6688 00ae 84F84020 		strb	r2, [r4, #64]
3227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6689              		.loc 1 3227 7 view .LVU2371
3229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6690              		.loc 1 3229 7 view .LVU2372
3229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6691              		.loc 1 3229 14 is_stmt 0 view .LVU2373
 6692 00b2 0125     		movs	r5, #1
 6693 00b4 2CE0     		b	.L431
 6694              	.LVL449:
 6695              	.L445:
3118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 6696              		.loc 1 3118 7 is_stmt 1 view .LVU2374
3118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 6697              		.loc 1 3118 23 is_stmt 0 view .LVU2375
 6698 00b6 4FF40073 		mov	r3, #512
 6699 00ba 6364     		str	r3, [r4, #68]
3119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6700              		.loc 1 3119 7 is_stmt 1 view .LVU2376
3119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6701              		.loc 1 3119 15 is_stmt 0 view .LVU2377
 6702 00bc 0125     		movs	r5, #1
 6703 00be 27E0     		b	.L431
 6704              	.LVL450:
 6705              	.L433:
3147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6706              		.loc 1 3147 7 is_stmt 1 view .LVU2378
3147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6707              		.loc 1 3147 28 is_stmt 0 view .LVU2379
 6708 00c0 638D     		ldrh	r3, [r4, #42]
3147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6709              		.loc 1 3147 22 view .LVU2380
 6710 00c2 2385     		strh	r3, [r4, #40]	@ movhi
 6711 00c4 CDE7     		b	.L434
 6712              	.L446:
3154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6713              		.loc 1 3154 7 is_stmt 1 view .LVU2381
3154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6714              		.loc 1 3154 30 is_stmt 0 view .LVU2382
 6715 00c6 D2B2     		uxtb	r2, r2
 6716              	.LVL451:
3154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6717              		.loc 1 3154 28 view .LVU2383
 6718 00c8 8A62     		str	r2, [r1, #40]
3157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6719              		.loc 1 3157 7 is_stmt 1 view .LVU2384
3157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6720              		.loc 1 3157 24 is_stmt 0 view .LVU2385
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 289


 6721 00ca 4FF0FF33 		mov	r3, #-1
 6722 00ce 2365     		str	r3, [r4, #80]
 6723 00d0 CDE7     		b	.L436
 6724              	.L437:
3188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6725              		.loc 1 3188 7 is_stmt 1 view .LVU2386
3188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 6726              		.loc 1 3188 23 is_stmt 0 view .LVU2387
 6727 00d2 2023     		movs	r3, #32
 6728 00d4 84F84130 		strb	r3, [r4, #65]
3189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6729              		.loc 1 3189 7 is_stmt 1 view .LVU2388
3189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6730              		.loc 1 3189 23 is_stmt 0 view .LVU2389
 6731 00d8 0022     		movs	r2, #0
 6732 00da 84F84220 		strb	r2, [r4, #66]
3192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6733              		.loc 1 3192 7 is_stmt 1 view .LVU2390
3192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6734              		.loc 1 3192 11 is_stmt 0 view .LVU2391
 6735 00de 636C     		ldr	r3, [r4, #68]
3192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6736              		.loc 1 3192 23 view .LVU2392
 6737 00e0 43F08003 		orr	r3, r3, #128
 6738 00e4 6364     		str	r3, [r4, #68]
3195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6739              		.loc 1 3195 7 is_stmt 1 view .LVU2393
3195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6740              		.loc 1 3195 7 view .LVU2394
 6741 00e6 84F84020 		strb	r2, [r4, #64]
3195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6742              		.loc 1 3195 7 view .LVU2395
3197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6743              		.loc 1 3197 7 view .LVU2396
3197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6744              		.loc 1 3197 14 is_stmt 0 view .LVU2397
 6745 00ea 0125     		movs	r5, #1
 6746 00ec 10E0     		b	.L431
 6747              	.LVL452:
 6748              	.L447:
3203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6749              		.loc 1 3203 7 is_stmt 1 view .LVU2398
 6750 00ee 104B     		ldr	r3, .L448+16
 6751 00f0 0093     		str	r3, [sp]
 6752 00f2 0023     		movs	r3, #0
 6753 00f4 FAB2     		uxtb	r2, r7
 6754 00f6 3146     		mov	r1, r6
 6755 00f8 2046     		mov	r0, r4
 6756              	.LVL453:
3203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6757              		.loc 1 3203 7 is_stmt 0 view .LVU2399
 6758 00fa FFF7FEFF 		bl	I2C_TransferConfig
 6759              	.LVL454:
3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6760              		.loc 1 3206 7 is_stmt 1 view .LVU2400
3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6761              		.loc 1 3206 7 view .LVU2401
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 290


 6762 00fe 0023     		movs	r3, #0
 6763 0100 84F84030 		strb	r3, [r4, #64]
3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6764              		.loc 1 3206 7 view .LVU2402
3215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6765              		.loc 1 3215 7 view .LVU2403
 6766 0104 0121     		movs	r1, #1
 6767 0106 2046     		mov	r0, r4
 6768 0108 FFF7FEFF 		bl	I2C_Enable_IRQ
 6769              	.LVL455:
3232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 6770              		.loc 1 3232 5 view .LVU2404
3232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 6771              		.loc 1 3232 12 is_stmt 0 view .LVU2405
 6772 010c 00E0     		b	.L431
 6773              	.LVL456:
 6774              	.L440:
3236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 6775              		.loc 1 3236 12 view .LVU2406
 6776 010e 0225     		movs	r5, #2
 6777              	.LVL457:
 6778              	.L431:
3238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6779              		.loc 1 3238 1 view .LVU2407
 6780 0110 2846     		mov	r0, r5
 6781 0112 03B0     		add	sp, sp, #12
 6782              		.cfi_remember_state
 6783              		.cfi_def_cfa_offset 20
 6784              		@ sp needed
 6785 0114 F0BD     		pop	{r4, r5, r6, r7, pc}
 6786              	.LVL458:
 6787              	.L441:
 6788              		.cfi_restore_state
3124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 6789              		.loc 1 3124 14 view .LVU2408
 6790 0116 0225     		movs	r5, #2
 6791 0118 FAE7     		b	.L431
 6792              	.L442:
3128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6793              		.loc 1 3128 5 discriminator 1 view .LVU2409
 6794 011a 0225     		movs	r5, #2
 6795 011c F8E7     		b	.L431
 6796              	.L449:
 6797 011e 00BF     		.align	2
 6798              	.L448:
 6799 0120 0000FFFF 		.word	-65536
 6800 0124 00000000 		.word	I2C_Mem_ISR_DMA
 6801 0128 00000000 		.word	I2C_DMAMasterReceiveCplt
 6802 012c 00000000 		.word	I2C_DMAError
 6803 0130 00200080 		.word	-2147475456
 6804              		.cfi_endproc
 6805              	.LFE356:
 6807              		.section	.text.HAL_I2C_IsDeviceReady,"ax",%progbits
 6808              		.align	1
 6809              		.global	HAL_I2C_IsDeviceReady
 6810              		.syntax unified
 6811              		.thumb
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 291


 6812              		.thumb_func
 6814              	HAL_I2C_IsDeviceReady:
 6815              	.LVL459:
 6816              	.LFB357:
3253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 6817              		.loc 1 3253 1 is_stmt 1 view -0
 6818              		.cfi_startproc
 6819              		@ args = 0, pretend = 0, frame = 8
 6820              		@ frame_needed = 0, uses_anonymous_args = 0
3253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tickstart;
 6821              		.loc 1 3253 1 is_stmt 0 view .LVU2411
 6822 0000 2DE9F043 		push	{r4, r5, r6, r7, r8, r9, lr}
 6823              		.cfi_def_cfa_offset 28
 6824              		.cfi_offset 4, -28
 6825              		.cfi_offset 5, -24
 6826              		.cfi_offset 6, -20
 6827              		.cfi_offset 7, -16
 6828              		.cfi_offset 8, -12
 6829              		.cfi_offset 9, -8
 6830              		.cfi_offset 14, -4
 6831 0004 85B0     		sub	sp, sp, #20
 6832              		.cfi_def_cfa_offset 48
 6833 0006 1D46     		mov	r5, r3
3254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6834              		.loc 1 3254 3 is_stmt 1 view .LVU2412
3256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6835              		.loc 1 3256 3 view .LVU2413
3256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6836              		.loc 1 3256 17 is_stmt 0 view .LVU2414
 6837 0008 0023     		movs	r3, #0
 6838              	.LVL460:
3256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6839              		.loc 1 3256 17 view .LVU2415
 6840 000a 0393     		str	r3, [sp, #12]
3258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   FlagStatus tmp2;
 6841              		.loc 1 3258 3 is_stmt 1 view .LVU2416
3259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6842              		.loc 1 3259 3 view .LVU2417
3261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6843              		.loc 1 3261 3 view .LVU2418
3261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6844              		.loc 1 3261 11 is_stmt 0 view .LVU2419
 6845 000c 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
3261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 6846              		.loc 1 3261 6 view .LVU2420
 6847 0010 202B     		cmp	r3, #32
 6848 0012 40F08380 		bne	.L460
 6849 0016 0646     		mov	r6, r0
 6850 0018 8846     		mov	r8, r1
 6851 001a 9146     		mov	r9, r2
3263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6852              		.loc 1 3263 5 is_stmt 1 view .LVU2421
3263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6853              		.loc 1 3263 9 is_stmt 0 view .LVU2422
 6854 001c 0368     		ldr	r3, [r0]
 6855 001e 9B69     		ldr	r3, [r3, #24]
3263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 292


 6856              		.loc 1 3263 8 view .LVU2423
 6857 0020 13F4004F 		tst	r3, #32768
 6858 0024 7CD1     		bne	.L461
3269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6859              		.loc 1 3269 5 is_stmt 1 view .LVU2424
3269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6860              		.loc 1 3269 5 view .LVU2425
 6861 0026 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 6862 002a 012B     		cmp	r3, #1
 6863 002c 7AD0     		beq	.L462
3269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6864              		.loc 1 3269 5 discriminator 2 view .LVU2426
 6865 002e 0123     		movs	r3, #1
 6866 0030 80F84030 		strb	r3, [r0, #64]
3269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6867              		.loc 1 3269 5 view .LVU2427
3271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 6868              		.loc 1 3271 5 view .LVU2428
3271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 6869              		.loc 1 3271 17 is_stmt 0 view .LVU2429
 6870 0034 2423     		movs	r3, #36
 6871 0036 80F84130 		strb	r3, [r0, #65]
3272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6872              		.loc 1 3272 5 is_stmt 1 view .LVU2430
3272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6873              		.loc 1 3272 21 is_stmt 0 view .LVU2431
 6874 003a 0023     		movs	r3, #0
 6875 003c 4364     		str	r3, [r0, #68]
 6876              	.LVL461:
 6877              	.L459:
3274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 6878              		.loc 1 3274 5 is_stmt 1 view .LVU2432
3277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6879              		.loc 1 3277 7 view .LVU2433
3277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6880              		.loc 1 3277 29 is_stmt 0 view .LVU2434
 6881 003e F368     		ldr	r3, [r6, #12]
 6882 0040 012B     		cmp	r3, #1
 6883 0042 10D0     		beq	.L466
3277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6884              		.loc 1 3277 29 discriminator 2 view .LVU2435
 6885 0044 C8F30902 		ubfx	r2, r8, #0, #10
 6886 0048 394B     		ldr	r3, .L469
 6887 004a 1343     		orrs	r3, r3, r2
 6888              	.L453:
3277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6889              		.loc 1 3277 11 discriminator 4 view .LVU2436
 6890 004c 3268     		ldr	r2, [r6]
3277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6891              		.loc 1 3277 27 discriminator 4 view .LVU2437
 6892 004e 5360     		str	r3, [r2, #4]
3281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6893              		.loc 1 3281 7 is_stmt 1 view .LVU2438
3281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6894              		.loc 1 3281 19 is_stmt 0 view .LVU2439
 6895 0050 FFF7FEFF 		bl	HAL_GetTick
 6896              	.LVL462:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 293


 6897 0054 0746     		mov	r7, r0
 6898              	.LVL463:
3283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
 6899              		.loc 1 3283 7 is_stmt 1 view .LVU2440
3283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
 6900              		.loc 1 3283 14 is_stmt 0 view .LVU2441
 6901 0056 3268     		ldr	r2, [r6]
 6902 0058 9369     		ldr	r3, [r2, #24]
 6903 005a C3F3401C 		ubfx	ip, r3, #5, #1
 6904              	.LVL464:
3284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6905              		.loc 1 3284 7 is_stmt 1 view .LVU2442
3284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6906              		.loc 1 3284 14 is_stmt 0 view .LVU2443
 6907 005e 9369     		ldr	r3, [r2, #24]
 6908 0060 C3F30013 		ubfx	r3, r3, #4, #1
 6909              	.LVL465:
3286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 6910              		.loc 1 3286 7 is_stmt 1 view .LVU2444
3286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 6911              		.loc 1 3286 13 is_stmt 0 view .LVU2445
 6912 0064 0BE0     		b	.L454
 6913              	.LVL466:
 6914              	.L466:
3277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6915              		.loc 1 3277 29 discriminator 1 view .LVU2446
 6916 0066 C8F30902 		ubfx	r2, r8, #0, #10
 6917 006a 324B     		ldr	r3, .L469+4
 6918 006c 1343     		orrs	r3, r3, r2
 6919 006e EDE7     		b	.L453
 6920              	.LVL467:
 6921              	.L455:
3305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
 6922              		.loc 1 3305 9 is_stmt 1 view .LVU2447
3305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
 6923              		.loc 1 3305 16 is_stmt 0 view .LVU2448
 6924 0070 3368     		ldr	r3, [r6]
 6925 0072 9C69     		ldr	r4, [r3, #24]
 6926 0074 C4F3401C 		ubfx	ip, r4, #5, #1
 6927              	.LVL468:
3306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 6928              		.loc 1 3306 9 is_stmt 1 view .LVU2449
3306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 6929              		.loc 1 3306 16 is_stmt 0 view .LVU2450
 6930 0078 9B69     		ldr	r3, [r3, #24]
 6931 007a C3F30013 		ubfx	r3, r3, #4, #1
 6932              	.LVL469:
 6933              	.L454:
3286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 6934              		.loc 1 3286 30 is_stmt 1 view .LVU2451
 6935 007e 5CEA030C 		orrs	ip, ip, r3
 6936              	.LVL470:
3286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 6937              		.loc 1 3286 30 is_stmt 0 view .LVU2452
 6938 0082 17D1     		bne	.L467
3288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 6939              		.loc 1 3288 9 is_stmt 1 view .LVU2453
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 294


3288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 6940              		.loc 1 3288 12 is_stmt 0 view .LVU2454
 6941 0084 B5F1FF3F 		cmp	r5, #-1
 6942 0088 F2D0     		beq	.L455
3290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 6943              		.loc 1 3290 11 is_stmt 1 view .LVU2455
3290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 6944              		.loc 1 3290 17 is_stmt 0 view .LVU2456
 6945 008a FFF7FEFF 		bl	HAL_GetTick
 6946              	.LVL471:
3290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 6947              		.loc 1 3290 31 discriminator 1 view .LVU2457
 6948 008e C01B     		subs	r0, r0, r7
3290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 6949              		.loc 1 3290 14 discriminator 1 view .LVU2458
 6950 0090 A842     		cmp	r0, r5
 6951 0092 01D8     		bhi	.L456
3290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 6952              		.loc 1 3290 55 discriminator 1 view .LVU2459
 6953 0094 002D     		cmp	r5, #0
 6954 0096 EBD1     		bne	.L455
 6955              	.L456:
3293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6956              		.loc 1 3293 13 is_stmt 1 view .LVU2460
3293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6957              		.loc 1 3293 25 is_stmt 0 view .LVU2461
 6958 0098 2023     		movs	r3, #32
 6959 009a 86F84130 		strb	r3, [r6, #65]
3296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6960              		.loc 1 3296 13 is_stmt 1 view .LVU2462
3296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6961              		.loc 1 3296 17 is_stmt 0 view .LVU2463
 6962 009e 736C     		ldr	r3, [r6, #68]
3296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6963              		.loc 1 3296 29 view .LVU2464
 6964 00a0 43F02003 		orr	r3, r3, #32
 6965 00a4 7364     		str	r3, [r6, #68]
3299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6966              		.loc 1 3299 13 is_stmt 1 view .LVU2465
3299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6967              		.loc 1 3299 13 view .LVU2466
 6968 00a6 0023     		movs	r3, #0
 6969 00a8 86F84030 		strb	r3, [r6, #64]
3299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6970              		.loc 1 3299 13 view .LVU2467
3301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 6971              		.loc 1 3301 13 view .LVU2468
3301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 6972              		.loc 1 3301 20 is_stmt 0 view .LVU2469
 6973 00ac 0120     		movs	r0, #1
 6974              	.LVL472:
 6975              	.L451:
3363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 6976              		.loc 1 3363 1 view .LVU2470
 6977 00ae 05B0     		add	sp, sp, #20
 6978              		.cfi_remember_state
 6979              		.cfi_def_cfa_offset 28
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 295


 6980              		@ sp needed
 6981 00b0 BDE8F083 		pop	{r4, r5, r6, r7, r8, r9, pc}
 6982              	.LVL473:
 6983              	.L467:
 6984              		.cfi_restore_state
3310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 6985              		.loc 1 3310 7 is_stmt 1 view .LVU2471
3310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 6986              		.loc 1 3310 11 is_stmt 0 view .LVU2472
 6987 00b4 3368     		ldr	r3, [r6]
 6988              	.LVL474:
3310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 6989              		.loc 1 3310 11 view .LVU2473
 6990 00b6 9B69     		ldr	r3, [r3, #24]
3310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 6991              		.loc 1 3310 10 view .LVU2474
 6992 00b8 13F0100F 		tst	r3, #16
 6993 00bc 1DD0     		beq	.L468
3332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 6994              		.loc 1 3332 9 is_stmt 1 view .LVU2475
3332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 6995              		.loc 1 3332 13 is_stmt 0 view .LVU2476
 6996 00be 0097     		str	r7, [sp]
 6997 00c0 2B46     		mov	r3, r5
 6998 00c2 0022     		movs	r2, #0
 6999 00c4 2021     		movs	r1, #32
 7000 00c6 3046     		mov	r0, r6
 7001 00c8 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 7002              	.LVL475:
3332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 7003              		.loc 1 3332 12 discriminator 1 view .LVU2477
 7004 00cc 70BB     		cbnz	r0, .L464
3338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7005              		.loc 1 3338 9 is_stmt 1 view .LVU2478
 7006 00ce 3368     		ldr	r3, [r6]
 7007 00d0 1022     		movs	r2, #16
 7008 00d2 DA61     		str	r2, [r3, #28]
3341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7009              		.loc 1 3341 9 view .LVU2479
 7010 00d4 3368     		ldr	r3, [r6]
 7011 00d6 2022     		movs	r2, #32
 7012 00d8 DA61     		str	r2, [r3, #28]
3345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     } while (I2C_Trials < Trials);
 7013              		.loc 1 3345 7 view .LVU2480
3345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     } while (I2C_Trials < Trials);
 7014              		.loc 1 3345 17 is_stmt 0 view .LVU2481
 7015 00da 039B     		ldr	r3, [sp, #12]
 7016 00dc 0133     		adds	r3, r3, #1
 7017 00de 0393     		str	r3, [sp, #12]
3346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7018              		.loc 1 3346 25 is_stmt 1 view .LVU2482
 7019 00e0 039B     		ldr	r3, [sp, #12]
 7020 00e2 4B45     		cmp	r3, r9
 7021 00e4 ABD3     		bcc	.L459
3349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7022              		.loc 1 3349 5 view .LVU2483
3349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 296


 7023              		.loc 1 3349 17 is_stmt 0 view .LVU2484
 7024 00e6 86F84120 		strb	r2, [r6, #65]
3352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7025              		.loc 1 3352 5 is_stmt 1 view .LVU2485
3352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7026              		.loc 1 3352 9 is_stmt 0 view .LVU2486
 7027 00ea 736C     		ldr	r3, [r6, #68]
3352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7028              		.loc 1 3352 21 view .LVU2487
 7029 00ec 1343     		orrs	r3, r3, r2
 7030 00ee 7364     		str	r3, [r6, #68]
3355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7031              		.loc 1 3355 5 is_stmt 1 view .LVU2488
3355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7032              		.loc 1 3355 5 view .LVU2489
 7033 00f0 0023     		movs	r3, #0
 7034 00f2 86F84030 		strb	r3, [r6, #64]
3355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7035              		.loc 1 3355 5 view .LVU2490
3357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7036              		.loc 1 3357 5 view .LVU2491
3357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7037              		.loc 1 3357 12 is_stmt 0 view .LVU2492
 7038 00f6 0120     		movs	r0, #1
 7039 00f8 D9E7     		b	.L451
 7040              	.L468:
3313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 7041              		.loc 1 3313 9 is_stmt 1 view .LVU2493
3313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 7042              		.loc 1 3313 13 is_stmt 0 view .LVU2494
 7043 00fa 0097     		str	r7, [sp]
 7044 00fc 2B46     		mov	r3, r5
 7045 00fe 0022     		movs	r2, #0
 7046 0100 2021     		movs	r1, #32
 7047 0102 3046     		mov	r0, r6
 7048 0104 FFF7FEFF 		bl	I2C_WaitOnFlagUntilTimeout
 7049              	.LVL476:
3313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 7050              		.loc 1 3313 12 discriminator 1 view .LVU2495
 7051 0108 70B9     		cbnz	r0, .L463
3319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7052              		.loc 1 3319 9 is_stmt 1 view .LVU2496
 7053 010a 3268     		ldr	r2, [r6]
 7054 010c 2023     		movs	r3, #32
 7055 010e D361     		str	r3, [r2, #28]
3322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7056              		.loc 1 3322 9 view .LVU2497
3322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7057              		.loc 1 3322 21 is_stmt 0 view .LVU2498
 7058 0110 86F84130 		strb	r3, [r6, #65]
3325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7059              		.loc 1 3325 9 is_stmt 1 view .LVU2499
3325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7060              		.loc 1 3325 9 view .LVU2500
 7061 0114 0023     		movs	r3, #0
 7062 0116 86F84030 		strb	r3, [r6, #64]
3325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 297


 7063              		.loc 1 3325 9 view .LVU2501
3327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7064              		.loc 1 3327 9 view .LVU2502
3327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7065              		.loc 1 3327 16 is_stmt 0 view .LVU2503
 7066 011a C8E7     		b	.L451
 7067              	.LVL477:
 7068              	.L460:
3361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7069              		.loc 1 3361 12 view .LVU2504
 7070 011c 0220     		movs	r0, #2
 7071              	.LVL478:
3361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7072              		.loc 1 3361 12 view .LVU2505
 7073 011e C6E7     		b	.L451
 7074              	.LVL479:
 7075              	.L461:
3265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7076              		.loc 1 3265 14 view .LVU2506
 7077 0120 0220     		movs	r0, #2
 7078              	.LVL480:
3265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7079              		.loc 1 3265 14 view .LVU2507
 7080 0122 C4E7     		b	.L451
 7081              	.LVL481:
 7082              	.L462:
3269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7083              		.loc 1 3269 5 discriminator 1 view .LVU2508
 7084 0124 0220     		movs	r0, #2
 7085              	.LVL482:
3269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7086              		.loc 1 3269 5 discriminator 1 view .LVU2509
 7087 0126 C2E7     		b	.L451
 7088              	.LVL483:
 7089              	.L463:
3315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 7090              		.loc 1 3315 18 view .LVU2510
 7091 0128 0120     		movs	r0, #1
 7092 012a C0E7     		b	.L451
 7093              	.L464:
3334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 7094              		.loc 1 3334 18 view .LVU2511
 7095 012c 0120     		movs	r0, #1
 7096 012e BEE7     		b	.L451
 7097              	.L470:
 7098              		.align	2
 7099              	.L469:
 7100 0130 00280002 		.word	33564672
 7101 0134 00200002 		.word	33562624
 7102              		.cfi_endproc
 7103              	.LFE357:
 7105              		.section	.text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits
 7106              		.align	1
 7107              		.global	HAL_I2C_Master_Seq_Transmit_IT
 7108              		.syntax unified
 7109              		.thumb
 7110              		.thumb_func
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 298


 7112              	HAL_I2C_Master_Seq_Transmit_IT:
 7113              	.LVL484:
 7114              	.LFB358:
3379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 7115              		.loc 1 3379 1 is_stmt 1 view -0
 7116              		.cfi_startproc
 7117              		@ args = 4, pretend = 0, frame = 0
 7118              		@ frame_needed = 0, uses_anonymous_args = 0
3379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 7119              		.loc 1 3379 1 is_stmt 0 view .LVU2513
 7120 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 7121              		.cfi_def_cfa_offset 24
 7122              		.cfi_offset 4, -24
 7123              		.cfi_offset 5, -20
 7124              		.cfi_offset 6, -16
 7125              		.cfi_offset 7, -12
 7126              		.cfi_offset 8, -8
 7127              		.cfi_offset 14, -4
 7128 0004 82B0     		sub	sp, sp, #8
 7129              		.cfi_def_cfa_offset 32
 7130 0006 0446     		mov	r4, r0
 7131 0008 089E     		ldr	r6, [sp, #32]
3380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xferrequest = I2C_GENERATE_START_WRITE;
 7132              		.loc 1 3380 3 is_stmt 1 view .LVU2514
3381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t sizetoxfer = 0U;
 7133              		.loc 1 3381 3 view .LVU2515
 7134              	.LVL485:
3382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7135              		.loc 1 3382 3 view .LVU2516
3385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7136              		.loc 1 3385 3 view .LVU2517
3387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 7137              		.loc 1 3387 3 view .LVU2518
3387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 7138              		.loc 1 3387 11 is_stmt 0 view .LVU2519
 7139 000a 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 7140              	.LVL486:
3387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 7141              		.loc 1 3387 6 view .LVU2520
 7142 000e 2028     		cmp	r0, #32
 7143 0010 73D1     		bne	.L480
 7144 0012 0D46     		mov	r5, r1
3390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7145              		.loc 1 3390 5 is_stmt 1 view .LVU2521
3390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7146              		.loc 1 3390 5 view .LVU2522
 7147 0014 94F84010 		ldrb	r1, [r4, #64]	@ zero_extendqisi2
 7148              	.LVL487:
3390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7149              		.loc 1 3390 5 is_stmt 0 view .LVU2523
 7150 0018 0129     		cmp	r1, #1
 7151 001a 70D0     		beq	.L481
3390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7152              		.loc 1 3390 5 is_stmt 1 discriminator 2 view .LVU2524
 7153 001c 0121     		movs	r1, #1
 7154 001e 84F84010 		strb	r1, [r4, #64]
3390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 299


 7155              		.loc 1 3390 5 view .LVU2525
3392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 7156              		.loc 1 3392 5 view .LVU2526
3392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 7157              		.loc 1 3392 21 is_stmt 0 view .LVU2527
 7158 0022 2121     		movs	r1, #33
 7159 0024 84F84110 		strb	r1, [r4, #65]
3393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 7160              		.loc 1 3393 5 is_stmt 1 view .LVU2528
3393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 7161              		.loc 1 3393 21 is_stmt 0 view .LVU2529
 7162 0028 1021     		movs	r1, #16
 7163 002a 84F84210 		strb	r1, [r4, #66]
3394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7164              		.loc 1 3394 5 is_stmt 1 view .LVU2530
3394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7165              		.loc 1 3394 21 is_stmt 0 view .LVU2531
 7166 002e 0021     		movs	r1, #0
 7167 0030 6164     		str	r1, [r4, #68]
3397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 7168              		.loc 1 3397 5 is_stmt 1 view .LVU2532
3397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 7169              		.loc 1 3397 23 is_stmt 0 view .LVU2533
 7170 0032 6262     		str	r2, [r4, #36]
3398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 7171              		.loc 1 3398 5 is_stmt 1 view .LVU2534
3398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 7172              		.loc 1 3398 23 is_stmt 0 view .LVU2535
 7173 0034 6385     		strh	r3, [r4, #42]	@ movhi
3399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
 7174              		.loc 1 3399 5 is_stmt 1 view .LVU2536
3399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
 7175              		.loc 1 3399 23 is_stmt 0 view .LVU2537
 7176 0036 E662     		str	r6, [r4, #44]
3400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7177              		.loc 1 3400 5 is_stmt 1 view .LVU2538
3400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7178              		.loc 1 3400 23 is_stmt 0 view .LVU2539
 7179 0038 324B     		ldr	r3, .L487
 7180              	.LVL488:
3400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7181              		.loc 1 3400 23 view .LVU2540
 7182 003a 6363     		str	r3, [r4, #52]
3403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7183              		.loc 1 3403 5 is_stmt 1 view .LVU2541
3403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7184              		.loc 1 3403 13 is_stmt 0 view .LVU2542
 7185 003c 638D     		ldrh	r3, [r4, #42]
 7186 003e 9BB2     		uxth	r3, r3
3403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7187              		.loc 1 3403 8 view .LVU2543
 7188 0040 FF2B     		cmp	r3, #255
 7189 0042 1BD9     		bls	.L473
3405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 7190              		.loc 1 3405 7 is_stmt 1 view .LVU2544
3405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 7191              		.loc 1 3405 22 is_stmt 0 view .LVU2545
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 300


 7192 0044 FF23     		movs	r3, #255
 7193 0046 2385     		strh	r3, [r4, #40]	@ movhi
3406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7194              		.loc 1 3406 7 is_stmt 1 view .LVU2546
 7195              	.LVL489:
3406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7196              		.loc 1 3406 16 is_stmt 0 view .LVU2547
 7197 0048 4FF08077 		mov	r7, #16777216
 7198              	.LVL490:
 7199              	.L474:
3414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                   (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
 7200              		.loc 1 3414 5 is_stmt 1 view .LVU2548
3414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                   (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
 7201              		.loc 1 3414 14 is_stmt 0 view .LVU2549
 7202 004c 238D     		ldrh	r3, [r4, #40]
3414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                   (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
 7203              		.loc 1 3414 8 view .LVU2550
 7204 004e CBB1     		cbz	r3, .L482
3414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                   (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
 7205              		.loc 1 3414 31 discriminator 1 view .LVU2551
 7206 0050 B6F1007F 		cmp	r6, #33554432
 7207 0054 18BF     		it	ne
 7208 0056 002E     		cmpne	r6, #0
 7209 0058 3FD1     		bne	.L483
3419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7210              		.loc 1 3419 7 is_stmt 1 view .LVU2552
3419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7211              		.loc 1 3419 11 is_stmt 0 view .LVU2553
 7212 005a 2368     		ldr	r3, [r4]
3419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7213              		.loc 1 3419 30 view .LVU2554
 7214 005c 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
 7215              	.LVL491:
3419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7216              		.loc 1 3419 28 view .LVU2555
 7217 005e 9A62     		str	r2, [r3, #40]
 7218              	.LVL492:
3422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7219              		.loc 1 3422 7 is_stmt 1 view .LVU2556
3422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7220              		.loc 1 3422 11 is_stmt 0 view .LVU2557
 7221 0060 636A     		ldr	r3, [r4, #36]
3422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7222              		.loc 1 3422 21 view .LVU2558
 7223 0062 0133     		adds	r3, r3, #1
 7224 0064 6362     		str	r3, [r4, #36]
3424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 7225              		.loc 1 3424 7 is_stmt 1 view .LVU2559
3424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 7226              		.loc 1 3424 24 is_stmt 0 view .LVU2560
 7227 0066 B4F82880 		ldrh	r8, [r4, #40]
 7228              	.LVL493:
3425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 7229              		.loc 1 3425 7 is_stmt 1 view .LVU2561
3425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 7230              		.loc 1 3425 11 is_stmt 0 view .LVU2562
 7231 006a 638D     		ldrh	r3, [r4, #42]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 301


 7232 006c 9BB2     		uxth	r3, r3
3425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 7233              		.loc 1 3425 22 view .LVU2563
 7234 006e 013B     		subs	r3, r3, #1
 7235 0070 9BB2     		uxth	r3, r3
 7236 0072 6385     		strh	r3, [r4, #42]	@ movhi
3426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7237              		.loc 1 3426 7 is_stmt 1 view .LVU2564
3426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7238              		.loc 1 3426 21 is_stmt 0 view .LVU2565
 7239 0074 08F1FF33 		add	r3, r8, #-1
 7240 0078 2385     		strh	r3, [r4, #40]	@ movhi
 7241 007a 05E0     		b	.L475
 7242              	.LVL494:
 7243              	.L473:
3410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 7244              		.loc 1 3410 7 is_stmt 1 view .LVU2566
3410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 7245              		.loc 1 3410 28 is_stmt 0 view .LVU2567
 7246 007c 638D     		ldrh	r3, [r4, #42]
3410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 7247              		.loc 1 3410 22 view .LVU2568
 7248 007e 2385     		strh	r3, [r4, #40]	@ movhi
3411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7249              		.loc 1 3411 7 is_stmt 1 view .LVU2569
3411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7250              		.loc 1 3411 16 is_stmt 0 view .LVU2570
 7251 0080 E76A     		ldr	r7, [r4, #44]
 7252 0082 E3E7     		b	.L474
 7253              	.LVL495:
 7254              	.L482:
3382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7255              		.loc 1 3382 12 view .LVU2571
 7256 0084 4FF00008 		mov	r8, #0
 7257              	.LVL496:
 7258              	.L475:
3432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7259              		.loc 1 3432 5 is_stmt 1 view .LVU2572
3432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7260              		.loc 1 3432 14 is_stmt 0 view .LVU2573
 7261 0088 236B     		ldr	r3, [r4, #48]
3432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7262              		.loc 1 3432 8 view .LVU2574
 7263 008a 112B     		cmp	r3, #17
 7264 008c 04D1     		bne	.L476
3432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7265              		.loc 1 3432 59 discriminator 1 view .LVU2575
 7266 008e B6F52A4F 		cmp	r6, #43520
 7267 0092 18BF     		it	ne
 7268 0094 AA2E     		cmpne	r6, #170
 7269 0096 23D1     		bne	.L484
 7270              	.L476:
3440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7271              		.loc 1 3440 7 is_stmt 1 view .LVU2576
 7272 0098 2046     		mov	r0, r4
 7273 009a FFF7FEFF 		bl	I2C_ConvertOtherXferOptions
 7274              	.LVL497:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 302


3443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7275              		.loc 1 3443 7 view .LVU2577
3443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7276              		.loc 1 3443 15 is_stmt 0 view .LVU2578
 7277 009e 638D     		ldrh	r3, [r4, #42]
 7278 00a0 9BB2     		uxth	r3, r3
3443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7279              		.loc 1 3443 10 view .LVU2579
 7280 00a2 FF2B     		cmp	r3, #255
 7281 00a4 1ED8     		bhi	.L485
3445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7282              		.loc 1 3445 9 is_stmt 1 view .LVU2580
3445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7283              		.loc 1 3445 18 is_stmt 0 view .LVU2581
 7284 00a6 E76A     		ldr	r7, [r4, #44]
 7285              	.LVL498:
3381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t sizetoxfer = 0U;
 7286              		.loc 1 3381 12 view .LVU2582
 7287 00a8 174B     		ldr	r3, .L487+4
 7288              	.L477:
 7289              	.LVL499:
3450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7290              		.loc 1 3450 5 is_stmt 1 view .LVU2583
3450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7291              		.loc 1 3450 8 is_stmt 0 view .LVU2584
 7292 00aa B6F1007F 		cmp	r6, #33554432
 7293 00ae 18BF     		it	ne
 7294 00b0 002E     		cmpne	r6, #0
 7295 00b2 19D1     		bne	.L478
3452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7296              		.loc 1 3452 7 is_stmt 1 view .LVU2585
 7297 00b4 0093     		str	r3, [sp]
 7298 00b6 3B46     		mov	r3, r7
 7299              	.LVL500:
3452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7300              		.loc 1 3452 7 is_stmt 0 view .LVU2586
 7301 00b8 5FFA88F2 		uxtb	r2, r8
 7302 00bc 2946     		mov	r1, r5
 7303 00be 2046     		mov	r0, r4
 7304 00c0 FFF7FEFF 		bl	I2C_TransferConfig
 7305              	.LVL501:
 7306              	.L479:
3460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7307              		.loc 1 3460 5 is_stmt 1 view .LVU2587
3460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7308              		.loc 1 3460 5 view .LVU2588
 7309 00c4 0025     		movs	r5, #0
 7310              	.LVL502:
3460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7311              		.loc 1 3460 5 is_stmt 0 view .LVU2589
 7312 00c6 84F84050 		strb	r5, [r4, #64]
3460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7313              		.loc 1 3460 5 is_stmt 1 view .LVU2590
3469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7314              		.loc 1 3469 5 view .LVU2591
 7315 00ca 0121     		movs	r1, #1
 7316 00cc 2046     		mov	r0, r4
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 303


 7317 00ce FFF7FEFF 		bl	I2C_Enable_IRQ
 7318              	.LVL503:
3471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7319              		.loc 1 3471 5 view .LVU2592
3471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7320              		.loc 1 3471 12 is_stmt 0 view .LVU2593
 7321 00d2 2846     		mov	r0, r5
 7322              	.LVL504:
 7323              	.L472:
3477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7324              		.loc 1 3477 1 view .LVU2594
 7325 00d4 02B0     		add	sp, sp, #8
 7326              		.cfi_remember_state
 7327              		.cfi_def_cfa_offset 24
 7328              		@ sp needed
 7329 00d6 BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 7330              	.LVL505:
 7331              	.L483:
 7332              		.cfi_restore_state
3382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7333              		.loc 1 3382 12 view .LVU2595
 7334 00da 4FF00008 		mov	r8, #0
 7335 00de D3E7     		b	.L475
 7336              	.LVL506:
 7337              	.L484:
3435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7338              		.loc 1 3435 19 view .LVU2596
 7339 00e0 0023     		movs	r3, #0
 7340 00e2 E2E7     		b	.L477
 7341              	.L485:
3381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t sizetoxfer = 0U;
 7342              		.loc 1 3381 12 view .LVU2597
 7343 00e4 084B     		ldr	r3, .L487+4
 7344 00e6 E0E7     		b	.L477
 7345              	.LVL507:
 7346              	.L478:
3456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7347              		.loc 1 3456 7 is_stmt 1 view .LVU2598
 7348 00e8 0093     		str	r3, [sp]
 7349 00ea 3B46     		mov	r3, r7
 7350              	.LVL508:
3456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7351              		.loc 1 3456 7 is_stmt 0 view .LVU2599
 7352 00ec 94F82820 		ldrb	r2, [r4, #40]	@ zero_extendqisi2
 7353 00f0 2946     		mov	r1, r5
 7354 00f2 2046     		mov	r0, r4
 7355 00f4 FFF7FEFF 		bl	I2C_TransferConfig
 7356              	.LVL509:
3456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7357              		.loc 1 3456 7 view .LVU2600
 7358 00f8 E4E7     		b	.L479
 7359              	.LVL510:
 7360              	.L480:
3475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7361              		.loc 1 3475 12 view .LVU2601
 7362 00fa 0220     		movs	r0, #2
 7363 00fc EAE7     		b	.L472
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 304


 7364              	.LVL511:
 7365              	.L481:
3390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7366              		.loc 1 3390 5 discriminator 1 view .LVU2602
 7367 00fe 0220     		movs	r0, #2
 7368 0100 E8E7     		b	.L472
 7369              	.L488:
 7370 0102 00BF     		.align	2
 7371              	.L487:
 7372 0104 00000000 		.word	I2C_Master_ISR_IT
 7373 0108 00200080 		.word	-2147475456
 7374              		.cfi_endproc
 7375              	.LFE358:
 7377              		.section	.text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits
 7378              		.align	1
 7379              		.global	HAL_I2C_Master_Seq_Transmit_DMA
 7380              		.syntax unified
 7381              		.thumb
 7382              		.thumb_func
 7384              	HAL_I2C_Master_Seq_Transmit_DMA:
 7385              	.LVL512:
 7386              	.LFB359:
3493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 7387              		.loc 1 3493 1 is_stmt 1 view -0
 7388              		.cfi_startproc
 7389              		@ args = 4, pretend = 0, frame = 0
 7390              		@ frame_needed = 0, uses_anonymous_args = 0
3493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 7391              		.loc 1 3493 1 is_stmt 0 view .LVU2604
 7392 0000 2DE9F043 		push	{r4, r5, r6, r7, r8, r9, lr}
 7393              		.cfi_def_cfa_offset 28
 7394              		.cfi_offset 4, -28
 7395              		.cfi_offset 5, -24
 7396              		.cfi_offset 6, -20
 7397              		.cfi_offset 7, -16
 7398              		.cfi_offset 8, -12
 7399              		.cfi_offset 9, -8
 7400              		.cfi_offset 14, -4
 7401 0004 83B0     		sub	sp, sp, #12
 7402              		.cfi_def_cfa_offset 40
 7403 0006 0446     		mov	r4, r0
 7404 0008 0A9E     		ldr	r6, [sp, #40]
3494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xferrequest = I2C_GENERATE_START_WRITE;
 7405              		.loc 1 3494 3 is_stmt 1 view .LVU2605
3495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 7406              		.loc 1 3495 3 view .LVU2606
 7407              	.LVL513:
3496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t sizetoxfer = 0U;
 7408              		.loc 1 3496 3 view .LVU2607
3497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7409              		.loc 1 3497 3 view .LVU2608
3500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7410              		.loc 1 3500 3 view .LVU2609
3502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 7411              		.loc 1 3502 3 view .LVU2610
3502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 7412              		.loc 1 3502 11 is_stmt 0 view .LVU2611
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 305


 7413 000a 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 7414              	.LVL514:
3502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 7415              		.loc 1 3502 6 view .LVU2612
 7416 000e 2028     		cmp	r0, #32
 7417 0010 40F0D780 		bne	.L505
 7418 0014 0D46     		mov	r5, r1
3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7419              		.loc 1 3505 5 is_stmt 1 view .LVU2613
3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7420              		.loc 1 3505 5 view .LVU2614
 7421 0016 94F84010 		ldrb	r1, [r4, #64]	@ zero_extendqisi2
 7422              	.LVL515:
3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7423              		.loc 1 3505 5 is_stmt 0 view .LVU2615
 7424 001a 0129     		cmp	r1, #1
 7425 001c 00F0D580 		beq	.L506
3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7426              		.loc 1 3505 5 is_stmt 1 discriminator 2 view .LVU2616
 7427 0020 0121     		movs	r1, #1
 7428 0022 84F84010 		strb	r1, [r4, #64]
3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7429              		.loc 1 3505 5 view .LVU2617
3507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 7430              		.loc 1 3507 5 view .LVU2618
3507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 7431              		.loc 1 3507 21 is_stmt 0 view .LVU2619
 7432 0026 2121     		movs	r1, #33
 7433 0028 84F84110 		strb	r1, [r4, #65]
3508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 7434              		.loc 1 3508 5 is_stmt 1 view .LVU2620
3508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 7435              		.loc 1 3508 21 is_stmt 0 view .LVU2621
 7436 002c 1021     		movs	r1, #16
 7437 002e 84F84210 		strb	r1, [r4, #66]
3509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7438              		.loc 1 3509 5 is_stmt 1 view .LVU2622
3509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7439              		.loc 1 3509 21 is_stmt 0 view .LVU2623
 7440 0032 0021     		movs	r1, #0
 7441 0034 6164     		str	r1, [r4, #68]
3512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 7442              		.loc 1 3512 5 is_stmt 1 view .LVU2624
3512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 7443              		.loc 1 3512 23 is_stmt 0 view .LVU2625
 7444 0036 6262     		str	r2, [r4, #36]
3513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 7445              		.loc 1 3513 5 is_stmt 1 view .LVU2626
3513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 7446              		.loc 1 3513 23 is_stmt 0 view .LVU2627
 7447 0038 6385     		strh	r3, [r4, #42]	@ movhi
3514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
 7448              		.loc 1 3514 5 is_stmt 1 view .LVU2628
3514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
 7449              		.loc 1 3514 23 is_stmt 0 view .LVU2629
 7450 003a E662     		str	r6, [r4, #44]
3515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 306


 7451              		.loc 1 3515 5 is_stmt 1 view .LVU2630
3515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7452              		.loc 1 3515 23 is_stmt 0 view .LVU2631
 7453 003c 644B     		ldr	r3, .L513
 7454              	.LVL516:
3515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7455              		.loc 1 3515 23 view .LVU2632
 7456 003e 6363     		str	r3, [r4, #52]
3518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7457              		.loc 1 3518 5 is_stmt 1 view .LVU2633
3518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7458              		.loc 1 3518 13 is_stmt 0 view .LVU2634
 7459 0040 638D     		ldrh	r3, [r4, #42]
 7460 0042 9BB2     		uxth	r3, r3
3518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7461              		.loc 1 3518 8 view .LVU2635
 7462 0044 FF2B     		cmp	r3, #255
 7463 0046 1BD9     		bls	.L491
3520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 7464              		.loc 1 3520 7 is_stmt 1 view .LVU2636
3520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 7465              		.loc 1 3520 22 is_stmt 0 view .LVU2637
 7466 0048 FF23     		movs	r3, #255
 7467 004a 2385     		strh	r3, [r4, #40]	@ movhi
3521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7468              		.loc 1 3521 7 is_stmt 1 view .LVU2638
 7469              	.LVL517:
3521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7470              		.loc 1 3521 16 is_stmt 0 view .LVU2639
 7471 004c 4FF08077 		mov	r7, #16777216
 7472              	.LVL518:
 7473              	.L492:
3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                   (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
 7474              		.loc 1 3529 5 is_stmt 1 view .LVU2640
3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                   (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
 7475              		.loc 1 3529 14 is_stmt 0 view .LVU2641
 7476 0050 238D     		ldrh	r3, [r4, #40]
3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                   (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
 7477              		.loc 1 3529 8 view .LVU2642
 7478 0052 CBB1     		cbz	r3, .L507
3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                   (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
 7479              		.loc 1 3529 31 discriminator 1 view .LVU2643
 7480 0054 B6F1007F 		cmp	r6, #33554432
 7481 0058 18BF     		it	ne
 7482 005a 002E     		cmpne	r6, #0
 7483 005c 29D1     		bne	.L508
3534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7484              		.loc 1 3534 7 is_stmt 1 view .LVU2644
3534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7485              		.loc 1 3534 11 is_stmt 0 view .LVU2645
 7486 005e 2368     		ldr	r3, [r4]
3534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7487              		.loc 1 3534 30 view .LVU2646
 7488 0060 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
 7489              	.LVL519:
3534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7490              		.loc 1 3534 28 view .LVU2647
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 307


 7491 0062 9A62     		str	r2, [r3, #40]
 7492              	.LVL520:
3537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7493              		.loc 1 3537 7 is_stmt 1 view .LVU2648
3537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7494              		.loc 1 3537 11 is_stmt 0 view .LVU2649
 7495 0064 636A     		ldr	r3, [r4, #36]
3537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7496              		.loc 1 3537 21 view .LVU2650
 7497 0066 0133     		adds	r3, r3, #1
 7498 0068 6362     		str	r3, [r4, #36]
3539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 7499              		.loc 1 3539 7 is_stmt 1 view .LVU2651
3539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 7500              		.loc 1 3539 24 is_stmt 0 view .LVU2652
 7501 006a B4F82880 		ldrh	r8, [r4, #40]
 7502              	.LVL521:
3540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 7503              		.loc 1 3540 7 is_stmt 1 view .LVU2653
3540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 7504              		.loc 1 3540 11 is_stmt 0 view .LVU2654
 7505 006e 638D     		ldrh	r3, [r4, #42]
 7506 0070 9BB2     		uxth	r3, r3
3540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 7507              		.loc 1 3540 22 view .LVU2655
 7508 0072 013B     		subs	r3, r3, #1
 7509 0074 9BB2     		uxth	r3, r3
 7510 0076 6385     		strh	r3, [r4, #42]	@ movhi
3541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7511              		.loc 1 3541 7 is_stmt 1 view .LVU2656
3541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7512              		.loc 1 3541 21 is_stmt 0 view .LVU2657
 7513 0078 08F1FF33 		add	r3, r8, #-1
 7514 007c 2385     		strh	r3, [r4, #40]	@ movhi
 7515 007e 05E0     		b	.L493
 7516              	.LVL522:
 7517              	.L491:
3525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 7518              		.loc 1 3525 7 is_stmt 1 view .LVU2658
3525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 7519              		.loc 1 3525 28 is_stmt 0 view .LVU2659
 7520 0080 638D     		ldrh	r3, [r4, #42]
3525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 7521              		.loc 1 3525 22 view .LVU2660
 7522 0082 2385     		strh	r3, [r4, #40]	@ movhi
3526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7523              		.loc 1 3526 7 is_stmt 1 view .LVU2661
3526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7524              		.loc 1 3526 16 is_stmt 0 view .LVU2662
 7525 0084 E76A     		ldr	r7, [r4, #44]
 7526 0086 E3E7     		b	.L492
 7527              	.LVL523:
 7528              	.L507:
3497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7529              		.loc 1 3497 12 view .LVU2663
 7530 0088 4FF00008 		mov	r8, #0
 7531              	.LVL524:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 308


 7532              	.L493:
3547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7533              		.loc 1 3547 5 is_stmt 1 view .LVU2664
3547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7534              		.loc 1 3547 14 is_stmt 0 view .LVU2665
 7535 008c 236B     		ldr	r3, [r4, #48]
3547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7536              		.loc 1 3547 8 view .LVU2666
 7537 008e 112B     		cmp	r3, #17
 7538 0090 04D1     		bne	.L494
3547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7539              		.loc 1 3547 59 discriminator 1 view .LVU2667
 7540 0092 B6F52A4F 		cmp	r6, #43520
 7541 0096 18BF     		it	ne
 7542 0098 AA2E     		cmpne	r6, #170
 7543 009a 0DD1     		bne	.L509
 7544              	.L494:
3555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7545              		.loc 1 3555 7 is_stmt 1 view .LVU2668
 7546 009c 2046     		mov	r0, r4
 7547 009e FFF7FEFF 		bl	I2C_ConvertOtherXferOptions
 7548              	.LVL525:
3558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7549              		.loc 1 3558 7 view .LVU2669
3558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7550              		.loc 1 3558 15 is_stmt 0 view .LVU2670
 7551 00a2 638D     		ldrh	r3, [r4, #42]
 7552 00a4 9BB2     		uxth	r3, r3
3558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7553              		.loc 1 3558 10 view .LVU2671
 7554 00a6 FF2B     		cmp	r3, #255
 7555 00a8 09D8     		bhi	.L510
3560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7556              		.loc 1 3560 9 is_stmt 1 view .LVU2672
3560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7557              		.loc 1 3560 18 is_stmt 0 view .LVU2673
 7558 00aa E76A     		ldr	r7, [r4, #44]
 7559              	.LVL526:
3495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 7560              		.loc 1 3495 12 view .LVU2674
 7561 00ac DFF83091 		ldr	r9, .L513+16
 7562 00b0 07E0     		b	.L495
 7563              	.LVL527:
 7564              	.L508:
3497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7565              		.loc 1 3497 12 view .LVU2675
 7566 00b2 4FF00008 		mov	r8, #0
 7567 00b6 E9E7     		b	.L493
 7568              	.LVL528:
 7569              	.L509:
3550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7570              		.loc 1 3550 19 view .LVU2676
 7571 00b8 4FF00009 		mov	r9, #0
 7572 00bc 01E0     		b	.L495
 7573              	.L510:
3495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 7574              		.loc 1 3495 12 view .LVU2677
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 309


 7575 00be DFF82091 		ldr	r9, .L513+16
 7576              	.L495:
 7577              	.LVL529:
3564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7578              		.loc 1 3564 5 is_stmt 1 view .LVU2678
3564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7579              		.loc 1 3564 13 is_stmt 0 view .LVU2679
 7580 00c2 228D     		ldrh	r2, [r4, #40]
3564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7581              		.loc 1 3564 8 view .LVU2680
 7582 00c4 002A     		cmp	r2, #0
 7583 00c6 5AD0     		beq	.L496
3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7584              		.loc 1 3566 7 is_stmt 1 view .LVU2681
3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7585              		.loc 1 3566 15 is_stmt 0 view .LVU2682
 7586 00c8 A36B     		ldr	r3, [r4, #56]
3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7587              		.loc 1 3566 10 view .LVU2683
 7588 00ca FBB1     		cbz	r3, .L497
3569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7589              		.loc 1 3569 9 is_stmt 1 view .LVU2684
3569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7590              		.loc 1 3569 40 is_stmt 0 view .LVU2685
 7591 00cc 414A     		ldr	r2, .L513+4
 7592 00ce DA63     		str	r2, [r3, #60]
3572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7593              		.loc 1 3572 9 is_stmt 1 view .LVU2686
3572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7594              		.loc 1 3572 13 is_stmt 0 view .LVU2687
 7595 00d0 A36B     		ldr	r3, [r4, #56]
3572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7596              		.loc 1 3572 41 view .LVU2688
 7597 00d2 414A     		ldr	r2, .L513+8
 7598 00d4 DA64     		str	r2, [r3, #76]
3575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
 7599              		.loc 1 3575 9 is_stmt 1 view .LVU2689
3575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
 7600              		.loc 1 3575 13 is_stmt 0 view .LVU2690
 7601 00d6 A26B     		ldr	r2, [r4, #56]
3575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmatx->XferAbortCallback = NULL;
 7602              		.loc 1 3575 44 view .LVU2691
 7603 00d8 0023     		movs	r3, #0
 7604 00da 1364     		str	r3, [r2, #64]
3576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7605              		.loc 1 3576 9 is_stmt 1 view .LVU2692
3576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7606              		.loc 1 3576 13 is_stmt 0 view .LVU2693
 7607 00dc A26B     		ldr	r2, [r4, #56]
3576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7608              		.loc 1 3576 41 view .LVU2694
 7609 00de 1365     		str	r3, [r2, #80]
3579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
 7610              		.loc 1 3579 9 is_stmt 1 view .LVU2695
3580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7611              		.loc 1 3580 57 is_stmt 0 view .LVU2696
 7612 00e0 2268     		ldr	r2, [r4]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 310


3579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
 7613              		.loc 1 3579 25 view .LVU2697
 7614 00e2 238D     		ldrh	r3, [r4, #40]
 7615 00e4 2832     		adds	r2, r2, #40
 7616 00e6 616A     		ldr	r1, [r4, #36]
 7617 00e8 A06B     		ldr	r0, [r4, #56]
 7618 00ea FFF7FEFF 		bl	HAL_DMA_Start_IT
 7619              	.LVL530:
3597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7620              		.loc 1 3597 7 is_stmt 1 view .LVU2698
3597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7621              		.loc 1 3597 10 is_stmt 0 view .LVU2699
 7622 00ee D8B1     		cbz	r0, .L498
3627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 7623              		.loc 1 3627 9 is_stmt 1 view .LVU2700
3627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 7624              		.loc 1 3627 25 is_stmt 0 view .LVU2701
 7625 00f0 2023     		movs	r3, #32
 7626 00f2 84F84130 		strb	r3, [r4, #65]
3628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7627              		.loc 1 3628 9 is_stmt 1 view .LVU2702
3628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7628              		.loc 1 3628 25 is_stmt 0 view .LVU2703
 7629 00f6 0022     		movs	r2, #0
 7630 00f8 84F84220 		strb	r2, [r4, #66]
3631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7631              		.loc 1 3631 9 is_stmt 1 view .LVU2704
3631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7632              		.loc 1 3631 13 is_stmt 0 view .LVU2705
 7633 00fc 636C     		ldr	r3, [r4, #68]
3631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7634              		.loc 1 3631 25 view .LVU2706
 7635 00fe 43F01003 		orr	r3, r3, #16
 7636 0102 6364     		str	r3, [r4, #68]
3634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7637              		.loc 1 3634 9 is_stmt 1 view .LVU2707
3634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7638              		.loc 1 3634 9 view .LVU2708
 7639 0104 84F84020 		strb	r2, [r4, #64]
3634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7640              		.loc 1 3634 9 view .LVU2709
3636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7641              		.loc 1 3636 9 view .LVU2710
3636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7642              		.loc 1 3636 16 is_stmt 0 view .LVU2711
 7643 0108 0120     		movs	r0, #1
 7644              	.LVL531:
3636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7645              		.loc 1 3636 16 view .LVU2712
 7646 010a 5BE0     		b	.L490
 7647              	.LVL532:
 7648              	.L497:
3585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 7649              		.loc 1 3585 9 is_stmt 1 view .LVU2713
3585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 7650              		.loc 1 3585 25 is_stmt 0 view .LVU2714
 7651 010c 2023     		movs	r3, #32
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 311


 7652 010e 84F84130 		strb	r3, [r4, #65]
3586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7653              		.loc 1 3586 9 is_stmt 1 view .LVU2715
3586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7654              		.loc 1 3586 25 is_stmt 0 view .LVU2716
 7655 0112 0022     		movs	r2, #0
 7656 0114 84F84220 		strb	r2, [r4, #66]
3589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7657              		.loc 1 3589 9 is_stmt 1 view .LVU2717
3589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7658              		.loc 1 3589 13 is_stmt 0 view .LVU2718
 7659 0118 636C     		ldr	r3, [r4, #68]
3589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7660              		.loc 1 3589 25 view .LVU2719
 7661 011a 43F08003 		orr	r3, r3, #128
 7662 011e 6364     		str	r3, [r4, #68]
3592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7663              		.loc 1 3592 9 is_stmt 1 view .LVU2720
3592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7664              		.loc 1 3592 9 view .LVU2721
 7665 0120 84F84020 		strb	r2, [r4, #64]
3592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7666              		.loc 1 3592 9 view .LVU2722
3594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7667              		.loc 1 3594 9 view .LVU2723
3594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7668              		.loc 1 3594 16 is_stmt 0 view .LVU2724
 7669 0124 0120     		movs	r0, #1
 7670 0126 4DE0     		b	.L490
 7671              	.LVL533:
 7672              	.L498:
3600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 7673              		.loc 1 3600 9 is_stmt 1 view .LVU2725
3600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 7674              		.loc 1 3600 12 is_stmt 0 view .LVU2726
 7675 0128 B6F1007F 		cmp	r6, #33554432
 7676 012c 18BF     		it	ne
 7677 012e 002E     		cmpne	r6, #0
 7678 0130 1BD1     		bne	.L500
3602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 7679              		.loc 1 3602 11 is_stmt 1 view .LVU2727
 7680 0132 CDF80090 		str	r9, [sp]
 7681 0136 3B46     		mov	r3, r7
 7682 0138 5FFA88F2 		uxtb	r2, r8
 7683 013c 2946     		mov	r1, r5
 7684 013e 2046     		mov	r0, r4
 7685              	.LVL534:
3602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 7686              		.loc 1 3602 11 is_stmt 0 view .LVU2728
 7687 0140 FFF7FEFF 		bl	I2C_TransferConfig
 7688              	.LVL535:
 7689              	.L501:
3610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7690              		.loc 1 3610 9 is_stmt 1 view .LVU2729
3610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7691              		.loc 1 3610 13 is_stmt 0 view .LVU2730
 7692 0144 638D     		ldrh	r3, [r4, #42]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 312


 7693 0146 9BB2     		uxth	r3, r3
3610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7694              		.loc 1 3610 32 view .LVU2731
 7695 0148 228D     		ldrh	r2, [r4, #40]
3610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7696              		.loc 1 3610 25 view .LVU2732
 7697 014a 9B1A     		subs	r3, r3, r2
 7698 014c 9BB2     		uxth	r3, r3
 7699 014e 6385     		strh	r3, [r4, #42]	@ movhi
3613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7700              		.loc 1 3613 9 is_stmt 1 view .LVU2733
3613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7701              		.loc 1 3613 9 view .LVU2734
 7702 0150 0023     		movs	r3, #0
 7703 0152 84F84030 		strb	r3, [r4, #64]
3613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7704              		.loc 1 3613 9 view .LVU2735
3619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7705              		.loc 1 3619 9 view .LVU2736
 7706 0156 1021     		movs	r1, #16
 7707 0158 2046     		mov	r0, r4
 7708 015a FFF7FEFF 		bl	I2C_Enable_IRQ
 7709              	.LVL536:
3622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7710              		.loc 1 3622 9 view .LVU2737
3622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7711              		.loc 1 3622 13 is_stmt 0 view .LVU2738
 7712 015e 2268     		ldr	r2, [r4]
3622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7713              		.loc 1 3622 23 view .LVU2739
 7714 0160 1368     		ldr	r3, [r2]
3622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7715              		.loc 1 3622 29 view .LVU2740
 7716 0162 43F48043 		orr	r3, r3, #16384
 7717 0166 1360     		str	r3, [r2]
 7718 0168 20E0     		b	.L502
 7719              	.LVL537:
 7720              	.L500:
3606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 7721              		.loc 1 3606 11 is_stmt 1 view .LVU2741
 7722 016a CDF80090 		str	r9, [sp]
 7723 016e 3B46     		mov	r3, r7
 7724 0170 94F82820 		ldrb	r2, [r4, #40]	@ zero_extendqisi2
 7725 0174 2946     		mov	r1, r5
 7726 0176 2046     		mov	r0, r4
 7727              	.LVL538:
3606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 7728              		.loc 1 3606 11 is_stmt 0 view .LVU2742
 7729 0178 FFF7FEFF 		bl	I2C_TransferConfig
 7730              	.LVL539:
 7731 017c E2E7     		b	.L501
 7732              	.LVL540:
 7733              	.L496:
3642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7734              		.loc 1 3642 7 is_stmt 1 view .LVU2743
3642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7735              		.loc 1 3642 21 is_stmt 0 view .LVU2744
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 313


 7736 017e 174B     		ldr	r3, .L513+12
 7737 0180 6363     		str	r3, [r4, #52]
3646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7738              		.loc 1 3646 7 is_stmt 1 view .LVU2745
3646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7739              		.loc 1 3646 10 is_stmt 0 view .LVU2746
 7740 0182 B6F1007F 		cmp	r6, #33554432
 7741 0186 18BF     		it	ne
 7742 0188 002E     		cmpne	r6, #0
 7743 018a 11D1     		bne	.L503
3648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7744              		.loc 1 3648 9 is_stmt 1 view .LVU2747
 7745 018c CDF80090 		str	r9, [sp]
 7746 0190 3B46     		mov	r3, r7
 7747 0192 5FFA88F2 		uxtb	r2, r8
 7748 0196 2946     		mov	r1, r5
 7749 0198 2046     		mov	r0, r4
 7750 019a FFF7FEFF 		bl	I2C_TransferConfig
 7751              	.LVL541:
 7752              	.L504:
3656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7753              		.loc 1 3656 7 view .LVU2748
3656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7754              		.loc 1 3656 7 view .LVU2749
 7755 019e 0023     		movs	r3, #0
 7756 01a0 84F84030 		strb	r3, [r4, #64]
3656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7757              		.loc 1 3656 7 view .LVU2750
3665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7758              		.loc 1 3665 7 view .LVU2751
 7759 01a4 0121     		movs	r1, #1
 7760 01a6 2046     		mov	r0, r4
 7761 01a8 FFF7FEFF 		bl	I2C_Enable_IRQ
 7762              	.LVL542:
 7763              	.L502:
3668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7764              		.loc 1 3668 5 view .LVU2752
3668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7765              		.loc 1 3668 12 is_stmt 0 view .LVU2753
 7766 01ac 0020     		movs	r0, #0
 7767 01ae 09E0     		b	.L490
 7768              	.L503:
3652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7769              		.loc 1 3652 9 is_stmt 1 view .LVU2754
 7770 01b0 CDF80090 		str	r9, [sp]
 7771 01b4 3B46     		mov	r3, r7
 7772 01b6 D2B2     		uxtb	r2, r2
 7773 01b8 2946     		mov	r1, r5
 7774 01ba 2046     		mov	r0, r4
 7775 01bc FFF7FEFF 		bl	I2C_TransferConfig
 7776              	.LVL543:
 7777 01c0 EDE7     		b	.L504
 7778              	.LVL544:
 7779              	.L505:
3672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7780              		.loc 1 3672 12 is_stmt 0 view .LVU2755
 7781 01c2 0220     		movs	r0, #2
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 314


 7782              	.LVL545:
 7783              	.L490:
3674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7784              		.loc 1 3674 1 view .LVU2756
 7785 01c4 03B0     		add	sp, sp, #12
 7786              		.cfi_remember_state
 7787              		.cfi_def_cfa_offset 28
 7788              		@ sp needed
 7789 01c6 BDE8F083 		pop	{r4, r5, r6, r7, r8, r9, pc}
 7790              	.LVL546:
 7791              	.L506:
 7792              		.cfi_restore_state
3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7793              		.loc 1 3505 5 discriminator 1 view .LVU2757
 7794 01ca 0220     		movs	r0, #2
 7795 01cc FAE7     		b	.L490
 7796              	.L514:
 7797 01ce 00BF     		.align	2
 7798              	.L513:
 7799 01d0 00000000 		.word	I2C_Master_ISR_DMA
 7800 01d4 00000000 		.word	I2C_DMAMasterTransmitCplt
 7801 01d8 00000000 		.word	I2C_DMAError
 7802 01dc 00000000 		.word	I2C_Master_ISR_IT
 7803 01e0 00200080 		.word	-2147475456
 7804              		.cfi_endproc
 7805              	.LFE359:
 7807              		.section	.text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits
 7808              		.align	1
 7809              		.global	HAL_I2C_Master_Seq_Receive_IT
 7810              		.syntax unified
 7811              		.thumb
 7812              		.thumb_func
 7814              	HAL_I2C_Master_Seq_Receive_IT:
 7815              	.LVL547:
 7816              	.LFB360:
3690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 7817              		.loc 1 3690 1 is_stmt 1 view -0
 7818              		.cfi_startproc
 7819              		@ args = 4, pretend = 0, frame = 0
 7820              		@ frame_needed = 0, uses_anonymous_args = 0
3690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 7821              		.loc 1 3690 1 is_stmt 0 view .LVU2759
 7822 0000 70B5     		push	{r4, r5, r6, lr}
 7823              		.cfi_def_cfa_offset 16
 7824              		.cfi_offset 4, -16
 7825              		.cfi_offset 5, -12
 7826              		.cfi_offset 6, -8
 7827              		.cfi_offset 14, -4
 7828 0002 82B0     		sub	sp, sp, #8
 7829              		.cfi_def_cfa_offset 24
 7830 0004 0446     		mov	r4, r0
 7831 0006 0D46     		mov	r5, r1
 7832 0008 0699     		ldr	r1, [sp, #24]
 7833              	.LVL548:
3691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xferrequest = I2C_GENERATE_START_READ;
 7834              		.loc 1 3691 3 is_stmt 1 view .LVU2760
3692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 315


 7835              		.loc 1 3692 3 view .LVU2761
3695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7836              		.loc 1 3695 3 view .LVU2762
3697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 7837              		.loc 1 3697 3 view .LVU2763
3697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 7838              		.loc 1 3697 11 is_stmt 0 view .LVU2764
 7839 000a 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 7840              	.LVL549:
3697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 7841              		.loc 1 3697 6 view .LVU2765
 7842 000e 2028     		cmp	r0, #32
 7843 0010 46D1     		bne	.L521
3700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7844              		.loc 1 3700 5 is_stmt 1 view .LVU2766
3700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7845              		.loc 1 3700 5 view .LVU2767
 7846 0012 94F84000 		ldrb	r0, [r4, #64]	@ zero_extendqisi2
 7847 0016 0128     		cmp	r0, #1
 7848 0018 44D0     		beq	.L522
3700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7849              		.loc 1 3700 5 discriminator 2 view .LVU2768
 7850 001a 0120     		movs	r0, #1
 7851 001c 84F84000 		strb	r0, [r4, #64]
3700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7852              		.loc 1 3700 5 view .LVU2769
3702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 7853              		.loc 1 3702 5 view .LVU2770
3702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 7854              		.loc 1 3702 21 is_stmt 0 view .LVU2771
 7855 0020 2220     		movs	r0, #34
 7856 0022 84F84100 		strb	r0, [r4, #65]
3703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 7857              		.loc 1 3703 5 is_stmt 1 view .LVU2772
3703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 7858              		.loc 1 3703 21 is_stmt 0 view .LVU2773
 7859 0026 1020     		movs	r0, #16
 7860 0028 84F84200 		strb	r0, [r4, #66]
3704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7861              		.loc 1 3704 5 is_stmt 1 view .LVU2774
3704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7862              		.loc 1 3704 21 is_stmt 0 view .LVU2775
 7863 002c 0020     		movs	r0, #0
 7864 002e 6064     		str	r0, [r4, #68]
3707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 7865              		.loc 1 3707 5 is_stmt 1 view .LVU2776
3707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 7866              		.loc 1 3707 23 is_stmt 0 view .LVU2777
 7867 0030 6262     		str	r2, [r4, #36]
3708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 7868              		.loc 1 3708 5 is_stmt 1 view .LVU2778
3708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 7869              		.loc 1 3708 23 is_stmt 0 view .LVU2779
 7870 0032 6385     		strh	r3, [r4, #42]	@ movhi
3709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
 7871              		.loc 1 3709 5 is_stmt 1 view .LVU2780
3709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_IT;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 316


 7872              		.loc 1 3709 23 is_stmt 0 view .LVU2781
 7873 0034 E162     		str	r1, [r4, #44]
3710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7874              		.loc 1 3710 5 is_stmt 1 view .LVU2782
3710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7875              		.loc 1 3710 23 is_stmt 0 view .LVU2783
 7876 0036 1C4B     		ldr	r3, .L526
 7877              	.LVL550:
3710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7878              		.loc 1 3710 23 view .LVU2784
 7879 0038 6363     		str	r3, [r4, #52]
3713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7880              		.loc 1 3713 5 is_stmt 1 view .LVU2785
3713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7881              		.loc 1 3713 13 is_stmt 0 view .LVU2786
 7882 003a 638D     		ldrh	r3, [r4, #42]
 7883 003c 9BB2     		uxth	r3, r3
3713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 7884              		.loc 1 3713 8 view .LVU2787
 7885 003e FF2B     		cmp	r3, #255
 7886 0040 26D9     		bls	.L517
3715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 7887              		.loc 1 3715 7 is_stmt 1 view .LVU2788
3715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 7888              		.loc 1 3715 22 is_stmt 0 view .LVU2789
 7889 0042 FF23     		movs	r3, #255
 7890 0044 2385     		strh	r3, [r4, #40]	@ movhi
3716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7891              		.loc 1 3716 7 is_stmt 1 view .LVU2790
 7892              	.LVL551:
3716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7893              		.loc 1 3716 16 is_stmt 0 view .LVU2791
 7894 0046 4FF08076 		mov	r6, #16777216
 7895              	.LVL552:
 7896              	.L518:
3727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7897              		.loc 1 3727 5 is_stmt 1 view .LVU2792
3727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7898              		.loc 1 3727 14 is_stmt 0 view .LVU2793
 7899 004a 236B     		ldr	r3, [r4, #48]
3727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7900              		.loc 1 3727 8 view .LVU2794
 7901 004c 122B     		cmp	r3, #18
 7902 004e 04D1     		bne	.L519
3727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 7903              		.loc 1 3727 59 discriminator 1 view .LVU2795
 7904 0050 B1F52A4F 		cmp	r1, #43520
 7905 0054 18BF     		it	ne
 7906 0056 AA29     		cmpne	r1, #170
 7907 0058 1ED1     		bne	.L523
 7908              	.L519:
3735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7909              		.loc 1 3735 7 is_stmt 1 view .LVU2796
 7910 005a 2046     		mov	r0, r4
 7911 005c FFF7FEFF 		bl	I2C_ConvertOtherXferOptions
 7912              	.LVL553:
3738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 317


 7913              		.loc 1 3738 7 view .LVU2797
3738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7914              		.loc 1 3738 15 is_stmt 0 view .LVU2798
 7915 0060 638D     		ldrh	r3, [r4, #42]
 7916 0062 9BB2     		uxth	r3, r3
3738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 7917              		.loc 1 3738 10 view .LVU2799
 7918 0064 FF2B     		cmp	r3, #255
 7919 0066 19D8     		bhi	.L524
3740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7920              		.loc 1 3740 9 is_stmt 1 view .LVU2800
3740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 7921              		.loc 1 3740 18 is_stmt 0 view .LVU2801
 7922 0068 E66A     		ldr	r6, [r4, #44]
 7923              	.LVL554:
3692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7924              		.loc 1 3692 12 view .LVU2802
 7925 006a 104B     		ldr	r3, .L526+4
 7926              	.L520:
 7927              	.LVL555:
3745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7928              		.loc 1 3745 5 is_stmt 1 view .LVU2803
 7929 006c 0093     		str	r3, [sp]
 7930 006e 3346     		mov	r3, r6
 7931              	.LVL556:
3745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7932              		.loc 1 3745 5 is_stmt 0 view .LVU2804
 7933 0070 94F82820 		ldrb	r2, [r4, #40]	@ zero_extendqisi2
 7934 0074 2946     		mov	r1, r5
 7935 0076 2046     		mov	r0, r4
 7936 0078 FFF7FEFF 		bl	I2C_TransferConfig
 7937              	.LVL557:
3748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7938              		.loc 1 3748 5 is_stmt 1 view .LVU2805
3748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7939              		.loc 1 3748 5 view .LVU2806
 7940 007c 0025     		movs	r5, #0
 7941              	.LVL558:
3748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7942              		.loc 1 3748 5 is_stmt 0 view .LVU2807
 7943 007e 84F84050 		strb	r5, [r4, #64]
3748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7944              		.loc 1 3748 5 is_stmt 1 view .LVU2808
3753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7945              		.loc 1 3753 5 view .LVU2809
 7946 0082 0221     		movs	r1, #2
 7947 0084 2046     		mov	r0, r4
 7948 0086 FFF7FEFF 		bl	I2C_Enable_IRQ
 7949              	.LVL559:
3755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7950              		.loc 1 3755 5 view .LVU2810
3755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7951              		.loc 1 3755 12 is_stmt 0 view .LVU2811
 7952 008a 2846     		mov	r0, r5
 7953              	.LVL560:
 7954              	.L516:
3761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 318


 7955              		.loc 1 3761 1 view .LVU2812
 7956 008c 02B0     		add	sp, sp, #8
 7957              		.cfi_remember_state
 7958              		.cfi_def_cfa_offset 16
 7959              		@ sp needed
 7960 008e 70BD     		pop	{r4, r5, r6, pc}
 7961              	.LVL561:
 7962              	.L517:
 7963              		.cfi_restore_state
3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 7964              		.loc 1 3720 7 is_stmt 1 view .LVU2813
3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 7965              		.loc 1 3720 28 is_stmt 0 view .LVU2814
 7966 0090 638D     		ldrh	r3, [r4, #42]
3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 7967              		.loc 1 3720 22 view .LVU2815
 7968 0092 2385     		strh	r3, [r4, #40]	@ movhi
3721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7969              		.loc 1 3721 7 is_stmt 1 view .LVU2816
3721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7970              		.loc 1 3721 16 is_stmt 0 view .LVU2817
 7971 0094 E66A     		ldr	r6, [r4, #44]
 7972 0096 D8E7     		b	.L518
 7973              	.LVL562:
 7974              	.L523:
3730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 7975              		.loc 1 3730 19 view .LVU2818
 7976 0098 0023     		movs	r3, #0
 7977 009a E7E7     		b	.L520
 7978              	.LVL563:
 7979              	.L524:
3692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7980              		.loc 1 3692 12 view .LVU2819
 7981 009c 034B     		ldr	r3, .L526+4
 7982 009e E5E7     		b	.L520
 7983              	.LVL564:
 7984              	.L521:
3759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 7985              		.loc 1 3759 12 view .LVU2820
 7986 00a0 0220     		movs	r0, #2
 7987 00a2 F3E7     		b	.L516
 7988              	.L522:
3700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 7989              		.loc 1 3700 5 discriminator 1 view .LVU2821
 7990 00a4 0220     		movs	r0, #2
 7991 00a6 F1E7     		b	.L516
 7992              	.L527:
 7993              		.align	2
 7994              	.L526:
 7995 00a8 00000000 		.word	I2C_Master_ISR_IT
 7996 00ac 00240080 		.word	-2147474432
 7997              		.cfi_endproc
 7998              	.LFE360:
 8000              		.section	.text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits
 8001              		.align	1
 8002              		.global	HAL_I2C_Master_Seq_Receive_DMA
 8003              		.syntax unified
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 319


 8004              		.thumb
 8005              		.thumb_func
 8007              	HAL_I2C_Master_Seq_Receive_DMA:
 8008              	.LVL565:
 8009              	.LFB361:
3777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 8010              		.loc 1 3777 1 is_stmt 1 view -0
 8011              		.cfi_startproc
 8012              		@ args = 4, pretend = 0, frame = 0
 8013              		@ frame_needed = 0, uses_anonymous_args = 0
3777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 8014              		.loc 1 3777 1 is_stmt 0 view .LVU2823
 8015 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 8016              		.cfi_def_cfa_offset 24
 8017              		.cfi_offset 4, -24
 8018              		.cfi_offset 5, -20
 8019              		.cfi_offset 6, -16
 8020              		.cfi_offset 7, -12
 8021              		.cfi_offset 8, -8
 8022              		.cfi_offset 14, -4
 8023 0004 82B0     		sub	sp, sp, #8
 8024              		.cfi_def_cfa_offset 32
 8025 0006 0E46     		mov	r6, r1
 8026 0008 1546     		mov	r5, r2
 8027 000a 089A     		ldr	r2, [sp, #32]
 8028              	.LVL566:
3778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xferrequest = I2C_GENERATE_START_READ;
 8029              		.loc 1 3778 3 is_stmt 1 view .LVU2824
3779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 8030              		.loc 1 3779 3 view .LVU2825
3780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8031              		.loc 1 3780 3 view .LVU2826
3783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8032              		.loc 1 3783 3 view .LVU2827
3785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8033              		.loc 1 3785 3 view .LVU2828
3785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8034              		.loc 1 3785 11 is_stmt 0 view .LVU2829
 8035 000c 90F84110 		ldrb	r1, [r0, #65]	@ zero_extendqisi2
 8036              	.LVL567:
3785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8037              		.loc 1 3785 6 view .LVU2830
 8038 0010 2029     		cmp	r1, #32
 8039 0012 40F09D80 		bne	.L539
 8040 0016 0446     		mov	r4, r0
3788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8041              		.loc 1 3788 5 is_stmt 1 view .LVU2831
3788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8042              		.loc 1 3788 5 view .LVU2832
 8043 0018 90F84010 		ldrb	r1, [r0, #64]	@ zero_extendqisi2
 8044 001c 0129     		cmp	r1, #1
 8045 001e 00F09B80 		beq	.L540
3788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8046              		.loc 1 3788 5 discriminator 2 view .LVU2833
 8047 0022 0121     		movs	r1, #1
 8048 0024 80F84010 		strb	r1, [r0, #64]
3788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 320


 8049              		.loc 1 3788 5 view .LVU2834
3790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 8050              		.loc 1 3790 5 view .LVU2835
3790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_MASTER;
 8051              		.loc 1 3790 21 is_stmt 0 view .LVU2836
 8052 0028 2221     		movs	r1, #34
 8053 002a 80F84110 		strb	r1, [r0, #65]
3791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8054              		.loc 1 3791 5 is_stmt 1 view .LVU2837
3791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8055              		.loc 1 3791 21 is_stmt 0 view .LVU2838
 8056 002e 1021     		movs	r1, #16
 8057 0030 80F84210 		strb	r1, [r0, #66]
3792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8058              		.loc 1 3792 5 is_stmt 1 view .LVU2839
3792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8059              		.loc 1 3792 21 is_stmt 0 view .LVU2840
 8060 0034 0021     		movs	r1, #0
 8061 0036 4164     		str	r1, [r0, #68]
3795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 8062              		.loc 1 3795 5 is_stmt 1 view .LVU2841
3795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 8063              		.loc 1 3795 23 is_stmt 0 view .LVU2842
 8064 0038 4562     		str	r5, [r0, #36]
3796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 8065              		.loc 1 3796 5 is_stmt 1 view .LVU2843
3796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 8066              		.loc 1 3796 23 is_stmt 0 view .LVU2844
 8067 003a 4385     		strh	r3, [r0, #42]	@ movhi
3797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
 8068              		.loc 1 3797 5 is_stmt 1 view .LVU2845
3797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Master_ISR_DMA;
 8069              		.loc 1 3797 23 is_stmt 0 view .LVU2846
 8070 003c C262     		str	r2, [r0, #44]
3798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8071              		.loc 1 3798 5 is_stmt 1 view .LVU2847
3798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8072              		.loc 1 3798 23 is_stmt 0 view .LVU2848
 8073 003e 474B     		ldr	r3, .L546
 8074              	.LVL568:
3798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8075              		.loc 1 3798 23 view .LVU2849
 8076 0040 4363     		str	r3, [r0, #52]
3801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8077              		.loc 1 3801 5 is_stmt 1 view .LVU2850
3801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8078              		.loc 1 3801 13 is_stmt 0 view .LVU2851
 8079 0042 438D     		ldrh	r3, [r0, #42]
 8080 0044 9BB2     		uxth	r3, r3
3801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8081              		.loc 1 3801 8 view .LVU2852
 8082 0046 FF2B     		cmp	r3, #255
 8083 0048 3AD9     		bls	.L530
3803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 8084              		.loc 1 3803 7 is_stmt 1 view .LVU2853
3803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = I2C_RELOAD_MODE;
 8085              		.loc 1 3803 22 is_stmt 0 view .LVU2854
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 321


 8086 004a FF23     		movs	r3, #255
 8087 004c 0385     		strh	r3, [r0, #40]	@ movhi
3804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8088              		.loc 1 3804 7 is_stmt 1 view .LVU2855
 8089              	.LVL569:
3804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8090              		.loc 1 3804 16 is_stmt 0 view .LVU2856
 8091 004e 4FF08077 		mov	r7, #16777216
 8092              	.LVL570:
 8093              	.L531:
3815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 8094              		.loc 1 3815 5 is_stmt 1 view .LVU2857
3815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 8095              		.loc 1 3815 14 is_stmt 0 view .LVU2858
 8096 0052 236B     		ldr	r3, [r4, #48]
3815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 8097              		.loc 1 3815 8 view .LVU2859
 8098 0054 122B     		cmp	r3, #18
 8099 0056 04D1     		bne	.L532
3815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
 8100              		.loc 1 3815 59 discriminator 1 view .LVU2860
 8101 0058 B2F52A4F 		cmp	r2, #43520
 8102 005c 18BF     		it	ne
 8103 005e AA2A     		cmpne	r2, #170
 8104 0060 32D1     		bne	.L541
 8105              	.L532:
3823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8106              		.loc 1 3823 7 is_stmt 1 view .LVU2861
 8107 0062 2046     		mov	r0, r4
 8108              	.LVL571:
3823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8109              		.loc 1 3823 7 is_stmt 0 view .LVU2862
 8110 0064 FFF7FEFF 		bl	I2C_ConvertOtherXferOptions
 8111              	.LVL572:
3826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8112              		.loc 1 3826 7 is_stmt 1 view .LVU2863
3826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8113              		.loc 1 3826 15 is_stmt 0 view .LVU2864
 8114 0068 638D     		ldrh	r3, [r4, #42]
 8115 006a 9BB2     		uxth	r3, r3
3826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8116              		.loc 1 3826 10 view .LVU2865
 8117 006c FF2B     		cmp	r3, #255
 8118 006e 2ED8     		bhi	.L542
3828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8119              		.loc 1 3828 9 is_stmt 1 view .LVU2866
3828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8120              		.loc 1 3828 18 is_stmt 0 view .LVU2867
 8121 0070 E76A     		ldr	r7, [r4, #44]
 8122              	.LVL573:
3779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 8123              		.loc 1 3779 12 view .LVU2868
 8124 0072 DFF8F880 		ldr	r8, .L546+16
 8125              	.L533:
 8126              	.LVL574:
3832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8127              		.loc 1 3832 5 is_stmt 1 view .LVU2869
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 322


3832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8128              		.loc 1 3832 13 is_stmt 0 view .LVU2870
 8129 0076 228D     		ldrh	r2, [r4, #40]
3832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8130              		.loc 1 3832 8 view .LVU2871
 8131 0078 002A     		cmp	r2, #0
 8132 007a 55D0     		beq	.L534
3834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8133              		.loc 1 3834 7 is_stmt 1 view .LVU2872
3834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8134              		.loc 1 3834 15 is_stmt 0 view .LVU2873
 8135 007c E36B     		ldr	r3, [r4, #60]
3834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8136              		.loc 1 3834 10 view .LVU2874
 8137 007e 4BB3     		cbz	r3, .L535
3837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8138              		.loc 1 3837 9 is_stmt 1 view .LVU2875
3837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8139              		.loc 1 3837 40 is_stmt 0 view .LVU2876
 8140 0080 374A     		ldr	r2, .L546+4
 8141 0082 DA63     		str	r2, [r3, #60]
3840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8142              		.loc 1 3840 9 is_stmt 1 view .LVU2877
3840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8143              		.loc 1 3840 13 is_stmt 0 view .LVU2878
 8144 0084 E36B     		ldr	r3, [r4, #60]
3840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8145              		.loc 1 3840 41 view .LVU2879
 8146 0086 374A     		ldr	r2, .L546+8
 8147 0088 DA64     		str	r2, [r3, #76]
3843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback = NULL;
 8148              		.loc 1 3843 9 is_stmt 1 view .LVU2880
3843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback = NULL;
 8149              		.loc 1 3843 13 is_stmt 0 view .LVU2881
 8150 008a E26B     		ldr	r2, [r4, #60]
3843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->hdmarx->XferAbortCallback = NULL;
 8151              		.loc 1 3843 44 view .LVU2882
 8152 008c 0023     		movs	r3, #0
 8153 008e 1364     		str	r3, [r2, #64]
3844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8154              		.loc 1 3844 9 is_stmt 1 view .LVU2883
3844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8155              		.loc 1 3844 13 is_stmt 0 view .LVU2884
 8156 0090 E26B     		ldr	r2, [r4, #60]
3844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8157              		.loc 1 3844 41 view .LVU2885
 8158 0092 1365     		str	r3, [r2, #80]
3847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          hi2c->XferSize);
 8159              		.loc 1 3847 9 is_stmt 1 view .LVU2886
3847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          hi2c->XferSize);
 8160              		.loc 1 3847 71 is_stmt 0 view .LVU2887
 8161 0094 2168     		ldr	r1, [r4]
3847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                          hi2c->XferSize);
 8162              		.loc 1 3847 25 view .LVU2888
 8163 0096 238D     		ldrh	r3, [r4, #40]
 8164 0098 2A46     		mov	r2, r5
 8165 009a 2431     		adds	r1, r1, #36
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 323


 8166 009c E06B     		ldr	r0, [r4, #60]
 8167 009e FFF7FEFF 		bl	HAL_DMA_Start_IT
 8168              	.LVL575:
3865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8169              		.loc 1 3865 7 is_stmt 1 view .LVU2889
3865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8170              		.loc 1 3865 10 is_stmt 0 view .LVU2890
 8171 00a2 28B3     		cbz	r0, .L545
3888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 8172              		.loc 1 3888 9 is_stmt 1 view .LVU2891
3888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 8173              		.loc 1 3888 25 is_stmt 0 view .LVU2892
 8174 00a4 2023     		movs	r3, #32
 8175 00a6 84F84130 		strb	r3, [r4, #65]
3889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8176              		.loc 1 3889 9 is_stmt 1 view .LVU2893
3889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8177              		.loc 1 3889 25 is_stmt 0 view .LVU2894
 8178 00aa 0022     		movs	r2, #0
 8179 00ac 84F84220 		strb	r2, [r4, #66]
3892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8180              		.loc 1 3892 9 is_stmt 1 view .LVU2895
3892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8181              		.loc 1 3892 13 is_stmt 0 view .LVU2896
 8182 00b0 636C     		ldr	r3, [r4, #68]
3892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8183              		.loc 1 3892 25 view .LVU2897
 8184 00b2 43F01003 		orr	r3, r3, #16
 8185 00b6 6364     		str	r3, [r4, #68]
3895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8186              		.loc 1 3895 9 is_stmt 1 view .LVU2898
3895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8187              		.loc 1 3895 9 view .LVU2899
 8188 00b8 84F84020 		strb	r2, [r4, #64]
3895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8189              		.loc 1 3895 9 view .LVU2900
3897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8190              		.loc 1 3897 9 view .LVU2901
3897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8191              		.loc 1 3897 16 is_stmt 0 view .LVU2902
 8192 00bc 0120     		movs	r0, #1
 8193              	.LVL576:
3897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8194              		.loc 1 3897 16 view .LVU2903
 8195 00be 48E0     		b	.L529
 8196              	.LVL577:
 8197              	.L530:
3808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 8198              		.loc 1 3808 7 is_stmt 1 view .LVU2904
3808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 8199              		.loc 1 3808 28 is_stmt 0 view .LVU2905
 8200 00c0 438D     		ldrh	r3, [r0, #42]
3808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       xfermode = hi2c->XferOptions;
 8201              		.loc 1 3808 22 view .LVU2906
 8202 00c2 0385     		strh	r3, [r0, #40]	@ movhi
3809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8203              		.loc 1 3809 7 is_stmt 1 view .LVU2907
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 324


3809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8204              		.loc 1 3809 16 is_stmt 0 view .LVU2908
 8205 00c4 C76A     		ldr	r7, [r0, #44]
 8206 00c6 C4E7     		b	.L531
 8207              	.LVL578:
 8208              	.L541:
3818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8209              		.loc 1 3818 19 view .LVU2909
 8210 00c8 4FF00008 		mov	r8, #0
 8211 00cc D3E7     		b	.L533
 8212              	.LVL579:
 8213              	.L542:
3779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 8214              		.loc 1 3779 12 view .LVU2910
 8215 00ce DFF89C80 		ldr	r8, .L546+16
 8216 00d2 D0E7     		b	.L533
 8217              	.LVL580:
 8218              	.L535:
3853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 8219              		.loc 1 3853 9 is_stmt 1 view .LVU2911
3853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->Mode      = HAL_I2C_MODE_NONE;
 8220              		.loc 1 3853 25 is_stmt 0 view .LVU2912
 8221 00d4 2023     		movs	r3, #32
 8222 00d6 84F84130 		strb	r3, [r4, #65]
3854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8223              		.loc 1 3854 9 is_stmt 1 view .LVU2913
3854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8224              		.loc 1 3854 25 is_stmt 0 view .LVU2914
 8225 00da 0022     		movs	r2, #0
 8226 00dc 84F84220 		strb	r2, [r4, #66]
3857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8227              		.loc 1 3857 9 is_stmt 1 view .LVU2915
3857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8228              		.loc 1 3857 13 is_stmt 0 view .LVU2916
 8229 00e0 636C     		ldr	r3, [r4, #68]
3857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8230              		.loc 1 3857 25 view .LVU2917
 8231 00e2 43F08003 		orr	r3, r3, #128
 8232 00e6 6364     		str	r3, [r4, #68]
3860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8233              		.loc 1 3860 9 is_stmt 1 view .LVU2918
3860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8234              		.loc 1 3860 9 view .LVU2919
 8235 00e8 84F84020 		strb	r2, [r4, #64]
3860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8236              		.loc 1 3860 9 view .LVU2920
3862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8237              		.loc 1 3862 9 view .LVU2921
3862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8238              		.loc 1 3862 16 is_stmt 0 view .LVU2922
 8239 00ec 0120     		movs	r0, #1
 8240 00ee 30E0     		b	.L529
 8241              	.LVL581:
 8242              	.L545:
3868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8243              		.loc 1 3868 9 is_stmt 1 view .LVU2923
 8244 00f0 CDF80080 		str	r8, [sp]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 325


 8245 00f4 3B46     		mov	r3, r7
 8246 00f6 94F82820 		ldrb	r2, [r4, #40]	@ zero_extendqisi2
 8247 00fa 3146     		mov	r1, r6
 8248 00fc 2046     		mov	r0, r4
 8249              	.LVL582:
3868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8250              		.loc 1 3868 9 is_stmt 0 view .LVU2924
 8251 00fe FFF7FEFF 		bl	I2C_TransferConfig
 8252              	.LVL583:
3871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8253              		.loc 1 3871 9 is_stmt 1 view .LVU2925
3871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8254              		.loc 1 3871 13 is_stmt 0 view .LVU2926
 8255 0102 638D     		ldrh	r3, [r4, #42]
 8256 0104 9BB2     		uxth	r3, r3
3871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8257              		.loc 1 3871 32 view .LVU2927
 8258 0106 228D     		ldrh	r2, [r4, #40]
3871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8259              		.loc 1 3871 25 view .LVU2928
 8260 0108 9B1A     		subs	r3, r3, r2
 8261 010a 9BB2     		uxth	r3, r3
 8262 010c 6385     		strh	r3, [r4, #42]	@ movhi
3874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8263              		.loc 1 3874 9 is_stmt 1 view .LVU2929
3874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8264              		.loc 1 3874 9 view .LVU2930
 8265 010e 0023     		movs	r3, #0
 8266 0110 84F84030 		strb	r3, [r4, #64]
3874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8267              		.loc 1 3874 9 view .LVU2931
3880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8268              		.loc 1 3880 9 view .LVU2932
 8269 0114 1021     		movs	r1, #16
 8270 0116 2046     		mov	r0, r4
 8271 0118 FFF7FEFF 		bl	I2C_Enable_IRQ
 8272              	.LVL584:
3883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8273              		.loc 1 3883 9 view .LVU2933
3883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8274              		.loc 1 3883 13 is_stmt 0 view .LVU2934
 8275 011c 2268     		ldr	r2, [r4]
3883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8276              		.loc 1 3883 23 view .LVU2935
 8277 011e 1368     		ldr	r3, [r2]
3883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 8278              		.loc 1 3883 29 view .LVU2936
 8279 0120 43F40043 		orr	r3, r3, #32768
 8280 0124 1360     		str	r3, [r2]
 8281 0126 11E0     		b	.L538
 8282              	.LVL585:
 8283              	.L534:
3903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8284              		.loc 1 3903 7 is_stmt 1 view .LVU2937
3903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8285              		.loc 1 3903 21 is_stmt 0 view .LVU2938
 8286 0128 0F4B     		ldr	r3, .L546+12
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 326


 8287 012a 6363     		str	r3, [r4, #52]
3907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_GENERATE_START_READ);
 8288              		.loc 1 3907 7 is_stmt 1 view .LVU2939
 8289 012c 0F4B     		ldr	r3, .L546+16
 8290 012e 0093     		str	r3, [sp]
 8291 0130 4FF00073 		mov	r3, #33554432
 8292 0134 D2B2     		uxtb	r2, r2
 8293 0136 3146     		mov	r1, r6
 8294 0138 2046     		mov	r0, r4
 8295 013a FFF7FEFF 		bl	I2C_TransferConfig
 8296              	.LVL586:
3911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8297              		.loc 1 3911 7 view .LVU2940
3911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8298              		.loc 1 3911 7 view .LVU2941
 8299 013e 0023     		movs	r3, #0
 8300 0140 84F84030 		strb	r3, [r4, #64]
3911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8301              		.loc 1 3911 7 view .LVU2942
3920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8302              		.loc 1 3920 7 view .LVU2943
 8303 0144 0221     		movs	r1, #2
 8304 0146 2046     		mov	r0, r4
 8305 0148 FFF7FEFF 		bl	I2C_Enable_IRQ
 8306              	.LVL587:
 8307              	.L538:
3923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 8308              		.loc 1 3923 5 view .LVU2944
3923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 8309              		.loc 1 3923 12 is_stmt 0 view .LVU2945
 8310 014c 0020     		movs	r0, #0
 8311 014e 00E0     		b	.L529
 8312              	.LVL588:
 8313              	.L539:
3927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 8314              		.loc 1 3927 12 view .LVU2946
 8315 0150 0220     		movs	r0, #2
 8316              	.LVL589:
 8317              	.L529:
3929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8318              		.loc 1 3929 1 view .LVU2947
 8319 0152 02B0     		add	sp, sp, #8
 8320              		.cfi_remember_state
 8321              		.cfi_def_cfa_offset 24
 8322              		@ sp needed
 8323 0154 BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 8324              	.LVL590:
 8325              	.L540:
 8326              		.cfi_restore_state
3788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8327              		.loc 1 3788 5 discriminator 1 view .LVU2948
 8328 0158 0220     		movs	r0, #2
 8329              	.LVL591:
3788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8330              		.loc 1 3788 5 discriminator 1 view .LVU2949
 8331 015a FAE7     		b	.L529
 8332              	.L547:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 327


 8333              		.align	2
 8334              	.L546:
 8335 015c 00000000 		.word	I2C_Master_ISR_DMA
 8336 0160 00000000 		.word	I2C_DMAMasterReceiveCplt
 8337 0164 00000000 		.word	I2C_DMAError
 8338 0168 00000000 		.word	I2C_Master_ISR_IT
 8339 016c 00240080 		.word	-2147474432
 8340              		.cfi_endproc
 8341              	.LFE361:
 8343              		.section	.text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits
 8344              		.align	1
 8345              		.global	HAL_I2C_Slave_Seq_Transmit_IT
 8346              		.syntax unified
 8347              		.thumb
 8348              		.thumb_func
 8350              	HAL_I2C_Slave_Seq_Transmit_IT:
 8351              	.LVL592:
 8352              	.LFB362:
3943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 8353              		.loc 1 3943 1 is_stmt 1 view -0
 8354              		.cfi_startproc
 8355              		@ args = 0, pretend = 0, frame = 0
 8356              		@ frame_needed = 0, uses_anonymous_args = 0
3943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 8357              		.loc 1 3943 1 is_stmt 0 view .LVU2951
 8358 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 8359              		.cfi_def_cfa_offset 24
 8360              		.cfi_offset 3, -24
 8361              		.cfi_offset 4, -20
 8362              		.cfi_offset 5, -16
 8363              		.cfi_offset 6, -12
 8364              		.cfi_offset 7, -8
 8365              		.cfi_offset 14, -4
 8366 0002 0446     		mov	r4, r0
3945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8367              		.loc 1 3945 3 is_stmt 1 view .LVU2952
3948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8368              		.loc 1 3948 3 view .LVU2953
3950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8369              		.loc 1 3950 3 view .LVU2954
3950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8370              		.loc 1 3950 22 is_stmt 0 view .LVU2955
 8371 0004 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 8372              	.LVL593:
3950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8373              		.loc 1 3950 6 view .LVU2956
 8374 0008 00F02800 		and	r0, r0, #40
 8375 000c 2828     		cmp	r0, #40
 8376 000e 5FD1     		bne	.L553
 8377 0010 0F46     		mov	r7, r1
 8378 0012 1646     		mov	r6, r2
 8379 0014 1D46     		mov	r5, r3
3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8380              		.loc 1 3952 5 is_stmt 1 view .LVU2957
3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8381              		.loc 1 3952 8 is_stmt 0 view .LVU2958
 8382 0016 002A     		cmp	r2, #0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 328


 8383 0018 18BF     		it	ne
 8384 001a 0029     		cmpne	r1, #0
 8385 001c 04D1     		bne	.L550
3954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 8386              		.loc 1 3954 7 is_stmt 1 view .LVU2959
3954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 8387              		.loc 1 3954 23 is_stmt 0 view .LVU2960
 8388 001e 4FF40073 		mov	r3, #512
 8389              	.LVL594:
3954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 8390              		.loc 1 3954 23 view .LVU2961
 8391 0022 6364     		str	r3, [r4, #68]
3955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8392              		.loc 1 3955 7 is_stmt 1 view .LVU2962
3955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8393              		.loc 1 3955 15 is_stmt 0 view .LVU2963
 8394 0024 0120     		movs	r0, #1
 8395 0026 54E0     		b	.L549
 8396              	.LVL595:
 8397              	.L550:
3959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8398              		.loc 1 3959 5 is_stmt 1 view .LVU2964
 8399 0028 48F20101 		movw	r1, #32769
 8400              	.LVL596:
3959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8401              		.loc 1 3959 5 is_stmt 0 view .LVU2965
 8402 002c 2046     		mov	r0, r4
 8403 002e FFF7FEFF 		bl	I2C_Disable_IRQ
 8404              	.LVL597:
3962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8405              		.loc 1 3962 5 is_stmt 1 view .LVU2966
3962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8406              		.loc 1 3962 5 view .LVU2967
 8407 0032 94F84030 		ldrb	r3, [r4, #64]	@ zero_extendqisi2
 8408 0036 012B     		cmp	r3, #1
 8409 0038 4CD0     		beq	.L554
3962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8410              		.loc 1 3962 5 discriminator 2 view .LVU2968
 8411 003a 0123     		movs	r3, #1
 8412 003c 84F84030 		strb	r3, [r4, #64]
3962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8413              		.loc 1 3962 5 view .LVU2969
3966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8414              		.loc 1 3966 5 view .LVU2970
3966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8415              		.loc 1 3966 13 is_stmt 0 view .LVU2971
 8416 0040 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
3966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8417              		.loc 1 3966 8 view .LVU2972
 8418 0044 2A2B     		cmp	r3, #42
 8419 0046 28D0     		beq	.L556
 8420              	.L551:
3992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 8421              		.loc 1 3992 5 is_stmt 1 view .LVU2973
3992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 8422              		.loc 1 3992 21 is_stmt 0 view .LVU2974
 8423 0048 2923     		movs	r3, #41
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 329


 8424 004a 84F84130 		strb	r3, [r4, #65]
3993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8425              		.loc 1 3993 5 is_stmt 1 view .LVU2975
3993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8426              		.loc 1 3993 21 is_stmt 0 view .LVU2976
 8427 004e 2023     		movs	r3, #32
 8428 0050 84F84230 		strb	r3, [r4, #66]
3994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8429              		.loc 1 3994 5 is_stmt 1 view .LVU2977
3994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8430              		.loc 1 3994 21 is_stmt 0 view .LVU2978
 8431 0054 0023     		movs	r3, #0
 8432 0056 6364     		str	r3, [r4, #68]
3997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8433              		.loc 1 3997 5 is_stmt 1 view .LVU2979
3997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8434              		.loc 1 3997 9 is_stmt 0 view .LVU2980
 8435 0058 2268     		ldr	r2, [r4]
3997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8436              		.loc 1 3997 19 view .LVU2981
 8437 005a 5368     		ldr	r3, [r2, #4]
3997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8438              		.loc 1 3997 25 view .LVU2982
 8439 005c 23F40043 		bic	r3, r3, #32768
 8440 0060 5360     		str	r3, [r2, #4]
4000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 8441              		.loc 1 4000 5 is_stmt 1 view .LVU2983
4000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 8442              		.loc 1 4000 23 is_stmt 0 view .LVU2984
 8443 0062 6762     		str	r7, [r4, #36]
4001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 8444              		.loc 1 4001 5 is_stmt 1 view .LVU2985
4001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 8445              		.loc 1 4001 23 is_stmt 0 view .LVU2986
 8446 0064 6685     		strh	r6, [r4, #42]	@ movhi
4002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 8447              		.loc 1 4002 5 is_stmt 1 view .LVU2987
4002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 8448              		.loc 1 4002 29 is_stmt 0 view .LVU2988
 8449 0066 638D     		ldrh	r3, [r4, #42]
4002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 8450              		.loc 1 4002 23 view .LVU2989
 8451 0068 2385     		strh	r3, [r4, #40]	@ movhi
4003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
 8452              		.loc 1 4003 5 is_stmt 1 view .LVU2990
4003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
 8453              		.loc 1 4003 23 is_stmt 0 view .LVU2991
 8454 006a E562     		str	r5, [r4, #44]
4004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8455              		.loc 1 4004 5 is_stmt 1 view .LVU2992
4004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8456              		.loc 1 4004 23 is_stmt 0 view .LVU2993
 8457 006c 1A4B     		ldr	r3, .L557
 8458 006e 6363     		str	r3, [r4, #52]
4006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
 8459              		.loc 1 4006 5 is_stmt 1 view .LVU2994
4006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 330


 8460              		.loc 1 4006 11 is_stmt 0 view .LVU2995
 8461 0070 2268     		ldr	r2, [r4]
 8462 0072 9369     		ldr	r3, [r2, #24]
 8463 0074 03F00803 		and	r3, r3, #8
 8464              	.LVL598:
4007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8465              		.loc 1 4007 5 is_stmt 1 view .LVU2996
4007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8466              		.loc 1 4007 10 is_stmt 0 view .LVU2997
 8467 0078 9169     		ldr	r1, [r2, #24]
4007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8468              		.loc 1 4007 8 view .LVU2998
 8469 007a 11F4803F 		tst	r1, #65536
 8470 007e 02D0     		beq	.L552
4007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8471              		.loc 1 4007 54 discriminator 1 view .LVU2999
 8472 0080 0BB1     		cbz	r3, .L552
4011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8473              		.loc 1 4011 7 is_stmt 1 view .LVU3000
 8474 0082 0823     		movs	r3, #8
 8475              	.LVL599:
4011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8476              		.loc 1 4011 7 is_stmt 0 view .LVU3001
 8477 0084 D361     		str	r3, [r2, #28]
 8478              	.L552:
4015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8479              		.loc 1 4015 5 is_stmt 1 view .LVU3002
4015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8480              		.loc 1 4015 5 view .LVU3003
 8481 0086 0025     		movs	r5, #0
 8482              	.LVL600:
4015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8483              		.loc 1 4015 5 is_stmt 0 view .LVU3004
 8484 0088 84F84050 		strb	r5, [r4, #64]
4015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8485              		.loc 1 4015 5 is_stmt 1 view .LVU3005
4021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8486              		.loc 1 4021 5 view .LVU3006
 8487 008c 48F20101 		movw	r1, #32769
 8488 0090 2046     		mov	r0, r4
 8489 0092 FFF7FEFF 		bl	I2C_Enable_IRQ
 8490              	.LVL601:
4023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 8491              		.loc 1 4023 5 view .LVU3007
4023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 8492              		.loc 1 4023 12 is_stmt 0 view .LVU3008
 8493 0096 2846     		mov	r0, r5
 8494 0098 1BE0     		b	.L549
 8495              	.LVL602:
 8496              	.L556:
3969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8497              		.loc 1 3969 7 is_stmt 1 view .LVU3009
 8498 009a 0221     		movs	r1, #2
 8499 009c 2046     		mov	r0, r4
 8500 009e FFF7FEFF 		bl	I2C_Disable_IRQ
 8501              	.LVL603:
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 331


 8502              		.loc 1 3972 7 view .LVU3010
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8503              		.loc 1 3972 16 is_stmt 0 view .LVU3011
 8504 00a2 2368     		ldr	r3, [r4]
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8505              		.loc 1 3972 26 view .LVU3012
 8506 00a4 1A68     		ldr	r2, [r3]
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8507              		.loc 1 3972 10 view .LVU3013
 8508 00a6 12F4004F 		tst	r2, #32768
 8509 00aa CDD0     		beq	.L551
3974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8510              		.loc 1 3974 9 is_stmt 1 view .LVU3014
3974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8511              		.loc 1 3974 23 is_stmt 0 view .LVU3015
 8512 00ac 1A68     		ldr	r2, [r3]
3974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8513              		.loc 1 3974 29 view .LVU3016
 8514 00ae 22F40042 		bic	r2, r2, #32768
 8515 00b2 1A60     		str	r2, [r3]
3976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 8516              		.loc 1 3976 9 is_stmt 1 view .LVU3017
3976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 8517              		.loc 1 3976 17 is_stmt 0 view .LVU3018
 8518 00b4 E36B     		ldr	r3, [r4, #60]
3976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 8519              		.loc 1 3976 12 view .LVU3019
 8520 00b6 002B     		cmp	r3, #0
 8521 00b8 C6D0     		beq	.L551
3980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8522              		.loc 1 3980 11 is_stmt 1 view .LVU3020
3980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8523              		.loc 1 3980 43 is_stmt 0 view .LVU3021
 8524 00ba 084A     		ldr	r2, .L557+4
 8525 00bc 1A65     		str	r2, [r3, #80]
3983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 8526              		.loc 1 3983 11 is_stmt 1 view .LVU3022
3983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 8527              		.loc 1 3983 15 is_stmt 0 view .LVU3023
 8528 00be E06B     		ldr	r0, [r4, #60]
 8529 00c0 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 8530              	.LVL604:
3983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 8531              		.loc 1 3983 14 discriminator 1 view .LVU3024
 8532 00c4 0028     		cmp	r0, #0
 8533 00c6 BFD0     		beq	.L551
3986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8534              		.loc 1 3986 13 is_stmt 1 view .LVU3025
3986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8535              		.loc 1 3986 17 is_stmt 0 view .LVU3026
 8536 00c8 E06B     		ldr	r0, [r4, #60]
3986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8537              		.loc 1 3986 25 view .LVU3027
 8538 00ca 036D     		ldr	r3, [r0, #80]
3986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8539              		.loc 1 3986 13 view .LVU3028
 8540 00cc 9847     		blx	r3
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 332


 8541              	.LVL605:
 8542 00ce BBE7     		b	.L551
 8543              	.LVL606:
 8544              	.L553:
4027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 8545              		.loc 1 4027 12 view .LVU3029
 8546 00d0 0120     		movs	r0, #1
 8547              	.LVL607:
 8548              	.L549:
4029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8549              		.loc 1 4029 1 view .LVU3030
 8550 00d2 F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 8551              	.LVL608:
 8552              	.L554:
3962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8553              		.loc 1 3962 5 discriminator 1 view .LVU3031
 8554 00d4 0220     		movs	r0, #2
 8555 00d6 FCE7     		b	.L549
 8556              	.L558:
 8557              		.align	2
 8558              	.L557:
 8559 00d8 00000000 		.word	I2C_Slave_ISR_IT
 8560 00dc 00000000 		.word	I2C_DMAAbort
 8561              		.cfi_endproc
 8562              	.LFE362:
 8564              		.section	.text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits
 8565              		.align	1
 8566              		.global	HAL_I2C_Slave_Seq_Transmit_DMA
 8567              		.syntax unified
 8568              		.thumb
 8569              		.thumb_func
 8571              	HAL_I2C_Slave_Seq_Transmit_DMA:
 8572              	.LVL609:
 8573              	.LFB363:
4043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 8574              		.loc 1 4043 1 is_stmt 1 view -0
 8575              		.cfi_startproc
 8576              		@ args = 0, pretend = 0, frame = 0
 8577              		@ frame_needed = 0, uses_anonymous_args = 0
4043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 8578              		.loc 1 4043 1 is_stmt 0 view .LVU3033
 8579 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 8580              		.cfi_def_cfa_offset 24
 8581              		.cfi_offset 3, -24
 8582              		.cfi_offset 4, -20
 8583              		.cfi_offset 5, -16
 8584              		.cfi_offset 6, -12
 8585              		.cfi_offset 7, -8
 8586              		.cfi_offset 14, -4
 8587 0002 0446     		mov	r4, r0
4045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 8588              		.loc 1 4045 3 is_stmt 1 view .LVU3034
4046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8589              		.loc 1 4046 3 view .LVU3035
4049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8590              		.loc 1 4049 3 view .LVU3036
4051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 333


 8591              		.loc 1 4051 3 view .LVU3037
4051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8592              		.loc 1 4051 22 is_stmt 0 view .LVU3038
 8593 0004 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 8594              	.LVL610:
4051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8595              		.loc 1 4051 6 view .LVU3039
 8596 0008 00F02800 		and	r0, r0, #40
 8597 000c 2828     		cmp	r0, #40
 8598 000e 40F0BE80 		bne	.L569
 8599 0012 0F46     		mov	r7, r1
 8600 0014 1646     		mov	r6, r2
 8601 0016 1D46     		mov	r5, r3
4053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8602              		.loc 1 4053 5 is_stmt 1 view .LVU3040
4053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8603              		.loc 1 4053 8 is_stmt 0 view .LVU3041
 8604 0018 002A     		cmp	r2, #0
 8605 001a 18BF     		it	ne
 8606 001c 0029     		cmpne	r1, #0
 8607 001e 4DD0     		beq	.L573
4060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8608              		.loc 1 4060 5 is_stmt 1 view .LVU3042
4060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8609              		.loc 1 4060 5 view .LVU3043
 8610 0020 94F84030 		ldrb	r3, [r4, #64]	@ zero_extendqisi2
 8611              	.LVL611:
4060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8612              		.loc 1 4060 5 is_stmt 0 view .LVU3044
 8613 0024 012B     		cmp	r3, #1
 8614 0026 00F0B580 		beq	.L570
4060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8615              		.loc 1 4060 5 is_stmt 1 discriminator 2 view .LVU3045
 8616 002a 0123     		movs	r3, #1
 8617 002c 84F84030 		strb	r3, [r4, #64]
4060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8618              		.loc 1 4060 5 view .LVU3046
4063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8619              		.loc 1 4063 5 view .LVU3047
 8620 0030 48F20101 		movw	r1, #32769
 8621              	.LVL612:
4063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8622              		.loc 1 4063 5 is_stmt 0 view .LVU3048
 8623 0034 2046     		mov	r0, r4
 8624 0036 FFF7FEFF 		bl	I2C_Disable_IRQ
 8625              	.LVL613:
4067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8626              		.loc 1 4067 5 is_stmt 1 view .LVU3049
4067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8627              		.loc 1 4067 13 is_stmt 0 view .LVU3050
 8628 003a 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
4067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8629              		.loc 1 4067 8 view .LVU3051
 8630 003e 2A2B     		cmp	r3, #42
 8631 0040 41D0     		beq	.L574
4092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8632              		.loc 1 4092 10 is_stmt 1 view .LVU3052
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 334


4092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8633              		.loc 1 4092 18 is_stmt 0 view .LVU3053
 8634 0042 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
4092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8635              		.loc 1 4092 13 view .LVU3054
 8636 0046 292B     		cmp	r3, #41
 8637 0048 59D0     		beq	.L575
 8638              	.L563:
4117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8639              		.loc 1 4117 5 is_stmt 1 view .LVU3055
4119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 8640              		.loc 1 4119 5 view .LVU3056
4119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 8641              		.loc 1 4119 21 is_stmt 0 view .LVU3057
 8642 004a 2923     		movs	r3, #41
 8643 004c 84F84130 		strb	r3, [r4, #65]
4120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8644              		.loc 1 4120 5 is_stmt 1 view .LVU3058
4120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 8645              		.loc 1 4120 21 is_stmt 0 view .LVU3059
 8646 0050 2023     		movs	r3, #32
 8647 0052 84F84230 		strb	r3, [r4, #66]
4121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8648              		.loc 1 4121 5 is_stmt 1 view .LVU3060
4121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8649              		.loc 1 4121 21 is_stmt 0 view .LVU3061
 8650 0056 0023     		movs	r3, #0
 8651 0058 6364     		str	r3, [r4, #68]
4124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8652              		.loc 1 4124 5 is_stmt 1 view .LVU3062
4124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8653              		.loc 1 4124 9 is_stmt 0 view .LVU3063
 8654 005a 2268     		ldr	r2, [r4]
4124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8655              		.loc 1 4124 19 view .LVU3064
 8656 005c 5368     		ldr	r3, [r2, #4]
4124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8657              		.loc 1 4124 25 view .LVU3065
 8658 005e 23F40043 		bic	r3, r3, #32768
 8659 0062 5360     		str	r3, [r2, #4]
4127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 8660              		.loc 1 4127 5 is_stmt 1 view .LVU3066
4127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 8661              		.loc 1 4127 23 is_stmt 0 view .LVU3067
 8662 0064 6762     		str	r7, [r4, #36]
4128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 8663              		.loc 1 4128 5 is_stmt 1 view .LVU3068
4128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 8664              		.loc 1 4128 23 is_stmt 0 view .LVU3069
 8665 0066 6685     		strh	r6, [r4, #42]	@ movhi
4129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 8666              		.loc 1 4129 5 is_stmt 1 view .LVU3070
4129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 8667              		.loc 1 4129 29 is_stmt 0 view .LVU3071
 8668 0068 638D     		ldrh	r3, [r4, #42]
4129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 8669              		.loc 1 4129 23 view .LVU3072
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 335


 8670 006a 2385     		strh	r3, [r4, #40]	@ movhi
4130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
 8671              		.loc 1 4130 5 is_stmt 1 view .LVU3073
4130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
 8672              		.loc 1 4130 23 is_stmt 0 view .LVU3074
 8673 006c E562     		str	r5, [r4, #44]
4131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8674              		.loc 1 4131 5 is_stmt 1 view .LVU3075
4131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8675              		.loc 1 4131 23 is_stmt 0 view .LVU3076
 8676 006e 4A4B     		ldr	r3, .L576
 8677 0070 6363     		str	r3, [r4, #52]
4133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8678              		.loc 1 4133 5 is_stmt 1 view .LVU3077
4133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8679              		.loc 1 4133 13 is_stmt 0 view .LVU3078
 8680 0072 A36B     		ldr	r3, [r4, #56]
4133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8681              		.loc 1 4133 8 view .LVU3079
 8682 0074 002B     		cmp	r3, #0
 8683 0076 59D0     		beq	.L564
4136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8684              		.loc 1 4136 7 is_stmt 1 view .LVU3080
4136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8685              		.loc 1 4136 38 is_stmt 0 view .LVU3081
 8686 0078 484A     		ldr	r2, .L576+4
 8687 007a DA63     		str	r2, [r3, #60]
4139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8688              		.loc 1 4139 7 is_stmt 1 view .LVU3082
4139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8689              		.loc 1 4139 11 is_stmt 0 view .LVU3083
 8690 007c A36B     		ldr	r3, [r4, #56]
4139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8691              		.loc 1 4139 39 view .LVU3084
 8692 007e 484A     		ldr	r2, .L576+8
 8693 0080 DA64     		str	r2, [r3, #76]
4142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 8694              		.loc 1 4142 7 is_stmt 1 view .LVU3085
4142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 8695              		.loc 1 4142 11 is_stmt 0 view .LVU3086
 8696 0082 A26B     		ldr	r2, [r4, #56]
4142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmatx->XferAbortCallback = NULL;
 8697              		.loc 1 4142 42 view .LVU3087
 8698 0084 0023     		movs	r3, #0
 8699 0086 1364     		str	r3, [r2, #64]
4143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8700              		.loc 1 4143 7 is_stmt 1 view .LVU3088
4143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8701              		.loc 1 4143 11 is_stmt 0 view .LVU3089
 8702 0088 A26B     		ldr	r2, [r4, #56]
4143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8703              		.loc 1 4143 39 view .LVU3090
 8704 008a 1365     		str	r3, [r2, #80]
4146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 8705              		.loc 1 4146 7 is_stmt 1 view .LVU3091
4146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 8706              		.loc 1 4146 86 is_stmt 0 view .LVU3092
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 336


 8707 008c 2268     		ldr	r2, [r4]
4146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        hi2c->XferSize);
 8708              		.loc 1 4146 23 view .LVU3093
 8709 008e 238D     		ldrh	r3, [r4, #40]
 8710 0090 2832     		adds	r2, r2, #40
 8711 0092 3946     		mov	r1, r7
 8712 0094 A06B     		ldr	r0, [r4, #56]
 8713 0096 FFF7FEFF 		bl	HAL_DMA_Start_IT
 8714              	.LVL614:
4164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8715              		.loc 1 4164 5 is_stmt 1 view .LVU3094
4164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8716              		.loc 1 4164 8 is_stmt 0 view .LVU3095
 8717 009a 0546     		mov	r5, r0
 8718              	.LVL615:
4164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8719              		.loc 1 4164 8 view .LVU3096
 8720 009c 0028     		cmp	r0, #0
 8721 009e 53D0     		beq	.L565
4175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 8722              		.loc 1 4175 7 is_stmt 1 view .LVU3097
4175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 8723              		.loc 1 4175 23 is_stmt 0 view .LVU3098
 8724 00a0 2823     		movs	r3, #40
 8725 00a2 84F84130 		strb	r3, [r4, #65]
4176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8726              		.loc 1 4176 7 is_stmt 1 view .LVU3099
4176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8727              		.loc 1 4176 23 is_stmt 0 view .LVU3100
 8728 00a6 0022     		movs	r2, #0
 8729 00a8 84F84220 		strb	r2, [r4, #66]
4179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8730              		.loc 1 4179 7 is_stmt 1 view .LVU3101
4179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8731              		.loc 1 4179 11 is_stmt 0 view .LVU3102
 8732 00ac 636C     		ldr	r3, [r4, #68]
4179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8733              		.loc 1 4179 23 view .LVU3103
 8734 00ae 43F01003 		orr	r3, r3, #16
 8735 00b2 6364     		str	r3, [r4, #68]
4182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8736              		.loc 1 4182 7 is_stmt 1 view .LVU3104
4182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8737              		.loc 1 4182 7 view .LVU3105
 8738 00b4 84F84020 		strb	r2, [r4, #64]
4182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8739              		.loc 1 4182 7 view .LVU3106
4184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8740              		.loc 1 4184 7 view .LVU3107
4184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8741              		.loc 1 4184 14 is_stmt 0 view .LVU3108
 8742 00b8 0125     		movs	r5, #1
 8743 00ba 69E0     		b	.L560
 8744              	.LVL616:
 8745              	.L573:
4055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 8746              		.loc 1 4055 7 is_stmt 1 view .LVU3109
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 337


4055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 8747              		.loc 1 4055 23 is_stmt 0 view .LVU3110
 8748 00bc 4FF40073 		mov	r3, #512
 8749              	.LVL617:
4055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 8750              		.loc 1 4055 23 view .LVU3111
 8751 00c0 6364     		str	r3, [r4, #68]
4056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8752              		.loc 1 4056 7 is_stmt 1 view .LVU3112
4056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8753              		.loc 1 4056 15 is_stmt 0 view .LVU3113
 8754 00c2 0125     		movs	r5, #1
 8755              	.LVL618:
4056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8756              		.loc 1 4056 15 view .LVU3114
 8757 00c4 64E0     		b	.L560
 8758              	.LVL619:
 8759              	.L574:
4070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8760              		.loc 1 4070 7 is_stmt 1 view .LVU3115
 8761 00c6 0221     		movs	r1, #2
 8762 00c8 2046     		mov	r0, r4
 8763 00ca FFF7FEFF 		bl	I2C_Disable_IRQ
 8764              	.LVL620:
4072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8765              		.loc 1 4072 7 view .LVU3116
4072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8766              		.loc 1 4072 16 is_stmt 0 view .LVU3117
 8767 00ce 2368     		ldr	r3, [r4]
4072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8768              		.loc 1 4072 26 view .LVU3118
 8769 00d0 1A68     		ldr	r2, [r3]
4072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8770              		.loc 1 4072 10 view .LVU3119
 8771 00d2 12F4004F 		tst	r2, #32768
 8772 00d6 B8D0     		beq	.L563
4075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 8773              		.loc 1 4075 9 is_stmt 1 view .LVU3120
4075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 8774              		.loc 1 4075 17 is_stmt 0 view .LVU3121
 8775 00d8 E26B     		ldr	r2, [r4, #60]
4075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 8776              		.loc 1 4075 12 view .LVU3122
 8777 00da 002A     		cmp	r2, #0
 8778 00dc B5D0     		beq	.L563
4077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8779              		.loc 1 4077 11 is_stmt 1 view .LVU3123
4077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8780              		.loc 1 4077 25 is_stmt 0 view .LVU3124
 8781 00de 1A68     		ldr	r2, [r3]
4077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8782              		.loc 1 4077 31 view .LVU3125
 8783 00e0 22F40042 		bic	r2, r2, #32768
 8784 00e4 1A60     		str	r2, [r3]
4081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8785              		.loc 1 4081 11 is_stmt 1 view .LVU3126
4081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 338


 8786              		.loc 1 4081 15 is_stmt 0 view .LVU3127
 8787 00e6 E36B     		ldr	r3, [r4, #60]
4081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8788              		.loc 1 4081 43 view .LVU3128
 8789 00e8 2E4A     		ldr	r2, .L576+12
 8790 00ea 1A65     		str	r2, [r3, #80]
4084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 8791              		.loc 1 4084 11 is_stmt 1 view .LVU3129
4084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 8792              		.loc 1 4084 15 is_stmt 0 view .LVU3130
 8793 00ec E06B     		ldr	r0, [r4, #60]
 8794 00ee FFF7FEFF 		bl	HAL_DMA_Abort_IT
 8795              	.LVL621:
4084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 8796              		.loc 1 4084 14 discriminator 1 view .LVU3131
 8797 00f2 0028     		cmp	r0, #0
 8798 00f4 A9D0     		beq	.L563
4087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8799              		.loc 1 4087 13 is_stmt 1 view .LVU3132
4087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8800              		.loc 1 4087 17 is_stmt 0 view .LVU3133
 8801 00f6 E06B     		ldr	r0, [r4, #60]
4087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8802              		.loc 1 4087 25 view .LVU3134
 8803 00f8 036D     		ldr	r3, [r0, #80]
4087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8804              		.loc 1 4087 13 view .LVU3135
 8805 00fa 9847     		blx	r3
 8806              	.LVL622:
 8807 00fc A5E7     		b	.L563
 8808              	.L575:
4094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8809              		.loc 1 4094 7 is_stmt 1 view .LVU3136
4094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8810              		.loc 1 4094 16 is_stmt 0 view .LVU3137
 8811 00fe 2368     		ldr	r3, [r4]
4094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8812              		.loc 1 4094 26 view .LVU3138
 8813 0100 1A68     		ldr	r2, [r3]
4094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 8814              		.loc 1 4094 10 view .LVU3139
 8815 0102 12F4804F 		tst	r2, #16384
 8816 0106 A0D0     		beq	.L563
4096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8817              		.loc 1 4096 9 is_stmt 1 view .LVU3140
4096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8818              		.loc 1 4096 23 is_stmt 0 view .LVU3141
 8819 0108 1A68     		ldr	r2, [r3]
4096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8820              		.loc 1 4096 29 view .LVU3142
 8821 010a 22F48042 		bic	r2, r2, #16384
 8822 010e 1A60     		str	r2, [r3]
4099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 8823              		.loc 1 4099 9 is_stmt 1 view .LVU3143
4099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 8824              		.loc 1 4099 17 is_stmt 0 view .LVU3144
 8825 0110 A36B     		ldr	r3, [r4, #56]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 339


4099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 8826              		.loc 1 4099 12 view .LVU3145
 8827 0112 002B     		cmp	r3, #0
 8828 0114 99D0     		beq	.L563
4103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8829              		.loc 1 4103 11 is_stmt 1 view .LVU3146
4103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8830              		.loc 1 4103 43 is_stmt 0 view .LVU3147
 8831 0116 234A     		ldr	r2, .L576+12
 8832 0118 1A65     		str	r2, [r3, #80]
4106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 8833              		.loc 1 4106 11 is_stmt 1 view .LVU3148
4106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 8834              		.loc 1 4106 15 is_stmt 0 view .LVU3149
 8835 011a A06B     		ldr	r0, [r4, #56]
 8836 011c FFF7FEFF 		bl	HAL_DMA_Abort_IT
 8837              	.LVL623:
4106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 8838              		.loc 1 4106 14 discriminator 1 view .LVU3150
 8839 0120 0028     		cmp	r0, #0
 8840 0122 92D0     		beq	.L563
4109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8841              		.loc 1 4109 13 is_stmt 1 view .LVU3151
4109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8842              		.loc 1 4109 17 is_stmt 0 view .LVU3152
 8843 0124 A06B     		ldr	r0, [r4, #56]
4109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8844              		.loc 1 4109 25 view .LVU3153
 8845 0126 036D     		ldr	r3, [r0, #80]
4109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 8846              		.loc 1 4109 13 view .LVU3154
 8847 0128 9847     		blx	r3
 8848              	.LVL624:
 8849 012a 8EE7     		b	.L563
 8850              	.L564:
4152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 8851              		.loc 1 4152 7 is_stmt 1 view .LVU3155
4152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 8852              		.loc 1 4152 23 is_stmt 0 view .LVU3156
 8853 012c 2823     		movs	r3, #40
 8854 012e 84F84130 		strb	r3, [r4, #65]
4153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8855              		.loc 1 4153 7 is_stmt 1 view .LVU3157
4153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8856              		.loc 1 4153 23 is_stmt 0 view .LVU3158
 8857 0132 0022     		movs	r2, #0
 8858 0134 84F84220 		strb	r2, [r4, #66]
4156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8859              		.loc 1 4156 7 is_stmt 1 view .LVU3159
4156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8860              		.loc 1 4156 11 is_stmt 0 view .LVU3160
 8861 0138 636C     		ldr	r3, [r4, #68]
4156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8862              		.loc 1 4156 23 view .LVU3161
 8863 013a 43F08003 		orr	r3, r3, #128
 8864 013e 6364     		str	r3, [r4, #68]
4159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 340


 8865              		.loc 1 4159 7 is_stmt 1 view .LVU3162
4159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8866              		.loc 1 4159 7 view .LVU3163
 8867 0140 84F84020 		strb	r2, [r4, #64]
4159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8868              		.loc 1 4159 7 view .LVU3164
4161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8869              		.loc 1 4161 7 view .LVU3165
4161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8870              		.loc 1 4161 14 is_stmt 0 view .LVU3166
 8871 0144 0125     		movs	r5, #1
 8872              	.LVL625:
4161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8873              		.loc 1 4161 14 view .LVU3167
 8874 0146 23E0     		b	.L560
 8875              	.LVL626:
 8876              	.L565:
4167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8877              		.loc 1 4167 7 is_stmt 1 view .LVU3168
4167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8878              		.loc 1 4167 11 is_stmt 0 view .LVU3169
 8879 0148 638D     		ldrh	r3, [r4, #42]
 8880 014a 9BB2     		uxth	r3, r3
4167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8881              		.loc 1 4167 30 view .LVU3170
 8882 014c 228D     		ldrh	r2, [r4, #40]
4167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8883              		.loc 1 4167 23 view .LVU3171
 8884 014e 9B1A     		subs	r3, r3, r2
 8885 0150 9BB2     		uxth	r3, r3
 8886 0152 6385     		strh	r3, [r4, #42]	@ movhi
4170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8887              		.loc 1 4170 7 is_stmt 1 view .LVU3172
4170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8888              		.loc 1 4170 22 is_stmt 0 view .LVU3173
 8889 0154 0023     		movs	r3, #0
 8890 0156 2385     		strh	r3, [r4, #40]	@ movhi
4187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
 8891              		.loc 1 4187 5 is_stmt 1 view .LVU3174
4187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
 8892              		.loc 1 4187 11 is_stmt 0 view .LVU3175
 8893 0158 2268     		ldr	r2, [r4]
 8894 015a 9369     		ldr	r3, [r2, #24]
 8895 015c 03F00803 		and	r3, r3, #8
 8896              	.LVL627:
4188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8897              		.loc 1 4188 5 is_stmt 1 view .LVU3176
4188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8898              		.loc 1 4188 10 is_stmt 0 view .LVU3177
 8899 0160 9169     		ldr	r1, [r2, #24]
4188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8900              		.loc 1 4188 8 view .LVU3178
 8901 0162 11F4803F 		tst	r1, #65536
 8902 0166 0DD1     		bne	.L567
 8903              	.LVL628:
 8904              	.L568:
4196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 341


 8905              		.loc 1 4196 5 is_stmt 1 view .LVU3179
4196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8906              		.loc 1 4196 5 view .LVU3180
 8907 0168 0023     		movs	r3, #0
 8908 016a 84F84030 		strb	r3, [r4, #64]
4196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8909              		.loc 1 4196 5 view .LVU3181
4199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8910              		.loc 1 4199 5 view .LVU3182
4199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8911              		.loc 1 4199 9 is_stmt 0 view .LVU3183
 8912 016e 2268     		ldr	r2, [r4]
4199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8913              		.loc 1 4199 19 view .LVU3184
 8914 0170 1368     		ldr	r3, [r2]
4199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8915              		.loc 1 4199 25 view .LVU3185
 8916 0172 43F48043 		orr	r3, r3, #16384
 8917 0176 1360     		str	r3, [r2]
4205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8918              		.loc 1 4205 5 is_stmt 1 view .LVU3186
 8919 0178 4FF40041 		mov	r1, #32768
 8920 017c 2046     		mov	r0, r4
 8921              	.LVL629:
4205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8922              		.loc 1 4205 5 is_stmt 0 view .LVU3187
 8923 017e FFF7FEFF 		bl	I2C_Enable_IRQ
 8924              	.LVL630:
4207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 8925              		.loc 1 4207 5 is_stmt 1 view .LVU3188
4207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 8926              		.loc 1 4207 12 is_stmt 0 view .LVU3189
 8927 0182 05E0     		b	.L560
 8928              	.LVL631:
 8929              	.L567:
4188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 8930              		.loc 1 4188 54 discriminator 1 view .LVU3190
 8931 0184 002B     		cmp	r3, #0
 8932 0186 EFD0     		beq	.L568
4192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8933              		.loc 1 4192 7 is_stmt 1 view .LVU3191
 8934 0188 0823     		movs	r3, #8
 8935              	.LVL632:
4192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 8936              		.loc 1 4192 7 is_stmt 0 view .LVU3192
 8937 018a D361     		str	r3, [r2, #28]
 8938 018c ECE7     		b	.L568
 8939              	.LVL633:
 8940              	.L569:
4211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 8941              		.loc 1 4211 12 view .LVU3193
 8942 018e 0125     		movs	r5, #1
 8943              	.LVL634:
 8944              	.L560:
4213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8945              		.loc 1 4213 1 view .LVU3194
 8946 0190 2846     		mov	r0, r5
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 342


 8947 0192 F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 8948              	.LVL635:
 8949              	.L570:
4060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8950              		.loc 1 4060 5 discriminator 1 view .LVU3195
 8951 0194 0225     		movs	r5, #2
 8952              	.LVL636:
4060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8953              		.loc 1 4060 5 discriminator 1 view .LVU3196
 8954 0196 FBE7     		b	.L560
 8955              	.L577:
 8956              		.align	2
 8957              	.L576:
 8958 0198 00000000 		.word	I2C_Slave_ISR_DMA
 8959 019c 00000000 		.word	I2C_DMASlaveTransmitCplt
 8960 01a0 00000000 		.word	I2C_DMAError
 8961 01a4 00000000 		.word	I2C_DMAAbort
 8962              		.cfi_endproc
 8963              	.LFE363:
 8965              		.section	.text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits
 8966              		.align	1
 8967              		.global	HAL_I2C_Slave_Seq_Receive_IT
 8968              		.syntax unified
 8969              		.thumb
 8970              		.thumb_func
 8972              	HAL_I2C_Slave_Seq_Receive_IT:
 8973              	.LVL637:
 8974              	.LFB364:
4227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 8975              		.loc 1 4227 1 is_stmt 1 view -0
 8976              		.cfi_startproc
 8977              		@ args = 0, pretend = 0, frame = 0
 8978              		@ frame_needed = 0, uses_anonymous_args = 0
4227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 8979              		.loc 1 4227 1 is_stmt 0 view .LVU3198
 8980 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 8981              		.cfi_def_cfa_offset 24
 8982              		.cfi_offset 3, -24
 8983              		.cfi_offset 4, -20
 8984              		.cfi_offset 5, -16
 8985              		.cfi_offset 6, -12
 8986              		.cfi_offset 7, -8
 8987              		.cfi_offset 14, -4
 8988 0002 0446     		mov	r4, r0
4229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8989              		.loc 1 4229 3 is_stmt 1 view .LVU3199
4232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 8990              		.loc 1 4232 3 view .LVU3200
4234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8991              		.loc 1 4234 3 view .LVU3201
4234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8992              		.loc 1 4234 22 is_stmt 0 view .LVU3202
 8993 0004 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 8994              	.LVL638:
4234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 8995              		.loc 1 4234 6 view .LVU3203
 8996 0008 00F02800 		and	r0, r0, #40
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 343


 8997 000c 2828     		cmp	r0, #40
 8998 000e 5FD1     		bne	.L583
 8999 0010 0F46     		mov	r7, r1
 9000 0012 1646     		mov	r6, r2
 9001 0014 1D46     		mov	r5, r3
4236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9002              		.loc 1 4236 5 is_stmt 1 view .LVU3204
4236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9003              		.loc 1 4236 8 is_stmt 0 view .LVU3205
 9004 0016 002A     		cmp	r2, #0
 9005 0018 18BF     		it	ne
 9006 001a 0029     		cmpne	r1, #0
 9007 001c 04D1     		bne	.L580
4238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 9008              		.loc 1 4238 7 is_stmt 1 view .LVU3206
4238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 9009              		.loc 1 4238 23 is_stmt 0 view .LVU3207
 9010 001e 4FF40073 		mov	r3, #512
 9011              	.LVL639:
4238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 9012              		.loc 1 4238 23 view .LVU3208
 9013 0022 6364     		str	r3, [r4, #68]
4239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9014              		.loc 1 4239 7 is_stmt 1 view .LVU3209
4239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9015              		.loc 1 4239 15 is_stmt 0 view .LVU3210
 9016 0024 0120     		movs	r0, #1
 9017 0026 54E0     		b	.L579
 9018              	.LVL640:
 9019              	.L580:
4243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9020              		.loc 1 4243 5 is_stmt 1 view .LVU3211
 9021 0028 48F20201 		movw	r1, #32770
 9022              	.LVL641:
4243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9023              		.loc 1 4243 5 is_stmt 0 view .LVU3212
 9024 002c 2046     		mov	r0, r4
 9025 002e FFF7FEFF 		bl	I2C_Disable_IRQ
 9026              	.LVL642:
4246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9027              		.loc 1 4246 5 is_stmt 1 view .LVU3213
4246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9028              		.loc 1 4246 5 view .LVU3214
 9029 0032 94F84030 		ldrb	r3, [r4, #64]	@ zero_extendqisi2
 9030 0036 012B     		cmp	r3, #1
 9031 0038 4CD0     		beq	.L584
4246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9032              		.loc 1 4246 5 discriminator 2 view .LVU3215
 9033 003a 0123     		movs	r3, #1
 9034 003c 84F84030 		strb	r3, [r4, #64]
4246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9035              		.loc 1 4246 5 view .LVU3216
4250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9036              		.loc 1 4250 5 view .LVU3217
4250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9037              		.loc 1 4250 13 is_stmt 0 view .LVU3218
 9038 0040 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 344


4250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9039              		.loc 1 4250 8 view .LVU3219
 9040 0044 292B     		cmp	r3, #41
 9041 0046 28D0     		beq	.L586
 9042              	.L581:
4276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 9043              		.loc 1 4276 5 is_stmt 1 view .LVU3220
4276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 9044              		.loc 1 4276 21 is_stmt 0 view .LVU3221
 9045 0048 2A23     		movs	r3, #42
 9046 004a 84F84130 		strb	r3, [r4, #65]
4277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 9047              		.loc 1 4277 5 is_stmt 1 view .LVU3222
4277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 9048              		.loc 1 4277 21 is_stmt 0 view .LVU3223
 9049 004e 2023     		movs	r3, #32
 9050 0050 84F84230 		strb	r3, [r4, #66]
4278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9051              		.loc 1 4278 5 is_stmt 1 view .LVU3224
4278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9052              		.loc 1 4278 21 is_stmt 0 view .LVU3225
 9053 0054 0023     		movs	r3, #0
 9054 0056 6364     		str	r3, [r4, #68]
4281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9055              		.loc 1 4281 5 is_stmt 1 view .LVU3226
4281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9056              		.loc 1 4281 9 is_stmt 0 view .LVU3227
 9057 0058 2268     		ldr	r2, [r4]
4281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9058              		.loc 1 4281 19 view .LVU3228
 9059 005a 5368     		ldr	r3, [r2, #4]
4281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9060              		.loc 1 4281 25 view .LVU3229
 9061 005c 23F40043 		bic	r3, r3, #32768
 9062 0060 5360     		str	r3, [r2, #4]
4284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 9063              		.loc 1 4284 5 is_stmt 1 view .LVU3230
4284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 9064              		.loc 1 4284 23 is_stmt 0 view .LVU3231
 9065 0062 6762     		str	r7, [r4, #36]
4285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 9066              		.loc 1 4285 5 is_stmt 1 view .LVU3232
4285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 9067              		.loc 1 4285 23 is_stmt 0 view .LVU3233
 9068 0064 6685     		strh	r6, [r4, #42]	@ movhi
4286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9069              		.loc 1 4286 5 is_stmt 1 view .LVU3234
4286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9070              		.loc 1 4286 29 is_stmt 0 view .LVU3235
 9071 0066 638D     		ldrh	r3, [r4, #42]
4286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9072              		.loc 1 4286 23 view .LVU3236
 9073 0068 2385     		strh	r3, [r4, #40]	@ movhi
4287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
 9074              		.loc 1 4287 5 is_stmt 1 view .LVU3237
4287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_IT;
 9075              		.loc 1 4287 23 is_stmt 0 view .LVU3238
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 345


 9076 006a E562     		str	r5, [r4, #44]
4288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9077              		.loc 1 4288 5 is_stmt 1 view .LVU3239
4288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9078              		.loc 1 4288 23 is_stmt 0 view .LVU3240
 9079 006c 1A4B     		ldr	r3, .L587
 9080 006e 6363     		str	r3, [r4, #52]
4290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
 9081              		.loc 1 4290 5 is_stmt 1 view .LVU3241
4290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
 9082              		.loc 1 4290 11 is_stmt 0 view .LVU3242
 9083 0070 2268     		ldr	r2, [r4]
 9084 0072 9369     		ldr	r3, [r2, #24]
 9085 0074 03F00803 		and	r3, r3, #8
 9086              	.LVL643:
4291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9087              		.loc 1 4291 5 is_stmt 1 view .LVU3243
4291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9088              		.loc 1 4291 10 is_stmt 0 view .LVU3244
 9089 0078 9169     		ldr	r1, [r2, #24]
4291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9090              		.loc 1 4291 8 view .LVU3245
 9091 007a 11F4803F 		tst	r1, #65536
 9092 007e 02D1     		bne	.L582
4291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9093              		.loc 1 4291 55 discriminator 1 view .LVU3246
 9094 0080 0BB1     		cbz	r3, .L582
4295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9095              		.loc 1 4295 7 is_stmt 1 view .LVU3247
 9096 0082 0823     		movs	r3, #8
 9097              	.LVL644:
4295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9098              		.loc 1 4295 7 is_stmt 0 view .LVU3248
 9099 0084 D361     		str	r3, [r2, #28]
 9100              	.L582:
4299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9101              		.loc 1 4299 5 is_stmt 1 view .LVU3249
4299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9102              		.loc 1 4299 5 view .LVU3250
 9103 0086 0025     		movs	r5, #0
 9104              	.LVL645:
4299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9105              		.loc 1 4299 5 is_stmt 0 view .LVU3251
 9106 0088 84F84050 		strb	r5, [r4, #64]
4299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9107              		.loc 1 4299 5 is_stmt 1 view .LVU3252
4305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9108              		.loc 1 4305 5 view .LVU3253
 9109 008c 48F20201 		movw	r1, #32770
 9110 0090 2046     		mov	r0, r4
 9111 0092 FFF7FEFF 		bl	I2C_Enable_IRQ
 9112              	.LVL646:
4307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9113              		.loc 1 4307 5 view .LVU3254
4307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9114              		.loc 1 4307 12 is_stmt 0 view .LVU3255
 9115 0096 2846     		mov	r0, r5
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 346


 9116 0098 1BE0     		b	.L579
 9117              	.LVL647:
 9118              	.L586:
4253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9119              		.loc 1 4253 7 is_stmt 1 view .LVU3256
 9120 009a 0121     		movs	r1, #1
 9121 009c 2046     		mov	r0, r4
 9122 009e FFF7FEFF 		bl	I2C_Disable_IRQ
 9123              	.LVL648:
4255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9124              		.loc 1 4255 7 view .LVU3257
4255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9125              		.loc 1 4255 16 is_stmt 0 view .LVU3258
 9126 00a2 2368     		ldr	r3, [r4]
4255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9127              		.loc 1 4255 26 view .LVU3259
 9128 00a4 1A68     		ldr	r2, [r3]
4255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9129              		.loc 1 4255 10 view .LVU3260
 9130 00a6 12F4804F 		tst	r2, #16384
 9131 00aa CDD0     		beq	.L581
4257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9132              		.loc 1 4257 9 is_stmt 1 view .LVU3261
4257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9133              		.loc 1 4257 23 is_stmt 0 view .LVU3262
 9134 00ac 1A68     		ldr	r2, [r3]
4257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9135              		.loc 1 4257 29 view .LVU3263
 9136 00ae 22F48042 		bic	r2, r2, #16384
 9137 00b2 1A60     		str	r2, [r3]
4260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 9138              		.loc 1 4260 9 is_stmt 1 view .LVU3264
4260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 9139              		.loc 1 4260 17 is_stmt 0 view .LVU3265
 9140 00b4 A36B     		ldr	r3, [r4, #56]
4260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 9141              		.loc 1 4260 12 view .LVU3266
 9142 00b6 002B     		cmp	r3, #0
 9143 00b8 C6D0     		beq	.L581
4264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9144              		.loc 1 4264 11 is_stmt 1 view .LVU3267
4264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9145              		.loc 1 4264 43 is_stmt 0 view .LVU3268
 9146 00ba 084A     		ldr	r2, .L587+4
 9147 00bc 1A65     		str	r2, [r3, #80]
4267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 9148              		.loc 1 4267 11 is_stmt 1 view .LVU3269
4267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 9149              		.loc 1 4267 15 is_stmt 0 view .LVU3270
 9150 00be A06B     		ldr	r0, [r4, #56]
 9151 00c0 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 9152              	.LVL649:
4267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 9153              		.loc 1 4267 14 discriminator 1 view .LVU3271
 9154 00c4 0028     		cmp	r0, #0
 9155 00c6 BFD0     		beq	.L581
4270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 347


 9156              		.loc 1 4270 13 is_stmt 1 view .LVU3272
4270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9157              		.loc 1 4270 17 is_stmt 0 view .LVU3273
 9158 00c8 A06B     		ldr	r0, [r4, #56]
4270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9159              		.loc 1 4270 25 view .LVU3274
 9160 00ca 036D     		ldr	r3, [r0, #80]
4270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9161              		.loc 1 4270 13 view .LVU3275
 9162 00cc 9847     		blx	r3
 9163              	.LVL650:
 9164 00ce BBE7     		b	.L581
 9165              	.LVL651:
 9166              	.L583:
4311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9167              		.loc 1 4311 12 view .LVU3276
 9168 00d0 0120     		movs	r0, #1
 9169              	.LVL652:
 9170              	.L579:
4313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9171              		.loc 1 4313 1 view .LVU3277
 9172 00d2 F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 9173              	.LVL653:
 9174              	.L584:
4246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9175              		.loc 1 4246 5 discriminator 1 view .LVU3278
 9176 00d4 0220     		movs	r0, #2
 9177 00d6 FCE7     		b	.L579
 9178              	.L588:
 9179              		.align	2
 9180              	.L587:
 9181 00d8 00000000 		.word	I2C_Slave_ISR_IT
 9182 00dc 00000000 		.word	I2C_DMAAbort
 9183              		.cfi_endproc
 9184              	.LFE364:
 9186              		.section	.text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits
 9187              		.align	1
 9188              		.global	HAL_I2C_Slave_Seq_Receive_DMA
 9189              		.syntax unified
 9190              		.thumb
 9191              		.thumb_func
 9193              	HAL_I2C_Slave_Seq_Receive_DMA:
 9194              	.LVL654:
 9195              	.LFB365:
4327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 9196              		.loc 1 4327 1 is_stmt 1 view -0
 9197              		.cfi_startproc
 9198              		@ args = 0, pretend = 0, frame = 0
 9199              		@ frame_needed = 0, uses_anonymous_args = 0
4327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 9200              		.loc 1 4327 1 is_stmt 0 view .LVU3280
 9201 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 9202              		.cfi_def_cfa_offset 24
 9203              		.cfi_offset 3, -24
 9204              		.cfi_offset 4, -20
 9205              		.cfi_offset 5, -16
 9206              		.cfi_offset 6, -12
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 348


 9207              		.cfi_offset 7, -8
 9208              		.cfi_offset 14, -4
 9209 0002 0446     		mov	r4, r0
4329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_StatusTypeDef dmaxferstatus;
 9210              		.loc 1 4329 3 is_stmt 1 view .LVU3281
4330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9211              		.loc 1 4330 3 view .LVU3282
4333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9212              		.loc 1 4333 3 view .LVU3283
4335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9213              		.loc 1 4335 3 view .LVU3284
4335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9214              		.loc 1 4335 22 is_stmt 0 view .LVU3285
 9215 0004 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 9216              	.LVL655:
4335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9217              		.loc 1 4335 6 view .LVU3286
 9218 0008 00F02800 		and	r0, r0, #40
 9219 000c 2828     		cmp	r0, #40
 9220 000e 40F0BE80 		bne	.L599
 9221 0012 0F46     		mov	r7, r1
 9222 0014 1646     		mov	r6, r2
 9223 0016 1D46     		mov	r5, r3
4337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9224              		.loc 1 4337 5 is_stmt 1 view .LVU3287
4337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9225              		.loc 1 4337 8 is_stmt 0 view .LVU3288
 9226 0018 002A     		cmp	r2, #0
 9227 001a 18BF     		it	ne
 9228 001c 0029     		cmpne	r1, #0
 9229 001e 04D1     		bne	.L591
4339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 9230              		.loc 1 4339 7 is_stmt 1 view .LVU3289
4339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 9231              		.loc 1 4339 23 is_stmt 0 view .LVU3290
 9232 0020 4FF40073 		mov	r3, #512
 9233              	.LVL656:
4339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       return  HAL_ERROR;
 9234              		.loc 1 4339 23 view .LVU3291
 9235 0024 6364     		str	r3, [r4, #68]
4340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9236              		.loc 1 4340 7 is_stmt 1 view .LVU3292
4340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9237              		.loc 1 4340 15 is_stmt 0 view .LVU3293
 9238 0026 0125     		movs	r5, #1
 9239              	.LVL657:
4340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9240              		.loc 1 4340 15 view .LVU3294
 9241 0028 B2E0     		b	.L590
 9242              	.LVL658:
 9243              	.L591:
4344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9244              		.loc 1 4344 5 is_stmt 1 view .LVU3295
 9245 002a 48F20201 		movw	r1, #32770
 9246              	.LVL659:
4344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9247              		.loc 1 4344 5 is_stmt 0 view .LVU3296
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 349


 9248 002e 2046     		mov	r0, r4
 9249 0030 FFF7FEFF 		bl	I2C_Disable_IRQ
 9250              	.LVL660:
4347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9251              		.loc 1 4347 5 is_stmt 1 view .LVU3297
4347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9252              		.loc 1 4347 5 view .LVU3298
 9253 0034 94F84030 		ldrb	r3, [r4, #64]	@ zero_extendqisi2
 9254 0038 012B     		cmp	r3, #1
 9255 003a 00F0AB80 		beq	.L600
4347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9256              		.loc 1 4347 5 discriminator 2 view .LVU3299
 9257 003e 0123     		movs	r3, #1
 9258 0040 84F84030 		strb	r3, [r4, #64]
4347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9259              		.loc 1 4347 5 view .LVU3300
4351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9260              		.loc 1 4351 5 view .LVU3301
4351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9261              		.loc 1 4351 13 is_stmt 0 view .LVU3302
 9262 0044 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
4351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9263              		.loc 1 4351 8 view .LVU3303
 9264 0048 292B     		cmp	r3, #41
 9265 004a 3CD0     		beq	.L603
4376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9266              		.loc 1 4376 10 is_stmt 1 view .LVU3304
4376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9267              		.loc 1 4376 18 is_stmt 0 view .LVU3305
 9268 004c 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
4376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9269              		.loc 1 4376 13 view .LVU3306
 9270 0050 2A2B     		cmp	r3, #42
 9271 0052 54D0     		beq	.L604
 9272              	.L593:
4401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9273              		.loc 1 4401 5 is_stmt 1 view .LVU3307
4403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 9274              		.loc 1 4403 5 view .LVU3308
4403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode      = HAL_I2C_MODE_SLAVE;
 9275              		.loc 1 4403 21 is_stmt 0 view .LVU3309
 9276 0054 2A23     		movs	r3, #42
 9277 0056 84F84130 		strb	r3, [r4, #65]
4404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 9278              		.loc 1 4404 5 is_stmt 1 view .LVU3310
4404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
 9279              		.loc 1 4404 21 is_stmt 0 view .LVU3311
 9280 005a 2023     		movs	r3, #32
 9281 005c 84F84230 		strb	r3, [r4, #66]
4405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9282              		.loc 1 4405 5 is_stmt 1 view .LVU3312
4405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9283              		.loc 1 4405 21 is_stmt 0 view .LVU3313
 9284 0060 0023     		movs	r3, #0
 9285 0062 6364     		str	r3, [r4, #68]
4408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9286              		.loc 1 4408 5 is_stmt 1 view .LVU3314
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 350


4408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9287              		.loc 1 4408 9 is_stmt 0 view .LVU3315
 9288 0064 2268     		ldr	r2, [r4]
4408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9289              		.loc 1 4408 19 view .LVU3316
 9290 0066 5368     		ldr	r3, [r2, #4]
4408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9291              		.loc 1 4408 25 view .LVU3317
 9292 0068 23F40043 		bic	r3, r3, #32768
 9293 006c 5360     		str	r3, [r2, #4]
4411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 9294              		.loc 1 4411 5 is_stmt 1 view .LVU3318
4411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount   = Size;
 9295              		.loc 1 4411 23 is_stmt 0 view .LVU3319
 9296 006e 6762     		str	r7, [r4, #36]
4412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 9297              		.loc 1 4412 5 is_stmt 1 view .LVU3320
4412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferSize    = hi2c->XferCount;
 9298              		.loc 1 4412 23 is_stmt 0 view .LVU3321
 9299 0070 6685     		strh	r6, [r4, #42]	@ movhi
4413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9300              		.loc 1 4413 5 is_stmt 1 view .LVU3322
4413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9301              		.loc 1 4413 29 is_stmt 0 view .LVU3323
 9302 0072 638D     		ldrh	r3, [r4, #42]
4413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferOptions = XferOptions;
 9303              		.loc 1 4413 23 view .LVU3324
 9304 0074 2385     		strh	r3, [r4, #40]	@ movhi
4414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
 9305              		.loc 1 4414 5 is_stmt 1 view .LVU3325
4414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR     = I2C_Slave_ISR_DMA;
 9306              		.loc 1 4414 23 is_stmt 0 view .LVU3326
 9307 0076 E562     		str	r5, [r4, #44]
4415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9308              		.loc 1 4415 5 is_stmt 1 view .LVU3327
4415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9309              		.loc 1 4415 23 is_stmt 0 view .LVU3328
 9310 0078 474B     		ldr	r3, .L605
 9311 007a 6363     		str	r3, [r4, #52]
4417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9312              		.loc 1 4417 5 is_stmt 1 view .LVU3329
4417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9313              		.loc 1 4417 13 is_stmt 0 view .LVU3330
 9314 007c E36B     		ldr	r3, [r4, #60]
4417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9315              		.loc 1 4417 8 view .LVU3331
 9316 007e 002B     		cmp	r3, #0
 9317 0080 54D0     		beq	.L594
4420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9318              		.loc 1 4420 7 is_stmt 1 view .LVU3332
4420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9319              		.loc 1 4420 38 is_stmt 0 view .LVU3333
 9320 0082 464A     		ldr	r2, .L605+4
 9321 0084 DA63     		str	r2, [r3, #60]
4423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9322              		.loc 1 4423 7 is_stmt 1 view .LVU3334
4423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 351


 9323              		.loc 1 4423 11 is_stmt 0 view .LVU3335
 9324 0086 E36B     		ldr	r3, [r4, #60]
4423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9325              		.loc 1 4423 39 view .LVU3336
 9326 0088 454A     		ldr	r2, .L605+8
 9327 008a DA64     		str	r2, [r3, #76]
4426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 9328              		.loc 1 4426 7 is_stmt 1 view .LVU3337
4426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 9329              		.loc 1 4426 11 is_stmt 0 view .LVU3338
 9330 008c E26B     		ldr	r2, [r4, #60]
4426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->hdmarx->XferAbortCallback = NULL;
 9331              		.loc 1 4426 42 view .LVU3339
 9332 008e 0023     		movs	r3, #0
 9333 0090 1364     		str	r3, [r2, #64]
4427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9334              		.loc 1 4427 7 is_stmt 1 view .LVU3340
4427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9335              		.loc 1 4427 11 is_stmt 0 view .LVU3341
 9336 0092 E26B     		ldr	r2, [r4, #60]
4427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9337              		.loc 1 4427 39 view .LVU3342
 9338 0094 1365     		str	r3, [r2, #80]
4430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        (uint32_t)pData, hi2c->XferSize);
 9339              		.loc 1 4430 7 is_stmt 1 view .LVU3343
4430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        (uint32_t)pData, hi2c->XferSize);
 9340              		.loc 1 4430 69 is_stmt 0 view .LVU3344
 9341 0096 2168     		ldr	r1, [r4]
4430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                        (uint32_t)pData, hi2c->XferSize);
 9342              		.loc 1 4430 23 view .LVU3345
 9343 0098 238D     		ldrh	r3, [r4, #40]
 9344 009a 3A46     		mov	r2, r7
 9345 009c 2431     		adds	r1, r1, #36
 9346 009e E06B     		ldr	r0, [r4, #60]
 9347 00a0 FFF7FEFF 		bl	HAL_DMA_Start_IT
 9348              	.LVL661:
4448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9349              		.loc 1 4448 5 is_stmt 1 view .LVU3346
4448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9350              		.loc 1 4448 8 is_stmt 0 view .LVU3347
 9351 00a4 0546     		mov	r5, r0
 9352              	.LVL662:
4448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9353              		.loc 1 4448 8 view .LVU3348
 9354 00a6 0028     		cmp	r0, #0
 9355 00a8 4ED0     		beq	.L595
4459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 9356              		.loc 1 4459 7 is_stmt 1 view .LVU3349
4459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 9357              		.loc 1 4459 23 is_stmt 0 view .LVU3350
 9358 00aa 2823     		movs	r3, #40
 9359 00ac 84F84130 		strb	r3, [r4, #65]
4460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9360              		.loc 1 4460 7 is_stmt 1 view .LVU3351
4460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9361              		.loc 1 4460 23 is_stmt 0 view .LVU3352
 9362 00b0 0022     		movs	r2, #0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 352


 9363 00b2 84F84220 		strb	r2, [r4, #66]
4463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9364              		.loc 1 4463 7 is_stmt 1 view .LVU3353
4463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9365              		.loc 1 4463 11 is_stmt 0 view .LVU3354
 9366 00b6 636C     		ldr	r3, [r4, #68]
4463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9367              		.loc 1 4463 23 view .LVU3355
 9368 00b8 43F01003 		orr	r3, r3, #16
 9369 00bc 6364     		str	r3, [r4, #68]
4466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9370              		.loc 1 4466 7 is_stmt 1 view .LVU3356
4466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9371              		.loc 1 4466 7 view .LVU3357
 9372 00be 84F84020 		strb	r2, [r4, #64]
4466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9373              		.loc 1 4466 7 view .LVU3358
4468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9374              		.loc 1 4468 7 view .LVU3359
4468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9375              		.loc 1 4468 14 is_stmt 0 view .LVU3360
 9376 00c2 0125     		movs	r5, #1
 9377 00c4 64E0     		b	.L590
 9378              	.LVL663:
 9379              	.L603:
4354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9380              		.loc 1 4354 7 is_stmt 1 view .LVU3361
 9381 00c6 0121     		movs	r1, #1
 9382 00c8 2046     		mov	r0, r4
 9383 00ca FFF7FEFF 		bl	I2C_Disable_IRQ
 9384              	.LVL664:
4356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9385              		.loc 1 4356 7 view .LVU3362
4356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9386              		.loc 1 4356 16 is_stmt 0 view .LVU3363
 9387 00ce 2368     		ldr	r3, [r4]
4356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9388              		.loc 1 4356 26 view .LVU3364
 9389 00d0 1A68     		ldr	r2, [r3]
4356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9390              		.loc 1 4356 10 view .LVU3365
 9391 00d2 12F4804F 		tst	r2, #16384
 9392 00d6 BDD0     		beq	.L593
4359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 9393              		.loc 1 4359 9 is_stmt 1 view .LVU3366
4359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 9394              		.loc 1 4359 17 is_stmt 0 view .LVU3367
 9395 00d8 A26B     		ldr	r2, [r4, #56]
4359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 9396              		.loc 1 4359 12 view .LVU3368
 9397 00da 002A     		cmp	r2, #0
 9398 00dc BAD0     		beq	.L593
4361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9399              		.loc 1 4361 11 is_stmt 1 view .LVU3369
4361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9400              		.loc 1 4361 25 is_stmt 0 view .LVU3370
 9401 00de 1A68     		ldr	r2, [r3]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 353


4361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9402              		.loc 1 4361 31 view .LVU3371
 9403 00e0 22F48042 		bic	r2, r2, #16384
 9404 00e4 1A60     		str	r2, [r3]
4365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9405              		.loc 1 4365 11 is_stmt 1 view .LVU3372
4365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9406              		.loc 1 4365 15 is_stmt 0 view .LVU3373
 9407 00e6 A36B     		ldr	r3, [r4, #56]
4365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9408              		.loc 1 4365 43 view .LVU3374
 9409 00e8 2E4A     		ldr	r2, .L605+12
 9410 00ea 1A65     		str	r2, [r3, #80]
4368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 9411              		.loc 1 4368 11 is_stmt 1 view .LVU3375
4368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 9412              		.loc 1 4368 15 is_stmt 0 view .LVU3376
 9413 00ec A06B     		ldr	r0, [r4, #56]
 9414 00ee FFF7FEFF 		bl	HAL_DMA_Abort_IT
 9415              	.LVL665:
4368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 9416              		.loc 1 4368 14 discriminator 1 view .LVU3377
 9417 00f2 0028     		cmp	r0, #0
 9418 00f4 AED0     		beq	.L593
4371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9419              		.loc 1 4371 13 is_stmt 1 view .LVU3378
4371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9420              		.loc 1 4371 17 is_stmt 0 view .LVU3379
 9421 00f6 A06B     		ldr	r0, [r4, #56]
4371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9422              		.loc 1 4371 25 view .LVU3380
 9423 00f8 036D     		ldr	r3, [r0, #80]
4371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9424              		.loc 1 4371 13 view .LVU3381
 9425 00fa 9847     		blx	r3
 9426              	.LVL666:
 9427 00fc AAE7     		b	.L593
 9428              	.L604:
4378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9429              		.loc 1 4378 7 is_stmt 1 view .LVU3382
4378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9430              		.loc 1 4378 16 is_stmt 0 view .LVU3383
 9431 00fe 2368     		ldr	r3, [r4]
4378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9432              		.loc 1 4378 26 view .LVU3384
 9433 0100 1A68     		ldr	r2, [r3]
4378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 9434              		.loc 1 4378 10 view .LVU3385
 9435 0102 12F4004F 		tst	r2, #32768
 9436 0106 A5D0     		beq	.L593
4380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9437              		.loc 1 4380 9 is_stmt 1 view .LVU3386
4380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9438              		.loc 1 4380 23 is_stmt 0 view .LVU3387
 9439 0108 1A68     		ldr	r2, [r3]
4380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9440              		.loc 1 4380 29 view .LVU3388
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 354


 9441 010a 22F40042 		bic	r2, r2, #32768
 9442 010e 1A60     		str	r2, [r3]
4383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 9443              		.loc 1 4383 9 is_stmt 1 view .LVU3389
4383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 9444              		.loc 1 4383 17 is_stmt 0 view .LVU3390
 9445 0110 E36B     		ldr	r3, [r4, #60]
4383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 9446              		.loc 1 4383 12 view .LVU3391
 9447 0112 002B     		cmp	r3, #0
 9448 0114 9ED0     		beq	.L593
4387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9449              		.loc 1 4387 11 is_stmt 1 view .LVU3392
4387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9450              		.loc 1 4387 43 is_stmt 0 view .LVU3393
 9451 0116 234A     		ldr	r2, .L605+12
 9452 0118 1A65     		str	r2, [r3, #80]
4390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 9453              		.loc 1 4390 11 is_stmt 1 view .LVU3394
4390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 9454              		.loc 1 4390 15 is_stmt 0 view .LVU3395
 9455 011a E06B     		ldr	r0, [r4, #60]
 9456 011c FFF7FEFF 		bl	HAL_DMA_Abort_IT
 9457              	.LVL667:
4390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 9458              		.loc 1 4390 14 discriminator 1 view .LVU3396
 9459 0120 0028     		cmp	r0, #0
 9460 0122 97D0     		beq	.L593
4393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9461              		.loc 1 4393 13 is_stmt 1 view .LVU3397
4393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9462              		.loc 1 4393 17 is_stmt 0 view .LVU3398
 9463 0124 E06B     		ldr	r0, [r4, #60]
4393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9464              		.loc 1 4393 25 view .LVU3399
 9465 0126 036D     		ldr	r3, [r0, #80]
4393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 9466              		.loc 1 4393 13 view .LVU3400
 9467 0128 9847     		blx	r3
 9468              	.LVL668:
 9469 012a 93E7     		b	.L593
 9470              	.L594:
4436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 9471              		.loc 1 4436 7 is_stmt 1 view .LVU3401
4436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->Mode      = HAL_I2C_MODE_NONE;
 9472              		.loc 1 4436 23 is_stmt 0 view .LVU3402
 9473 012c 2823     		movs	r3, #40
 9474 012e 84F84130 		strb	r3, [r4, #65]
4437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9475              		.loc 1 4437 7 is_stmt 1 view .LVU3403
4437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9476              		.loc 1 4437 23 is_stmt 0 view .LVU3404
 9477 0132 0022     		movs	r2, #0
 9478 0134 84F84220 		strb	r2, [r4, #66]
4440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9479              		.loc 1 4440 7 is_stmt 1 view .LVU3405
4440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 355


 9480              		.loc 1 4440 11 is_stmt 0 view .LVU3406
 9481 0138 636C     		ldr	r3, [r4, #68]
4440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9482              		.loc 1 4440 23 view .LVU3407
 9483 013a 43F08003 		orr	r3, r3, #128
 9484 013e 6364     		str	r3, [r4, #68]
4443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9485              		.loc 1 4443 7 is_stmt 1 view .LVU3408
4443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9486              		.loc 1 4443 7 view .LVU3409
 9487 0140 84F84020 		strb	r2, [r4, #64]
4443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9488              		.loc 1 4443 7 view .LVU3410
4445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9489              		.loc 1 4445 7 view .LVU3411
4445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9490              		.loc 1 4445 14 is_stmt 0 view .LVU3412
 9491 0144 0125     		movs	r5, #1
 9492              	.LVL669:
4445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9493              		.loc 1 4445 14 view .LVU3413
 9494 0146 23E0     		b	.L590
 9495              	.LVL670:
 9496              	.L595:
4451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9497              		.loc 1 4451 7 is_stmt 1 view .LVU3414
4451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9498              		.loc 1 4451 11 is_stmt 0 view .LVU3415
 9499 0148 638D     		ldrh	r3, [r4, #42]
 9500 014a 9BB2     		uxth	r3, r3
4451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9501              		.loc 1 4451 30 view .LVU3416
 9502 014c 228D     		ldrh	r2, [r4, #40]
4451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9503              		.loc 1 4451 23 view .LVU3417
 9504 014e 9B1A     		subs	r3, r3, r2
 9505 0150 9BB2     		uxth	r3, r3
 9506 0152 6385     		strh	r3, [r4, #42]	@ movhi
4454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9507              		.loc 1 4454 7 is_stmt 1 view .LVU3418
4454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9508              		.loc 1 4454 22 is_stmt 0 view .LVU3419
 9509 0154 0023     		movs	r3, #0
 9510 0156 2385     		strh	r3, [r4, #40]	@ movhi
4471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
 9511              		.loc 1 4471 5 is_stmt 1 view .LVU3420
4471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
 9512              		.loc 1 4471 11 is_stmt 0 view .LVU3421
 9513 0158 2268     		ldr	r2, [r4]
 9514 015a 9369     		ldr	r3, [r2, #24]
 9515 015c 03F00803 		and	r3, r3, #8
 9516              	.LVL671:
4472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9517              		.loc 1 4472 5 is_stmt 1 view .LVU3422
4472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9518              		.loc 1 4472 10 is_stmt 0 view .LVU3423
 9519 0160 9169     		ldr	r1, [r2, #24]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 356


4472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9520              		.loc 1 4472 8 view .LVU3424
 9521 0162 11F4803F 		tst	r1, #65536
 9522 0166 0DD0     		beq	.L597
 9523              	.LVL672:
 9524              	.L598:
4480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9525              		.loc 1 4480 5 is_stmt 1 view .LVU3425
4480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9526              		.loc 1 4480 5 view .LVU3426
 9527 0168 0023     		movs	r3, #0
 9528 016a 84F84030 		strb	r3, [r4, #64]
4480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9529              		.loc 1 4480 5 view .LVU3427
4483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9530              		.loc 1 4483 5 view .LVU3428
4483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9531              		.loc 1 4483 9 is_stmt 0 view .LVU3429
 9532 016e 2268     		ldr	r2, [r4]
4483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9533              		.loc 1 4483 19 view .LVU3430
 9534 0170 1368     		ldr	r3, [r2]
4483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9535              		.loc 1 4483 25 view .LVU3431
 9536 0172 43F40043 		orr	r3, r3, #32768
 9537 0176 1360     		str	r3, [r2]
4489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9538              		.loc 1 4489 5 is_stmt 1 view .LVU3432
 9539 0178 48F20201 		movw	r1, #32770
 9540 017c 2046     		mov	r0, r4
 9541              	.LVL673:
4489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9542              		.loc 1 4489 5 is_stmt 0 view .LVU3433
 9543 017e FFF7FEFF 		bl	I2C_Enable_IRQ
 9544              	.LVL674:
4491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9545              		.loc 1 4491 5 is_stmt 1 view .LVU3434
4491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9546              		.loc 1 4491 12 is_stmt 0 view .LVU3435
 9547 0182 05E0     		b	.L590
 9548              	.LVL675:
 9549              	.L597:
4472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9550              		.loc 1 4472 55 discriminator 1 view .LVU3436
 9551 0184 002B     		cmp	r3, #0
 9552 0186 EFD0     		beq	.L598
4476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9553              		.loc 1 4476 7 is_stmt 1 view .LVU3437
 9554 0188 0823     		movs	r3, #8
 9555              	.LVL676:
4476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9556              		.loc 1 4476 7 is_stmt 0 view .LVU3438
 9557 018a D361     		str	r3, [r2, #28]
 9558 018c ECE7     		b	.L598
 9559              	.LVL677:
 9560              	.L599:
4495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 357


 9561              		.loc 1 4495 12 view .LVU3439
 9562 018e 0125     		movs	r5, #1
 9563              	.LVL678:
 9564              	.L590:
4497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9565              		.loc 1 4497 1 view .LVU3440
 9566 0190 2846     		mov	r0, r5
 9567 0192 F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 9568              	.LVL679:
 9569              	.L600:
4347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9570              		.loc 1 4347 5 discriminator 1 view .LVU3441
 9571 0194 0225     		movs	r5, #2
 9572              	.LVL680:
4347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9573              		.loc 1 4347 5 discriminator 1 view .LVU3442
 9574 0196 FBE7     		b	.L590
 9575              	.L606:
 9576              		.align	2
 9577              	.L605:
 9578 0198 00000000 		.word	I2C_Slave_ISR_DMA
 9579 019c 00000000 		.word	I2C_DMASlaveReceiveCplt
 9580 01a0 00000000 		.word	I2C_DMAError
 9581 01a4 00000000 		.word	I2C_DMAAbort
 9582              		.cfi_endproc
 9583              	.LFE365:
 9585              		.section	.text.HAL_I2C_EnableListen_IT,"ax",%progbits
 9586              		.align	1
 9587              		.global	HAL_I2C_EnableListen_IT
 9588              		.syntax unified
 9589              		.thumb
 9590              		.thumb_func
 9592              	HAL_I2C_EnableListen_IT:
 9593              	.LVL681:
 9594              	.LFB366:
4506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
 9595              		.loc 1 4506 1 is_stmt 1 view -0
 9596              		.cfi_startproc
 9597              		@ args = 0, pretend = 0, frame = 0
 9598              		@ frame_needed = 0, uses_anonymous_args = 0
4506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_READY)
 9599              		.loc 1 4506 1 is_stmt 0 view .LVU3444
 9600 0000 08B5     		push	{r3, lr}
 9601              		.cfi_def_cfa_offset 8
 9602              		.cfi_offset 3, -8
 9603              		.cfi_offset 14, -4
4507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9604              		.loc 1 4507 3 is_stmt 1 view .LVU3445
4507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9605              		.loc 1 4507 11 is_stmt 0 view .LVU3446
 9606 0002 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
4507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9607              		.loc 1 4507 6 view .LVU3447
 9608 0006 202B     		cmp	r3, #32
 9609 0008 01D0     		beq	.L611
4519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9610              		.loc 1 4519 12 view .LVU3448
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 358


 9611 000a 0220     		movs	r0, #2
 9612              	.LVL682:
 9613              	.L608:
4521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9614              		.loc 1 4521 1 view .LVU3449
 9615 000c 08BD     		pop	{r3, pc}
 9616              	.LVL683:
 9617              	.L611:
4509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR = I2C_Slave_ISR_IT;
 9618              		.loc 1 4509 5 is_stmt 1 view .LVU3450
4509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR = I2C_Slave_ISR_IT;
 9619              		.loc 1 4509 17 is_stmt 0 view .LVU3451
 9620 000e 2823     		movs	r3, #40
 9621 0010 80F84130 		strb	r3, [r0, #65]
4510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9622              		.loc 1 4510 5 is_stmt 1 view .LVU3452
4510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9623              		.loc 1 4510 19 is_stmt 0 view .LVU3453
 9624 0014 034B     		ldr	r3, .L612
 9625 0016 4363     		str	r3, [r0, #52]
4513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9626              		.loc 1 4513 5 is_stmt 1 view .LVU3454
 9627 0018 4FF40041 		mov	r1, #32768
 9628 001c FFF7FEFF 		bl	I2C_Enable_IRQ
 9629              	.LVL684:
4515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9630              		.loc 1 4515 5 view .LVU3455
4515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9631              		.loc 1 4515 12 is_stmt 0 view .LVU3456
 9632 0020 0020     		movs	r0, #0
 9633 0022 F3E7     		b	.L608
 9634              	.L613:
 9635              		.align	2
 9636              	.L612:
 9637 0024 00000000 		.word	I2C_Slave_ISR_IT
 9638              		.cfi_endproc
 9639              	.LFE366:
 9641              		.section	.text.HAL_I2C_DisableListen_IT,"ax",%progbits
 9642              		.align	1
 9643              		.global	HAL_I2C_DisableListen_IT
 9644              		.syntax unified
 9645              		.thumb
 9646              		.thumb_func
 9648              	HAL_I2C_DisableListen_IT:
 9649              	.LVL685:
 9650              	.LFB367:
4530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 9651              		.loc 1 4530 1 is_stmt 1 view -0
 9652              		.cfi_startproc
 9653              		@ args = 0, pretend = 0, frame = 0
 9654              		@ frame_needed = 0, uses_anonymous_args = 0
4532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9655              		.loc 1 4532 3 view .LVU3458
4535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9656              		.loc 1 4535 3 view .LVU3459
4535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9657              		.loc 1 4535 11 is_stmt 0 view .LVU3460
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 359


 9658 0000 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
4535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9659              		.loc 1 4535 6 view .LVU3461
 9660 0004 282B     		cmp	r3, #40
 9661 0006 01D0     		beq	.L621
4550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9662              		.loc 1 4550 12 view .LVU3462
 9663 0008 0220     		movs	r0, #2
 9664              	.LVL686:
4552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9665              		.loc 1 4552 1 view .LVU3463
 9666 000a 7047     		bx	lr
 9667              	.LVL687:
 9668              	.L621:
4530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Declaration of tmp to prevent undefined behavior of volatile usage */
 9669              		.loc 1 4530 1 view .LVU3464
 9670 000c 10B5     		push	{r4, lr}
 9671              		.cfi_def_cfa_offset 8
 9672              		.cfi_offset 4, -8
 9673              		.cfi_offset 14, -4
4537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
 9674              		.loc 1 4537 5 is_stmt 1 view .LVU3465
4537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
 9675              		.loc 1 4537 26 is_stmt 0 view .LVU3466
 9676 000e 90F84120 		ldrb	r2, [r0, #65]	@ zero_extendqisi2
 9677              	.LVL688:
4538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 9678              		.loc 1 4538 5 is_stmt 1 view .LVU3467
4538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 9679              		.loc 1 4538 48 is_stmt 0 view .LVU3468
 9680 0012 90F84230 		ldrb	r3, [r0, #66]	@ zero_extendqisi2
4538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 9681              		.loc 1 4538 31 view .LVU3469
 9682 0016 02F00302 		and	r2, r2, #3
 9683              	.LVL689:
4538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 9684              		.loc 1 4538 31 view .LVU3470
 9685 001a 1343     		orrs	r3, r3, r2
4538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 9686              		.loc 1 4538 25 view .LVU3471
 9687 001c 0363     		str	r3, [r0, #48]
4539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 9688              		.loc 1 4539 5 is_stmt 1 view .LVU3472
4539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->Mode = HAL_I2C_MODE_NONE;
 9689              		.loc 1 4539 17 is_stmt 0 view .LVU3473
 9690 001e 2023     		movs	r3, #32
 9691 0020 80F84130 		strb	r3, [r0, #65]
4540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR = NULL;
 9692              		.loc 1 4540 5 is_stmt 1 view .LVU3474
4540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR = NULL;
 9693              		.loc 1 4540 16 is_stmt 0 view .LVU3475
 9694 0024 0024     		movs	r4, #0
 9695 0026 80F84240 		strb	r4, [r0, #66]
4541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9696              		.loc 1 4541 5 is_stmt 1 view .LVU3476
4541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9697              		.loc 1 4541 19 is_stmt 0 view .LVU3477
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 360


 9698 002a 4463     		str	r4, [r0, #52]
4544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9699              		.loc 1 4544 5 is_stmt 1 view .LVU3478
 9700 002c 4FF40041 		mov	r1, #32768
 9701 0030 FFF7FEFF 		bl	I2C_Disable_IRQ
 9702              	.LVL690:
4546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9703              		.loc 1 4546 5 view .LVU3479
4546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9704              		.loc 1 4546 12 is_stmt 0 view .LVU3480
 9705 0034 2046     		mov	r0, r4
4552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9706              		.loc 1 4552 1 view .LVU3481
 9707 0036 10BD     		pop	{r4, pc}
 9708              		.cfi_endproc
 9709              	.LFE367:
 9711              		.section	.text.HAL_I2C_Master_Abort_IT,"ax",%progbits
 9712              		.align	1
 9713              		.global	HAL_I2C_Master_Abort_IT
 9714              		.syntax unified
 9715              		.thumb
 9716              		.thumb_func
 9718              	HAL_I2C_Master_Abort_IT:
 9719              	.LVL691:
 9720              	.LFB368:
4563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->Mode == HAL_I2C_MODE_MASTER)
 9721              		.loc 1 4563 1 is_stmt 1 view -0
 9722              		.cfi_startproc
 9723              		@ args = 0, pretend = 0, frame = 0
 9724              		@ frame_needed = 0, uses_anonymous_args = 0
4564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9725              		.loc 1 4564 3 view .LVU3483
4564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9726              		.loc 1 4564 11 is_stmt 0 view .LVU3484
 9727 0000 90F84230 		ldrb	r3, [r0, #66]	@ zero_extendqisi2
4564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9728              		.loc 1 4564 6 view .LVU3485
 9729 0004 102B     		cmp	r3, #16
 9730 0006 34D1     		bne	.L626
4563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->Mode == HAL_I2C_MODE_MASTER)
 9731              		.loc 1 4563 1 view .LVU3486
 9732 0008 30B5     		push	{r4, r5, lr}
 9733              		.cfi_def_cfa_offset 12
 9734              		.cfi_offset 4, -12
 9735              		.cfi_offset 5, -8
 9736              		.cfi_offset 14, -4
 9737 000a 83B0     		sub	sp, sp, #12
 9738              		.cfi_def_cfa_offset 24
 9739 000c 0446     		mov	r4, r0
 9740 000e 0D46     		mov	r5, r1
4567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9741              		.loc 1 4567 5 is_stmt 1 view .LVU3487
4567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9742              		.loc 1 4567 5 view .LVU3488
 9743 0010 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 9744 0014 012B     		cmp	r3, #1
 9745 0016 2ED0     		beq	.L627
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 361


4567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9746              		.loc 1 4567 5 discriminator 2 view .LVU3489
 9747 0018 0123     		movs	r3, #1
 9748 001a 80F84030 		strb	r3, [r0, #64]
4567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9749              		.loc 1 4567 5 view .LVU3490
4570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9750              		.loc 1 4570 5 view .LVU3491
4570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9751              		.loc 1 4570 13 is_stmt 0 view .LVU3492
 9752 001e 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
4570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9753              		.loc 1 4570 8 view .LVU3493
 9754 0022 212B     		cmp	r3, #33
 9755 0024 19D0     		beq	.L632
4575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9756              		.loc 1 4575 10 is_stmt 1 view .LVU3494
4575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9757              		.loc 1 4575 18 is_stmt 0 view .LVU3495
 9758 0026 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
4575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 9759              		.loc 1 4575 13 view .LVU3496
 9760 002a 222B     		cmp	r3, #34
 9761 002c 1BD0     		beq	.L633
 9762              	.LVL692:
 9763              	.L625:
4583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9764              		.loc 1 4583 5 is_stmt 1 view .LVU3497
4586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9765              		.loc 1 4586 5 view .LVU3498
4586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9766              		.loc 1 4586 17 is_stmt 0 view .LVU3499
 9767 002e 6023     		movs	r3, #96
 9768 0030 84F84130 		strb	r3, [r4, #65]
4590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9769              		.loc 1 4590 5 is_stmt 1 view .LVU3500
 9770 0034 114B     		ldr	r3, .L634
 9771 0036 0093     		str	r3, [sp]
 9772 0038 4FF00073 		mov	r3, #33554432
 9773 003c 0122     		movs	r2, #1
 9774 003e 2946     		mov	r1, r5
 9775 0040 2046     		mov	r0, r4
 9776 0042 FFF7FEFF 		bl	I2C_TransferConfig
 9777              	.LVL693:
4593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9778              		.loc 1 4593 5 view .LVU3501
4593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9779              		.loc 1 4593 5 view .LVU3502
 9780 0046 0025     		movs	r5, #0
 9781              	.LVL694:
4593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9782              		.loc 1 4593 5 is_stmt 0 view .LVU3503
 9783 0048 84F84050 		strb	r5, [r4, #64]
4593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9784              		.loc 1 4593 5 is_stmt 1 view .LVU3504
4598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9785              		.loc 1 4598 5 view .LVU3505
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 362


 9786 004c 2021     		movs	r1, #32
 9787 004e 2046     		mov	r0, r4
 9788 0050 FFF7FEFF 		bl	I2C_Enable_IRQ
 9789              	.LVL695:
4600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9790              		.loc 1 4600 5 view .LVU3506
4600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9791              		.loc 1 4600 12 is_stmt 0 view .LVU3507
 9792 0054 2846     		mov	r0, r5
 9793              	.L623:
4608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9794              		.loc 1 4608 1 view .LVU3508
 9795 0056 03B0     		add	sp, sp, #12
 9796              		.cfi_remember_state
 9797              		.cfi_def_cfa_offset 12
 9798              		@ sp needed
 9799 0058 30BD     		pop	{r4, r5, pc}
 9800              	.LVL696:
 9801              	.L632:
 9802              		.cfi_restore_state
4572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
 9803              		.loc 1 4572 7 is_stmt 1 view .LVU3509
 9804 005a 0121     		movs	r1, #1
 9805              	.LVL697:
4572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
 9806              		.loc 1 4572 7 is_stmt 0 view .LVU3510
 9807 005c FFF7FEFF 		bl	I2C_Disable_IRQ
 9808              	.LVL698:
4573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9809              		.loc 1 4573 7 is_stmt 1 view .LVU3511
4573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9810              		.loc 1 4573 27 is_stmt 0 view .LVU3512
 9811 0060 1123     		movs	r3, #17
 9812 0062 2363     		str	r3, [r4, #48]
 9813 0064 E3E7     		b	.L625
 9814              	.LVL699:
 9815              	.L633:
4577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 9816              		.loc 1 4577 7 is_stmt 1 view .LVU3513
 9817 0066 0221     		movs	r1, #2
 9818              	.LVL700:
4577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 9819              		.loc 1 4577 7 is_stmt 0 view .LVU3514
 9820 0068 FFF7FEFF 		bl	I2C_Disable_IRQ
 9821              	.LVL701:
4578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9822              		.loc 1 4578 7 is_stmt 1 view .LVU3515
4578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 9823              		.loc 1 4578 27 is_stmt 0 view .LVU3516
 9824 006c 1223     		movs	r3, #18
 9825 006e 2363     		str	r3, [r4, #48]
 9826 0070 DDE7     		b	.L625
 9827              	.LVL702:
 9828              	.L626:
 9829              		.cfi_def_cfa_offset 0
 9830              		.cfi_restore 4
 9831              		.cfi_restore 5
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 363


 9832              		.cfi_restore 14
4606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9833              		.loc 1 4606 12 view .LVU3517
 9834 0072 0120     		movs	r0, #1
 9835              	.LVL703:
4608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9836              		.loc 1 4608 1 view .LVU3518
 9837 0074 7047     		bx	lr
 9838              	.LVL704:
 9839              	.L627:
 9840              		.cfi_def_cfa_offset 24
 9841              		.cfi_offset 4, -12
 9842              		.cfi_offset 5, -8
 9843              		.cfi_offset 14, -4
4567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9844              		.loc 1 4567 5 discriminator 1 view .LVU3519
 9845 0076 0220     		movs	r0, #2
 9846              	.LVL705:
4567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9847              		.loc 1 4567 5 discriminator 1 view .LVU3520
 9848 0078 EDE7     		b	.L623
 9849              	.L635:
 9850 007a 00BF     		.align	2
 9851              	.L634:
 9852 007c 00400080 		.word	-2147467264
 9853              		.cfi_endproc
 9854              	.LFE368:
 9856              		.section	.text.HAL_I2C_EV_IRQHandler,"ax",%progbits
 9857              		.align	1
 9858              		.global	HAL_I2C_EV_IRQHandler
 9859              		.syntax unified
 9860              		.thumb
 9861              		.thumb_func
 9863              	HAL_I2C_EV_IRQHandler:
 9864              	.LVL706:
 9865              	.LFB369:
4625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Get current IT Flags and IT sources value */
 9866              		.loc 1 4625 1 is_stmt 1 view -0
 9867              		.cfi_startproc
 9868              		@ args = 0, pretend = 0, frame = 0
 9869              		@ frame_needed = 0, uses_anonymous_args = 0
4625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Get current IT Flags and IT sources value */
 9870              		.loc 1 4625 1 is_stmt 0 view .LVU3522
 9871 0000 08B5     		push	{r3, lr}
 9872              		.cfi_def_cfa_offset 8
 9873              		.cfi_offset 3, -8
 9874              		.cfi_offset 14, -4
4627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itsources = READ_REG(hi2c->Instance->CR1);
 9875              		.loc 1 4627 3 is_stmt 1 view .LVU3523
4627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itsources = READ_REG(hi2c->Instance->CR1);
 9876              		.loc 1 4627 24 is_stmt 0 view .LVU3524
 9877 0002 0368     		ldr	r3, [r0]
4627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itsources = READ_REG(hi2c->Instance->CR1);
 9878              		.loc 1 4627 12 view .LVU3525
 9879 0004 9969     		ldr	r1, [r3, #24]
 9880              	.LVL707:
4628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 364


 9881              		.loc 1 4628 3 is_stmt 1 view .LVU3526
4628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9882              		.loc 1 4628 12 is_stmt 0 view .LVU3527
 9883 0006 1A68     		ldr	r2, [r3]
 9884              	.LVL708:
4631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9885              		.loc 1 4631 3 is_stmt 1 view .LVU3528
4631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9886              		.loc 1 4631 11 is_stmt 0 view .LVU3529
 9887 0008 436B     		ldr	r3, [r0, #52]
4631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9888              		.loc 1 4631 6 view .LVU3530
 9889 000a 03B1     		cbz	r3, .L636
4633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 9890              		.loc 1 4633 5 is_stmt 1 view .LVU3531
 9891 000c 9847     		blx	r3
 9892              	.LVL709:
 9893              	.L636:
4635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9894              		.loc 1 4635 1 is_stmt 0 view .LVU3532
 9895 000e 08BD     		pop	{r3, pc}
 9896              		.cfi_endproc
 9897              	.LFE369:
 9899              		.section	.text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
 9900              		.align	1
 9901              		.weak	HAL_I2C_MasterTxCpltCallback
 9902              		.syntax unified
 9903              		.thumb
 9904              		.thumb_func
 9906              	HAL_I2C_MasterTxCpltCallback:
 9907              	.LVL710:
 9908              	.LFB371:
4696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 9909              		.loc 1 4696 1 is_stmt 1 view -0
 9910              		.cfi_startproc
 9911              		@ args = 0, pretend = 0, frame = 0
 9912              		@ frame_needed = 0, uses_anonymous_args = 0
 9913              		@ link register save eliminated.
4698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9914              		.loc 1 4698 3 view .LVU3534
4703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9915              		.loc 1 4703 1 is_stmt 0 view .LVU3535
 9916 0000 7047     		bx	lr
 9917              		.cfi_endproc
 9918              	.LFE371:
 9920              		.section	.text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
 9921              		.align	1
 9922              		.weak	HAL_I2C_MasterRxCpltCallback
 9923              		.syntax unified
 9924              		.thumb
 9925              		.thumb_func
 9927              	HAL_I2C_MasterRxCpltCallback:
 9928              	.LVL711:
 9929              	.LFB372:
4712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 9930              		.loc 1 4712 1 is_stmt 1 view -0
 9931              		.cfi_startproc
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 365


 9932              		@ args = 0, pretend = 0, frame = 0
 9933              		@ frame_needed = 0, uses_anonymous_args = 0
 9934              		@ link register save eliminated.
4714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9935              		.loc 1 4714 3 view .LVU3537
4719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9936              		.loc 1 4719 1 is_stmt 0 view .LVU3538
 9937 0000 7047     		bx	lr
 9938              		.cfi_endproc
 9939              	.LFE372:
 9941              		.section	.text.I2C_ITMasterSeqCplt,"ax",%progbits
 9942              		.align	1
 9943              		.syntax unified
 9944              		.thumb
 9945              		.thumb_func
 9947              	I2C_ITMasterSeqCplt:
 9948              	.LVL712:
 9949              	.LFB393:
5991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Reset I2C handle mode */
 9950              		.loc 1 5991 1 is_stmt 1 view -0
 9951              		.cfi_startproc
 9952              		@ args = 0, pretend = 0, frame = 0
 9953              		@ frame_needed = 0, uses_anonymous_args = 0
5991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Reset I2C handle mode */
 9954              		.loc 1 5991 1 is_stmt 0 view .LVU3540
 9955 0000 38B5     		push	{r3, r4, r5, lr}
 9956              		.cfi_def_cfa_offset 16
 9957              		.cfi_offset 3, -16
 9958              		.cfi_offset 4, -12
 9959              		.cfi_offset 5, -8
 9960              		.cfi_offset 14, -4
 9961 0002 0446     		mov	r4, r0
5993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9962              		.loc 1 5993 3 is_stmt 1 view .LVU3541
5993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9963              		.loc 1 5993 14 is_stmt 0 view .LVU3542
 9964 0004 0023     		movs	r3, #0
 9965 0006 80F84230 		strb	r3, [r0, #66]
5997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9966              		.loc 1 5997 3 is_stmt 1 view .LVU3543
5997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9967              		.loc 1 5997 11 is_stmt 0 view .LVU3544
 9968 000a 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
5997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 9969              		.loc 1 5997 6 view .LVU3545
 9970 000e 212B     		cmp	r3, #33
 9971 0010 0FD0     		beq	.L645
6019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 9972              		.loc 1 6019 5 is_stmt 1 view .LVU3546
6019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 9973              		.loc 1 6019 25 is_stmt 0 view .LVU3547
 9974 0012 2023     		movs	r3, #32
 9975 0014 80F84130 		strb	r3, [r0, #65]
6020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR       = NULL;
 9976              		.loc 1 6020 5 is_stmt 1 view .LVU3548
6020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR       = NULL;
 9977              		.loc 1 6020 25 is_stmt 0 view .LVU3549
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 366


 9978 0018 1223     		movs	r3, #18
 9979 001a 0363     		str	r3, [r0, #48]
6021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9980              		.loc 1 6021 5 is_stmt 1 view .LVU3550
6021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9981              		.loc 1 6021 25 is_stmt 0 view .LVU3551
 9982 001c 0025     		movs	r5, #0
 9983 001e 4563     		str	r5, [r0, #52]
6024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9984              		.loc 1 6024 5 is_stmt 1 view .LVU3552
 9985 0020 0221     		movs	r1, #2
 9986 0022 FFF7FEFF 		bl	I2C_Disable_IRQ
 9987              	.LVL713:
6027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9988              		.loc 1 6027 5 view .LVU3553
6027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9989              		.loc 1 6027 5 view .LVU3554
 9990 0026 84F84050 		strb	r5, [r4, #64]
6027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9991              		.loc 1 6027 5 view .LVU3555
6033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 9992              		.loc 1 6033 5 view .LVU3556
 9993 002a 2046     		mov	r0, r4
 9994 002c FFF7FEFF 		bl	HAL_I2C_MasterRxCpltCallback
 9995              	.LVL714:
 9996              	.L641:
6036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 9997              		.loc 1 6036 1 is_stmt 0 view .LVU3557
 9998 0030 38BD     		pop	{r3, r4, r5, pc}
 9999              	.LVL715:
 10000              	.L645:
5999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
 10001              		.loc 1 5999 5 is_stmt 1 view .LVU3558
5999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
 10002              		.loc 1 5999 25 is_stmt 0 view .LVU3559
 10003 0032 2023     		movs	r3, #32
 10004 0034 80F84130 		strb	r3, [r0, #65]
6000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR       = NULL;
 10005              		.loc 1 6000 5 is_stmt 1 view .LVU3560
6000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR       = NULL;
 10006              		.loc 1 6000 25 is_stmt 0 view .LVU3561
 10007 0038 1123     		movs	r3, #17
 10008 003a 0363     		str	r3, [r0, #48]
6001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10009              		.loc 1 6001 5 is_stmt 1 view .LVU3562
6001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10010              		.loc 1 6001 25 is_stmt 0 view .LVU3563
 10011 003c 0025     		movs	r5, #0
 10012 003e 4563     		str	r5, [r0, #52]
6004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10013              		.loc 1 6004 5 is_stmt 1 view .LVU3564
 10014 0040 0121     		movs	r1, #1
 10015 0042 FFF7FEFF 		bl	I2C_Disable_IRQ
 10016              	.LVL716:
6007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10017              		.loc 1 6007 5 view .LVU3565
6007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 367


 10018              		.loc 1 6007 5 view .LVU3566
 10019 0046 84F84050 		strb	r5, [r4, #64]
6007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10020              		.loc 1 6007 5 view .LVU3567
6013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10021              		.loc 1 6013 5 view .LVU3568
 10022 004a 2046     		mov	r0, r4
 10023 004c FFF7FEFF 		bl	HAL_I2C_MasterTxCpltCallback
 10024              	.LVL717:
 10025 0050 EEE7     		b	.L641
 10026              		.cfi_endproc
 10027              	.LFE393:
 10029              		.section	.text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
 10030              		.align	1
 10031              		.weak	HAL_I2C_SlaveTxCpltCallback
 10032              		.syntax unified
 10033              		.thumb
 10034              		.thumb_func
 10036              	HAL_I2C_SlaveTxCpltCallback:
 10037              	.LVL718:
 10038              	.LFB373:
4727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 10039              		.loc 1 4727 1 view -0
 10040              		.cfi_startproc
 10041              		@ args = 0, pretend = 0, frame = 0
 10042              		@ frame_needed = 0, uses_anonymous_args = 0
 10043              		@ link register save eliminated.
4729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10044              		.loc 1 4729 3 view .LVU3570
4734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10045              		.loc 1 4734 1 is_stmt 0 view .LVU3571
 10046 0000 7047     		bx	lr
 10047              		.cfi_endproc
 10048              	.LFE373:
 10050              		.section	.text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
 10051              		.align	1
 10052              		.weak	HAL_I2C_SlaveRxCpltCallback
 10053              		.syntax unified
 10054              		.thumb
 10055              		.thumb_func
 10057              	HAL_I2C_SlaveRxCpltCallback:
 10058              	.LVL719:
 10059              	.LFB374:
4743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 10060              		.loc 1 4743 1 is_stmt 1 view -0
 10061              		.cfi_startproc
 10062              		@ args = 0, pretend = 0, frame = 0
 10063              		@ frame_needed = 0, uses_anonymous_args = 0
 10064              		@ link register save eliminated.
4745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10065              		.loc 1 4745 3 view .LVU3573
4750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10066              		.loc 1 4750 1 is_stmt 0 view .LVU3574
 10067 0000 7047     		bx	lr
 10068              		.cfi_endproc
 10069              	.LFE374:
 10071              		.section	.text.I2C_ITSlaveSeqCplt,"ax",%progbits
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 368


 10072              		.align	1
 10073              		.syntax unified
 10074              		.thumb
 10075              		.thumb_func
 10077              	I2C_ITSlaveSeqCplt:
 10078              	.LVL720:
 10079              	.LFB394:
6044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
 10080              		.loc 1 6044 1 is_stmt 1 view -0
 10081              		.cfi_startproc
 10082              		@ args = 0, pretend = 0, frame = 0
 10083              		@ frame_needed = 0, uses_anonymous_args = 0
6044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
 10084              		.loc 1 6044 1 is_stmt 0 view .LVU3576
 10085 0000 10B5     		push	{r4, lr}
 10086              		.cfi_def_cfa_offset 8
 10087              		.cfi_offset 4, -8
 10088              		.cfi_offset 14, -4
 10089 0002 0446     		mov	r4, r0
6045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10090              		.loc 1 6045 3 is_stmt 1 view .LVU3577
6045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10091              		.loc 1 6045 26 is_stmt 0 view .LVU3578
 10092 0004 0368     		ldr	r3, [r0]
6045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10093              		.loc 1 6045 12 view .LVU3579
 10094 0006 1A68     		ldr	r2, [r3]
 10095              	.LVL721:
6048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10096              		.loc 1 6048 3 is_stmt 1 view .LVU3580
6048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10097              		.loc 1 6048 14 is_stmt 0 view .LVU3581
 10098 0008 0021     		movs	r1, #0
 10099 000a 80F84210 		strb	r1, [r0, #66]
6051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10100              		.loc 1 6051 3 is_stmt 1 view .LVU3582
6051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10101              		.loc 1 6051 6 is_stmt 0 view .LVU3583
 10102 000e 12F4804F 		tst	r2, #16384
 10103 0012 0CD0     		beq	.L649
6054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10104              		.loc 1 6054 5 is_stmt 1 view .LVU3584
6054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10105              		.loc 1 6054 19 is_stmt 0 view .LVU3585
 10106 0014 1A68     		ldr	r2, [r3]
 10107              	.LVL722:
6054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10108              		.loc 1 6054 25 view .LVU3586
 10109 0016 22F48042 		bic	r2, r2, #16384
 10110 001a 1A60     		str	r2, [r3]
 10111              	.L650:
6064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10112              		.loc 1 6064 3 is_stmt 1 view .LVU3587
6066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10113              		.loc 1 6066 3 view .LVU3588
6066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10114              		.loc 1 6066 11 is_stmt 0 view .LVU3589
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 369


 10115 001c 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10116              		.loc 1 6066 6 view .LVU3590
 10117 0020 292B     		cmp	r3, #41
 10118 0022 0CD0     		beq	.L654
6086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10119              		.loc 1 6086 8 is_stmt 1 view .LVU3591
6086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10120              		.loc 1 6086 16 is_stmt 0 view .LVU3592
 10121 0024 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10122              		.loc 1 6086 11 view .LVU3593
 10123 0028 2A2B     		cmp	r3, #42
 10124 002a 18D0     		beq	.L655
 10125              	.LVL723:
 10126              	.L648:
6109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10127              		.loc 1 6109 1 view .LVU3594
 10128 002c 10BD     		pop	{r4, pc}
 10129              	.LVL724:
 10130              	.L649:
6056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10131              		.loc 1 6056 8 is_stmt 1 view .LVU3595
6056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10132              		.loc 1 6056 11 is_stmt 0 view .LVU3596
 10133 002e 12F4004F 		tst	r2, #32768
 10134 0032 F3D0     		beq	.L650
6059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10135              		.loc 1 6059 5 is_stmt 1 view .LVU3597
6059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10136              		.loc 1 6059 19 is_stmt 0 view .LVU3598
 10137 0034 1A68     		ldr	r2, [r3]
 10138              	.LVL725:
6059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10139              		.loc 1 6059 25 view .LVU3599
 10140 0036 22F40042 		bic	r2, r2, #32768
 10141 003a 1A60     		str	r2, [r3]
 10142 003c EEE7     		b	.L650
 10143              	.L654:
6069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
 10144              		.loc 1 6069 5 is_stmt 1 view .LVU3600
6069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
 10145              		.loc 1 6069 25 is_stmt 0 view .LVU3601
 10146 003e 2823     		movs	r3, #40
 10147 0040 84F84130 		strb	r3, [r4, #65]
6070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10148              		.loc 1 6070 5 is_stmt 1 view .LVU3602
6070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10149              		.loc 1 6070 25 is_stmt 0 view .LVU3603
 10150 0044 2123     		movs	r3, #33
 10151 0046 2363     		str	r3, [r4, #48]
6073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10152              		.loc 1 6073 5 is_stmt 1 view .LVU3604
 10153 0048 0121     		movs	r1, #1
 10154 004a 2046     		mov	r0, r4
 10155              	.LVL726:
6073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 370


 10156              		.loc 1 6073 5 is_stmt 0 view .LVU3605
 10157 004c FFF7FEFF 		bl	I2C_Disable_IRQ
 10158              	.LVL727:
6076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10159              		.loc 1 6076 5 is_stmt 1 view .LVU3606
6076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10160              		.loc 1 6076 5 view .LVU3607
 10161 0050 0023     		movs	r3, #0
 10162 0052 84F84030 		strb	r3, [r4, #64]
6076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10163              		.loc 1 6076 5 view .LVU3608
6082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10164              		.loc 1 6082 5 view .LVU3609
 10165 0056 2046     		mov	r0, r4
 10166 0058 FFF7FEFF 		bl	HAL_I2C_SlaveTxCpltCallback
 10167              	.LVL728:
 10168 005c E6E7     		b	.L648
 10169              	.LVL729:
 10170              	.L655:
6089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
 10171              		.loc 1 6089 5 view .LVU3610
6089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
 10172              		.loc 1 6089 25 is_stmt 0 view .LVU3611
 10173 005e 2823     		movs	r3, #40
 10174 0060 84F84130 		strb	r3, [r4, #65]
6090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10175              		.loc 1 6090 5 is_stmt 1 view .LVU3612
6090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10176              		.loc 1 6090 25 is_stmt 0 view .LVU3613
 10177 0064 2223     		movs	r3, #34
 10178 0066 2363     		str	r3, [r4, #48]
6093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10179              		.loc 1 6093 5 is_stmt 1 view .LVU3614
 10180 0068 0221     		movs	r1, #2
 10181 006a 2046     		mov	r0, r4
 10182              	.LVL730:
6093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10183              		.loc 1 6093 5 is_stmt 0 view .LVU3615
 10184 006c FFF7FEFF 		bl	I2C_Disable_IRQ
 10185              	.LVL731:
6096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10186              		.loc 1 6096 5 is_stmt 1 view .LVU3616
6096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10187              		.loc 1 6096 5 view .LVU3617
 10188 0070 0023     		movs	r3, #0
 10189 0072 84F84030 		strb	r3, [r4, #64]
6096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10190              		.loc 1 6096 5 view .LVU3618
6102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10191              		.loc 1 6102 5 view .LVU3619
 10192 0076 2046     		mov	r0, r4
 10193 0078 FFF7FEFF 		bl	HAL_I2C_SlaveRxCpltCallback
 10194              	.LVL732:
6108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 10195              		.loc 1 6108 3 view .LVU3620
6109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10196              		.loc 1 6109 1 is_stmt 0 view .LVU3621
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 371


 10197 007c D6E7     		b	.L648
 10198              		.cfi_endproc
 10199              	.LFE394:
 10201              		.section	.text.I2C_DMASlaveTransmitCplt,"ax",%progbits
 10202              		.align	1
 10203              		.syntax unified
 10204              		.thumb
 10205              		.thumb_func
 10207              	I2C_DMASlaveTransmitCplt:
 10208              	.LVL733:
 10209              	.LFB402:
6769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 10210              		.loc 1 6769 1 is_stmt 1 view -0
 10211              		.cfi_startproc
 10212              		@ args = 0, pretend = 0, frame = 0
 10213              		@ frame_needed = 0, uses_anonymous_args = 0
6769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 10214              		.loc 1 6769 1 is_stmt 0 view .LVU3623
 10215 0000 08B5     		push	{r3, lr}
 10216              		.cfi_def_cfa_offset 8
 10217              		.cfi_offset 3, -8
 10218              		.cfi_offset 14, -4
6771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
 10219              		.loc 1 6771 3 is_stmt 1 view .LVU3624
6771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
 10220              		.loc 1 6771 22 is_stmt 0 view .LVU3625
 10221 0002 806B     		ldr	r0, [r0, #56]
 10222              	.LVL734:
6772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10223              		.loc 1 6772 3 is_stmt 1 view .LVU3626
6772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10224              		.loc 1 6772 12 is_stmt 0 view .LVU3627
 10225 0004 C36A     		ldr	r3, [r0, #44]
 10226              	.LVL735:
6774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10227              		.loc 1 6774 3 is_stmt 1 view .LVU3628
6774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10228              		.loc 1 6774 6 is_stmt 0 view .LVU3629
 10229 0006 002B     		cmp	r3, #0
 10230 0008 18BF     		it	ne
 10231 000a B3F1807F 		cmpne	r3, #16777216
 10232 000e 00D0     		beq	.L659
 10233              	.LVL736:
 10234              	.L656:
6789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10235              		.loc 1 6789 1 view .LVU3630
 10236 0010 08BD     		pop	{r3, pc}
 10237              	.LVL737:
 10238              	.L659:
6777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10239              		.loc 1 6777 5 is_stmt 1 view .LVU3631
6777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10240              		.loc 1 6777 9 is_stmt 0 view .LVU3632
 10241 0012 0268     		ldr	r2, [r0]
6777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10242              		.loc 1 6777 19 view .LVU3633
 10243 0014 1368     		ldr	r3, [r2]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 372


 10244              	.LVL738:
6777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10245              		.loc 1 6777 25 view .LVU3634
 10246 0016 23F48043 		bic	r3, r3, #16384
 10247 001a 1360     		str	r3, [r2]
6781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10248              		.loc 1 6781 5 is_stmt 1 view .LVU3635
 10249 001c FFF7FEFF 		bl	I2C_ITSlaveSeqCplt
 10250              	.LVL739:
6788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 10251              		.loc 1 6788 3 view .LVU3636
6789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10252              		.loc 1 6789 1 is_stmt 0 view .LVU3637
 10253 0020 F6E7     		b	.L656
 10254              		.cfi_endproc
 10255              	.LFE402:
 10257              		.section	.text.I2C_DMASlaveReceiveCplt,"ax",%progbits
 10258              		.align	1
 10259              		.syntax unified
 10260              		.thumb
 10261              		.thumb_func
 10263              	I2C_DMASlaveReceiveCplt:
 10264              	.LVL740:
 10265              	.LFB404:
6849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 10266              		.loc 1 6849 1 is_stmt 1 view -0
 10267              		.cfi_startproc
 10268              		@ args = 0, pretend = 0, frame = 0
 10269              		@ frame_needed = 0, uses_anonymous_args = 0
6849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 10270              		.loc 1 6849 1 is_stmt 0 view .LVU3639
 10271 0000 10B5     		push	{r4, lr}
 10272              		.cfi_def_cfa_offset 8
 10273              		.cfi_offset 4, -8
 10274              		.cfi_offset 14, -4
6851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
 10275              		.loc 1 6851 3 is_stmt 1 view .LVU3640
6851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
 10276              		.loc 1 6851 22 is_stmt 0 view .LVU3641
 10277 0002 806B     		ldr	r0, [r0, #56]
 10278              	.LVL741:
6852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10279              		.loc 1 6852 3 is_stmt 1 view .LVU3642
6852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10280              		.loc 1 6852 12 is_stmt 0 view .LVU3643
 10281 0004 C46A     		ldr	r4, [r0, #44]
 10282              	.LVL742:
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10283              		.loc 1 6854 3 is_stmt 1 view .LVU3644
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10284              		.loc 1 6854 8 is_stmt 0 view .LVU3645
 10285 0006 C36B     		ldr	r3, [r0, #60]
 10286 0008 1B68     		ldr	r3, [r3]
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10287              		.loc 1 6854 46 view .LVU3646
 10288 000a 2349     		ldr	r1, .L667
 10289 000c 234A     		ldr	r2, .L667+4
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 373


 10290 000e 9342     		cmp	r3, r2
 10291 0010 18BF     		it	ne
 10292 0012 8B42     		cmpne	r3, r1
 10293 0014 2FD0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10294              		.loc 1 6854 8 discriminator 2 view .LVU3647
 10295 0016 1832     		adds	r2, r2, #24
 10296 0018 9342     		cmp	r3, r2
 10297 001a 2CD0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10298              		.loc 1 6854 8 discriminator 4 view .LVU3648
 10299 001c 1832     		adds	r2, r2, #24
 10300 001e 9342     		cmp	r3, r2
 10301 0020 29D0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10302              		.loc 1 6854 8 discriminator 6 view .LVU3649
 10303 0022 1832     		adds	r2, r2, #24
 10304 0024 9342     		cmp	r3, r2
 10305 0026 26D0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10306              		.loc 1 6854 8 discriminator 8 view .LVU3650
 10307 0028 1832     		adds	r2, r2, #24
 10308 002a 9342     		cmp	r3, r2
 10309 002c 23D0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10310              		.loc 1 6854 8 discriminator 10 view .LVU3651
 10311 002e 1832     		adds	r2, r2, #24
 10312 0030 9342     		cmp	r3, r2
 10313 0032 20D0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10314              		.loc 1 6854 8 discriminator 12 view .LVU3652
 10315 0034 1832     		adds	r2, r2, #24
 10316 0036 9342     		cmp	r3, r2
 10317 0038 1DD0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10318              		.loc 1 6854 8 discriminator 14 view .LVU3653
 10319 003a 02F55672 		add	r2, r2, #856
 10320 003e 9342     		cmp	r3, r2
 10321 0040 19D0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10322              		.loc 1 6854 8 discriminator 16 view .LVU3654
 10323 0042 1832     		adds	r2, r2, #24
 10324 0044 9342     		cmp	r3, r2
 10325 0046 16D0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10326              		.loc 1 6854 8 discriminator 18 view .LVU3655
 10327 0048 1832     		adds	r2, r2, #24
 10328 004a 9342     		cmp	r3, r2
 10329 004c 13D0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10330              		.loc 1 6854 8 discriminator 20 view .LVU3656
 10331 004e 1832     		adds	r2, r2, #24
 10332 0050 9342     		cmp	r3, r2
 10333 0052 10D0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10334              		.loc 1 6854 8 discriminator 22 view .LVU3657
 10335 0054 1832     		adds	r2, r2, #24
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 374


 10336 0056 9342     		cmp	r3, r2
 10337 0058 0DD0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10338              		.loc 1 6854 8 discriminator 24 view .LVU3658
 10339 005a 1832     		adds	r2, r2, #24
 10340 005c 9342     		cmp	r3, r2
 10341 005e 0AD0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10342              		.loc 1 6854 8 discriminator 26 view .LVU3659
 10343 0060 1832     		adds	r2, r2, #24
 10344 0062 9342     		cmp	r3, r2
 10345 0064 07D0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10346              		.loc 1 6854 8 discriminator 28 view .LVU3660
 10347 0066 1832     		adds	r2, r2, #24
 10348 0068 9342     		cmp	r3, r2
 10349 006a 04D0     		beq	.L661
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10350              		.loc 1 6854 8 discriminator 30 view .LVU3661
 10351 006c 5B68     		ldr	r3, [r3, #4]
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10352              		.loc 1 6854 46 discriminator 30 view .LVU3662
 10353 006e B3FA83F3 		clz	r3, r3
 10354 0072 5B09     		lsrs	r3, r3, #5
 10355 0074 03E0     		b	.L663
 10356              	.L661:
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10357              		.loc 1 6854 8 discriminator 29 view .LVU3663
 10358 0076 5B68     		ldr	r3, [r3, #4]
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10359              		.loc 1 6854 46 discriminator 29 view .LVU3664
 10360 0078 B3FA83F3 		clz	r3, r3
 10361 007c 5B09     		lsrs	r3, r3, #5
 10362              	.L663:
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10363              		.loc 1 6854 6 discriminator 32 view .LVU3665
 10364 007e 13B1     		cbz	r3, .L660
6854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpoptions != I2C_NO_OPTION_FRAME))
 10365              		.loc 1 6854 53 discriminator 33 view .LVU3666
 10366 0080 14F5803F 		cmn	r4, #65536
 10367 0084 00D1     		bne	.L666
 10368              	.LVL743:
 10369              	.L660:
6869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10370              		.loc 1 6869 1 view .LVU3667
 10371 0086 10BD     		pop	{r4, pc}
 10372              	.LVL744:
 10373              	.L666:
6858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10374              		.loc 1 6858 5 is_stmt 1 view .LVU3668
6858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10375              		.loc 1 6858 9 is_stmt 0 view .LVU3669
 10376 0088 0268     		ldr	r2, [r0]
6858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10377              		.loc 1 6858 19 view .LVU3670
 10378 008a 1368     		ldr	r3, [r2]
6858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 375


 10379              		.loc 1 6858 25 view .LVU3671
 10380 008c 23F40043 		bic	r3, r3, #32768
 10381 0090 1360     		str	r3, [r2]
6861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10382              		.loc 1 6861 5 is_stmt 1 view .LVU3672
 10383 0092 FFF7FEFF 		bl	I2C_ITSlaveSeqCplt
 10384              	.LVL745:
6868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 10385              		.loc 1 6868 3 view .LVU3673
6869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10386              		.loc 1 6869 1 is_stmt 0 view .LVU3674
 10387 0096 F6E7     		b	.L660
 10388              	.L668:
 10389              		.align	2
 10390              	.L667:
 10391 0098 10000240 		.word	1073872912
 10392 009c 28000240 		.word	1073872936
 10393              		.cfi_endproc
 10394              	.LFE404:
 10396              		.section	.text.HAL_I2C_AddrCallback,"ax",%progbits
 10397              		.align	1
 10398              		.weak	HAL_I2C_AddrCallback
 10399              		.syntax unified
 10400              		.thumb
 10401              		.thumb_func
 10403              	HAL_I2C_AddrCallback:
 10404              	.LVL746:
 10405              	.LFB375:
4761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 10406              		.loc 1 4761 1 is_stmt 1 view -0
 10407              		.cfi_startproc
 10408              		@ args = 0, pretend = 0, frame = 0
 10409              		@ frame_needed = 0, uses_anonymous_args = 0
 10410              		@ link register save eliminated.
4763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(TransferDirection);
 10411              		.loc 1 4763 3 view .LVU3676
4764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   UNUSED(AddrMatchCode);
 10412              		.loc 1 4764 3 view .LVU3677
4765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10413              		.loc 1 4765 3 view .LVU3678
4770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10414              		.loc 1 4770 1 is_stmt 0 view .LVU3679
 10415 0000 7047     		bx	lr
 10416              		.cfi_endproc
 10417              	.LFE375:
 10419              		.section	.text.I2C_ITAddrCplt,"ax",%progbits
 10420              		.align	1
 10421              		.syntax unified
 10422              		.thumb
 10423              		.thumb_func
 10425              	I2C_ITAddrCplt:
 10426              	.LVL747:
 10427              	.LFB392:
5896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint8_t transferdirection;
 10428              		.loc 1 5896 1 is_stmt 1 view -0
 10429              		.cfi_startproc
 10430              		@ args = 0, pretend = 0, frame = 0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 376


 10431              		@ frame_needed = 0, uses_anonymous_args = 0
5896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint8_t transferdirection;
 10432              		.loc 1 5896 1 is_stmt 0 view .LVU3681
 10433 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 10434              		.cfi_def_cfa_offset 24
 10435              		.cfi_offset 3, -24
 10436              		.cfi_offset 4, -20
 10437              		.cfi_offset 5, -16
 10438              		.cfi_offset 6, -12
 10439              		.cfi_offset 7, -8
 10440              		.cfi_offset 14, -4
 10441 0002 0446     		mov	r4, r0
5897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t slaveaddrcode;
 10442              		.loc 1 5897 3 is_stmt 1 view .LVU3682
5898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t ownadd1code;
 10443              		.loc 1 5898 3 view .LVU3683
5899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t ownadd2code;
 10444              		.loc 1 5899 3 view .LVU3684
5900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10445              		.loc 1 5900 3 view .LVU3685
5903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10446              		.loc 1 5903 3 view .LVU3686
5906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10447              		.loc 1 5906 3 view .LVU3687
5906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10448              		.loc 1 5906 22 is_stmt 0 view .LVU3688
 10449 0004 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
5906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10450              		.loc 1 5906 6 view .LVU3689
 10451 0008 03F02803 		and	r3, r3, #40
 10452 000c 282B     		cmp	r3, #40
 10453 000e 06D0     		beq	.L676
5978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10454              		.loc 1 5978 5 is_stmt 1 view .LVU3690
 10455 0010 0368     		ldr	r3, [r0]
 10456 0012 0822     		movs	r2, #8
 10457 0014 DA61     		str	r2, [r3, #28]
5981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10458              		.loc 1 5981 5 view .LVU3691
5981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10459              		.loc 1 5981 5 view .LVU3692
 10460 0016 0023     		movs	r3, #0
 10461 0018 80F84030 		strb	r3, [r0, #64]
5981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10462              		.loc 1 5981 5 discriminator 1 view .LVU3693
 10463              	.LVL748:
 10464              	.L670:
5983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10465              		.loc 1 5983 1 is_stmt 0 view .LVU3694
 10466 001c F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 10467              	.LVL749:
 10468              	.L676:
5908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     slaveaddrcode     = I2C_GET_ADDR_MATCH(hi2c);
 10469              		.loc 1 5908 5 is_stmt 1 view .LVU3695
5908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     slaveaddrcode     = I2C_GET_ADDR_MATCH(hi2c);
 10470              		.loc 1 5908 25 is_stmt 0 view .LVU3696
 10471 001e 0368     		ldr	r3, [r0]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 377


 10472 0020 9E69     		ldr	r6, [r3, #24]
5908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     slaveaddrcode     = I2C_GET_ADDR_MATCH(hi2c);
 10473              		.loc 1 5908 23 view .LVU3697
 10474 0022 C6F30046 		ubfx	r6, r6, #16, #1
 10475              	.LVL750:
5909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ownadd1code       = I2C_GET_OWN_ADDRESS1(hi2c);
 10476              		.loc 1 5909 5 is_stmt 1 view .LVU3698
5909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ownadd1code       = I2C_GET_OWN_ADDRESS1(hi2c);
 10477              		.loc 1 5909 25 is_stmt 0 view .LVU3699
 10478 0026 9A69     		ldr	r2, [r3, #24]
 10479 0028 120C     		lsrs	r2, r2, #16
5909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ownadd1code       = I2C_GET_OWN_ADDRESS1(hi2c);
 10480              		.loc 1 5909 23 view .LVU3700
 10481 002a 02F0FE05 		and	r5, r2, #254
 10482              	.LVL751:
5910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ownadd2code       = I2C_GET_OWN_ADDRESS2(hi2c);
 10483              		.loc 1 5910 5 is_stmt 1 view .LVU3701
5910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ownadd2code       = I2C_GET_OWN_ADDRESS2(hi2c);
 10484              		.loc 1 5910 25 is_stmt 0 view .LVU3702
 10485 002e 9A68     		ldr	r2, [r3, #8]
5910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     ownadd2code       = I2C_GET_OWN_ADDRESS2(hi2c);
 10486              		.loc 1 5910 23 view .LVU3703
 10487 0030 C2F30902 		ubfx	r2, r2, #0, #10
 10488              	.LVL752:
5911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10489              		.loc 1 5911 5 is_stmt 1 view .LVU3704
5911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10490              		.loc 1 5911 25 is_stmt 0 view .LVU3705
 10491 0034 DF68     		ldr	r7, [r3, #12]
5911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10492              		.loc 1 5911 23 view .LVU3706
 10493 0036 07F0FE07 		and	r7, r7, #254
 10494              	.LVL753:
5914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10495              		.loc 1 5914 5 is_stmt 1 view .LVU3707
5914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10496              		.loc 1 5914 19 is_stmt 0 view .LVU3708
 10497 003a C168     		ldr	r1, [r0, #12]
 10498              	.LVL754:
5914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10499              		.loc 1 5914 8 view .LVU3709
 10500 003c 0229     		cmp	r1, #2
 10501 003e 22D1     		bne	.L672
5916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 10502              		.loc 1 5916 7 is_stmt 1 view .LVU3710
5916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 10503              		.loc 1 5916 44 is_stmt 0 view .LVU3711
 10504 0040 85EAD215 		eor	r5, r5, r2, lsr #7
 10505              	.LVL755:
5916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 10506              		.loc 1 5916 10 view .LVU3712
 10507 0044 15F0060F 		tst	r5, #6
 10508 0048 10D1     		bne	.L673
5918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         hi2c->AddrEventCount++;
 10509              		.loc 1 5918 9 is_stmt 1 view .LVU3713
 10510              	.LVL756:
5919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->AddrEventCount == 2U)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 378


 10511              		.loc 1 5919 9 view .LVU3714
5919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->AddrEventCount == 2U)
 10512              		.loc 1 5919 13 is_stmt 0 view .LVU3715
 10513 004a 816C     		ldr	r1, [r0, #72]
5919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->AddrEventCount == 2U)
 10514              		.loc 1 5919 29 view .LVU3716
 10515 004c 0131     		adds	r1, r1, #1
 10516 004e 8164     		str	r1, [r0, #72]
5920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 10517              		.loc 1 5920 9 is_stmt 1 view .LVU3717
5920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 10518              		.loc 1 5920 17 is_stmt 0 view .LVU3718
 10519 0050 816C     		ldr	r1, [r0, #72]
5920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 10520              		.loc 1 5920 12 view .LVU3719
 10521 0052 0229     		cmp	r1, #2
 10522 0054 E2D1     		bne	.L670
5923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10523              		.loc 1 5923 11 is_stmt 1 view .LVU3720
5923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10524              		.loc 1 5923 32 is_stmt 0 view .LVU3721
 10525 0056 0021     		movs	r1, #0
 10526 0058 8164     		str	r1, [r0, #72]
5926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10527              		.loc 1 5926 11 is_stmt 1 view .LVU3722
 10528 005a 0820     		movs	r0, #8
 10529              	.LVL757:
5926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10530              		.loc 1 5926 11 is_stmt 0 view .LVU3723
 10531 005c D861     		str	r0, [r3, #28]
5929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10532              		.loc 1 5929 11 is_stmt 1 view .LVU3724
5929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10533              		.loc 1 5929 11 view .LVU3725
 10534 005e 84F84010 		strb	r1, [r4, #64]
5929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10535              		.loc 1 5929 11 view .LVU3726
5935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10536              		.loc 1 5935 11 view .LVU3727
 10537 0062 3146     		mov	r1, r6
 10538 0064 2046     		mov	r0, r4
 10539 0066 FFF7FEFF 		bl	HAL_I2C_AddrCallback
 10540              	.LVL758:
5935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10541              		.loc 1 5935 11 is_stmt 0 view .LVU3728
 10542 006a D7E7     		b	.L670
 10543              	.LVL759:
 10544              	.L673:
5941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10545              		.loc 1 5941 9 is_stmt 1 view .LVU3729
5944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10546              		.loc 1 5944 9 view .LVU3730
 10547 006c 4FF40041 		mov	r1, #32768
 10548 0070 FFF7FEFF 		bl	I2C_Disable_IRQ
 10549              	.LVL760:
5947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10550              		.loc 1 5947 9 view .LVU3731
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 379


5947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10551              		.loc 1 5947 9 view .LVU3732
 10552 0074 0023     		movs	r3, #0
 10553 0076 84F84030 		strb	r3, [r4, #64]
5947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10554              		.loc 1 5947 9 view .LVU3733
5953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10555              		.loc 1 5953 9 view .LVU3734
 10556 007a 3A46     		mov	r2, r7
 10557 007c 3146     		mov	r1, r6
 10558 007e 2046     		mov	r0, r4
 10559 0080 FFF7FEFF 		bl	HAL_I2C_AddrCallback
 10560              	.LVL761:
 10561 0084 CAE7     		b	.L670
 10562              	.LVL762:
 10563              	.L672:
5961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10564              		.loc 1 5961 7 view .LVU3735
 10565 0086 4FF40041 		mov	r1, #32768
 10566 008a FFF7FEFF 		bl	I2C_Disable_IRQ
 10567              	.LVL763:
5964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10568              		.loc 1 5964 7 view .LVU3736
5964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10569              		.loc 1 5964 7 view .LVU3737
 10570 008e 0023     		movs	r3, #0
 10571 0090 84F84030 		strb	r3, [r4, #64]
5964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10572              		.loc 1 5964 7 view .LVU3738
5970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10573              		.loc 1 5970 7 view .LVU3739
 10574 0094 2A46     		mov	r2, r5
 10575 0096 3146     		mov	r1, r6
 10576 0098 2046     		mov	r0, r4
 10577 009a FFF7FEFF 		bl	HAL_I2C_AddrCallback
 10578              	.LVL764:
 10579 009e BDE7     		b	.L670
 10580              		.cfi_endproc
 10581              	.LFE392:
 10583              		.section	.text.HAL_I2C_ListenCpltCallback,"ax",%progbits
 10584              		.align	1
 10585              		.weak	HAL_I2C_ListenCpltCallback
 10586              		.syntax unified
 10587              		.thumb
 10588              		.thumb_func
 10590              	HAL_I2C_ListenCpltCallback:
 10591              	.LVL765:
 10592              	.LFB376:
4779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 10593              		.loc 1 4779 1 view -0
 10594              		.cfi_startproc
 10595              		@ args = 0, pretend = 0, frame = 0
 10596              		@ frame_needed = 0, uses_anonymous_args = 0
 10597              		@ link register save eliminated.
4781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10598              		.loc 1 4781 3 view .LVU3741
4786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 380


 10599              		.loc 1 4786 1 is_stmt 0 view .LVU3742
 10600 0000 7047     		bx	lr
 10601              		.cfi_endproc
 10602              	.LFE376:
 10604              		.section	.text.I2C_ITListenCplt,"ax",%progbits
 10605              		.align	1
 10606              		.syntax unified
 10607              		.thumb
 10608              		.thumb_func
 10610              	I2C_ITListenCplt:
 10611              	.LVL766:
 10612              	.LFB397:
6477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Reset handle parameters */
 10613              		.loc 1 6477 1 is_stmt 1 view -0
 10614              		.cfi_startproc
 10615              		@ args = 0, pretend = 0, frame = 0
 10616              		@ frame_needed = 0, uses_anonymous_args = 0
6477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Reset handle parameters */
 10617              		.loc 1 6477 1 is_stmt 0 view .LVU3744
 10618 0000 10B5     		push	{r4, lr}
 10619              		.cfi_def_cfa_offset 8
 10620              		.cfi_offset 4, -8
 10621              		.cfi_offset 14, -4
 10622 0002 0446     		mov	r4, r0
6479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 10623              		.loc 1 6479 3 is_stmt 1 view .LVU3745
6479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->PreviousState = I2C_STATE_NONE;
 10624              		.loc 1 6479 21 is_stmt 0 view .LVU3746
 10625 0004 174B     		ldr	r3, .L681
 10626 0006 C362     		str	r3, [r0, #44]
6480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_READY;
 10627              		.loc 1 6480 3 is_stmt 1 view .LVU3747
6480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->State = HAL_I2C_STATE_READY;
 10628              		.loc 1 6480 23 is_stmt 0 view .LVU3748
 10629 0008 0023     		movs	r3, #0
 10630 000a 0363     		str	r3, [r0, #48]
6481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 10631              		.loc 1 6481 3 is_stmt 1 view .LVU3749
6481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->Mode = HAL_I2C_MODE_NONE;
 10632              		.loc 1 6481 15 is_stmt 0 view .LVU3750
 10633 000c 2022     		movs	r2, #32
 10634 000e 80F84120 		strb	r2, [r0, #65]
6482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferISR = NULL;
 10635              		.loc 1 6482 3 is_stmt 1 view .LVU3751
6482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferISR = NULL;
 10636              		.loc 1 6482 14 is_stmt 0 view .LVU3752
 10637 0012 80F84230 		strb	r3, [r0, #66]
6483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10638              		.loc 1 6483 3 is_stmt 1 view .LVU3753
6483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10639              		.loc 1 6483 17 is_stmt 0 view .LVU3754
 10640 0016 4363     		str	r3, [r0, #52]
6486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10641              		.loc 1 6486 3 is_stmt 1 view .LVU3755
6486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10642              		.loc 1 6486 6 is_stmt 0 view .LVU3756
 10643 0018 11F0040F 		tst	r1, #4
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 381


 10644 001c 13D0     		beq	.L679
6489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10645              		.loc 1 6489 5 is_stmt 1 view .LVU3757
6489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10646              		.loc 1 6489 36 is_stmt 0 view .LVU3758
 10647 001e 0368     		ldr	r3, [r0]
6489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10648              		.loc 1 6489 46 view .LVU3759
 10649 0020 5A6A     		ldr	r2, [r3, #36]
6489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10650              		.loc 1 6489 10 view .LVU3760
 10651 0022 436A     		ldr	r3, [r0, #36]
6489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10652              		.loc 1 6489 21 view .LVU3761
 10653 0024 1A70     		strb	r2, [r3]
6492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10654              		.loc 1 6492 5 is_stmt 1 view .LVU3762
6492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10655              		.loc 1 6492 9 is_stmt 0 view .LVU3763
 10656 0026 436A     		ldr	r3, [r0, #36]
6492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10657              		.loc 1 6492 19 view .LVU3764
 10658 0028 0133     		adds	r3, r3, #1
 10659 002a 4362     		str	r3, [r0, #36]
6494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10660              		.loc 1 6494 5 is_stmt 1 view .LVU3765
6494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10661              		.loc 1 6494 14 is_stmt 0 view .LVU3766
 10662 002c 038D     		ldrh	r3, [r0, #40]
6494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10663              		.loc 1 6494 8 view .LVU3767
 10664 002e 53B1     		cbz	r3, .L679
6496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 10665              		.loc 1 6496 7 is_stmt 1 view .LVU3768
6496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 10666              		.loc 1 6496 21 is_stmt 0 view .LVU3769
 10667 0030 013B     		subs	r3, r3, #1
 10668 0032 0385     		strh	r3, [r0, #40]	@ movhi
6497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10669              		.loc 1 6497 7 is_stmt 1 view .LVU3770
6497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10670              		.loc 1 6497 11 is_stmt 0 view .LVU3771
 10671 0034 438D     		ldrh	r3, [r0, #42]
 10672 0036 9BB2     		uxth	r3, r3
6497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10673              		.loc 1 6497 22 view .LVU3772
 10674 0038 013B     		subs	r3, r3, #1
 10675 003a 9BB2     		uxth	r3, r3
 10676 003c 4385     		strh	r3, [r0, #42]	@ movhi
6500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 10677              		.loc 1 6500 7 is_stmt 1 view .LVU3773
6500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 10678              		.loc 1 6500 11 is_stmt 0 view .LVU3774
 10679 003e 436C     		ldr	r3, [r0, #68]
6500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 10680              		.loc 1 6500 23 view .LVU3775
 10681 0040 43F00403 		orr	r3, r3, #4
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 382


 10682 0044 4364     		str	r3, [r0, #68]
 10683              	.L679:
6505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10684              		.loc 1 6505 3 is_stmt 1 view .LVU3776
 10685 0046 48F20301 		movw	r1, #32771
 10686              	.LVL767:
6505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10687              		.loc 1 6505 3 is_stmt 0 view .LVU3777
 10688 004a 2046     		mov	r0, r4
 10689              	.LVL768:
6505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10690              		.loc 1 6505 3 view .LVU3778
 10691 004c FFF7FEFF 		bl	I2C_Disable_IRQ
 10692              	.LVL769:
6508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10693              		.loc 1 6508 3 is_stmt 1 view .LVU3779
 10694 0050 2368     		ldr	r3, [r4]
 10695 0052 1022     		movs	r2, #16
 10696 0054 DA61     		str	r2, [r3, #28]
6511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10697              		.loc 1 6511 3 view .LVU3780
6511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10698              		.loc 1 6511 3 view .LVU3781
 10699 0056 0023     		movs	r3, #0
 10700 0058 84F84030 		strb	r3, [r4, #64]
6511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10701              		.loc 1 6511 3 view .LVU3782
6517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10702              		.loc 1 6517 3 view .LVU3783
 10703 005c 2046     		mov	r0, r4
 10704 005e FFF7FEFF 		bl	HAL_I2C_ListenCpltCallback
 10705              	.LVL770:
6519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10706              		.loc 1 6519 1 is_stmt 0 view .LVU3784
 10707 0062 10BD     		pop	{r4, pc}
 10708              	.LVL771:
 10709              	.L682:
6519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10710              		.loc 1 6519 1 view .LVU3785
 10711              		.align	2
 10712              	.L681:
 10713 0064 0000FFFF 		.word	-65536
 10714              		.cfi_endproc
 10715              	.LFE397:
 10717              		.section	.text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
 10718              		.align	1
 10719              		.weak	HAL_I2C_MemTxCpltCallback
 10720              		.syntax unified
 10721              		.thumb
 10722              		.thumb_func
 10724              	HAL_I2C_MemTxCpltCallback:
 10725              	.LVL772:
 10726              	.LFB377:
4795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 10727              		.loc 1 4795 1 is_stmt 1 view -0
 10728              		.cfi_startproc
 10729              		@ args = 0, pretend = 0, frame = 0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 383


 10730              		@ frame_needed = 0, uses_anonymous_args = 0
 10731              		@ link register save eliminated.
4797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10732              		.loc 1 4797 3 view .LVU3787
4802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10733              		.loc 1 4802 1 is_stmt 0 view .LVU3788
 10734 0000 7047     		bx	lr
 10735              		.cfi_endproc
 10736              	.LFE377:
 10738              		.section	.text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
 10739              		.align	1
 10740              		.weak	HAL_I2C_MemRxCpltCallback
 10741              		.syntax unified
 10742              		.thumb
 10743              		.thumb_func
 10745              	HAL_I2C_MemRxCpltCallback:
 10746              	.LVL773:
 10747              	.LFB378:
4811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 10748              		.loc 1 4811 1 is_stmt 1 view -0
 10749              		.cfi_startproc
 10750              		@ args = 0, pretend = 0, frame = 0
 10751              		@ frame_needed = 0, uses_anonymous_args = 0
 10752              		@ link register save eliminated.
4813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10753              		.loc 1 4813 3 view .LVU3790
4818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10754              		.loc 1 4818 1 is_stmt 0 view .LVU3791
 10755 0000 7047     		bx	lr
 10756              		.cfi_endproc
 10757              	.LFE378:
 10759              		.section	.text.HAL_I2C_ErrorCallback,"ax",%progbits
 10760              		.align	1
 10761              		.weak	HAL_I2C_ErrorCallback
 10762              		.syntax unified
 10763              		.thumb
 10764              		.thumb_func
 10766              	HAL_I2C_ErrorCallback:
 10767              	.LVL774:
 10768              	.LFB379:
4827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 10769              		.loc 1 4827 1 is_stmt 1 view -0
 10770              		.cfi_startproc
 10771              		@ args = 0, pretend = 0, frame = 0
 10772              		@ frame_needed = 0, uses_anonymous_args = 0
 10773              		@ link register save eliminated.
4829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10774              		.loc 1 4829 3 view .LVU3793
4834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10775              		.loc 1 4834 1 is_stmt 0 view .LVU3794
 10776 0000 7047     		bx	lr
 10777              		.cfi_endproc
 10778              	.LFE379:
 10780              		.section	.text.HAL_I2C_AbortCpltCallback,"ax",%progbits
 10781              		.align	1
 10782              		.weak	HAL_I2C_AbortCpltCallback
 10783              		.syntax unified
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 384


 10784              		.thumb
 10785              		.thumb_func
 10787              	HAL_I2C_AbortCpltCallback:
 10788              	.LVL775:
 10789              	.LFB380:
4843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Prevent unused argument(s) compilation warning */
 10790              		.loc 1 4843 1 is_stmt 1 view -0
 10791              		.cfi_startproc
 10792              		@ args = 0, pretend = 0, frame = 0
 10793              		@ frame_needed = 0, uses_anonymous_args = 0
 10794              		@ link register save eliminated.
4845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10795              		.loc 1 4845 3 view .LVU3796
4850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10796              		.loc 1 4850 1 is_stmt 0 view .LVU3797
 10797 0000 7047     		bx	lr
 10798              		.cfi_endproc
 10799              	.LFE380:
 10801              		.section	.text.I2C_TreatErrorCallback,"ax",%progbits
 10802              		.align	1
 10803              		.syntax unified
 10804              		.thumb
 10805              		.thumb_func
 10807              	I2C_TreatErrorCallback:
 10808              	.LVL776:
 10809              	.LFB399:
6659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_ABORT)
 10810              		.loc 1 6659 1 is_stmt 1 view -0
 10811              		.cfi_startproc
 10812              		@ args = 0, pretend = 0, frame = 0
 10813              		@ frame_needed = 0, uses_anonymous_args = 0
6659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   if (hi2c->State == HAL_I2C_STATE_ABORT)
 10814              		.loc 1 6659 1 is_stmt 0 view .LVU3799
 10815 0000 08B5     		push	{r3, lr}
 10816              		.cfi_def_cfa_offset 8
 10817              		.cfi_offset 3, -8
 10818              		.cfi_offset 14, -4
6660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10819              		.loc 1 6660 3 is_stmt 1 view .LVU3800
6660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10820              		.loc 1 6660 11 is_stmt 0 view .LVU3801
 10821 0002 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
6660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 10822              		.loc 1 6660 6 view .LVU3802
 10823 0006 602B     		cmp	r3, #96
 10824 0008 06D0     		beq	.L691
6677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10825              		.loc 1 6677 5 is_stmt 1 view .LVU3803
6677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10826              		.loc 1 6677 25 is_stmt 0 view .LVU3804
 10827 000a 0023     		movs	r3, #0
 10828 000c 0363     		str	r3, [r0, #48]
6680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10829              		.loc 1 6680 5 is_stmt 1 view .LVU3805
6680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10830              		.loc 1 6680 5 view .LVU3806
 10831 000e 80F84030 		strb	r3, [r0, #64]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 385


6680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10832              		.loc 1 6680 5 view .LVU3807
6686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10833              		.loc 1 6686 5 view .LVU3808
 10834 0012 FFF7FEFF 		bl	HAL_I2C_ErrorCallback
 10835              	.LVL777:
 10836              	.L687:
6689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10837              		.loc 1 6689 1 is_stmt 0 view .LVU3809
 10838 0016 08BD     		pop	{r3, pc}
 10839              	.LVL778:
 10840              	.L691:
6662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 10841              		.loc 1 6662 5 is_stmt 1 view .LVU3810
6662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 10842              		.loc 1 6662 17 is_stmt 0 view .LVU3811
 10843 0018 2023     		movs	r3, #32
 10844 001a 80F84130 		strb	r3, [r0, #65]
6663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10845              		.loc 1 6663 5 is_stmt 1 view .LVU3812
6663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10846              		.loc 1 6663 25 is_stmt 0 view .LVU3813
 10847 001e 0023     		movs	r3, #0
 10848 0020 0363     		str	r3, [r0, #48]
6666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10849              		.loc 1 6666 5 is_stmt 1 view .LVU3814
6666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10850              		.loc 1 6666 5 view .LVU3815
 10851 0022 80F84030 		strb	r3, [r0, #64]
6666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10852              		.loc 1 6666 5 view .LVU3816
6672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10853              		.loc 1 6672 5 view .LVU3817
 10854 0026 FFF7FEFF 		bl	HAL_I2C_AbortCpltCallback
 10855              	.LVL779:
6672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 10856              		.loc 1 6672 5 is_stmt 0 view .LVU3818
 10857 002a F4E7     		b	.L687
 10858              		.cfi_endproc
 10859              	.LFE399:
 10861              		.section	.text.I2C_ITError,"ax",%progbits
 10862              		.align	1
 10863              		.syntax unified
 10864              		.thumb
 10865              		.thumb_func
 10867              	I2C_ITError:
 10868              	.LVL780:
 10869              	.LFB398:
6528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmpstate = hi2c->State;
 10870              		.loc 1 6528 1 is_stmt 1 view -0
 10871              		.cfi_startproc
 10872              		@ args = 0, pretend = 0, frame = 0
 10873              		@ frame_needed = 0, uses_anonymous_args = 0
6528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmpstate = hi2c->State;
 10874              		.loc 1 6528 1 is_stmt 0 view .LVU3820
 10875 0000 10B5     		push	{r4, lr}
 10876              		.cfi_def_cfa_offset 8
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 386


 10877              		.cfi_offset 4, -8
 10878              		.cfi_offset 14, -4
 10879 0002 0446     		mov	r4, r0
6529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10880              		.loc 1 6529 3 is_stmt 1 view .LVU3821
6529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10881              		.loc 1 6529 24 is_stmt 0 view .LVU3822
 10882 0004 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
 10883              	.LVL781:
6531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10884              		.loc 1 6531 3 is_stmt 1 view .LVU3823
6534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferOptions   = I2C_NO_OPTION_FRAME;
 10885              		.loc 1 6534 3 view .LVU3824
6534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferOptions   = I2C_NO_OPTION_FRAME;
 10886              		.loc 1 6534 23 is_stmt 0 view .LVU3825
 10887 0008 0022     		movs	r2, #0
 10888 000a 80F84220 		strb	r2, [r0, #66]
6535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferCount     = 0U;
 10889              		.loc 1 6535 3 is_stmt 1 view .LVU3826
6535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferCount     = 0U;
 10890              		.loc 1 6535 23 is_stmt 0 view .LVU3827
 10891 000e 4548     		ldr	r0, .L705
 10892              	.LVL782:
6535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferCount     = 0U;
 10893              		.loc 1 6535 23 view .LVU3828
 10894 0010 E062     		str	r0, [r4, #44]
6536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10895              		.loc 1 6536 3 is_stmt 1 view .LVU3829
6536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10896              		.loc 1 6536 23 is_stmt 0 view .LVU3830
 10897 0012 6285     		strh	r2, [r4, #42]	@ movhi
6539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10898              		.loc 1 6539 3 is_stmt 1 view .LVU3831
6539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10899              		.loc 1 6539 7 is_stmt 0 view .LVU3832
 10900 0014 626C     		ldr	r2, [r4, #68]
6539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10901              		.loc 1 6539 19 view .LVU3833
 10902 0016 0A43     		orrs	r2, r2, r1
 10903 0018 6264     		str	r2, [r4, #68]
6542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
 10904              		.loc 1 6542 3 is_stmt 1 view .LVU3834
6543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
 10905              		.loc 1 6543 50 is_stmt 0 view .LVU3835
 10906 001a 283B     		subs	r3, r3, #40
 10907              	.LVL783:
6543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
 10908              		.loc 1 6543 50 view .LVU3836
 10909 001c DBB2     		uxtb	r3, r3
 10910              	.LVL784:
6542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
 10911              		.loc 1 6542 6 view .LVU3837
 10912 001e 022B     		cmp	r3, #2
 10913 0020 2DD8     		bhi	.L693
6547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10914              		.loc 1 6547 5 is_stmt 1 view .LVU3838
 10915 0022 0321     		movs	r1, #3
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 387


 10916              	.LVL785:
6547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10917              		.loc 1 6547 5 is_stmt 0 view .LVU3839
 10918 0024 2046     		mov	r0, r4
 10919 0026 FFF7FEFF 		bl	I2C_Disable_IRQ
 10920              	.LVL786:
6550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR       = I2C_Slave_ISR_IT;
 10921              		.loc 1 6550 5 is_stmt 1 view .LVU3840
6550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferISR       = I2C_Slave_ISR_IT;
 10922              		.loc 1 6550 25 is_stmt 0 view .LVU3841
 10923 002a 2823     		movs	r3, #40
 10924 002c 84F84130 		strb	r3, [r4, #65]
6551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10925              		.loc 1 6551 5 is_stmt 1 view .LVU3842
6551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 10926              		.loc 1 6551 25 is_stmt 0 view .LVU3843
 10927 0030 3D4B     		ldr	r3, .L705+4
 10928 0032 6363     		str	r3, [r4, #52]
 10929              	.L694:
6586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10930              		.loc 1 6586 3 is_stmt 1 view .LVU3844
6586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10931              		.loc 1 6586 20 is_stmt 0 view .LVU3845
 10932 0034 236B     		ldr	r3, [r4, #48]
 10933              	.LVL787:
6588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                  (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
 10934              		.loc 1 6588 3 is_stmt 1 view .LVU3846
6588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                  (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
 10935              		.loc 1 6588 12 is_stmt 0 view .LVU3847
 10936 0036 A26B     		ldr	r2, [r4, #56]
6588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                  (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
 10937              		.loc 1 6588 6 view .LVU3848
 10938 0038 002A     		cmp	r2, #0
 10939 003a 48D0     		beq	.L697
6588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                  (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
 10940              		.loc 1 6588 30 discriminator 1 view .LVU3849
 10941 003c 212B     		cmp	r3, #33
 10942 003e 18BF     		it	ne
 10943 0040 112B     		cmpne	r3, #17
 10944 0042 44D1     		bne	.L697
6591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10945              		.loc 1 6591 5 is_stmt 1 view .LVU3850
6591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10946              		.loc 1 6591 14 is_stmt 0 view .LVU3851
 10947 0044 2368     		ldr	r3, [r4]
 10948              	.LVL788:
6591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10949              		.loc 1 6591 24 view .LVU3852
 10950 0046 1A68     		ldr	r2, [r3]
6591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10951              		.loc 1 6591 8 view .LVU3853
 10952 0048 12F4804F 		tst	r2, #16384
 10953 004c 03D0     		beq	.L698
6593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 10954              		.loc 1 6593 7 is_stmt 1 view .LVU3854
6593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 10955              		.loc 1 6593 21 is_stmt 0 view .LVU3855
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 388


 10956 004e 1A68     		ldr	r2, [r3]
6593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 10957              		.loc 1 6593 27 view .LVU3856
 10958 0050 22F48042 		bic	r2, r2, #16384
 10959 0054 1A60     		str	r2, [r3]
 10960              	.L698:
6596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10961              		.loc 1 6596 5 is_stmt 1 view .LVU3857
6596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10962              		.loc 1 6596 9 is_stmt 0 view .LVU3858
 10963 0056 A06B     		ldr	r0, [r4, #56]
 10964 0058 FFF7FEFF 		bl	HAL_DMA_GetState
 10965              	.LVL789:
6596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 10966              		.loc 1 6596 8 discriminator 1 view .LVU3859
 10967 005c 0128     		cmp	r0, #1
 10968 005e 32D0     		beq	.L699
6600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10969              		.loc 1 6600 7 is_stmt 1 view .LVU3860
6600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10970              		.loc 1 6600 11 is_stmt 0 view .LVU3861
 10971 0060 A36B     		ldr	r3, [r4, #56]
6600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10972              		.loc 1 6600 39 view .LVU3862
 10973 0062 324A     		ldr	r2, .L705+8
 10974 0064 1A65     		str	r2, [r3, #80]
6603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10975              		.loc 1 6603 7 is_stmt 1 view .LVU3863
6603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10976              		.loc 1 6603 7 view .LVU3864
 10977 0066 0023     		movs	r3, #0
 10978 0068 84F84030 		strb	r3, [r4, #64]
6603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10979              		.loc 1 6603 7 view .LVU3865
6606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 10980              		.loc 1 6606 7 view .LVU3866
6606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 10981              		.loc 1 6606 11 is_stmt 0 view .LVU3867
 10982 006c A06B     		ldr	r0, [r4, #56]
 10983 006e FFF7FEFF 		bl	HAL_DMA_Abort_IT
 10984              	.LVL790:
6606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 10985              		.loc 1 6606 10 discriminator 1 view .LVU3868
 10986 0072 0028     		cmp	r0, #0
 10987 0074 54D0     		beq	.L692
6609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 10988              		.loc 1 6609 9 is_stmt 1 view .LVU3869
6609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 10989              		.loc 1 6609 13 is_stmt 0 view .LVU3870
 10990 0076 A06B     		ldr	r0, [r4, #56]
6609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 10991              		.loc 1 6609 21 view .LVU3871
 10992 0078 036D     		ldr	r3, [r0, #80]
6609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 10993              		.loc 1 6609 9 view .LVU3872
 10994 007a 9847     		blx	r3
 10995              	.LVL791:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 389


 10996 007c 50E0     		b	.L692
 10997              	.LVL792:
 10998              	.L693:
6556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 10999              		.loc 1 6556 5 is_stmt 1 view .LVU3873
 11000 007e 48F20301 		movw	r1, #32771
 11001              	.LVL793:
6556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11002              		.loc 1 6556 5 is_stmt 0 view .LVU3874
 11003 0082 2046     		mov	r0, r4
 11004 0084 FFF7FEFF 		bl	I2C_Disable_IRQ
 11005              	.LVL794:
6559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11006              		.loc 1 6559 5 is_stmt 1 view .LVU3875
 11007 0088 2046     		mov	r0, r4
 11008 008a FFF7FEFF 		bl	I2C_Flush_TXDR
 11009              	.LVL795:
6563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11010              		.loc 1 6563 5 view .LVU3876
6563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11011              		.loc 1 6563 13 is_stmt 0 view .LVU3877
 11012 008e 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11013              		.loc 1 6563 8 view .LVU3878
 11014 0092 602B     		cmp	r3, #96
 11015 0094 14D0     		beq	.L695
6566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11016              		.loc 1 6566 7 is_stmt 1 view .LVU3879
6566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11017              		.loc 1 6566 27 is_stmt 0 view .LVU3880
 11018 0096 2023     		movs	r3, #32
 11019 0098 84F84130 		strb	r3, [r4, #65]
6569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11020              		.loc 1 6569 7 is_stmt 1 view .LVU3881
6569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11021              		.loc 1 6569 11 is_stmt 0 view .LVU3882
 11022 009c 2368     		ldr	r3, [r4]
 11023 009e 9A69     		ldr	r2, [r3, #24]
6569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11024              		.loc 1 6569 10 view .LVU3883
 11025 00a0 12F0200F 		tst	r2, #32
 11026 00a4 0CD0     		beq	.L695
6571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 11027              		.loc 1 6571 9 is_stmt 1 view .LVU3884
6571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 11028              		.loc 1 6571 13 is_stmt 0 view .LVU3885
 11029 00a6 9A69     		ldr	r2, [r3, #24]
6571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 11030              		.loc 1 6571 12 view .LVU3886
 11031 00a8 12F0100F 		tst	r2, #16
 11032 00ac 05D0     		beq	.L696
6573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
 11033              		.loc 1 6573 11 is_stmt 1 view .LVU3887
 11034 00ae 1022     		movs	r2, #16
 11035 00b0 DA61     		str	r2, [r3, #28]
6574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 11036              		.loc 1 6574 11 view .LVU3888
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 390


6574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 11037              		.loc 1 6574 15 is_stmt 0 view .LVU3889
 11038 00b2 636C     		ldr	r3, [r4, #68]
6574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 11039              		.loc 1 6574 27 view .LVU3890
 11040 00b4 43F00403 		orr	r3, r3, #4
 11041 00b8 6364     		str	r3, [r4, #68]
 11042              	.L696:
6578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11043              		.loc 1 6578 9 is_stmt 1 view .LVU3891
 11044 00ba 2368     		ldr	r3, [r4]
 11045 00bc 2022     		movs	r2, #32
 11046 00be DA61     		str	r2, [r3, #28]
 11047              	.L695:
6582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11048              		.loc 1 6582 5 view .LVU3892
6582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11049              		.loc 1 6582 25 is_stmt 0 view .LVU3893
 11050 00c0 0023     		movs	r3, #0
 11051 00c2 6363     		str	r3, [r4, #52]
 11052 00c4 B6E7     		b	.L694
 11053              	.LVL796:
 11054              	.L699:
6614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11055              		.loc 1 6614 7 is_stmt 1 view .LVU3894
 11056 00c6 2046     		mov	r0, r4
 11057 00c8 FFF7FEFF 		bl	I2C_TreatErrorCallback
 11058              	.LVL797:
 11059 00cc 28E0     		b	.L692
 11060              	.LVL798:
 11061              	.L697:
6618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                       (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
 11062              		.loc 1 6618 8 view .LVU3895
6618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                       (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
 11063              		.loc 1 6618 17 is_stmt 0 view .LVU3896
 11064 00ce E26B     		ldr	r2, [r4, #60]
6618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                       (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
 11065              		.loc 1 6618 11 view .LVU3897
 11066 00d0 1AB3     		cbz	r2, .L701
6618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                                       (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
 11067              		.loc 1 6618 35 discriminator 1 view .LVU3898
 11068 00d2 222B     		cmp	r3, #34
 11069 00d4 18BF     		it	ne
 11070 00d6 122B     		cmpne	r3, #18
 11071 00d8 1FD1     		bne	.L701
6621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11072              		.loc 1 6621 5 is_stmt 1 view .LVU3899
6621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11073              		.loc 1 6621 14 is_stmt 0 view .LVU3900
 11074 00da 2368     		ldr	r3, [r4]
 11075              	.LVL799:
6621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11076              		.loc 1 6621 24 view .LVU3901
 11077 00dc 1A68     		ldr	r2, [r3]
6621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11078              		.loc 1 6621 8 view .LVU3902
 11079 00de 12F4004F 		tst	r2, #32768
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 391


 11080 00e2 03D0     		beq	.L702
6623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11081              		.loc 1 6623 7 is_stmt 1 view .LVU3903
6623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11082              		.loc 1 6623 21 is_stmt 0 view .LVU3904
 11083 00e4 1A68     		ldr	r2, [r3]
6623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11084              		.loc 1 6623 27 view .LVU3905
 11085 00e6 22F40042 		bic	r2, r2, #32768
 11086 00ea 1A60     		str	r2, [r3]
 11087              	.L702:
6626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11088              		.loc 1 6626 5 is_stmt 1 view .LVU3906
6626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11089              		.loc 1 6626 9 is_stmt 0 view .LVU3907
 11090 00ec E06B     		ldr	r0, [r4, #60]
 11091 00ee FFF7FEFF 		bl	HAL_DMA_GetState
 11092              	.LVL800:
6626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11093              		.loc 1 6626 8 discriminator 1 view .LVU3908
 11094 00f2 0128     		cmp	r0, #1
 11095 00f4 0DD0     		beq	.L703
6630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11096              		.loc 1 6630 7 is_stmt 1 view .LVU3909
6630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11097              		.loc 1 6630 11 is_stmt 0 view .LVU3910
 11098 00f6 E36B     		ldr	r3, [r4, #60]
6630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11099              		.loc 1 6630 39 view .LVU3911
 11100 00f8 0C4A     		ldr	r2, .L705+8
 11101 00fa 1A65     		str	r2, [r3, #80]
6633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11102              		.loc 1 6633 7 is_stmt 1 view .LVU3912
6633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11103              		.loc 1 6633 7 view .LVU3913
 11104 00fc 0023     		movs	r3, #0
 11105 00fe 84F84030 		strb	r3, [r4, #64]
6633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11106              		.loc 1 6633 7 view .LVU3914
6636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11107              		.loc 1 6636 7 view .LVU3915
6636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11108              		.loc 1 6636 11 is_stmt 0 view .LVU3916
 11109 0102 E06B     		ldr	r0, [r4, #60]
 11110 0104 FFF7FEFF 		bl	HAL_DMA_Abort_IT
 11111              	.LVL801:
6636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11112              		.loc 1 6636 10 discriminator 1 view .LVU3917
 11113 0108 50B1     		cbz	r0, .L692
6639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11114              		.loc 1 6639 9 is_stmt 1 view .LVU3918
6639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11115              		.loc 1 6639 13 is_stmt 0 view .LVU3919
 11116 010a E06B     		ldr	r0, [r4, #60]
6639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11117              		.loc 1 6639 21 view .LVU3920
 11118 010c 036D     		ldr	r3, [r0, #80]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 392


6639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11119              		.loc 1 6639 9 view .LVU3921
 11120 010e 9847     		blx	r3
 11121              	.LVL802:
 11122 0110 06E0     		b	.L692
 11123              	.L703:
6644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11124              		.loc 1 6644 7 is_stmt 1 view .LVU3922
 11125 0112 2046     		mov	r0, r4
 11126 0114 FFF7FEFF 		bl	I2C_TreatErrorCallback
 11127              	.LVL803:
 11128 0118 02E0     		b	.L692
 11129              	.LVL804:
 11130              	.L701:
6649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11131              		.loc 1 6649 5 view .LVU3923
 11132 011a 2046     		mov	r0, r4
 11133 011c FFF7FEFF 		bl	I2C_TreatErrorCallback
 11134              	.LVL805:
 11135              	.L692:
6651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11136              		.loc 1 6651 1 is_stmt 0 view .LVU3924
 11137 0120 10BD     		pop	{r4, pc}
 11138              	.LVL806:
 11139              	.L706:
6651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11140              		.loc 1 6651 1 view .LVU3925
 11141 0122 00BF     		.align	2
 11142              	.L705:
 11143 0124 0000FFFF 		.word	-65536
 11144 0128 00000000 		.word	I2C_Slave_ISR_IT
 11145 012c 00000000 		.word	I2C_DMAAbort
 11146              		.cfi_endproc
 11147              	.LFE398:
 11149              		.section	.text.I2C_ITSlaveCplt,"ax",%progbits
 11150              		.align	1
 11151              		.syntax unified
 11152              		.thumb
 11153              		.thumb_func
 11155              	I2C_ITSlaveCplt:
 11156              	.LVL807:
 11157              	.LFB396:
6261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
 11158              		.loc 1 6261 1 is_stmt 1 view -0
 11159              		.cfi_startproc
 11160              		@ args = 0, pretend = 0, frame = 0
 11161              		@ frame_needed = 0, uses_anonymous_args = 0
6261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
 11162              		.loc 1 6261 1 is_stmt 0 view .LVU3927
 11163 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 11164              		.cfi_def_cfa_offset 24
 11165              		.cfi_offset 3, -24
 11166              		.cfi_offset 4, -20
 11167              		.cfi_offset 5, -16
 11168              		.cfi_offset 6, -12
 11169              		.cfi_offset 7, -8
 11170              		.cfi_offset 14, -4
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 393


 11171 0002 0446     		mov	r4, r0
 11172 0004 0D46     		mov	r5, r1
6262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
 11173              		.loc 1 6262 3 is_stmt 1 view .LVU3928
6262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
 11174              		.loc 1 6262 26 is_stmt 0 view .LVU3929
 11175 0006 0268     		ldr	r2, [r0]
6262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
 11176              		.loc 1 6262 12 view .LVU3930
 11177 0008 1668     		ldr	r6, [r2]
 11178              	.LVL808:
6263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
 11179              		.loc 1 6263 3 is_stmt 1 view .LVU3931
6264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmpstate = hi2c->State;
 11180              		.loc 1 6264 3 view .LVU3932
6264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmpstate = hi2c->State;
 11181              		.loc 1 6264 12 is_stmt 0 view .LVU3933
 11182 000a C76A     		ldr	r7, [r0, #44]
 11183              	.LVL809:
6265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11184              		.loc 1 6265 3 is_stmt 1 view .LVU3934
6265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11185              		.loc 1 6265 24 is_stmt 0 view .LVU3935
 11186 000c 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
 11187              	.LVL810:
6268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11188              		.loc 1 6268 3 is_stmt 1 view .LVU3936
 11189 0010 2021     		movs	r1, #32
 11190              	.LVL811:
6268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11191              		.loc 1 6268 3 is_stmt 0 view .LVU3937
 11192 0012 D161     		str	r1, [r2, #28]
6271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11193              		.loc 1 6271 3 is_stmt 1 view .LVU3938
 11194 0014 213B     		subs	r3, r3, #33
 11195              	.LVL812:
6271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11196              		.loc 1 6271 3 is_stmt 0 view .LVU3939
 11197 0016 092B     		cmp	r3, #9
 11198 0018 0CD8     		bhi	.L708
 11199 001a DFE803F0 		tbb	[pc, r3]
 11200              	.L710:
 11201 001e 05       		.byte	(.L711-.L710)/2
 11202 001f 5F       		.byte	(.L709-.L710)/2
 11203 0020 0B       		.byte	(.L708-.L710)/2
 11204 0021 0B       		.byte	(.L708-.L710)/2
 11205 0022 0B       		.byte	(.L708-.L710)/2
 11206 0023 0B       		.byte	(.L708-.L710)/2
 11207 0024 0B       		.byte	(.L708-.L710)/2
 11208 0025 66       		.byte	(.L712-.L710)/2
 11209 0026 05       		.byte	(.L711-.L710)/2
 11210 0027 5F       		.byte	(.L709-.L710)/2
 11211              		.p2align 1
 11212              	.L711:
6273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
 11213              		.loc 1 6273 5 is_stmt 1 view .LVU3940
 11214 0028 48F20101 		movw	r1, #32769
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 394


 11215 002c FFF7FEFF 		bl	I2C_Disable_IRQ
 11216              	.LVL813:
6274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11217              		.loc 1 6274 5 view .LVU3941
6274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11218              		.loc 1 6274 25 is_stmt 0 view .LVU3942
 11219 0030 2123     		movs	r3, #33
 11220 0032 2363     		str	r3, [r4, #48]
 11221              	.L708:
6289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11222              		.loc 1 6289 3 is_stmt 1 view .LVU3943
6292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11223              		.loc 1 6292 3 view .LVU3944
6292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11224              		.loc 1 6292 7 is_stmt 0 view .LVU3945
 11225 0034 2268     		ldr	r2, [r4]
6292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11226              		.loc 1 6292 17 view .LVU3946
 11227 0036 5368     		ldr	r3, [r2, #4]
6292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11228              		.loc 1 6292 23 view .LVU3947
 11229 0038 43F40043 		orr	r3, r3, #32768
 11230 003c 5360     		str	r3, [r2, #4]
6295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11231              		.loc 1 6295 3 is_stmt 1 view .LVU3948
 11232 003e 2268     		ldr	r2, [r4]
 11233 0040 5368     		ldr	r3, [r2, #4]
 11234 0042 23F0FF73 		bic	r3, r3, #33423360
 11235 0046 23F48B33 		bic	r3, r3, #71168
 11236 004a 23F4FF73 		bic	r3, r3, #510
 11237 004e 23F00103 		bic	r3, r3, #1
 11238 0052 5360     		str	r3, [r2, #4]
6298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11239              		.loc 1 6298 3 view .LVU3949
 11240 0054 2046     		mov	r0, r4
 11241 0056 FFF7FEFF 		bl	I2C_Flush_TXDR
 11242              	.LVL814:
6301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11243              		.loc 1 6301 3 view .LVU3950
6301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11244              		.loc 1 6301 6 is_stmt 0 view .LVU3951
 11245 005a 16F4804F 		tst	r6, #16384
 11246 005e 00F09B80 		beq	.L713
6304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11247              		.loc 1 6304 5 is_stmt 1 view .LVU3952
6304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11248              		.loc 1 6304 9 is_stmt 0 view .LVU3953
 11249 0062 2268     		ldr	r2, [r4]
6304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11250              		.loc 1 6304 19 view .LVU3954
 11251 0064 1368     		ldr	r3, [r2]
6304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11252              		.loc 1 6304 25 view .LVU3955
 11253 0066 23F48043 		bic	r3, r3, #16384
 11254 006a 1360     		str	r3, [r2]
6306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11255              		.loc 1 6306 5 is_stmt 1 view .LVU3956
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 395


6306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11256              		.loc 1 6306 13 is_stmt 0 view .LVU3957
 11257 006c A36B     		ldr	r3, [r4, #56]
6306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11258              		.loc 1 6306 8 view .LVU3958
 11259 006e 002B     		cmp	r3, #0
 11260 0070 45D0     		beq	.L714
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11261              		.loc 1 6308 7 is_stmt 1 view .LVU3959
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11262              		.loc 1 6308 35 is_stmt 0 view .LVU3960
 11263 0072 1B68     		ldr	r3, [r3]
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11264              		.loc 1 6308 25 view .LVU3961
 11265 0074 9249     		ldr	r1, .L738
 11266 0076 934A     		ldr	r2, .L738+4
 11267 0078 9342     		cmp	r3, r2
 11268 007a 18BF     		it	ne
 11269 007c 8B42     		cmpne	r3, r1
 11270 007e 3BD0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11271              		.loc 1 6308 35 discriminator 2 view .LVU3962
 11272 0080 1832     		adds	r2, r2, #24
 11273 0082 9342     		cmp	r3, r2
 11274 0084 38D0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11275              		.loc 1 6308 35 discriminator 4 view .LVU3963
 11276 0086 1832     		adds	r2, r2, #24
 11277 0088 9342     		cmp	r3, r2
 11278 008a 35D0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11279              		.loc 1 6308 35 discriminator 6 view .LVU3964
 11280 008c 1832     		adds	r2, r2, #24
 11281 008e 9342     		cmp	r3, r2
 11282 0090 32D0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11283              		.loc 1 6308 35 discriminator 8 view .LVU3965
 11284 0092 1832     		adds	r2, r2, #24
 11285 0094 9342     		cmp	r3, r2
 11286 0096 2FD0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11287              		.loc 1 6308 35 discriminator 10 view .LVU3966
 11288 0098 1832     		adds	r2, r2, #24
 11289 009a 9342     		cmp	r3, r2
 11290 009c 2CD0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11291              		.loc 1 6308 35 discriminator 12 view .LVU3967
 11292 009e 1832     		adds	r2, r2, #24
 11293 00a0 9342     		cmp	r3, r2
 11294 00a2 29D0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11295              		.loc 1 6308 35 discriminator 14 view .LVU3968
 11296 00a4 02F55672 		add	r2, r2, #856
 11297 00a8 9342     		cmp	r3, r2
 11298 00aa 25D0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11299              		.loc 1 6308 35 discriminator 16 view .LVU3969
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 396


 11300 00ac 1832     		adds	r2, r2, #24
 11301 00ae 9342     		cmp	r3, r2
 11302 00b0 22D0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11303              		.loc 1 6308 35 discriminator 18 view .LVU3970
 11304 00b2 1832     		adds	r2, r2, #24
 11305 00b4 9342     		cmp	r3, r2
 11306 00b6 1FD0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11307              		.loc 1 6308 35 discriminator 20 view .LVU3971
 11308 00b8 1832     		adds	r2, r2, #24
 11309 00ba 9342     		cmp	r3, r2
 11310 00bc 1CD0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11311              		.loc 1 6308 35 discriminator 22 view .LVU3972
 11312 00be 1832     		adds	r2, r2, #24
 11313 00c0 9342     		cmp	r3, r2
 11314 00c2 19D0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11315              		.loc 1 6308 35 discriminator 24 view .LVU3973
 11316 00c4 1832     		adds	r2, r2, #24
 11317 00c6 9342     		cmp	r3, r2
 11318 00c8 16D0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11319              		.loc 1 6308 35 discriminator 26 view .LVU3974
 11320 00ca 1832     		adds	r2, r2, #24
 11321 00cc 9342     		cmp	r3, r2
 11322 00ce 13D0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11323              		.loc 1 6308 35 discriminator 28 view .LVU3975
 11324 00d0 1832     		adds	r2, r2, #24
 11325 00d2 9342     		cmp	r3, r2
 11326 00d4 10D0     		beq	.L715
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11327              		.loc 1 6308 35 discriminator 30 view .LVU3976
 11328 00d6 5B68     		ldr	r3, [r3, #4]
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11329              		.loc 1 6308 25 discriminator 30 view .LVU3977
 11330 00d8 9BB2     		uxth	r3, r3
 11331 00da 0FE0     		b	.L717
 11332              	.LVL815:
 11333              	.L709:
6278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
 11334              		.loc 1 6278 5 is_stmt 1 view .LVU3978
 11335 00dc 48F20201 		movw	r1, #32770
 11336 00e0 FFF7FEFF 		bl	I2C_Disable_IRQ
 11337              	.LVL816:
6279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11338              		.loc 1 6279 5 view .LVU3979
6279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11339              		.loc 1 6279 25 is_stmt 0 view .LVU3980
 11340 00e4 2223     		movs	r3, #34
 11341 00e6 2363     		str	r3, [r4, #48]
 11342 00e8 A4E7     		b	.L708
 11343              	.LVL817:
 11344              	.L712:
6283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 397


 11345              		.loc 1 6283 5 is_stmt 1 view .LVU3981
 11346 00ea 48F20301 		movw	r1, #32771
 11347 00ee FFF7FEFF 		bl	I2C_Disable_IRQ
 11348              	.LVL818:
6284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11349              		.loc 1 6284 5 view .LVU3982
6284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11350              		.loc 1 6284 25 is_stmt 0 view .LVU3983
 11351 00f2 0023     		movs	r3, #0
 11352 00f4 2363     		str	r3, [r4, #48]
 11353 00f6 9DE7     		b	.L708
 11354              	.L715:
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11355              		.loc 1 6308 35 discriminator 29 view .LVU3984
 11356 00f8 5B68     		ldr	r3, [r3, #4]
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11357              		.loc 1 6308 25 discriminator 29 view .LVU3985
 11358 00fa 9BB2     		uxth	r3, r3
 11359              	.L717:
6308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11360              		.loc 1 6308 23 discriminator 32 view .LVU3986
 11361 00fc 6385     		strh	r3, [r4, #42]	@ movhi
 11362              	.L714:
6324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11363              		.loc 1 6324 3 is_stmt 1 view .LVU3987
6327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11364              		.loc 1 6327 3 view .LVU3988
6327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11365              		.loc 1 6327 6 is_stmt 0 view .LVU3989
 11366 00fe 15F0040F 		tst	r5, #4
 11367 0102 11D0     		beq	.L721
6330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11368              		.loc 1 6330 5 is_stmt 1 view .LVU3990
6330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11369              		.loc 1 6330 16 is_stmt 0 view .LVU3991
 11370 0104 25F00405 		bic	r5, r5, #4
 11371              	.LVL819:
6333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11372              		.loc 1 6333 5 is_stmt 1 view .LVU3992
6333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11373              		.loc 1 6333 36 is_stmt 0 view .LVU3993
 11374 0108 2368     		ldr	r3, [r4]
6333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11375              		.loc 1 6333 46 view .LVU3994
 11376 010a 5A6A     		ldr	r2, [r3, #36]
6333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11377              		.loc 1 6333 10 view .LVU3995
 11378 010c 636A     		ldr	r3, [r4, #36]
6333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11379              		.loc 1 6333 21 view .LVU3996
 11380 010e 1A70     		strb	r2, [r3]
6336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11381              		.loc 1 6336 5 is_stmt 1 view .LVU3997
6336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11382              		.loc 1 6336 9 is_stmt 0 view .LVU3998
 11383 0110 636A     		ldr	r3, [r4, #36]
6336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 398


 11384              		.loc 1 6336 19 view .LVU3999
 11385 0112 0133     		adds	r3, r3, #1
 11386 0114 6362     		str	r3, [r4, #36]
6338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11387              		.loc 1 6338 5 is_stmt 1 view .LVU4000
6338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11388              		.loc 1 6338 14 is_stmt 0 view .LVU4001
 11389 0116 238D     		ldrh	r3, [r4, #40]
6338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11390              		.loc 1 6338 8 view .LVU4002
 11391 0118 33B1     		cbz	r3, .L721
6340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 11392              		.loc 1 6340 7 is_stmt 1 view .LVU4003
6340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 11393              		.loc 1 6340 21 is_stmt 0 view .LVU4004
 11394 011a 013B     		subs	r3, r3, #1
 11395 011c 2385     		strh	r3, [r4, #40]	@ movhi
6341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11396              		.loc 1 6341 7 is_stmt 1 view .LVU4005
6341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11397              		.loc 1 6341 11 is_stmt 0 view .LVU4006
 11398 011e 638D     		ldrh	r3, [r4, #42]
 11399 0120 9BB2     		uxth	r3, r3
6341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11400              		.loc 1 6341 22 view .LVU4007
 11401 0122 013B     		subs	r3, r3, #1
 11402 0124 9BB2     		uxth	r3, r3
 11403 0126 6385     		strh	r3, [r4, #42]	@ movhi
 11404              	.L721:
6346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11405              		.loc 1 6346 3 is_stmt 1 view .LVU4008
6346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11406              		.loc 1 6346 11 is_stmt 0 view .LVU4009
 11407 0128 638D     		ldrh	r3, [r4, #42]
 11408 012a 9BB2     		uxth	r3, r3
6346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11409              		.loc 1 6346 6 view .LVU4010
 11410 012c 1BB1     		cbz	r3, .L722
6349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11411              		.loc 1 6349 5 is_stmt 1 view .LVU4011
6349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11412              		.loc 1 6349 9 is_stmt 0 view .LVU4012
 11413 012e 636C     		ldr	r3, [r4, #68]
6349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11414              		.loc 1 6349 21 view .LVU4013
 11415 0130 43F00403 		orr	r3, r3, #4
 11416 0134 6364     		str	r3, [r4, #68]
 11417              	.L722:
6352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET))
 11418              		.loc 1 6352 3 is_stmt 1 view .LVU4014
6352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET))
 11419              		.loc 1 6352 6 is_stmt 0 view .LVU4015
 11420 0136 15F0100F 		tst	r5, #16
 11421 013a 11D0     		beq	.L723
6352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET))
 11422              		.loc 1 6352 58 discriminator 1 view .LVU4016
 11423 013c 16F0100F 		tst	r6, #16
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 399


 11424 0140 0ED0     		beq	.L723
6359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11425              		.loc 1 6359 5 is_stmt 1 view .LVU4017
6359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11426              		.loc 1 6359 13 is_stmt 0 view .LVU4018
 11427 0142 638D     		ldrh	r3, [r4, #42]
 11428 0144 9BB2     		uxth	r3, r3
6359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11429              		.loc 1 6359 8 view .LVU4019
 11430 0146 002B     		cmp	r3, #0
 11431 0148 7FD1     		bne	.L724
6361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 11432              		.loc 1 6361 7 is_stmt 1 view .LVU4020
6361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 11433              		.loc 1 6361 16 is_stmt 0 view .LVU4021
 11434 014a 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 11435              		.loc 1 6361 10 view .LVU4022
 11436 014e 282B     		cmp	r3, #40
 11437 0150 66D0     		beq	.L733
 11438              	.L725:
6368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11439              		.loc 1 6368 12 is_stmt 1 view .LVU4023
6368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11440              		.loc 1 6368 21 is_stmt 0 view .LVU4024
 11441 0152 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11442              		.loc 1 6368 15 view .LVU4025
 11443 0156 292B     		cmp	r3, #41
 11444 0158 6AD0     		beq	.L734
 11445              	.L726:
6383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11446              		.loc 1 6383 9 is_stmt 1 view .LVU4026
 11447 015a 2368     		ldr	r3, [r4]
 11448 015c 1022     		movs	r2, #16
 11449 015e DA61     		str	r2, [r3, #28]
 11450              	.L723:
6403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferISR = NULL;
 11451              		.loc 1 6403 3 view .LVU4027
6403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferISR = NULL;
 11452              		.loc 1 6403 14 is_stmt 0 view .LVU4028
 11453 0160 0023     		movs	r3, #0
 11454 0162 84F84230 		strb	r3, [r4, #66]
6404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11455              		.loc 1 6404 3 is_stmt 1 view .LVU4029
6404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11456              		.loc 1 6404 17 is_stmt 0 view .LVU4030
 11457 0166 6363     		str	r3, [r4, #52]
6406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11458              		.loc 1 6406 3 is_stmt 1 view .LVU4031
6406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11459              		.loc 1 6406 11 is_stmt 0 view .LVU4032
 11460 0168 636C     		ldr	r3, [r4, #68]
6406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11461              		.loc 1 6406 6 view .LVU4033
 11462 016a 002B     		cmp	r3, #0
 11463 016c 7FD1     		bne	.L735
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 400


6418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11464              		.loc 1 6418 8 is_stmt 1 view .LVU4034
6418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11465              		.loc 1 6418 16 is_stmt 0 view .LVU4035
 11466 016e E36A     		ldr	r3, [r4, #44]
6418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11467              		.loc 1 6418 11 view .LVU4036
 11468 0170 13F5803F 		cmn	r3, #65536
 11469 0174 40F08880 		bne	.L736
6438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11470              		.loc 1 6438 8 is_stmt 1 view .LVU4037
6438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11471              		.loc 1 6438 16 is_stmt 0 view .LVU4038
 11472 0178 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11473              		.loc 1 6438 11 view .LVU4039
 11474 017c 222B     		cmp	r3, #34
 11475 017e 00F09380 		beq	.L737
6455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 11476              		.loc 1 6455 5 is_stmt 1 view .LVU4040
6455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 11477              		.loc 1 6455 17 is_stmt 0 view .LVU4041
 11478 0182 2023     		movs	r3, #32
 11479 0184 84F84130 		strb	r3, [r4, #65]
6456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11480              		.loc 1 6456 5 is_stmt 1 view .LVU4042
6456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11481              		.loc 1 6456 25 is_stmt 0 view .LVU4043
 11482 0188 0023     		movs	r3, #0
 11483 018a 2363     		str	r3, [r4, #48]
6459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11484              		.loc 1 6459 5 is_stmt 1 view .LVU4044
6459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11485              		.loc 1 6459 5 view .LVU4045
 11486 018c 84F84030 		strb	r3, [r4, #64]
6459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11487              		.loc 1 6459 5 view .LVU4046
6465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 11488              		.loc 1 6465 5 view .LVU4047
 11489 0190 2046     		mov	r0, r4
 11490 0192 FFF7FEFF 		bl	HAL_I2C_SlaveTxCpltCallback
 11491              	.LVL820:
6468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11492              		.loc 1 6468 1 is_stmt 0 view .LVU4048
 11493 0196 86E0     		b	.L707
 11494              	.LVL821:
 11495              	.L713:
6311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11496              		.loc 1 6311 8 is_stmt 1 view .LVU4049
6311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 11497              		.loc 1 6311 11 is_stmt 0 view .LVU4050
 11498 0198 16F4004F 		tst	r6, #32768
 11499 019c AFD0     		beq	.L714
6314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11500              		.loc 1 6314 5 is_stmt 1 view .LVU4051
6314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11501              		.loc 1 6314 9 is_stmt 0 view .LVU4052
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 401


 11502 019e 2268     		ldr	r2, [r4]
6314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11503              		.loc 1 6314 19 view .LVU4053
 11504 01a0 1368     		ldr	r3, [r2]
6314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11505              		.loc 1 6314 25 view .LVU4054
 11506 01a2 23F40043 		bic	r3, r3, #32768
 11507 01a6 1360     		str	r3, [r2]
6316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11508              		.loc 1 6316 5 is_stmt 1 view .LVU4055
6316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11509              		.loc 1 6316 13 is_stmt 0 view .LVU4056
 11510 01a8 E36B     		ldr	r3, [r4, #60]
6316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11511              		.loc 1 6316 8 view .LVU4057
 11512 01aa 002B     		cmp	r3, #0
 11513 01ac A7D0     		beq	.L714
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11514              		.loc 1 6318 7 is_stmt 1 view .LVU4058
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11515              		.loc 1 6318 35 is_stmt 0 view .LVU4059
 11516 01ae 1B68     		ldr	r3, [r3]
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11517              		.loc 1 6318 25 view .LVU4060
 11518 01b0 4349     		ldr	r1, .L738
 11519 01b2 444A     		ldr	r2, .L738+4
 11520 01b4 9342     		cmp	r3, r2
 11521 01b6 18BF     		it	ne
 11522 01b8 8B42     		cmpne	r3, r1
 11523 01ba 2DD0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11524              		.loc 1 6318 35 discriminator 2 view .LVU4061
 11525 01bc 1832     		adds	r2, r2, #24
 11526 01be 9342     		cmp	r3, r2
 11527 01c0 2AD0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11528              		.loc 1 6318 35 discriminator 4 view .LVU4062
 11529 01c2 1832     		adds	r2, r2, #24
 11530 01c4 9342     		cmp	r3, r2
 11531 01c6 27D0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11532              		.loc 1 6318 35 discriminator 6 view .LVU4063
 11533 01c8 1832     		adds	r2, r2, #24
 11534 01ca 9342     		cmp	r3, r2
 11535 01cc 24D0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11536              		.loc 1 6318 35 discriminator 8 view .LVU4064
 11537 01ce 1832     		adds	r2, r2, #24
 11538 01d0 9342     		cmp	r3, r2
 11539 01d2 21D0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11540              		.loc 1 6318 35 discriminator 10 view .LVU4065
 11541 01d4 1832     		adds	r2, r2, #24
 11542 01d6 9342     		cmp	r3, r2
 11543 01d8 1ED0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11544              		.loc 1 6318 35 discriminator 12 view .LVU4066
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 402


 11545 01da 1832     		adds	r2, r2, #24
 11546 01dc 9342     		cmp	r3, r2
 11547 01de 1BD0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11548              		.loc 1 6318 35 discriminator 14 view .LVU4067
 11549 01e0 02F55672 		add	r2, r2, #856
 11550 01e4 9342     		cmp	r3, r2
 11551 01e6 17D0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11552              		.loc 1 6318 35 discriminator 16 view .LVU4068
 11553 01e8 1832     		adds	r2, r2, #24
 11554 01ea 9342     		cmp	r3, r2
 11555 01ec 14D0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11556              		.loc 1 6318 35 discriminator 18 view .LVU4069
 11557 01ee 1832     		adds	r2, r2, #24
 11558 01f0 9342     		cmp	r3, r2
 11559 01f2 11D0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11560              		.loc 1 6318 35 discriminator 20 view .LVU4070
 11561 01f4 1832     		adds	r2, r2, #24
 11562 01f6 9342     		cmp	r3, r2
 11563 01f8 0ED0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11564              		.loc 1 6318 35 discriminator 22 view .LVU4071
 11565 01fa 1832     		adds	r2, r2, #24
 11566 01fc 9342     		cmp	r3, r2
 11567 01fe 0BD0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11568              		.loc 1 6318 35 discriminator 24 view .LVU4072
 11569 0200 1832     		adds	r2, r2, #24
 11570 0202 9342     		cmp	r3, r2
 11571 0204 08D0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11572              		.loc 1 6318 35 discriminator 26 view .LVU4073
 11573 0206 1832     		adds	r2, r2, #24
 11574 0208 9342     		cmp	r3, r2
 11575 020a 05D0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11576              		.loc 1 6318 35 discriminator 28 view .LVU4074
 11577 020c 1832     		adds	r2, r2, #24
 11578 020e 9342     		cmp	r3, r2
 11579 0210 02D0     		beq	.L718
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11580              		.loc 1 6318 35 discriminator 30 view .LVU4075
 11581 0212 5B68     		ldr	r3, [r3, #4]
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11582              		.loc 1 6318 25 discriminator 30 view .LVU4076
 11583 0214 9BB2     		uxth	r3, r3
 11584 0216 01E0     		b	.L720
 11585              	.L718:
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11586              		.loc 1 6318 35 discriminator 29 view .LVU4077
 11587 0218 5B68     		ldr	r3, [r3, #4]
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11588              		.loc 1 6318 25 discriminator 29 view .LVU4078
 11589 021a 9BB2     		uxth	r3, r3
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 403


 11590              	.L720:
6318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11591              		.loc 1 6318 23 discriminator 32 view .LVU4079
 11592 021c 6385     		strh	r3, [r4, #42]	@ movhi
 11593 021e 6EE7     		b	.L714
 11594              	.LVL822:
 11595              	.L733:
6361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 11596              		.loc 1 6361 49 discriminator 1 view .LVU4080
 11597 0220 B7F1007F 		cmp	r7, #33554432
 11598 0224 95D1     		bne	.L725
6366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11599              		.loc 1 6366 9 is_stmt 1 view .LVU4081
 11600 0226 2946     		mov	r1, r5
 11601 0228 2046     		mov	r0, r4
 11602 022a FFF7FEFF 		bl	I2C_ITListenCplt
 11603              	.LVL823:
 11604 022e 97E7     		b	.L723
 11605              	.L734:
6368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11606              		.loc 1 6368 62 is_stmt 0 discriminator 1 view .LVU4082
 11607 0230 17F5803F 		cmn	r7, #65536
 11608 0234 91D0     		beq	.L726
6371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11609              		.loc 1 6371 9 is_stmt 1 view .LVU4083
 11610 0236 2368     		ldr	r3, [r4]
 11611 0238 1022     		movs	r2, #16
 11612 023a DA61     		str	r2, [r3, #28]
6374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11613              		.loc 1 6374 9 view .LVU4084
 11614 023c 2046     		mov	r0, r4
 11615 023e FFF7FEFF 		bl	I2C_Flush_TXDR
 11616              	.LVL824:
6378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11617              		.loc 1 6378 9 view .LVU4085
 11618 0242 2046     		mov	r0, r4
 11619 0244 FFF7FEFF 		bl	I2C_ITSlaveSeqCplt
 11620              	.LVL825:
 11621 0248 8AE7     		b	.L723
 11622              	.L724:
6390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11623              		.loc 1 6390 7 view .LVU4086
 11624 024a 2368     		ldr	r3, [r4]
 11625 024c 1022     		movs	r2, #16
 11626 024e DA61     		str	r2, [r3, #28]
6393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11627              		.loc 1 6393 7 view .LVU4087
6393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11628              		.loc 1 6393 11 is_stmt 0 view .LVU4088
 11629 0250 636C     		ldr	r3, [r4, #68]
6393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11630              		.loc 1 6393 23 view .LVU4089
 11631 0252 43F00403 		orr	r3, r3, #4
 11632 0256 6364     		str	r3, [r4, #68]
6395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11633              		.loc 1 6395 7 is_stmt 1 view .LVU4090
6395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 404


 11634              		.loc 1 6395 10 is_stmt 0 view .LVU4091
 11635 0258 B7F1807F 		cmp	r7, #16777216
 11636 025c 18BF     		it	ne
 11637 025e 002F     		cmpne	r7, #0
 11638 0260 7FF47EAF 		bne	.L723
6398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11639              		.loc 1 6398 9 is_stmt 1 view .LVU4092
6398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11640              		.loc 1 6398 31 is_stmt 0 view .LVU4093
 11641 0264 616C     		ldr	r1, [r4, #68]
6398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11642              		.loc 1 6398 9 view .LVU4094
 11643 0266 2046     		mov	r0, r4
 11644 0268 FFF7FEFF 		bl	I2C_ITError
 11645              	.LVL826:
 11646 026c 78E7     		b	.L723
 11647              	.L735:
6409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11648              		.loc 1 6409 5 is_stmt 1 view .LVU4095
6409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11649              		.loc 1 6409 27 is_stmt 0 view .LVU4096
 11650 026e 616C     		ldr	r1, [r4, #68]
6409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11651              		.loc 1 6409 5 view .LVU4097
 11652 0270 2046     		mov	r0, r4
 11653 0272 FFF7FEFF 		bl	I2C_ITError
 11654              	.LVL827:
6412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11655              		.loc 1 6412 5 is_stmt 1 view .LVU4098
6412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11656              		.loc 1 6412 13 is_stmt 0 view .LVU4099
 11657 0276 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11658              		.loc 1 6412 8 view .LVU4100
 11659 027a 282B     		cmp	r3, #40
 11660 027c 13D1     		bne	.L707
6415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11661              		.loc 1 6415 7 is_stmt 1 view .LVU4101
 11662 027e 2946     		mov	r1, r5
 11663 0280 2046     		mov	r0, r4
 11664 0282 FFF7FEFF 		bl	I2C_ITListenCplt
 11665              	.LVL828:
 11666 0286 0EE0     		b	.L707
 11667              	.L736:
6421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11668              		.loc 1 6421 5 view .LVU4102
 11669 0288 2046     		mov	r0, r4
 11670 028a FFF7FEFF 		bl	I2C_ITSlaveSeqCplt
 11671              	.LVL829:
6423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 11672              		.loc 1 6423 5 view .LVU4103
6423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->State = HAL_I2C_STATE_READY;
 11673              		.loc 1 6423 23 is_stmt 0 view .LVU4104
 11674 028e 0E4B     		ldr	r3, .L738+8
 11675 0290 E362     		str	r3, [r4, #44]
6424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 11676              		.loc 1 6424 5 is_stmt 1 view .LVU4105
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 405


6424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 11677              		.loc 1 6424 17 is_stmt 0 view .LVU4106
 11678 0292 2023     		movs	r3, #32
 11679 0294 84F84130 		strb	r3, [r4, #65]
6425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11680              		.loc 1 6425 5 is_stmt 1 view .LVU4107
6425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11681              		.loc 1 6425 25 is_stmt 0 view .LVU4108
 11682 0298 0023     		movs	r3, #0
 11683 029a 2363     		str	r3, [r4, #48]
6428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11684              		.loc 1 6428 5 is_stmt 1 view .LVU4109
6428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11685              		.loc 1 6428 5 view .LVU4110
 11686 029c 84F84030 		strb	r3, [r4, #64]
6428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11687              		.loc 1 6428 5 view .LVU4111
6434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 11688              		.loc 1 6434 5 view .LVU4112
 11689 02a0 2046     		mov	r0, r4
 11690 02a2 FFF7FEFF 		bl	HAL_I2C_ListenCpltCallback
 11691              	.LVL830:
 11692              	.L707:
6468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11693              		.loc 1 6468 1 is_stmt 0 view .LVU4113
 11694 02a6 F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 11695              	.LVL831:
 11696              	.L737:
6440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 11697              		.loc 1 6440 5 is_stmt 1 view .LVU4114
6440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 11698              		.loc 1 6440 17 is_stmt 0 view .LVU4115
 11699 02a8 2023     		movs	r3, #32
 11700 02aa 84F84130 		strb	r3, [r4, #65]
6441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11701              		.loc 1 6441 5 is_stmt 1 view .LVU4116
6441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11702              		.loc 1 6441 25 is_stmt 0 view .LVU4117
 11703 02ae 0023     		movs	r3, #0
 11704 02b0 2363     		str	r3, [r4, #48]
6444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11705              		.loc 1 6444 5 is_stmt 1 view .LVU4118
6444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11706              		.loc 1 6444 5 view .LVU4119
 11707 02b2 84F84030 		strb	r3, [r4, #64]
6444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11708              		.loc 1 6444 5 view .LVU4120
6450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 11709              		.loc 1 6450 5 view .LVU4121
 11710 02b6 2046     		mov	r0, r4
 11711 02b8 FFF7FEFF 		bl	HAL_I2C_SlaveRxCpltCallback
 11712              	.LVL832:
 11713 02bc F3E7     		b	.L707
 11714              	.L739:
 11715 02be 00BF     		.align	2
 11716              	.L738:
 11717 02c0 10000240 		.word	1073872912
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 406


 11718 02c4 28000240 		.word	1073872936
 11719 02c8 0000FFFF 		.word	-65536
 11720              		.cfi_endproc
 11721              	.LFE396:
 11723              		.section	.text.I2C_Slave_ISR_IT,"ax",%progbits
 11724              		.align	1
 11725              		.syntax unified
 11726              		.thumb
 11727              		.thumb_func
 11729              	I2C_Slave_ISR_IT:
 11730              	.LVL833:
 11731              	.LFB386:
5221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
 11732              		.loc 1 5221 1 view -0
 11733              		.cfi_startproc
 11734              		@ args = 0, pretend = 0, frame = 0
 11735              		@ frame_needed = 0, uses_anonymous_args = 0
5221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
 11736              		.loc 1 5221 1 is_stmt 0 view .LVU4123
 11737 0000 10B5     		push	{r4, lr}
 11738              		.cfi_def_cfa_offset 8
 11739              		.cfi_offset 4, -8
 11740              		.cfi_offset 14, -4
 11741 0002 0446     		mov	r4, r0
5222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
 11742              		.loc 1 5222 3 is_stmt 1 view .LVU4124
5222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
 11743              		.loc 1 5222 12 is_stmt 0 view .LVU4125
 11744 0004 C06A     		ldr	r0, [r0, #44]
 11745              	.LVL834:
5223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11746              		.loc 1 5223 3 is_stmt 1 view .LVU4126
5226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11747              		.loc 1 5226 3 view .LVU4127
5226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11748              		.loc 1 5226 3 view .LVU4128
 11749 0006 94F84030 		ldrb	r3, [r4, #64]	@ zero_extendqisi2
 11750 000a 012B     		cmp	r3, #1
 11751 000c 00F09980 		beq	.L752
5226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11752              		.loc 1 5226 3 discriminator 2 view .LVU4129
 11753 0010 0123     		movs	r3, #1
 11754 0012 84F84030 		strb	r3, [r4, #64]
5226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11755              		.loc 1 5226 3 view .LVU4130
5229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 11756              		.loc 1 5229 3 view .LVU4131
5229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 11757              		.loc 1 5229 6 is_stmt 0 view .LVU4132
 11758 0016 11F0200F 		tst	r1, #32
 11759 001a 02D0     		beq	.L742
5229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 11760              		.loc 1 5229 61 discriminator 1 view .LVU4133
 11761 001c 12F0200F 		tst	r2, #32
 11762 0020 14D1     		bne	.L754
 11763              	.L742:
5235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 407


 11764              		.loc 1 5235 8 is_stmt 1 view .LVU4134
5235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 11765              		.loc 1 5235 11 is_stmt 0 view .LVU4135
 11766 0022 11F0100F 		tst	r1, #16
 11767 0026 3DD0     		beq	.L744
5235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 11768              		.loc 1 5235 63 discriminator 1 view .LVU4136
 11769 0028 12F0100F 		tst	r2, #16
 11770 002c 3AD0     		beq	.L744
5242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11771              		.loc 1 5242 5 is_stmt 1 view .LVU4137
5242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11772              		.loc 1 5242 13 is_stmt 0 view .LVU4138
 11773 002e 638D     		ldrh	r3, [r4, #42]
 11774 0030 9BB2     		uxth	r3, r3
5242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11775              		.loc 1 5242 8 view .LVU4139
 11776 0032 33BB     		cbnz	r3, .L745
5244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 11777              		.loc 1 5244 7 is_stmt 1 view .LVU4140
5244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 11778              		.loc 1 5244 16 is_stmt 0 view .LVU4141
 11779 0034 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
5244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 11780              		.loc 1 5244 10 view .LVU4142
 11781 0038 282B     		cmp	r3, #40
 11782 003a 0ED0     		beq	.L755
 11783              	.L746:
5251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11784              		.loc 1 5251 12 is_stmt 1 view .LVU4143
5251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11785              		.loc 1 5251 21 is_stmt 0 view .LVU4144
 11786 003c 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
5251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11787              		.loc 1 5251 15 view .LVU4145
 11788 0040 292B     		cmp	r3, #41
 11789 0042 11D0     		beq	.L756
 11790              	.L747:
5266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11791              		.loc 1 5266 9 is_stmt 1 view .LVU4146
 11792 0044 2368     		ldr	r3, [r4]
 11793 0046 1022     		movs	r2, #16
 11794              	.LVL835:
5266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11795              		.loc 1 5266 9 is_stmt 0 view .LVU4147
 11796 0048 DA61     		str	r2, [r3, #28]
 11797 004a 02E0     		b	.L743
 11798              	.LVL836:
 11799              	.L754:
5233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11800              		.loc 1 5233 5 is_stmt 1 view .LVU4148
 11801 004c 2046     		mov	r0, r4
 11802              	.LVL837:
5233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 11803              		.loc 1 5233 5 is_stmt 0 view .LVU4149
 11804 004e FFF7FEFF 		bl	I2C_ITSlaveCplt
 11805              	.LVL838:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 408


 11806              	.L743:
5343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11807              		.loc 1 5343 3 is_stmt 1 view .LVU4150
5346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11808              		.loc 1 5346 3 view .LVU4151
5346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11809              		.loc 1 5346 3 view .LVU4152
 11810 0052 0020     		movs	r0, #0
 11811 0054 84F84000 		strb	r0, [r4, #64]
5346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11812              		.loc 1 5346 3 view .LVU4153
5348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 11813              		.loc 1 5348 3 view .LVU4154
 11814              	.L741:
5349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11815              		.loc 1 5349 1 is_stmt 0 view .LVU4155
 11816 0058 10BD     		pop	{r4, pc}
 11817              	.LVL839:
 11818              	.L755:
5244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 11819              		.loc 1 5244 49 discriminator 1 view .LVU4156
 11820 005a B0F1007F 		cmp	r0, #33554432
 11821 005e EDD1     		bne	.L746
5249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11822              		.loc 1 5249 9 is_stmt 1 view .LVU4157
 11823 0060 2046     		mov	r0, r4
 11824              	.LVL840:
5249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11825              		.loc 1 5249 9 is_stmt 0 view .LVU4158
 11826 0062 FFF7FEFF 		bl	I2C_ITListenCplt
 11827              	.LVL841:
5249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11828              		.loc 1 5249 9 view .LVU4159
 11829 0066 F4E7     		b	.L743
 11830              	.LVL842:
 11831              	.L756:
5251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11832              		.loc 1 5251 62 discriminator 1 view .LVU4160
 11833 0068 10F5803F 		cmn	r0, #65536
 11834 006c EAD0     		beq	.L747
5254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11835              		.loc 1 5254 9 is_stmt 1 view .LVU4161
 11836 006e 2368     		ldr	r3, [r4]
 11837 0070 1022     		movs	r2, #16
 11838              	.LVL843:
5254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11839              		.loc 1 5254 9 is_stmt 0 view .LVU4162
 11840 0072 DA61     		str	r2, [r3, #28]
5257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11841              		.loc 1 5257 9 is_stmt 1 view .LVU4163
 11842 0074 2046     		mov	r0, r4
 11843              	.LVL844:
5257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11844              		.loc 1 5257 9 is_stmt 0 view .LVU4164
 11845 0076 FFF7FEFF 		bl	I2C_Flush_TXDR
 11846              	.LVL845:
5261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 409


 11847              		.loc 1 5261 9 is_stmt 1 view .LVU4165
 11848 007a 2046     		mov	r0, r4
 11849 007c FFF7FEFF 		bl	I2C_ITSlaveSeqCplt
 11850              	.LVL846:
 11851 0080 E7E7     		b	.L743
 11852              	.LVL847:
 11853              	.L745:
5273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11854              		.loc 1 5273 7 view .LVU4166
 11855 0082 2368     		ldr	r3, [r4]
 11856 0084 1022     		movs	r2, #16
 11857              	.LVL848:
5273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11858              		.loc 1 5273 7 is_stmt 0 view .LVU4167
 11859 0086 DA61     		str	r2, [r3, #28]
5276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11860              		.loc 1 5276 7 is_stmt 1 view .LVU4168
5276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11861              		.loc 1 5276 11 is_stmt 0 view .LVU4169
 11862 0088 636C     		ldr	r3, [r4, #68]
5276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11863              		.loc 1 5276 23 view .LVU4170
 11864 008a 43F00403 		orr	r3, r3, #4
 11865 008e 6364     		str	r3, [r4, #68]
5278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11866              		.loc 1 5278 7 is_stmt 1 view .LVU4171
5278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 11867              		.loc 1 5278 10 is_stmt 0 view .LVU4172
 11868 0090 B0F1807F 		cmp	r0, #16777216
 11869 0094 18BF     		it	ne
 11870 0096 0028     		cmpne	r0, #0
 11871 0098 DBD1     		bne	.L743
5281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11872              		.loc 1 5281 9 is_stmt 1 view .LVU4173
5281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11873              		.loc 1 5281 31 is_stmt 0 view .LVU4174
 11874 009a 616C     		ldr	r1, [r4, #68]
 11875              	.LVL849:
5281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11876              		.loc 1 5281 9 view .LVU4175
 11877 009c 2046     		mov	r0, r4
 11878              	.LVL850:
5281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 11879              		.loc 1 5281 9 view .LVU4176
 11880 009e FFF7FEFF 		bl	I2C_ITError
 11881              	.LVL851:
 11882 00a2 D6E7     		b	.L743
 11883              	.LVL852:
 11884              	.L744:
5285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
 11885              		.loc 1 5285 8 is_stmt 1 view .LVU4177
5285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
 11886              		.loc 1 5285 11 is_stmt 0 view .LVU4178
 11887 00a4 11F0040F 		tst	r1, #4
 11888 00a8 1FD0     		beq	.L748
5285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
 11889              		.loc 1 5285 65 discriminator 1 view .LVU4179
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 410


 11890 00aa 12F0040F 		tst	r2, #4
 11891 00ae 1CD0     		beq	.L748
5288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11892              		.loc 1 5288 5 is_stmt 1 view .LVU4180
5288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11893              		.loc 1 5288 13 is_stmt 0 view .LVU4181
 11894 00b0 638D     		ldrh	r3, [r4, #42]
 11895 00b2 9BB2     		uxth	r3, r3
5288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11896              		.loc 1 5288 8 view .LVU4182
 11897 00b4 73B1     		cbz	r3, .L749
5291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11898              		.loc 1 5291 7 is_stmt 1 view .LVU4183
5291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11899              		.loc 1 5291 38 is_stmt 0 view .LVU4184
 11900 00b6 2368     		ldr	r3, [r4]
5291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11901              		.loc 1 5291 48 view .LVU4185
 11902 00b8 5A6A     		ldr	r2, [r3, #36]
 11903              	.LVL853:
5291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11904              		.loc 1 5291 12 view .LVU4186
 11905 00ba 636A     		ldr	r3, [r4, #36]
5291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11906              		.loc 1 5291 23 view .LVU4187
 11907 00bc 1A70     		strb	r2, [r3]
5294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11908              		.loc 1 5294 7 is_stmt 1 view .LVU4188
5294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11909              		.loc 1 5294 11 is_stmt 0 view .LVU4189
 11910 00be 636A     		ldr	r3, [r4, #36]
5294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11911              		.loc 1 5294 21 view .LVU4190
 11912 00c0 0133     		adds	r3, r3, #1
 11913 00c2 6362     		str	r3, [r4, #36]
5296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 11914              		.loc 1 5296 7 is_stmt 1 view .LVU4191
5296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 11915              		.loc 1 5296 11 is_stmt 0 view .LVU4192
 11916 00c4 238D     		ldrh	r3, [r4, #40]
5296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 11917              		.loc 1 5296 21 view .LVU4193
 11918 00c6 013B     		subs	r3, r3, #1
 11919 00c8 2385     		strh	r3, [r4, #40]	@ movhi
5297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11920              		.loc 1 5297 7 is_stmt 1 view .LVU4194
5297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11921              		.loc 1 5297 11 is_stmt 0 view .LVU4195
 11922 00ca 638D     		ldrh	r3, [r4, #42]
 11923 00cc 9BB2     		uxth	r3, r3
5297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11924              		.loc 1 5297 22 view .LVU4196
 11925 00ce 013B     		subs	r3, r3, #1
 11926 00d0 9BB2     		uxth	r3, r3
 11927 00d2 6385     		strh	r3, [r4, #42]	@ movhi
 11928              	.L749:
5300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (tmpoptions != I2C_NO_OPTION_FRAME))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 411


 11929              		.loc 1 5300 5 is_stmt 1 view .LVU4197
5300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (tmpoptions != I2C_NO_OPTION_FRAME))
 11930              		.loc 1 5300 14 is_stmt 0 view .LVU4198
 11931 00d4 638D     		ldrh	r3, [r4, #42]
 11932 00d6 9BB2     		uxth	r3, r3
5300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (tmpoptions != I2C_NO_OPTION_FRAME))
 11933              		.loc 1 5300 8 view .LVU4199
 11934 00d8 002B     		cmp	r3, #0
 11935 00da BAD1     		bne	.L743
5300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (tmpoptions != I2C_NO_OPTION_FRAME))
 11936              		.loc 1 5300 33 discriminator 1 view .LVU4200
 11937 00dc 10F5803F 		cmn	r0, #65536
 11938 00e0 B7D0     		beq	.L743
5304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11939              		.loc 1 5304 7 is_stmt 1 view .LVU4201
 11940 00e2 2046     		mov	r0, r4
 11941              	.LVL854:
5304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11942              		.loc 1 5304 7 is_stmt 0 view .LVU4202
 11943 00e4 FFF7FEFF 		bl	I2C_ITSlaveSeqCplt
 11944              	.LVL855:
5304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11945              		.loc 1 5304 7 view .LVU4203
 11946 00e8 B3E7     		b	.L743
 11947              	.LVL856:
 11948              	.L748:
5307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
 11949              		.loc 1 5307 8 is_stmt 1 view .LVU4204
5307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
 11950              		.loc 1 5307 11 is_stmt 0 view .LVU4205
 11951 00ea 11F0080F 		tst	r1, #8
 11952 00ee 02D0     		beq	.L750
5307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
 11953              		.loc 1 5307 65 discriminator 1 view .LVU4206
 11954 00f0 12F0080F 		tst	r2, #8
 11955 00f4 18D1     		bne	.L757
 11956              	.L750:
5312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
 11957              		.loc 1 5312 8 is_stmt 1 view .LVU4207
5312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
 11958              		.loc 1 5312 11 is_stmt 0 view .LVU4208
 11959 00f6 11F0020F 		tst	r1, #2
 11960 00fa AAD0     		beq	.L743
5312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
 11961              		.loc 1 5312 65 discriminator 1 view .LVU4209
 11962 00fc 12F0020F 		tst	r2, #2
 11963 0100 A7D0     		beq	.L743
5319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11964              		.loc 1 5319 5 is_stmt 1 view .LVU4210
5319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11965              		.loc 1 5319 13 is_stmt 0 view .LVU4211
 11966 0102 638D     		ldrh	r3, [r4, #42]
 11967 0104 9BB2     		uxth	r3, r3
5319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 11968              		.loc 1 5319 8 view .LVU4212
 11969 0106 9BB1     		cbz	r3, .L751
5322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 412


 11970              		.loc 1 5322 7 is_stmt 1 view .LVU4213
5322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11971              		.loc 1 5322 35 is_stmt 0 view .LVU4214
 11972 0108 626A     		ldr	r2, [r4, #36]
 11973              	.LVL857:
5322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11974              		.loc 1 5322 11 view .LVU4215
 11975 010a 2368     		ldr	r3, [r4]
5322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11976              		.loc 1 5322 30 view .LVU4216
 11977 010c 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
5322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11978              		.loc 1 5322 28 view .LVU4217
 11979 010e 9A62     		str	r2, [r3, #40]
5325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11980              		.loc 1 5325 7 is_stmt 1 view .LVU4218
5325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11981              		.loc 1 5325 11 is_stmt 0 view .LVU4219
 11982 0110 636A     		ldr	r3, [r4, #36]
5325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 11983              		.loc 1 5325 21 view .LVU4220
 11984 0112 0133     		adds	r3, r3, #1
 11985 0114 6362     		str	r3, [r4, #36]
5327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 11986              		.loc 1 5327 7 is_stmt 1 view .LVU4221
5327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 11987              		.loc 1 5327 11 is_stmt 0 view .LVU4222
 11988 0116 638D     		ldrh	r3, [r4, #42]
 11989 0118 9BB2     		uxth	r3, r3
5327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferSize--;
 11990              		.loc 1 5327 22 view .LVU4223
 11991 011a 013B     		subs	r3, r3, #1
 11992 011c 9BB2     		uxth	r3, r3
 11993 011e 6385     		strh	r3, [r4, #42]	@ movhi
5328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11994              		.loc 1 5328 7 is_stmt 1 view .LVU4224
5328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11995              		.loc 1 5328 11 is_stmt 0 view .LVU4225
 11996 0120 238D     		ldrh	r3, [r4, #40]
5328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 11997              		.loc 1 5328 21 view .LVU4226
 11998 0122 013B     		subs	r3, r3, #1
 11999 0124 2385     		strh	r3, [r4, #40]	@ movhi
 12000 0126 94E7     		b	.L743
 12001              	.LVL858:
 12002              	.L757:
5310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12003              		.loc 1 5310 5 is_stmt 1 view .LVU4227
 12004 0128 2046     		mov	r0, r4
 12005              	.LVL859:
5310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12006              		.loc 1 5310 5 is_stmt 0 view .LVU4228
 12007 012a FFF7FEFF 		bl	I2C_ITAddrCplt
 12008              	.LVL860:
5310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12009              		.loc 1 5310 5 view .LVU4229
 12010 012e 90E7     		b	.L743
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 413


 12011              	.LVL861:
 12012              	.L751:
5332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12013              		.loc 1 5332 7 is_stmt 1 view .LVU4230
5332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12014              		.loc 1 5332 10 is_stmt 0 view .LVU4231
 12015 0130 0028     		cmp	r0, #0
 12016 0132 18BF     		it	ne
 12017 0134 B0F1807F 		cmpne	r0, #16777216
 12018 0138 8BD1     		bne	.L743
5336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12019              		.loc 1 5336 9 is_stmt 1 view .LVU4232
 12020 013a 2046     		mov	r0, r4
 12021              	.LVL862:
5336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12022              		.loc 1 5336 9 is_stmt 0 view .LVU4233
 12023 013c FFF7FEFF 		bl	I2C_ITSlaveSeqCplt
 12024              	.LVL863:
5336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12025              		.loc 1 5336 9 view .LVU4234
 12026 0140 87E7     		b	.L743
 12027              	.LVL864:
 12028              	.L752:
5226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12029              		.loc 1 5226 3 discriminator 1 view .LVU4235
 12030 0142 0220     		movs	r0, #2
 12031              	.LVL865:
5226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12032              		.loc 1 5226 3 discriminator 1 view .LVU4236
 12033 0144 88E7     		b	.L741
 12034              		.cfi_endproc
 12035              	.LFE386:
 12037              		.section	.text.I2C_ITMasterCplt,"ax",%progbits
 12038              		.align	1
 12039              		.syntax unified
 12040              		.thumb
 12041              		.thumb_func
 12043              	I2C_ITMasterCplt:
 12044              	.LVL866:
 12045              	.LFB395:
6118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmperror;
 12046              		.loc 1 6118 1 is_stmt 1 view -0
 12047              		.cfi_startproc
 12048              		@ args = 0, pretend = 0, frame = 8
 12049              		@ frame_needed = 0, uses_anonymous_args = 0
6118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmperror;
 12050              		.loc 1 6118 1 is_stmt 0 view .LVU4238
 12051 0000 30B5     		push	{r4, r5, lr}
 12052              		.cfi_def_cfa_offset 12
 12053              		.cfi_offset 4, -12
 12054              		.cfi_offset 5, -8
 12055              		.cfi_offset 14, -4
 12056 0002 83B0     		sub	sp, sp, #12
 12057              		.cfi_def_cfa_offset 24
 12058 0004 0446     		mov	r4, r0
 12059 0006 0D46     		mov	r5, r1
6119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 414


 12060              		.loc 1 6119 3 is_stmt 1 view .LVU4239
6120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   __IO uint32_t tmpreg;
 12061              		.loc 1 6120 3 view .LVU4240
 12062              	.LVL867:
6121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12063              		.loc 1 6121 3 view .LVU4241
6124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12064              		.loc 1 6124 3 view .LVU4242
 12065 0008 0368     		ldr	r3, [r0]
 12066 000a 2022     		movs	r2, #32
 12067 000c DA61     		str	r2, [r3, #28]
6127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12068              		.loc 1 6127 3 view .LVU4243
6127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12069              		.loc 1 6127 11 is_stmt 0 view .LVU4244
 12070 000e 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
6127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12071              		.loc 1 6127 6 view .LVU4245
 12072 0012 212B     		cmp	r3, #33
 12073 0014 30D0     		beq	.L770
6132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12074              		.loc 1 6132 8 is_stmt 1 view .LVU4246
6132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12075              		.loc 1 6132 16 is_stmt 0 view .LVU4247
 12076 0016 90F84130 		ldrb	r3, [r0, #65]	@ zero_extendqisi2
6132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12077              		.loc 1 6132 11 view .LVU4248
 12078 001a 222B     		cmp	r3, #34
 12079 001c 32D0     		beq	.L771
 12080              	.LVL868:
 12081              	.L760:
6140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12082              		.loc 1 6140 3 is_stmt 1 view .LVU4249
6143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12083              		.loc 1 6143 3 view .LVU4250
 12084 001e 2268     		ldr	r2, [r4]
 12085 0020 5368     		ldr	r3, [r2, #4]
 12086 0022 23F0FF73 		bic	r3, r3, #33423360
 12087 0026 23F48B33 		bic	r3, r3, #71168
 12088 002a 23F4FF73 		bic	r3, r3, #510
 12089 002e 23F00103 		bic	r3, r3, #1
 12090 0032 5360     		str	r3, [r2, #4]
6146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferOptions   = I2C_NO_OPTION_FRAME;
 12091              		.loc 1 6146 3 view .LVU4251
6146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   hi2c->XferOptions   = I2C_NO_OPTION_FRAME;
 12092              		.loc 1 6146 23 is_stmt 0 view .LVU4252
 12093 0034 0023     		movs	r3, #0
 12094 0036 6363     		str	r3, [r4, #52]
6147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12095              		.loc 1 6147 3 is_stmt 1 view .LVU4253
6147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12096              		.loc 1 6147 23 is_stmt 0 view .LVU4254
 12097 0038 A3F58033 		sub	r3, r3, #65536
 12098 003c E362     		str	r3, [r4, #44]
6149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12099              		.loc 1 6149 3 is_stmt 1 view .LVU4255
6149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 415


 12100              		.loc 1 6149 6 is_stmt 0 view .LVU4256
 12101 003e 15F0100F 		tst	r5, #16
 12102 0042 06D0     		beq	.L761
6152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12103              		.loc 1 6152 5 is_stmt 1 view .LVU4257
 12104 0044 2368     		ldr	r3, [r4]
 12105 0046 1022     		movs	r2, #16
 12106 0048 DA61     		str	r2, [r3, #28]
6155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12107              		.loc 1 6155 5 view .LVU4258
6155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12108              		.loc 1 6155 9 is_stmt 0 view .LVU4259
 12109 004a 636C     		ldr	r3, [r4, #68]
6155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12110              		.loc 1 6155 21 view .LVU4260
 12111 004c 43F00403 		orr	r3, r3, #4
 12112 0050 6364     		str	r3, [r4, #68]
 12113              	.L761:
6159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12114              		.loc 1 6159 3 is_stmt 1 view .LVU4261
6159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12115              		.loc 1 6159 12 is_stmt 0 view .LVU4262
 12116 0052 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12117              		.loc 1 6159 6 view .LVU4263
 12118 0056 602B     		cmp	r3, #96
 12119 0058 1AD0     		beq	.L772
 12120              	.L762:
6167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12121              		.loc 1 6167 3 is_stmt 1 view .LVU4264
 12122 005a 2046     		mov	r0, r4
 12123 005c FFF7FEFF 		bl	I2C_Flush_TXDR
 12124              	.LVL869:
6170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12125              		.loc 1 6170 3 view .LVU4265
6170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12126              		.loc 1 6170 12 is_stmt 0 view .LVU4266
 12127 0060 626C     		ldr	r2, [r4, #68]
 12128              	.LVL870:
6173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12129              		.loc 1 6173 3 is_stmt 1 view .LVU4267
6173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12130              		.loc 1 6173 12 is_stmt 0 view .LVU4268
 12131 0062 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12132              		.loc 1 6173 6 view .LVU4269
 12133 0066 602B     		cmp	r3, #96
 12134 0068 00D0     		beq	.L763
6173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12135              		.loc 1 6173 44 discriminator 1 view .LVU4270
 12136 006a D2B1     		cbz	r2, .L764
 12137              	.L763:
6176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12138              		.loc 1 6176 5 is_stmt 1 view .LVU4271
6176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12139              		.loc 1 6176 27 is_stmt 0 view .LVU4272
 12140 006c 616C     		ldr	r1, [r4, #68]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 416


6176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12141              		.loc 1 6176 5 view .LVU4273
 12142 006e 2046     		mov	r0, r4
 12143 0070 FFF7FEFF 		bl	I2C_ITError
 12144              	.LVL871:
 12145              	.L758:
6252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12146              		.loc 1 6252 1 view .LVU4274
 12147 0074 03B0     		add	sp, sp, #12
 12148              		.cfi_remember_state
 12149              		.cfi_def_cfa_offset 12
 12150              		@ sp needed
 12151 0076 30BD     		pop	{r4, r5, pc}
 12152              	.LVL872:
 12153              	.L770:
 12154              		.cfi_restore_state
6129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
 12155              		.loc 1 6129 5 is_stmt 1 view .LVU4275
 12156 0078 0121     		movs	r1, #1
 12157              	.LVL873:
6129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
 12158              		.loc 1 6129 5 is_stmt 0 view .LVU4276
 12159 007a FFF7FEFF 		bl	I2C_Disable_IRQ
 12160              	.LVL874:
6130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12161              		.loc 1 6130 5 is_stmt 1 view .LVU4277
6130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12162              		.loc 1 6130 25 is_stmt 0 view .LVU4278
 12163 007e 1123     		movs	r3, #17
 12164 0080 2363     		str	r3, [r4, #48]
 12165 0082 CCE7     		b	.L760
 12166              	.LVL875:
 12167              	.L771:
6134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 12168              		.loc 1 6134 5 is_stmt 1 view .LVU4279
 12169 0084 0221     		movs	r1, #2
 12170              	.LVL876:
6134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
 12171              		.loc 1 6134 5 is_stmt 0 view .LVU4280
 12172 0086 FFF7FEFF 		bl	I2C_Disable_IRQ
 12173              	.LVL877:
6135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12174              		.loc 1 6135 5 is_stmt 1 view .LVU4281
6135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12175              		.loc 1 6135 25 is_stmt 0 view .LVU4282
 12176 008a 1223     		movs	r3, #18
 12177 008c 2363     		str	r3, [r4, #48]
 12178 008e C6E7     		b	.L760
 12179              	.L772:
6159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12180              		.loc 1 6159 44 discriminator 1 view .LVU4283
 12181 0090 15F0040F 		tst	r5, #4
 12182 0094 E1D0     		beq	.L762
6162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     UNUSED(tmpreg);
 12183              		.loc 1 6162 5 is_stmt 1 view .LVU4284
6162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     UNUSED(tmpreg);
 12184              		.loc 1 6162 27 is_stmt 0 view .LVU4285
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 417


 12185 0096 2368     		ldr	r3, [r4]
6162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     UNUSED(tmpreg);
 12186              		.loc 1 6162 37 view .LVU4286
 12187 0098 5B6A     		ldr	r3, [r3, #36]
 12188 009a DBB2     		uxtb	r3, r3
6162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     UNUSED(tmpreg);
 12189              		.loc 1 6162 12 view .LVU4287
 12190 009c 0193     		str	r3, [sp, #4]
6163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12191              		.loc 1 6163 5 is_stmt 1 view .LVU4288
 12192 009e 019B     		ldr	r3, [sp, #4]
 12193 00a0 DBE7     		b	.L762
 12194              	.LVL878:
 12195              	.L764:
6179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12196              		.loc 1 6179 8 view .LVU4289
6179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12197              		.loc 1 6179 16 is_stmt 0 view .LVU4290
 12198 00a2 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12199              		.loc 1 6179 11 view .LVU4291
 12200 00a6 212B     		cmp	r3, #33
 12201 00a8 15D0     		beq	.L773
6214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12202              		.loc 1 6214 8 is_stmt 1 view .LVU4292
6214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12203              		.loc 1 6214 16 is_stmt 0 view .LVU4293
 12204 00aa 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
6214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 12205              		.loc 1 6214 11 view .LVU4294
 12206 00ae 222B     		cmp	r3, #34
 12207 00b0 E0D1     		bne	.L758
6216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 12208              		.loc 1 6216 5 is_stmt 1 view .LVU4295
6216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 12209              		.loc 1 6216 17 is_stmt 0 view .LVU4296
 12210 00b2 2023     		movs	r3, #32
 12211 00b4 84F84130 		strb	r3, [r4, #65]
6217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12212              		.loc 1 6217 5 is_stmt 1 view .LVU4297
6217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12213              		.loc 1 6217 25 is_stmt 0 view .LVU4298
 12214 00b8 0023     		movs	r3, #0
 12215 00ba 2363     		str	r3, [r4, #48]
6219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12216              		.loc 1 6219 5 is_stmt 1 view .LVU4299
6219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12217              		.loc 1 6219 13 is_stmt 0 view .LVU4300
 12218 00bc 94F84230 		ldrb	r3, [r4, #66]	@ zero_extendqisi2
6219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12219              		.loc 1 6219 8 view .LVU4301
 12220 00c0 402B     		cmp	r3, #64
 12221 00c2 23D0     		beq	.L774
6235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12222              		.loc 1 6235 7 is_stmt 1 view .LVU4302
6235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12223              		.loc 1 6235 18 is_stmt 0 view .LVU4303
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 418


 12224 00c4 0023     		movs	r3, #0
 12225 00c6 84F84230 		strb	r3, [r4, #66]
6238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12226              		.loc 1 6238 7 is_stmt 1 view .LVU4304
6238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12227              		.loc 1 6238 7 view .LVU4305
 12228 00ca 84F84030 		strb	r3, [r4, #64]
6238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12229              		.loc 1 6238 7 view .LVU4306
6244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12230              		.loc 1 6244 7 view .LVU4307
 12231 00ce 2046     		mov	r0, r4
 12232 00d0 FFF7FEFF 		bl	HAL_I2C_MasterRxCpltCallback
 12233              	.LVL879:
6251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 12234              		.loc 1 6251 3 view .LVU4308
6252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12235              		.loc 1 6252 1 is_stmt 0 view .LVU4309
 12236 00d4 CEE7     		b	.L758
 12237              	.LVL880:
 12238              	.L773:
6181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 12239              		.loc 1 6181 5 is_stmt 1 view .LVU4310
6181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->PreviousState = I2C_STATE_NONE;
 12240              		.loc 1 6181 17 is_stmt 0 view .LVU4311
 12241 00d6 2023     		movs	r3, #32
 12242 00d8 84F84130 		strb	r3, [r4, #65]
6182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12243              		.loc 1 6182 5 is_stmt 1 view .LVU4312
6182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12244              		.loc 1 6182 25 is_stmt 0 view .LVU4313
 12245 00dc 0023     		movs	r3, #0
 12246 00de 2363     		str	r3, [r4, #48]
6184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12247              		.loc 1 6184 5 is_stmt 1 view .LVU4314
6184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12248              		.loc 1 6184 13 is_stmt 0 view .LVU4315
 12249 00e0 94F84230 		ldrb	r3, [r4, #66]	@ zero_extendqisi2
6184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12250              		.loc 1 6184 8 view .LVU4316
 12251 00e4 402B     		cmp	r3, #64
 12252 00e6 08D0     		beq	.L775
6200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12253              		.loc 1 6200 7 is_stmt 1 view .LVU4317
6200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12254              		.loc 1 6200 18 is_stmt 0 view .LVU4318
 12255 00e8 0023     		movs	r3, #0
 12256 00ea 84F84230 		strb	r3, [r4, #66]
6203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12257              		.loc 1 6203 7 is_stmt 1 view .LVU4319
6203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12258              		.loc 1 6203 7 view .LVU4320
 12259 00ee 84F84030 		strb	r3, [r4, #64]
6203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12260              		.loc 1 6203 7 view .LVU4321
6209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12261              		.loc 1 6209 7 view .LVU4322
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 419


 12262 00f2 2046     		mov	r0, r4
 12263 00f4 FFF7FEFF 		bl	HAL_I2C_MasterTxCpltCallback
 12264              	.LVL881:
6209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12265              		.loc 1 6209 7 is_stmt 0 view .LVU4323
 12266 00f8 BCE7     		b	.L758
 12267              	.LVL882:
 12268              	.L775:
6186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12269              		.loc 1 6186 7 is_stmt 1 view .LVU4324
6186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12270              		.loc 1 6186 18 is_stmt 0 view .LVU4325
 12271 00fa 0023     		movs	r3, #0
 12272 00fc 84F84230 		strb	r3, [r4, #66]
6189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12273              		.loc 1 6189 7 is_stmt 1 view .LVU4326
6189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12274              		.loc 1 6189 7 view .LVU4327
 12275 0100 84F84030 		strb	r3, [r4, #64]
6189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12276              		.loc 1 6189 7 view .LVU4328
6195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12277              		.loc 1 6195 7 view .LVU4329
 12278 0104 2046     		mov	r0, r4
 12279 0106 FFF7FEFF 		bl	HAL_I2C_MemTxCpltCallback
 12280              	.LVL883:
6195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12281              		.loc 1 6195 7 is_stmt 0 view .LVU4330
 12282 010a B3E7     		b	.L758
 12283              	.LVL884:
 12284              	.L774:
6221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12285              		.loc 1 6221 7 is_stmt 1 view .LVU4331
6221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12286              		.loc 1 6221 18 is_stmt 0 view .LVU4332
 12287 010c 0023     		movs	r3, #0
 12288 010e 84F84230 		strb	r3, [r4, #66]
6224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12289              		.loc 1 6224 7 is_stmt 1 view .LVU4333
6224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12290              		.loc 1 6224 7 view .LVU4334
 12291 0112 84F84030 		strb	r3, [r4, #64]
6224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12292              		.loc 1 6224 7 view .LVU4335
6230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12293              		.loc 1 6230 7 view .LVU4336
 12294 0116 2046     		mov	r0, r4
 12295 0118 FFF7FEFF 		bl	HAL_I2C_MemRxCpltCallback
 12296              	.LVL885:
6230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
 12297              		.loc 1 6230 7 is_stmt 0 view .LVU4337
 12298 011c AAE7     		b	.L758
 12299              		.cfi_endproc
 12300              	.LFE395:
 12302              		.section	.text.I2C_Master_ISR_IT,"ax",%progbits
 12303              		.align	1
 12304              		.syntax unified
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 420


 12305              		.thumb
 12306              		.thumb_func
 12308              	I2C_Master_ISR_IT:
 12309              	.LVL886:
 12310              	.LFB384:
4927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t devaddress;
 12311              		.loc 1 4927 1 is_stmt 1 view -0
 12312              		.cfi_startproc
 12313              		@ args = 0, pretend = 0, frame = 0
 12314              		@ frame_needed = 0, uses_anonymous_args = 0
4928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
 12315              		.loc 1 4928 3 view .LVU4339
4929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12316              		.loc 1 4929 3 view .LVU4340
4932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12317              		.loc 1 4932 3 view .LVU4341
4932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12318              		.loc 1 4932 3 view .LVU4342
 12319 0000 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 12320 0004 012B     		cmp	r3, #1
 12321 0006 00F0C280 		beq	.L790
4927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t devaddress;
 12322              		.loc 1 4927 1 is_stmt 0 view .LVU4343
 12323 000a 70B5     		push	{r4, r5, r6, lr}
 12324              		.cfi_def_cfa_offset 16
 12325              		.cfi_offset 4, -16
 12326              		.cfi_offset 5, -12
 12327              		.cfi_offset 6, -8
 12328              		.cfi_offset 14, -4
 12329 000c 82B0     		sub	sp, sp, #8
 12330              		.cfi_def_cfa_offset 24
 12331 000e 0446     		mov	r4, r0
 12332 0010 0D46     		mov	r5, r1
 12333 0012 1646     		mov	r6, r2
4932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12334              		.loc 1 4932 3 is_stmt 1 discriminator 2 view .LVU4344
 12335 0014 0123     		movs	r3, #1
 12336 0016 80F84030 		strb	r3, [r0, #64]
4932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12337              		.loc 1 4932 3 view .LVU4345
4934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 12338              		.loc 1 4934 3 view .LVU4346
4934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 12339              		.loc 1 4934 6 is_stmt 0 view .LVU4347
 12340 001a 11F0100F 		tst	r1, #16
 12341 001e 02D0     		beq	.L778
4934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 12342              		.loc 1 4934 58 discriminator 1 view .LVU4348
 12343 0020 12F0100F 		tst	r2, #16
 12344 0024 22D1     		bne	.L795
 12345              	.L778:
4948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
 12346              		.loc 1 4948 8 is_stmt 1 view .LVU4349
4948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
 12347              		.loc 1 4948 11 is_stmt 0 view .LVU4350
 12348 0026 15F0040F 		tst	r5, #4
 12349 002a 29D0     		beq	.L780
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 421


4948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
 12350              		.loc 1 4948 65 discriminator 1 view .LVU4351
 12351 002c 16F0040F 		tst	r6, #4
 12352 0030 26D0     		beq	.L780
4952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12353              		.loc 1 4952 5 is_stmt 1 view .LVU4352
4952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12354              		.loc 1 4952 16 is_stmt 0 view .LVU4353
 12355 0032 25F00405 		bic	r5, r5, #4
 12356              	.LVL887:
4955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12357              		.loc 1 4955 5 is_stmt 1 view .LVU4354
4955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12358              		.loc 1 4955 36 is_stmt 0 view .LVU4355
 12359 0036 2368     		ldr	r3, [r4]
4955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12360              		.loc 1 4955 46 view .LVU4356
 12361 0038 5A6A     		ldr	r2, [r3, #36]
 12362              	.LVL888:
4955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12363              		.loc 1 4955 10 view .LVU4357
 12364 003a 636A     		ldr	r3, [r4, #36]
4955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12365              		.loc 1 4955 21 view .LVU4358
 12366 003c 1A70     		strb	r2, [r3]
4958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12367              		.loc 1 4958 5 is_stmt 1 view .LVU4359
4958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12368              		.loc 1 4958 9 is_stmt 0 view .LVU4360
 12369 003e 636A     		ldr	r3, [r4, #36]
4958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12370              		.loc 1 4958 19 view .LVU4361
 12371 0040 0133     		adds	r3, r3, #1
 12372 0042 6362     		str	r3, [r4, #36]
4960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount--;
 12373              		.loc 1 4960 5 is_stmt 1 view .LVU4362
4960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount--;
 12374              		.loc 1 4960 9 is_stmt 0 view .LVU4363
 12375 0044 238D     		ldrh	r3, [r4, #40]
4960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount--;
 12376              		.loc 1 4960 19 view .LVU4364
 12377 0046 013B     		subs	r3, r3, #1
 12378 0048 2385     		strh	r3, [r4, #40]	@ movhi
4961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12379              		.loc 1 4961 5 is_stmt 1 view .LVU4365
4961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12380              		.loc 1 4961 9 is_stmt 0 view .LVU4366
 12381 004a 638D     		ldrh	r3, [r4, #42]
 12382 004c 9BB2     		uxth	r3, r3
4961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12383              		.loc 1 4961 20 view .LVU4367
 12384 004e 013B     		subs	r3, r3, #1
 12385 0050 9BB2     		uxth	r3, r3
 12386 0052 6385     		strh	r3, [r4, #42]	@ movhi
 12387              	.LVL889:
 12388              	.L779:
5053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 422


 12389              		.loc 1 5053 3 is_stmt 1 view .LVU4368
5055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 12390              		.loc 1 5055 3 view .LVU4369
5055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 12391              		.loc 1 5055 6 is_stmt 0 view .LVU4370
 12392 0054 15F0200F 		tst	r5, #32
 12393 0058 03D0     		beq	.L789
5055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 12394              		.loc 1 5055 61 discriminator 1 view .LVU4371
 12395 005a 16F0200F 		tst	r6, #32
 12396 005e 40F09180 		bne	.L796
 12397              	.L789:
5063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12398              		.loc 1 5063 3 is_stmt 1 view .LVU4372
5063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12399              		.loc 1 5063 3 view .LVU4373
 12400 0062 0020     		movs	r0, #0
 12401 0064 84F84000 		strb	r0, [r4, #64]
5063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12402              		.loc 1 5063 3 view .LVU4374
5065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 12403              		.loc 1 5065 3 view .LVU4375
5066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12404              		.loc 1 5066 1 is_stmt 0 view .LVU4376
 12405 0068 02B0     		add	sp, sp, #8
 12406              		.cfi_remember_state
 12407              		.cfi_def_cfa_offset 16
 12408              		@ sp needed
 12409 006a 70BD     		pop	{r4, r5, r6, pc}
 12410              	.LVL890:
 12411              	.L795:
 12412              		.cfi_restore_state
4938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12413              		.loc 1 4938 5 is_stmt 1 view .LVU4377
 12414 006c 0368     		ldr	r3, [r0]
 12415 006e 1022     		movs	r2, #16
 12416              	.LVL891:
4938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12417              		.loc 1 4938 5 is_stmt 0 view .LVU4378
 12418 0070 DA61     		str	r2, [r3, #28]
4943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12419              		.loc 1 4943 5 is_stmt 1 view .LVU4379
4943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12420              		.loc 1 4943 9 is_stmt 0 view .LVU4380
 12421 0072 436C     		ldr	r3, [r0, #68]
4943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12422              		.loc 1 4943 21 view .LVU4381
 12423 0074 43F00403 		orr	r3, r3, #4
 12424 0078 4364     		str	r3, [r0, #68]
4946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12425              		.loc 1 4946 5 is_stmt 1 view .LVU4382
 12426 007a FFF7FEFF 		bl	I2C_Flush_TXDR
 12427              	.LVL892:
4946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12428              		.loc 1 4946 5 is_stmt 0 view .LVU4383
 12429 007e E9E7     		b	.L779
 12430              	.LVL893:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 423


 12431              	.L780:
4963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
 12432              		.loc 1 4963 8 is_stmt 1 view .LVU4384
 12433 0080 C5F38013 		ubfx	r3, r5, #6, #1
4963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
 12434              		.loc 1 4963 11 is_stmt 0 view .LVU4385
 12435 0084 15F0400F 		tst	r5, #64
 12436 0088 19D1     		bne	.L781
4963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
 12437              		.loc 1 4963 63 discriminator 1 view .LVU4386
 12438 008a 15F0020F 		tst	r5, #2
 12439 008e 16D0     		beq	.L781
4964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****             (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)))
 12440              		.loc 1 4964 66 view .LVU4387
 12441 0090 16F0020F 		tst	r6, #2
 12442 0094 13D0     		beq	.L781
4968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12443              		.loc 1 4968 5 is_stmt 1 view .LVU4388
4968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12444              		.loc 1 4968 13 is_stmt 0 view .LVU4389
 12445 0096 638D     		ldrh	r3, [r4, #42]
 12446 0098 9BB2     		uxth	r3, r3
4968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12447              		.loc 1 4968 8 view .LVU4390
 12448 009a 002B     		cmp	r3, #0
 12449 009c DAD0     		beq	.L779
4971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12450              		.loc 1 4971 7 is_stmt 1 view .LVU4391
4971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12451              		.loc 1 4971 35 is_stmt 0 view .LVU4392
 12452 009e 626A     		ldr	r2, [r4, #36]
 12453              	.LVL894:
4971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12454              		.loc 1 4971 11 view .LVU4393
 12455 00a0 2368     		ldr	r3, [r4]
4971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12456              		.loc 1 4971 30 view .LVU4394
 12457 00a2 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
4971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12458              		.loc 1 4971 28 view .LVU4395
 12459 00a4 9A62     		str	r2, [r3, #40]
4974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12460              		.loc 1 4974 7 is_stmt 1 view .LVU4396
4974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12461              		.loc 1 4974 11 is_stmt 0 view .LVU4397
 12462 00a6 636A     		ldr	r3, [r4, #36]
4974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12463              		.loc 1 4974 21 view .LVU4398
 12464 00a8 0133     		adds	r3, r3, #1
 12465 00aa 6362     		str	r3, [r4, #36]
4976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 12466              		.loc 1 4976 7 is_stmt 1 view .LVU4399
4976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 12467              		.loc 1 4976 11 is_stmt 0 view .LVU4400
 12468 00ac 238D     		ldrh	r3, [r4, #40]
4976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 12469              		.loc 1 4976 21 view .LVU4401
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 424


 12470 00ae 013B     		subs	r3, r3, #1
 12471 00b0 2385     		strh	r3, [r4, #40]	@ movhi
4977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12472              		.loc 1 4977 7 is_stmt 1 view .LVU4402
4977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12473              		.loc 1 4977 11 is_stmt 0 view .LVU4403
 12474 00b2 638D     		ldrh	r3, [r4, #42]
 12475 00b4 9BB2     		uxth	r3, r3
4977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12476              		.loc 1 4977 22 view .LVU4404
 12477 00b6 013B     		subs	r3, r3, #1
 12478 00b8 9BB2     		uxth	r3, r3
 12479 00ba 6385     		strh	r3, [r4, #42]	@ movhi
 12480 00bc CAE7     		b	.L779
 12481              	.LVL895:
 12482              	.L781:
4980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12483              		.loc 1 4980 8 is_stmt 1 view .LVU4405
4980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12484              		.loc 1 4980 11 is_stmt 0 view .LVU4406
 12485 00be 15F0800F 		tst	r5, #128
 12486 00c2 3FD0     		beq	.L782
4980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12487              		.loc 1 4980 64 discriminator 1 view .LVU4407
 12488 00c4 16F0400F 		tst	r6, #64
 12489 00c8 3CD0     		beq	.L782
4983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12490              		.loc 1 4983 5 is_stmt 1 view .LVU4408
4983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12491              		.loc 1 4983 14 is_stmt 0 view .LVU4409
 12492 00ca 638D     		ldrh	r3, [r4, #42]
 12493 00cc 9BB2     		uxth	r3, r3
4983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12494              		.loc 1 4983 8 view .LVU4410
 12495 00ce 5BB3     		cbz	r3, .L783
4983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12496              		.loc 1 4983 41 discriminator 1 view .LVU4411
 12497 00d0 238D     		ldrh	r3, [r4, #40]
4983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12498              		.loc 1 4983 33 discriminator 1 view .LVU4412
 12499 00d2 4BBB     		cbnz	r3, .L783
4985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12500              		.loc 1 4985 7 is_stmt 1 view .LVU4413
4985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12501              		.loc 1 4985 35 is_stmt 0 view .LVU4414
 12502 00d4 2368     		ldr	r3, [r4]
4985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12503              		.loc 1 4985 45 view .LVU4415
 12504 00d6 5968     		ldr	r1, [r3, #4]
 12505              	.LVL896:
4985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12506              		.loc 1 4985 18 view .LVU4416
 12507 00d8 C1F30901 		ubfx	r1, r1, #0, #10
 12508              	.LVL897:
4987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12509              		.loc 1 4987 7 is_stmt 1 view .LVU4417
4987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 425


 12510              		.loc 1 4987 15 is_stmt 0 view .LVU4418
 12511 00dc 638D     		ldrh	r3, [r4, #42]
 12512 00de 9BB2     		uxth	r3, r3
4987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12513              		.loc 1 4987 10 view .LVU4419
 12514 00e0 FF2B     		cmp	r3, #255
 12515 00e2 0ED8     		bhi	.L797
4994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
 12516              		.loc 1 4994 9 is_stmt 1 view .LVU4420
4994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
 12517              		.loc 1 4994 30 is_stmt 0 view .LVU4421
 12518 00e4 628D     		ldrh	r2, [r4, #42]
 12519              	.LVL898:
4994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
 12520              		.loc 1 4994 30 view .LVU4422
 12521 00e6 92B2     		uxth	r2, r2
4994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
 12522              		.loc 1 4994 24 view .LVU4423
 12523 00e8 2285     		strh	r2, [r4, #40]	@ movhi
4995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 12524              		.loc 1 4995 9 is_stmt 1 view .LVU4424
4995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 12525              		.loc 1 4995 17 is_stmt 0 view .LVU4425
 12526 00ea E36A     		ldr	r3, [r4, #44]
4995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 12527              		.loc 1 4995 12 view .LVU4426
 12528 00ec 13F5803F 		cmn	r3, #65536
 12529 00f0 11D0     		beq	.L785
4997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              hi2c->XferOptions, I2C_NO_STARTSTOP);
 12530              		.loc 1 4997 11 is_stmt 1 view .LVU4427
4998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 12531              		.loc 1 4998 34 is_stmt 0 view .LVU4428
 12532 00f2 E36A     		ldr	r3, [r4, #44]
4997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              hi2c->XferOptions, I2C_NO_STARTSTOP);
 12533              		.loc 1 4997 11 view .LVU4429
 12534 00f4 0020     		movs	r0, #0
 12535              	.LVL899:
4997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              hi2c->XferOptions, I2C_NO_STARTSTOP);
 12536              		.loc 1 4997 11 view .LVU4430
 12537 00f6 0090     		str	r0, [sp]
 12538 00f8 D2B2     		uxtb	r2, r2
 12539 00fa 2046     		mov	r0, r4
 12540 00fc FFF7FEFF 		bl	I2C_TransferConfig
 12541              	.LVL900:
4997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              hi2c->XferOptions, I2C_NO_STARTSTOP);
 12542              		.loc 1 4997 11 view .LVU4431
 12543 0100 A8E7     		b	.L779
 12544              	.LVL901:
 12545              	.L797:
4989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
 12546              		.loc 1 4989 9 is_stmt 1 view .LVU4432
4989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
 12547              		.loc 1 4989 24 is_stmt 0 view .LVU4433
 12548 0102 FF22     		movs	r2, #255
 12549              	.LVL902:
4989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
 12550              		.loc 1 4989 24 view .LVU4434
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 426


 12551 0104 2285     		strh	r2, [r4, #40]	@ movhi
4990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12552              		.loc 1 4990 9 is_stmt 1 view .LVU4435
 12553 0106 0023     		movs	r3, #0
 12554 0108 0093     		str	r3, [sp]
 12555 010a 4FF08073 		mov	r3, #16777216
 12556 010e 2046     		mov	r0, r4
 12557              	.LVL903:
4990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12558              		.loc 1 4990 9 is_stmt 0 view .LVU4436
 12559 0110 FFF7FEFF 		bl	I2C_TransferConfig
 12560              	.LVL904:
4990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12561              		.loc 1 4990 9 view .LVU4437
 12562 0114 9EE7     		b	.L779
 12563              	.LVL905:
 12564              	.L785:
5002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
 12565              		.loc 1 5002 11 is_stmt 1 view .LVU4438
 12566 0116 0023     		movs	r3, #0
 12567 0118 0093     		str	r3, [sp]
 12568 011a 4FF00073 		mov	r3, #33554432
 12569 011e D2B2     		uxtb	r2, r2
 12570 0120 2046     		mov	r0, r4
 12571              	.LVL906:
5002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
 12572              		.loc 1 5002 11 is_stmt 0 view .LVU4439
 12573 0122 FFF7FEFF 		bl	I2C_TransferConfig
 12574              	.LVL907:
5002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                              I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
 12575              		.loc 1 5002 11 view .LVU4440
 12576 0126 95E7     		b	.L779
 12577              	.LVL908:
 12578              	.L783:
5010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12579              		.loc 1 5010 7 is_stmt 1 view .LVU4441
5010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12580              		.loc 1 5010 11 is_stmt 0 view .LVU4442
 12581 0128 2368     		ldr	r3, [r4]
 12582 012a 5B68     		ldr	r3, [r3, #4]
5010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12583              		.loc 1 5010 10 view .LVU4443
 12584 012c 13F0007F 		tst	r3, #33554432
 12585 0130 03D1     		bne	.L786
5013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12586              		.loc 1 5013 9 is_stmt 1 view .LVU4444
 12587 0132 2046     		mov	r0, r4
 12588              	.LVL909:
5013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12589              		.loc 1 5013 9 is_stmt 0 view .LVU4445
 12590 0134 FFF7FEFF 		bl	I2C_ITMasterSeqCplt
 12591              	.LVL910:
5013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12592              		.loc 1 5013 9 view .LVU4446
 12593 0138 8CE7     		b	.L779
 12594              	.LVL911:
 12595              	.L786:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 427


5019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12596              		.loc 1 5019 9 is_stmt 1 view .LVU4447
 12597 013a 4021     		movs	r1, #64
 12598              	.LVL912:
5019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12599              		.loc 1 5019 9 is_stmt 0 view .LVU4448
 12600 013c 2046     		mov	r0, r4
 12601              	.LVL913:
5019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12602              		.loc 1 5019 9 view .LVU4449
 12603 013e FFF7FEFF 		bl	I2C_ITError
 12604              	.LVL914:
5019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12605              		.loc 1 5019 9 view .LVU4450
 12606 0142 87E7     		b	.L779
 12607              	.LVL915:
 12608              	.L782:
5023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12609              		.loc 1 5023 8 is_stmt 1 view .LVU4451
5023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12610              		.loc 1 5023 11 is_stmt 0 view .LVU4452
 12611 0144 002B     		cmp	r3, #0
 12612 0146 85D0     		beq	.L779
5023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12613              		.loc 1 5023 63 discriminator 1 view .LVU4453
 12614 0148 16F0400F 		tst	r6, #64
 12615 014c 82D0     		beq	.L779
5026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12616              		.loc 1 5026 5 is_stmt 1 view .LVU4454
5026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12617              		.loc 1 5026 13 is_stmt 0 view .LVU4455
 12618 014e 638D     		ldrh	r3, [r4, #42]
 12619 0150 9BB2     		uxth	r3, r3
5026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12620              		.loc 1 5026 8 view .LVU4456
 12621 0152 93B9     		cbnz	r3, .L787
5028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12622              		.loc 1 5028 7 is_stmt 1 view .LVU4457
5028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12623              		.loc 1 5028 11 is_stmt 0 view .LVU4458
 12624 0154 2368     		ldr	r3, [r4]
 12625 0156 5A68     		ldr	r2, [r3, #4]
 12626              	.LVL916:
5028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12627              		.loc 1 5028 10 view .LVU4459
 12628 0158 12F0007F 		tst	r2, #33554432
 12629 015c 7FF47AAF 		bne	.L779
5031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 12630              		.loc 1 5031 9 is_stmt 1 view .LVU4460
5031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 12631              		.loc 1 5031 17 is_stmt 0 view .LVU4461
 12632 0160 E26A     		ldr	r2, [r4, #44]
5031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 12633              		.loc 1 5031 12 view .LVU4462
 12634 0162 12F5803F 		cmn	r2, #65536
 12635 0166 04D1     		bne	.L788
5034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 428


 12636              		.loc 1 5034 11 is_stmt 1 view .LVU4463
5034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 12637              		.loc 1 5034 25 is_stmt 0 view .LVU4464
 12638 0168 5A68     		ldr	r2, [r3, #4]
5034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 12639              		.loc 1 5034 31 view .LVU4465
 12640 016a 42F48042 		orr	r2, r2, #16384
 12641 016e 5A60     		str	r2, [r3, #4]
 12642 0170 70E7     		b	.L779
 12643              	.L788:
5039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 12644              		.loc 1 5039 11 is_stmt 1 view .LVU4466
 12645 0172 2046     		mov	r0, r4
 12646              	.LVL917:
5039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 12647              		.loc 1 5039 11 is_stmt 0 view .LVU4467
 12648 0174 FFF7FEFF 		bl	I2C_ITMasterSeqCplt
 12649              	.LVL918:
5039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 12650              		.loc 1 5039 11 view .LVU4468
 12651 0178 6CE7     		b	.L779
 12652              	.LVL919:
 12653              	.L787:
5047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12654              		.loc 1 5047 7 is_stmt 1 view .LVU4469
 12655 017a 4021     		movs	r1, #64
 12656              	.LVL920:
5047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12657              		.loc 1 5047 7 is_stmt 0 view .LVU4470
 12658 017c 2046     		mov	r0, r4
 12659              	.LVL921:
5047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12660              		.loc 1 5047 7 view .LVU4471
 12661 017e FFF7FEFF 		bl	I2C_ITError
 12662              	.LVL922:
5047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12663              		.loc 1 5047 7 view .LVU4472
 12664 0182 67E7     		b	.L779
 12665              	.LVL923:
 12666              	.L796:
5059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12667              		.loc 1 5059 5 is_stmt 1 view .LVU4473
 12668 0184 2946     		mov	r1, r5
 12669 0186 2046     		mov	r0, r4
 12670 0188 FFF7FEFF 		bl	I2C_ITMasterCplt
 12671              	.LVL924:
 12672 018c 69E7     		b	.L789
 12673              	.LVL925:
 12674              	.L790:
 12675              		.cfi_def_cfa_offset 0
 12676              		.cfi_restore 4
 12677              		.cfi_restore 5
 12678              		.cfi_restore 6
 12679              		.cfi_restore 14
4932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12680              		.loc 1 4932 3 is_stmt 0 discriminator 1 view .LVU4474
 12681 018e 0220     		movs	r0, #2
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 429


 12682              	.LVL926:
5066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12683              		.loc 1 5066 1 view .LVU4475
 12684 0190 7047     		bx	lr
 12685              		.cfi_endproc
 12686              	.LFE384:
 12688              		.section	.text.I2C_Mem_ISR_DMA,"ax",%progbits
 12689              		.align	1
 12690              		.syntax unified
 12691              		.thumb
 12692              		.thumb_func
 12694              	I2C_Mem_ISR_DMA:
 12695              	.LVL927:
 12696              	.LFB388:
5501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t direction = I2C_GENERATE_START_WRITE;
 12697              		.loc 1 5501 1 is_stmt 1 view -0
 12698              		.cfi_startproc
 12699              		@ args = 0, pretend = 0, frame = 0
 12700              		@ frame_needed = 0, uses_anonymous_args = 0
5502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12701              		.loc 1 5502 3 view .LVU4477
5505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12702              		.loc 1 5505 3 view .LVU4478
5505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12703              		.loc 1 5505 3 view .LVU4479
 12704 0000 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 12705 0004 012B     		cmp	r3, #1
 12706 0006 00F0C580 		beq	.L813
5501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t direction = I2C_GENERATE_START_WRITE;
 12707              		.loc 1 5501 1 is_stmt 0 view .LVU4480
 12708 000a 10B5     		push	{r4, lr}
 12709              		.cfi_def_cfa_offset 8
 12710              		.cfi_offset 4, -8
 12711              		.cfi_offset 14, -4
 12712 000c 82B0     		sub	sp, sp, #8
 12713              		.cfi_def_cfa_offset 16
 12714 000e 0446     		mov	r4, r0
5505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12715              		.loc 1 5505 3 is_stmt 1 discriminator 2 view .LVU4481
 12716 0010 0123     		movs	r3, #1
 12717 0012 80F84030 		strb	r3, [r0, #64]
5505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12718              		.loc 1 5505 3 view .LVU4482
5507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 12719              		.loc 1 5507 3 view .LVU4483
5507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 12720              		.loc 1 5507 6 is_stmt 0 view .LVU4484
 12721 0016 11F0100F 		tst	r1, #16
 12722 001a 02D0     		beq	.L800
5507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 12723              		.loc 1 5507 55 discriminator 1 view .LVU4485
 12724 001c 12F0100F 		tst	r2, #16
 12725 0020 10D1     		bne	.L819
 12726              	.L800:
5524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
 12727              		.loc 1 5524 8 is_stmt 1 view .LVU4486
5524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 430


 12728              		.loc 1 5524 11 is_stmt 0 view .LVU4487
 12729 0022 11F0020F 		tst	r1, #2
 12730 0026 1BD0     		beq	.L802
5524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
 12731              		.loc 1 5524 62 discriminator 1 view .LVU4488
 12732 0028 12F0020F 		tst	r2, #2
 12733 002c 18D0     		beq	.L802
5528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12734              		.loc 1 5528 5 is_stmt 1 view .LVU4489
5528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12735              		.loc 1 5528 9 is_stmt 0 view .LVU4490
 12736 002e 2368     		ldr	r3, [r4]
5528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12737              		.loc 1 5528 32 view .LVU4491
 12738 0030 226D     		ldr	r2, [r4, #80]
 12739              	.LVL928:
5528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12740              		.loc 1 5528 26 view .LVU4492
 12741 0032 9A62     		str	r2, [r3, #40]
5531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12742              		.loc 1 5531 5 is_stmt 1 view .LVU4493
5531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12743              		.loc 1 5531 22 is_stmt 0 view .LVU4494
 12744 0034 4FF0FF33 		mov	r3, #-1
 12745 0038 2365     		str	r3, [r4, #80]
 12746              	.LVL929:
 12747              	.L801:
5631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12748              		.loc 1 5631 3 is_stmt 1 view .LVU4495
5634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12749              		.loc 1 5634 3 view .LVU4496
5634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12750              		.loc 1 5634 3 view .LVU4497
 12751 003a 0020     		movs	r0, #0
 12752 003c 84F84000 		strb	r0, [r4, #64]
5634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12753              		.loc 1 5634 3 view .LVU4498
5636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 12754              		.loc 1 5636 3 view .LVU4499
5637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12755              		.loc 1 5637 1 is_stmt 0 view .LVU4500
 12756 0040 02B0     		add	sp, sp, #8
 12757              		.cfi_remember_state
 12758              		.cfi_def_cfa_offset 8
 12759              		@ sp needed
 12760 0042 10BD     		pop	{r4, pc}
 12761              	.LVL930:
 12762              	.L819:
 12763              		.cfi_restore_state
5511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12764              		.loc 1 5511 5 is_stmt 1 view .LVU4501
 12765 0044 0368     		ldr	r3, [r0]
 12766 0046 1022     		movs	r2, #16
 12767              	.LVL931:
5511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12768              		.loc 1 5511 5 is_stmt 0 view .LVU4502
 12769 0048 DA61     		str	r2, [r3, #28]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 431


5514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12770              		.loc 1 5514 5 is_stmt 1 view .LVU4503
5514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12771              		.loc 1 5514 9 is_stmt 0 view .LVU4504
 12772 004a 436C     		ldr	r3, [r0, #68]
5514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12773              		.loc 1 5514 21 view .LVU4505
 12774 004c 43F00403 		orr	r3, r3, #4
 12775 0050 4364     		str	r3, [r0, #68]
5519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12776              		.loc 1 5519 5 is_stmt 1 view .LVU4506
 12777 0052 2021     		movs	r1, #32
 12778              	.LVL932:
5519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12779              		.loc 1 5519 5 is_stmt 0 view .LVU4507
 12780 0054 FFF7FEFF 		bl	I2C_Enable_IRQ
 12781              	.LVL933:
5522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12782              		.loc 1 5522 5 is_stmt 1 view .LVU4508
 12783 0058 2046     		mov	r0, r4
 12784 005a FFF7FEFF 		bl	I2C_Flush_TXDR
 12785              	.LVL934:
 12786 005e ECE7     		b	.L801
 12787              	.LVL935:
 12788              	.L802:
5533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12789              		.loc 1 5533 8 view .LVU4509
5533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12790              		.loc 1 5533 11 is_stmt 0 view .LVU4510
 12791 0060 11F0800F 		tst	r1, #128
 12792 0064 02D0     		beq	.L803
5533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12793              		.loc 1 5533 61 discriminator 1 view .LVU4511
 12794 0066 12F0400F 		tst	r2, #64
 12795 006a 0FD1     		bne	.L820
 12796              	.L803:
5578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12797              		.loc 1 5578 8 is_stmt 1 view .LVU4512
5578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12798              		.loc 1 5578 11 is_stmt 0 view .LVU4513
 12799 006c 11F0400F 		tst	r1, #64
 12800 0070 02D0     		beq	.L808
5578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 12801              		.loc 1 5578 60 discriminator 1 view .LVU4514
 12802 0072 12F0400F 		tst	r2, #64
 12803 0076 4DD1     		bne	.L821
 12804              	.L808:
5622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 12805              		.loc 1 5622 8 is_stmt 1 view .LVU4515
5622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 12806              		.loc 1 5622 11 is_stmt 0 view .LVU4516
 12807 0078 11F0200F 		tst	r1, #32
 12808 007c DDD0     		beq	.L801
5622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 12809              		.loc 1 5622 63 discriminator 1 view .LVU4517
 12810 007e 12F0200F 		tst	r2, #32
 12811 0082 DAD0     		beq	.L801
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 432


5626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12812              		.loc 1 5626 5 is_stmt 1 view .LVU4518
 12813 0084 2046     		mov	r0, r4
 12814              	.LVL936:
5626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12815              		.loc 1 5626 5 is_stmt 0 view .LVU4519
 12816 0086 FFF7FEFF 		bl	I2C_ITMasterCplt
 12817              	.LVL937:
5626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 12818              		.loc 1 5626 5 view .LVU4520
 12819 008a D6E7     		b	.L801
 12820              	.LVL938:
 12821              	.L820:
5537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12822              		.loc 1 5537 5 is_stmt 1 view .LVU4521
 12823 008c 0121     		movs	r1, #1
 12824              	.LVL939:
5537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12825              		.loc 1 5537 5 is_stmt 0 view .LVU4522
 12826 008e 2046     		mov	r0, r4
 12827              	.LVL940:
5537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12828              		.loc 1 5537 5 view .LVU4523
 12829 0090 FFF7FEFF 		bl	I2C_Disable_IRQ
 12830              	.LVL941:
5540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12831              		.loc 1 5540 5 is_stmt 1 view .LVU4524
 12832 0094 1021     		movs	r1, #16
 12833 0096 2046     		mov	r0, r4
 12834 0098 FFF7FEFF 		bl	I2C_Enable_IRQ
 12835              	.LVL942:
5542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12836              		.loc 1 5542 5 view .LVU4525
5542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12837              		.loc 1 5542 13 is_stmt 0 view .LVU4526
 12838 009c 638D     		ldrh	r3, [r4, #42]
 12839 009e 9BB2     		uxth	r3, r3
5542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12840              		.loc 1 5542 8 view .LVU4527
 12841 00a0 002B     		cmp	r3, #0
 12842 00a2 32D0     		beq	.L804
5545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12843              		.loc 1 5545 7 is_stmt 1 view .LVU4528
5545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12844              		.loc 1 5545 15 is_stmt 0 view .LVU4529
 12845 00a4 638D     		ldrh	r3, [r4, #42]
 12846 00a6 9BB2     		uxth	r3, r3
5545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12847              		.loc 1 5545 10 view .LVU4530
 12848 00a8 FF2B     		cmp	r3, #255
 12849 00aa 1AD9     		bls	.L805
5547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 12850              		.loc 1 5547 9 is_stmt 1 view .LVU4531
5547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 12851              		.loc 1 5547 24 is_stmt 0 view .LVU4532
 12852 00ac FF22     		movs	r2, #255
 12853 00ae 2285     		strh	r2, [r4, #40]	@ movhi
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 433


5548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
 12854              		.loc 1 5548 9 is_stmt 1 view .LVU4533
5548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
 12855              		.loc 1 5548 48 is_stmt 0 view .LVU4534
 12856 00b0 E16C     		ldr	r1, [r4, #76]
5548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
 12857              		.loc 1 5548 9 view .LVU4535
 12858 00b2 0023     		movs	r3, #0
 12859 00b4 0093     		str	r3, [sp]
 12860 00b6 4FF08073 		mov	r3, #16777216
 12861 00ba 89B2     		uxth	r1, r1
 12862 00bc 2046     		mov	r0, r4
 12863 00be FFF7FEFF 		bl	I2C_TransferConfig
 12864              	.LVL943:
 12865              	.L806:
5559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12866              		.loc 1 5559 7 is_stmt 1 view .LVU4536
5559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12867              		.loc 1 5559 11 is_stmt 0 view .LVU4537
 12868 00c2 638D     		ldrh	r3, [r4, #42]
 12869 00c4 9BB2     		uxth	r3, r3
5559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12870              		.loc 1 5559 30 view .LVU4538
 12871 00c6 228D     		ldrh	r2, [r4, #40]
5559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12872              		.loc 1 5559 23 view .LVU4539
 12873 00c8 9B1A     		subs	r3, r3, r2
 12874 00ca 9BB2     		uxth	r3, r3
 12875 00cc 6385     		strh	r3, [r4, #42]	@ movhi
5562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12876              		.loc 1 5562 7 is_stmt 1 view .LVU4540
5562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12877              		.loc 1 5562 15 is_stmt 0 view .LVU4541
 12878 00ce 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
5562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 12879              		.loc 1 5562 10 view .LVU4542
 12880 00d2 222B     		cmp	r3, #34
 12881 00d4 13D0     		beq	.L822
5568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12882              		.loc 1 5568 9 is_stmt 1 view .LVU4543
5568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12883              		.loc 1 5568 13 is_stmt 0 view .LVU4544
 12884 00d6 2268     		ldr	r2, [r4]
5568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12885              		.loc 1 5568 23 view .LVU4545
 12886 00d8 1368     		ldr	r3, [r2]
5568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12887              		.loc 1 5568 29 view .LVU4546
 12888 00da 43F48043 		orr	r3, r3, #16384
 12889 00de 1360     		str	r3, [r2]
 12890 00e0 ABE7     		b	.L801
 12891              	.L805:
5553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 12892              		.loc 1 5553 9 is_stmt 1 view .LVU4547
5553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 12893              		.loc 1 5553 30 is_stmt 0 view .LVU4548
 12894 00e2 628D     		ldrh	r2, [r4, #42]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 434


 12895 00e4 92B2     		uxth	r2, r2
5553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 12896              		.loc 1 5553 24 view .LVU4549
 12897 00e6 2285     		strh	r2, [r4, #40]	@ movhi
5554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
 12898              		.loc 1 5554 9 is_stmt 1 view .LVU4550
5554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
 12899              		.loc 1 5554 48 is_stmt 0 view .LVU4551
 12900 00e8 E16C     		ldr	r1, [r4, #76]
5554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
 12901              		.loc 1 5554 9 view .LVU4552
 12902 00ea 0023     		movs	r3, #0
 12903 00ec 0093     		str	r3, [sp]
 12904 00ee 4FF00073 		mov	r3, #33554432
 12905 00f2 D2B2     		uxtb	r2, r2
 12906 00f4 89B2     		uxth	r1, r1
 12907 00f6 2046     		mov	r0, r4
 12908 00f8 FFF7FEFF 		bl	I2C_TransferConfig
 12909              	.LVL944:
 12910 00fc E1E7     		b	.L806
 12911              	.L822:
5564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12912              		.loc 1 5564 9 is_stmt 1 view .LVU4553
5564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12913              		.loc 1 5564 13 is_stmt 0 view .LVU4554
 12914 00fe 2268     		ldr	r2, [r4]
5564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12915              		.loc 1 5564 23 view .LVU4555
 12916 0100 1368     		ldr	r3, [r2]
5564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 12917              		.loc 1 5564 29 view .LVU4556
 12918 0102 43F40043 		orr	r3, r3, #32768
 12919 0106 1360     		str	r3, [r2]
 12920 0108 97E7     		b	.L801
 12921              	.L804:
5575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12922              		.loc 1 5575 7 is_stmt 1 view .LVU4557
 12923 010a 4021     		movs	r1, #64
 12924 010c 2046     		mov	r0, r4
 12925 010e FFF7FEFF 		bl	I2C_ITError
 12926              	.LVL945:
 12927 0112 92E7     		b	.L801
 12928              	.LVL946:
 12929              	.L821:
5582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12930              		.loc 1 5582 5 view .LVU4558
 12931 0114 0121     		movs	r1, #1
 12932              	.LVL947:
5582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12933              		.loc 1 5582 5 is_stmt 0 view .LVU4559
 12934 0116 2046     		mov	r0, r4
 12935              	.LVL948:
5582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12936              		.loc 1 5582 5 view .LVU4560
 12937 0118 FFF7FEFF 		bl	I2C_Disable_IRQ
 12938              	.LVL949:
5585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 435


 12939              		.loc 1 5585 5 is_stmt 1 view .LVU4561
 12940 011c 1021     		movs	r1, #16
 12941 011e 2046     		mov	r0, r4
 12942 0120 FFF7FEFF 		bl	I2C_Enable_IRQ
 12943              	.LVL950:
5587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12944              		.loc 1 5587 5 view .LVU4562
5587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12945              		.loc 1 5587 13 is_stmt 0 view .LVU4563
 12946 0124 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
5587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12947              		.loc 1 5587 8 view .LVU4564
 12948 0128 222B     		cmp	r3, #34
 12949 012a 1ED0     		beq	.L814
5502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12950              		.loc 1 5502 12 view .LVU4565
 12951 012c 1A48     		ldr	r0, .L824
 12952              	.L809:
 12953              	.LVL951:
5592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12954              		.loc 1 5592 5 is_stmt 1 view .LVU4566
5592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12955              		.loc 1 5592 13 is_stmt 0 view .LVU4567
 12956 012e 638D     		ldrh	r3, [r4, #42]
 12957 0130 9BB2     		uxth	r3, r3
5592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12958              		.loc 1 5592 8 view .LVU4568
 12959 0132 FF2B     		cmp	r3, #255
 12960 0134 1BD9     		bls	.L810
5594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12961              		.loc 1 5594 7 is_stmt 1 view .LVU4569
5594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12962              		.loc 1 5594 22 is_stmt 0 view .LVU4570
 12963 0136 FF22     		movs	r2, #255
 12964 0138 2285     		strh	r2, [r4, #40]	@ movhi
5597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
 12965              		.loc 1 5597 7 is_stmt 1 view .LVU4571
5597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
 12966              		.loc 1 5597 46 is_stmt 0 view .LVU4572
 12967 013a E16C     		ldr	r1, [r4, #76]
5597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
 12968              		.loc 1 5597 7 view .LVU4573
 12969 013c 0090     		str	r0, [sp]
 12970 013e 4FF08073 		mov	r3, #16777216
 12971 0142 89B2     		uxth	r1, r1
 12972 0144 2046     		mov	r0, r4
 12973              	.LVL952:
5597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
 12974              		.loc 1 5597 7 view .LVU4574
 12975 0146 FFF7FEFF 		bl	I2C_TransferConfig
 12976              	.LVL953:
 12977              	.L811:
5610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12978              		.loc 1 5610 5 is_stmt 1 view .LVU4575
5610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12979              		.loc 1 5610 9 is_stmt 0 view .LVU4576
 12980 014a 638D     		ldrh	r3, [r4, #42]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 436


 12981 014c 9BB2     		uxth	r3, r3
5610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12982              		.loc 1 5610 28 view .LVU4577
 12983 014e 228D     		ldrh	r2, [r4, #40]
5610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 12984              		.loc 1 5610 21 view .LVU4578
 12985 0150 9B1A     		subs	r3, r3, r2
 12986 0152 9BB2     		uxth	r3, r3
 12987 0154 6385     		strh	r3, [r4, #42]	@ movhi
5613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12988              		.loc 1 5613 5 is_stmt 1 view .LVU4579
5613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12989              		.loc 1 5613 13 is_stmt 0 view .LVU4580
 12990 0156 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
5613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 12991              		.loc 1 5613 8 view .LVU4581
 12992 015a 222B     		cmp	r3, #34
 12993 015c 14D0     		beq	.L823
5619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12994              		.loc 1 5619 7 is_stmt 1 view .LVU4582
5619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12995              		.loc 1 5619 11 is_stmt 0 view .LVU4583
 12996 015e 2268     		ldr	r2, [r4]
5619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12997              		.loc 1 5619 21 view .LVU4584
 12998 0160 1368     		ldr	r3, [r2]
5619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 12999              		.loc 1 5619 27 view .LVU4585
 13000 0162 43F48043 		orr	r3, r3, #16384
 13001 0166 1360     		str	r3, [r2]
 13002 0168 67E7     		b	.L801
 13003              	.LVL954:
 13004              	.L814:
5589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13005              		.loc 1 5589 17 view .LVU4586
 13006 016a 0C48     		ldr	r0, .L824+4
 13007 016c DFE7     		b	.L809
 13008              	.LVL955:
 13009              	.L810:
5602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13010              		.loc 1 5602 7 is_stmt 1 view .LVU4587
5602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13011              		.loc 1 5602 28 is_stmt 0 view .LVU4588
 13012 016e 628D     		ldrh	r2, [r4, #42]
 13013 0170 92B2     		uxth	r2, r2
5602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13014              		.loc 1 5602 22 view .LVU4589
 13015 0172 2285     		strh	r2, [r4, #40]	@ movhi
5605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
 13016              		.loc 1 5605 7 is_stmt 1 view .LVU4590
5605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
 13017              		.loc 1 5605 46 is_stmt 0 view .LVU4591
 13018 0174 E16C     		ldr	r1, [r4, #76]
5605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
 13019              		.loc 1 5605 7 view .LVU4592
 13020 0176 0090     		str	r0, [sp]
 13021 0178 4FF00073 		mov	r3, #33554432
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 437


 13022 017c D2B2     		uxtb	r2, r2
 13023 017e 89B2     		uxth	r1, r1
 13024 0180 2046     		mov	r0, r4
 13025              	.LVL956:
5605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
 13026              		.loc 1 5605 7 view .LVU4593
 13027 0182 FFF7FEFF 		bl	I2C_TransferConfig
 13028              	.LVL957:
5605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
 13029              		.loc 1 5605 7 view .LVU4594
 13030 0186 E0E7     		b	.L811
 13031              	.L823:
5615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13032              		.loc 1 5615 7 is_stmt 1 view .LVU4595
5615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13033              		.loc 1 5615 11 is_stmt 0 view .LVU4596
 13034 0188 2268     		ldr	r2, [r4]
5615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13035              		.loc 1 5615 21 view .LVU4597
 13036 018a 1368     		ldr	r3, [r2]
5615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13037              		.loc 1 5615 27 view .LVU4598
 13038 018c 43F40043 		orr	r3, r3, #32768
 13039 0190 1360     		str	r3, [r2]
 13040 0192 52E7     		b	.L801
 13041              	.LVL958:
 13042              	.L813:
 13043              		.cfi_def_cfa_offset 0
 13044              		.cfi_restore 4
 13045              		.cfi_restore 14
5505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13046              		.loc 1 5505 3 discriminator 1 view .LVU4599
 13047 0194 0220     		movs	r0, #2
 13048              	.LVL959:
5637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13049              		.loc 1 5637 1 view .LVU4600
 13050 0196 7047     		bx	lr
 13051              	.L825:
 13052              		.align	2
 13053              	.L824:
 13054 0198 00200080 		.word	-2147475456
 13055 019c 00240080 		.word	-2147474432
 13056              		.cfi_endproc
 13057              	.LFE388:
 13059              		.section	.text.I2C_Slave_ISR_DMA,"ax",%progbits
 13060              		.align	1
 13061              		.syntax unified
 13062              		.thumb
 13063              		.thumb_func
 13065              	I2C_Slave_ISR_DMA:
 13066              	.LVL960:
 13067              	.LFB389:
5649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
 13068              		.loc 1 5649 1 is_stmt 1 view -0
 13069              		.cfi_startproc
 13070              		@ args = 0, pretend = 0, frame = 0
 13071              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 438


5649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpoptions = hi2c->XferOptions;
 13072              		.loc 1 5649 1 is_stmt 0 view .LVU4602
 13073 0000 70B5     		push	{r4, r5, r6, lr}
 13074              		.cfi_def_cfa_offset 16
 13075              		.cfi_offset 4, -16
 13076              		.cfi_offset 5, -12
 13077              		.cfi_offset 6, -8
 13078              		.cfi_offset 14, -4
 13079 0002 0446     		mov	r4, r0
5650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t treatdmanack = 0U;
 13080              		.loc 1 5650 3 is_stmt 1 view .LVU4603
5650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t treatdmanack = 0U;
 13081              		.loc 1 5650 12 is_stmt 0 view .LVU4604
 13082 0004 C06A     		ldr	r0, [r0, #44]
 13083              	.LVL961:
5651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmpstate;
 13084              		.loc 1 5651 3 is_stmt 1 view .LVU4605
5652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13085              		.loc 1 5652 3 view .LVU4606
5655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13086              		.loc 1 5655 3 view .LVU4607
5655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13087              		.loc 1 5655 3 view .LVU4608
 13088 0006 94F84030 		ldrb	r3, [r4, #64]	@ zero_extendqisi2
 13089 000a 012B     		cmp	r3, #1
 13090 000c 00F0FF80 		beq	.L849
5655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13091              		.loc 1 5655 3 discriminator 2 view .LVU4609
 13092 0010 0123     		movs	r3, #1
 13093 0012 84F84030 		strb	r3, [r4, #64]
5655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13094              		.loc 1 5655 3 view .LVU4610
5658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 13095              		.loc 1 5658 3 view .LVU4611
5658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 13096              		.loc 1 5658 6 is_stmt 0 view .LVU4612
 13097 0016 11F0200F 		tst	r1, #32
 13098 001a 02D0     		beq	.L828
5658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 13099              		.loc 1 5658 58 discriminator 1 view .LVU4613
 13100 001c 12F0200F 		tst	r2, #32
 13101 0020 4FD1     		bne	.L854
 13102              	.L828:
5664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 13103              		.loc 1 5664 8 is_stmt 1 view .LVU4614
5664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 13104              		.loc 1 5664 11 is_stmt 0 view .LVU4615
 13105 0022 11F0100F 		tst	r1, #16
 13106 0026 00F0E480 		beq	.L830
5664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 13107              		.loc 1 5664 60 discriminator 1 view .LVU4616
 13108 002a 12F0100F 		tst	r2, #16
 13109 002e 00F0E080 		beq	.L830
5671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
 13110              		.loc 1 5671 5 is_stmt 1 view .LVU4617
 13111 0032 C2F38036 		ubfx	r6, r2, #14, #1
5671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 439


 13112              		.loc 1 5671 8 is_stmt 0 view .LVU4618
 13113 0036 12F4804F 		tst	r2, #16384
 13114 003a 03D1     		bne	.L831
5671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
 13115              		.loc 1 5671 68 discriminator 1 view .LVU4619
 13116 003c 12F4004F 		tst	r2, #32768
 13117 0040 00F0D380 		beq	.L832
 13118              	.L831:
5675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13119              		.loc 1 5675 7 is_stmt 1 view .LVU4620
5675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13120              		.loc 1 5675 15 is_stmt 0 view .LVU4621
 13121 0044 E36B     		ldr	r3, [r4, #60]
5675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13122              		.loc 1 5675 10 view .LVU4622
 13123 0046 002B     		cmp	r3, #0
 13124 0048 47D0     		beq	.L850
5677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13125              		.loc 1 5677 9 is_stmt 1 view .LVU4623
 13126 004a C2F3C035 		ubfx	r5, r2, #15, #1
5677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13127              		.loc 1 5677 12 is_stmt 0 view .LVU4624
 13128 004e 12F4004F 		tst	r2, #32768
 13129 0052 43D0     		beq	.L833
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13130              		.loc 1 5679 11 is_stmt 1 view .LVU4625
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13131              		.loc 1 5679 15 is_stmt 0 view .LVU4626
 13132 0054 1B68     		ldr	r3, [r3]
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13133              		.loc 1 5679 53 view .LVU4627
 13134 0056 6F4D     		ldr	r5, .L858
 13135 0058 6F4A     		ldr	r2, .L858+4
 13136              	.LVL962:
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13137              		.loc 1 5679 53 view .LVU4628
 13138 005a 9342     		cmp	r3, r2
 13139 005c 18BF     		it	ne
 13140 005e AB42     		cmpne	r3, r5
 13141 0060 33D0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13142              		.loc 1 5679 15 discriminator 2 view .LVU4629
 13143 0062 1832     		adds	r2, r2, #24
 13144 0064 9342     		cmp	r3, r2
 13145 0066 30D0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13146              		.loc 1 5679 15 discriminator 4 view .LVU4630
 13147 0068 1832     		adds	r2, r2, #24
 13148 006a 9342     		cmp	r3, r2
 13149 006c 2DD0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13150              		.loc 1 5679 15 discriminator 6 view .LVU4631
 13151 006e 1832     		adds	r2, r2, #24
 13152 0070 9342     		cmp	r3, r2
 13153 0072 2AD0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13154              		.loc 1 5679 15 discriminator 8 view .LVU4632
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 440


 13155 0074 1832     		adds	r2, r2, #24
 13156 0076 9342     		cmp	r3, r2
 13157 0078 27D0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13158              		.loc 1 5679 15 discriminator 10 view .LVU4633
 13159 007a 1832     		adds	r2, r2, #24
 13160 007c 9342     		cmp	r3, r2
 13161 007e 24D0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13162              		.loc 1 5679 15 discriminator 12 view .LVU4634
 13163 0080 1832     		adds	r2, r2, #24
 13164 0082 9342     		cmp	r3, r2
 13165 0084 21D0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13166              		.loc 1 5679 15 discriminator 14 view .LVU4635
 13167 0086 02F55672 		add	r2, r2, #856
 13168 008a 9342     		cmp	r3, r2
 13169 008c 1DD0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13170              		.loc 1 5679 15 discriminator 16 view .LVU4636
 13171 008e 1832     		adds	r2, r2, #24
 13172 0090 9342     		cmp	r3, r2
 13173 0092 1AD0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13174              		.loc 1 5679 15 discriminator 18 view .LVU4637
 13175 0094 1832     		adds	r2, r2, #24
 13176 0096 9342     		cmp	r3, r2
 13177 0098 17D0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13178              		.loc 1 5679 15 discriminator 20 view .LVU4638
 13179 009a 1832     		adds	r2, r2, #24
 13180 009c 9342     		cmp	r3, r2
 13181 009e 14D0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13182              		.loc 1 5679 15 discriminator 22 view .LVU4639
 13183 00a0 1832     		adds	r2, r2, #24
 13184 00a2 9342     		cmp	r3, r2
 13185 00a4 11D0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13186              		.loc 1 5679 15 discriminator 24 view .LVU4640
 13187 00a6 1832     		adds	r2, r2, #24
 13188 00a8 9342     		cmp	r3, r2
 13189 00aa 0ED0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13190              		.loc 1 5679 15 discriminator 26 view .LVU4641
 13191 00ac 1832     		adds	r2, r2, #24
 13192 00ae 9342     		cmp	r3, r2
 13193 00b0 0BD0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13194              		.loc 1 5679 15 discriminator 28 view .LVU4642
 13195 00b2 1832     		adds	r2, r2, #24
 13196 00b4 9342     		cmp	r3, r2
 13197 00b6 08D0     		beq	.L834
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13198              		.loc 1 5679 15 discriminator 30 view .LVU4643
 13199 00b8 5B68     		ldr	r3, [r3, #4]
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 441


 13200              		.loc 1 5679 53 discriminator 30 view .LVU4644
 13201 00ba B3FA83F3 		clz	r3, r3
 13202 00be 5B09     		lsrs	r3, r3, #5
 13203 00c0 07E0     		b	.L836
 13204              	.LVL963:
 13205              	.L854:
5662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 13206              		.loc 1 5662 5 is_stmt 1 view .LVU4645
 13207 00c2 2046     		mov	r0, r4
 13208              	.LVL964:
5662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 13209              		.loc 1 5662 5 is_stmt 0 view .LVU4646
 13210 00c4 FFF7FEFF 		bl	I2C_ITSlaveCplt
 13211              	.LVL965:
5662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 13212              		.loc 1 5662 5 view .LVU4647
 13213 00c8 99E0     		b	.L829
 13214              	.LVL966:
 13215              	.L834:
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13216              		.loc 1 5679 15 discriminator 29 view .LVU4648
 13217 00ca 5B68     		ldr	r3, [r3, #4]
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13218              		.loc 1 5679 53 discriminator 29 view .LVU4649
 13219 00cc B3FA83F3 		clz	r3, r3
 13220 00d0 5B09     		lsrs	r3, r3, #5
 13221              	.L836:
5679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13222              		.loc 1 5679 14 discriminator 32 view .LVU4650
 13223 00d2 002B     		cmp	r3, #0
 13224 00d4 3ED1     		bne	.L851
5651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmpstate;
 13225              		.loc 1 5651 12 view .LVU4651
 13226 00d6 0025     		movs	r5, #0
 13227 00d8 00E0     		b	.L833
 13228              	.LVL967:
 13229              	.L850:
5651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   HAL_I2C_StateTypeDef tmpstate;
 13230              		.loc 1 5651 12 view .LVU4652
 13231 00da 0025     		movs	r5, #0
 13232              	.LVL968:
 13233              	.L833:
5687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13234              		.loc 1 5687 7 is_stmt 1 view .LVU4653
5687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13235              		.loc 1 5687 15 is_stmt 0 view .LVU4654
 13236 00dc A36B     		ldr	r3, [r4, #56]
5687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13237              		.loc 1 5687 10 view .LVU4655
 13238 00de 002B     		cmp	r3, #0
 13239 00e0 3FD0     		beq	.L837
5689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13240              		.loc 1 5689 9 is_stmt 1 view .LVU4656
5689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13241              		.loc 1 5689 12 is_stmt 0 view .LVU4657
 13242 00e2 002E     		cmp	r6, #0
 13243 00e4 3DD0     		beq	.L837
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 442


5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13244              		.loc 1 5691 11 is_stmt 1 view .LVU4658
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13245              		.loc 1 5691 15 is_stmt 0 view .LVU4659
 13246 00e6 1B68     		ldr	r3, [r3]
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13247              		.loc 1 5691 53 view .LVU4660
 13248 00e8 4A4E     		ldr	r6, .L858
 13249 00ea 4B4A     		ldr	r2, .L858+4
 13250 00ec 9342     		cmp	r3, r2
 13251 00ee 18BF     		it	ne
 13252 00f0 B342     		cmpne	r3, r6
 13253 00f2 31D0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13254              		.loc 1 5691 15 discriminator 2 view .LVU4661
 13255 00f4 1832     		adds	r2, r2, #24
 13256 00f6 9342     		cmp	r3, r2
 13257 00f8 2ED0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13258              		.loc 1 5691 15 discriminator 4 view .LVU4662
 13259 00fa 1832     		adds	r2, r2, #24
 13260 00fc 9342     		cmp	r3, r2
 13261 00fe 2BD0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13262              		.loc 1 5691 15 discriminator 6 view .LVU4663
 13263 0100 1832     		adds	r2, r2, #24
 13264 0102 9342     		cmp	r3, r2
 13265 0104 28D0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13266              		.loc 1 5691 15 discriminator 8 view .LVU4664
 13267 0106 1832     		adds	r2, r2, #24
 13268 0108 9342     		cmp	r3, r2
 13269 010a 25D0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13270              		.loc 1 5691 15 discriminator 10 view .LVU4665
 13271 010c 1832     		adds	r2, r2, #24
 13272 010e 9342     		cmp	r3, r2
 13273 0110 22D0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13274              		.loc 1 5691 15 discriminator 12 view .LVU4666
 13275 0112 1832     		adds	r2, r2, #24
 13276 0114 9342     		cmp	r3, r2
 13277 0116 1FD0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13278              		.loc 1 5691 15 discriminator 14 view .LVU4667
 13279 0118 02F55672 		add	r2, r2, #856
 13280 011c 9342     		cmp	r3, r2
 13281 011e 1BD0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13282              		.loc 1 5691 15 discriminator 16 view .LVU4668
 13283 0120 1832     		adds	r2, r2, #24
 13284 0122 9342     		cmp	r3, r2
 13285 0124 18D0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13286              		.loc 1 5691 15 discriminator 18 view .LVU4669
 13287 0126 1832     		adds	r2, r2, #24
 13288 0128 9342     		cmp	r3, r2
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 443


 13289 012a 15D0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13290              		.loc 1 5691 15 discriminator 20 view .LVU4670
 13291 012c 1832     		adds	r2, r2, #24
 13292 012e 9342     		cmp	r3, r2
 13293 0130 12D0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13294              		.loc 1 5691 15 discriminator 22 view .LVU4671
 13295 0132 1832     		adds	r2, r2, #24
 13296 0134 9342     		cmp	r3, r2
 13297 0136 0FD0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13298              		.loc 1 5691 15 discriminator 24 view .LVU4672
 13299 0138 1832     		adds	r2, r2, #24
 13300 013a 9342     		cmp	r3, r2
 13301 013c 0CD0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13302              		.loc 1 5691 15 discriminator 26 view .LVU4673
 13303 013e 1832     		adds	r2, r2, #24
 13304 0140 9342     		cmp	r3, r2
 13305 0142 09D0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13306              		.loc 1 5691 15 discriminator 28 view .LVU4674
 13307 0144 1832     		adds	r2, r2, #24
 13308 0146 9342     		cmp	r3, r2
 13309 0148 06D0     		beq	.L838
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13310              		.loc 1 5691 15 discriminator 30 view .LVU4675
 13311 014a 5B68     		ldr	r3, [r3, #4]
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13312              		.loc 1 5691 53 discriminator 30 view .LVU4676
 13313 014c B3FA83F3 		clz	r3, r3
 13314 0150 5B09     		lsrs	r3, r3, #5
 13315 0152 05E0     		b	.L840
 13316              	.LVL969:
 13317              	.L851:
5681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 13318              		.loc 1 5681 26 view .LVU4677
 13319 0154 0125     		movs	r5, #1
 13320 0156 C1E7     		b	.L833
 13321              	.LVL970:
 13322              	.L838:
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13323              		.loc 1 5691 15 discriminator 29 view .LVU4678
 13324 0158 5B68     		ldr	r3, [r3, #4]
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13325              		.loc 1 5691 53 discriminator 29 view .LVU4679
 13326 015a B3FA83F3 		clz	r3, r3
 13327 015e 5B09     		lsrs	r3, r3, #5
 13328              	.L840:
5691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13329              		.loc 1 5691 14 discriminator 32 view .LVU4680
 13330 0160 CBB9     		cbnz	r3, .L841
 13331              	.L837:
5698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13332              		.loc 1 5698 7 is_stmt 1 view .LVU4681
5698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 444


 13333              		.loc 1 5698 10 is_stmt 0 view .LVU4682
 13334 0162 C5B9     		cbnz	r5, .L841
5729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13335              		.loc 1 5729 9 is_stmt 1 view .LVU4683
 13336 0164 2368     		ldr	r3, [r4]
 13337 0166 1022     		movs	r2, #16
 13338 0168 DA61     		str	r2, [r3, #28]
5732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13339              		.loc 1 5732 9 view .LVU4684
5732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13340              		.loc 1 5732 13 is_stmt 0 view .LVU4685
 13341 016a 636C     		ldr	r3, [r4, #68]
5732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13342              		.loc 1 5732 25 view .LVU4686
 13343 016c 43F00403 		orr	r3, r3, #4
 13344 0170 6364     		str	r3, [r4, #68]
5735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13345              		.loc 1 5735 9 is_stmt 1 view .LVU4687
5735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13346              		.loc 1 5735 18 is_stmt 0 view .LVU4688
 13347 0172 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
 13348 0176 DBB2     		uxtb	r3, r3
 13349              	.LVL971:
5737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13350              		.loc 1 5737 9 is_stmt 1 view .LVU4689
5737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13351              		.loc 1 5737 12 is_stmt 0 view .LVU4690
 13352 0178 B0F1807F 		cmp	r0, #16777216
 13353 017c 18BF     		it	ne
 13354 017e 0028     		cmpne	r0, #0
 13355 0180 3DD1     		bne	.L829
5739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13356              		.loc 1 5739 11 is_stmt 1 view .LVU4691
 13357 0182 213B     		subs	r3, r3, #33
 13358              	.LVL972:
5739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           {
 13359              		.loc 1 5739 11 is_stmt 0 view .LVU4692
 13360 0184 092B     		cmp	r3, #9
 13361 0186 28D8     		bhi	.L845
 13362 0188 DFE803F0 		tbb	[pc, r3]
 13363              	.L847:
 13364 018c 25       		.byte	(.L848-.L847)/2
 13365 018d 2C       		.byte	(.L846-.L847)/2
 13366 018e 27       		.byte	(.L845-.L847)/2
 13367 018f 27       		.byte	(.L845-.L847)/2
 13368 0190 27       		.byte	(.L845-.L847)/2
 13369 0191 27       		.byte	(.L845-.L847)/2
 13370 0192 27       		.byte	(.L845-.L847)/2
 13371 0193 27       		.byte	(.L845-.L847)/2
 13372 0194 25       		.byte	(.L848-.L847)/2
 13373 0195 2C       		.byte	(.L846-.L847)/2
 13374              	.LVL973:
 13375              		.p2align 1
 13376              	.L841:
5700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 13377              		.loc 1 5700 9 is_stmt 1 view .LVU4693
5700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 445


 13378              		.loc 1 5700 18 is_stmt 0 view .LVU4694
 13379 0196 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
5700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 13380              		.loc 1 5700 12 view .LVU4695
 13381 019a 282B     		cmp	r3, #40
 13382 019c 07D0     		beq	.L855
 13383              	.L843:
5707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13384              		.loc 1 5707 14 is_stmt 1 view .LVU4696
5707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13385              		.loc 1 5707 23 is_stmt 0 view .LVU4697
 13386 019e 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
5707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13387              		.loc 1 5707 17 view .LVU4698
 13388 01a2 292B     		cmp	r3, #41
 13389 01a4 0AD0     		beq	.L856
 13390              	.L844:
5722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13391              		.loc 1 5722 11 is_stmt 1 view .LVU4699
 13392 01a6 2368     		ldr	r3, [r4]
 13393 01a8 1022     		movs	r2, #16
 13394 01aa DA61     		str	r2, [r3, #28]
 13395 01ac 27E0     		b	.L829
 13396              	.L855:
5700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
 13397              		.loc 1 5700 51 is_stmt 0 discriminator 1 view .LVU4700
 13398 01ae B0F1007F 		cmp	r0, #33554432
 13399 01b2 F4D1     		bne	.L843
5705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13400              		.loc 1 5705 11 is_stmt 1 view .LVU4701
 13401 01b4 2046     		mov	r0, r4
 13402              	.LVL974:
5705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13403              		.loc 1 5705 11 is_stmt 0 view .LVU4702
 13404 01b6 FFF7FEFF 		bl	I2C_ITListenCplt
 13405              	.LVL975:
5705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13406              		.loc 1 5705 11 view .LVU4703
 13407 01ba 20E0     		b	.L829
 13408              	.LVL976:
 13409              	.L856:
5707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13410              		.loc 1 5707 64 discriminator 1 view .LVU4704
 13411 01bc 10F5803F 		cmn	r0, #65536
 13412 01c0 F1D0     		beq	.L844
5710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13413              		.loc 1 5710 11 is_stmt 1 view .LVU4705
 13414 01c2 2368     		ldr	r3, [r4]
 13415 01c4 1022     		movs	r2, #16
 13416 01c6 DA61     		str	r2, [r3, #28]
5713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13417              		.loc 1 5713 11 view .LVU4706
 13418 01c8 2046     		mov	r0, r4
 13419              	.LVL977:
5713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13420              		.loc 1 5713 11 is_stmt 0 view .LVU4707
 13421 01ca FFF7FEFF 		bl	I2C_Flush_TXDR
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 446


 13422              	.LVL978:
5717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13423              		.loc 1 5717 11 is_stmt 1 view .LVU4708
 13424 01ce 2046     		mov	r0, r4
 13425 01d0 FFF7FEFF 		bl	I2C_ITSlaveSeqCplt
 13426              	.LVL979:
 13427 01d4 13E0     		b	.L829
 13428              	.LVL980:
 13429              	.L848:
5741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 13430              		.loc 1 5741 13 view .LVU4709
5741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 13431              		.loc 1 5741 33 is_stmt 0 view .LVU4710
 13432 01d6 2123     		movs	r3, #33
 13433              	.LVL981:
5741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 13434              		.loc 1 5741 33 view .LVU4711
 13435 01d8 2363     		str	r3, [r4, #48]
 13436              	.L845:
5750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13437              		.loc 1 5750 11 is_stmt 1 view .LVU4712
5753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13438              		.loc 1 5753 11 view .LVU4713
5753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13439              		.loc 1 5753 33 is_stmt 0 view .LVU4714
 13440 01da 616C     		ldr	r1, [r4, #68]
 13441              	.LVL982:
5753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13442              		.loc 1 5753 11 view .LVU4715
 13443 01dc 2046     		mov	r0, r4
 13444              	.LVL983:
5753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13445              		.loc 1 5753 11 view .LVU4716
 13446 01de FFF7FEFF 		bl	I2C_ITError
 13447              	.LVL984:
 13448 01e2 0CE0     		b	.L829
 13449              	.LVL985:
 13450              	.L846:
5745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 13451              		.loc 1 5745 13 is_stmt 1 view .LVU4717
5745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 13452              		.loc 1 5745 33 is_stmt 0 view .LVU4718
 13453 01e4 2223     		movs	r3, #34
 13454              	.LVL986:
5745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****           }
 13455              		.loc 1 5745 33 view .LVU4719
 13456 01e6 2363     		str	r3, [r4, #48]
 13457 01e8 F7E7     		b	.L845
 13458              	.LVL987:
 13459              	.L832:
5760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13460              		.loc 1 5760 7 is_stmt 1 view .LVU4720
 13461 01ea 2368     		ldr	r3, [r4]
 13462 01ec 1022     		movs	r2, #16
 13463              	.LVL988:
5760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13464              		.loc 1 5760 7 is_stmt 0 view .LVU4721
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 447


 13465 01ee DA61     		str	r2, [r3, #28]
 13466 01f0 05E0     		b	.L829
 13467              	.LVL989:
 13468              	.L830:
5763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
 13469              		.loc 1 5763 8 is_stmt 1 view .LVU4722
5763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
 13470              		.loc 1 5763 11 is_stmt 0 view .LVU4723
 13471 01f2 11F0080F 		tst	r1, #8
 13472 01f6 02D0     		beq	.L829
5763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
 13473              		.loc 1 5763 62 discriminator 1 view .LVU4724
 13474 01f8 12F0080F 		tst	r2, #8
 13475 01fc 03D1     		bne	.L857
 13476              	.LVL990:
 13477              	.L829:
5771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13478              		.loc 1 5771 3 is_stmt 1 view .LVU4725
5774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13479              		.loc 1 5774 3 view .LVU4726
5774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13480              		.loc 1 5774 3 view .LVU4727
 13481 01fe 0020     		movs	r0, #0
 13482 0200 84F84000 		strb	r0, [r4, #64]
5774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13483              		.loc 1 5774 3 view .LVU4728
5776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 13484              		.loc 1 5776 3 view .LVU4729
 13485              	.L827:
5777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13486              		.loc 1 5777 1 is_stmt 0 view .LVU4730
 13487 0204 70BD     		pop	{r4, r5, r6, pc}
 13488              	.LVL991:
 13489              	.L857:
5766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 13490              		.loc 1 5766 5 is_stmt 1 view .LVU4731
 13491 0206 2046     		mov	r0, r4
 13492              	.LVL992:
5766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 13493              		.loc 1 5766 5 is_stmt 0 view .LVU4732
 13494 0208 FFF7FEFF 		bl	I2C_ITAddrCplt
 13495              	.LVL993:
5766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 13496              		.loc 1 5766 5 view .LVU4733
 13497 020c F7E7     		b	.L829
 13498              	.LVL994:
 13499              	.L849:
5655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13500              		.loc 1 5655 3 discriminator 1 view .LVU4734
 13501 020e 0220     		movs	r0, #2
 13502              	.LVL995:
5655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13503              		.loc 1 5655 3 discriminator 1 view .LVU4735
 13504 0210 F8E7     		b	.L827
 13505              	.L859:
 13506 0212 00BF     		.align	2
 13507              	.L858:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 448


 13508 0214 10000240 		.word	1073872912
 13509 0218 28000240 		.word	1073872936
 13510              		.cfi_endproc
 13511              	.LFE389:
 13513              		.section	.text.I2C_Master_ISR_DMA,"ax",%progbits
 13514              		.align	1
 13515              		.syntax unified
 13516              		.thumb
 13517              		.thumb_func
 13519              	I2C_Master_ISR_DMA:
 13520              	.LVL996:
 13521              	.LFB387:
5361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t devaddress;
 13522              		.loc 1 5361 1 is_stmt 1 view -0
 13523              		.cfi_startproc
 13524              		@ args = 0, pretend = 0, frame = 0
 13525              		@ frame_needed = 0, uses_anonymous_args = 0
5362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t xfermode;
 13526              		.loc 1 5362 3 view .LVU4737
5363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13527              		.loc 1 5363 3 view .LVU4738
5366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13528              		.loc 1 5366 3 view .LVU4739
5366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13529              		.loc 1 5366 3 view .LVU4740
 13530 0000 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 13531 0004 012B     		cmp	r3, #1
 13532 0006 00F09980 		beq	.L873
5361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint16_t devaddress;
 13533              		.loc 1 5361 1 is_stmt 0 view .LVU4741
 13534 000a 10B5     		push	{r4, lr}
 13535              		.cfi_def_cfa_offset 8
 13536              		.cfi_offset 4, -8
 13537              		.cfi_offset 14, -4
 13538 000c 82B0     		sub	sp, sp, #8
 13539              		.cfi_def_cfa_offset 16
 13540 000e 0446     		mov	r4, r0
5366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13541              		.loc 1 5366 3 is_stmt 1 discriminator 2 view .LVU4742
 13542 0010 0123     		movs	r3, #1
 13543 0012 80F84030 		strb	r3, [r0, #64]
5366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13544              		.loc 1 5366 3 view .LVU4743
5368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 13545              		.loc 1 5368 3 view .LVU4744
5368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 13546              		.loc 1 5368 6 is_stmt 0 view .LVU4745
 13547 0016 11F0100F 		tst	r1, #16
 13548 001a 02D0     		beq	.L862
5368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 13549              		.loc 1 5368 55 discriminator 1 view .LVU4746
 13550 001c 12F0100F 		tst	r2, #16
 13551 0020 31D1     		bne	.L879
 13552              	.L862:
5385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 13553              		.loc 1 5385 8 is_stmt 1 view .LVU4747
5385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 449


 13554              		.loc 1 5385 11 is_stmt 0 view .LVU4748
 13555 0022 11F0800F 		tst	r1, #128
 13556 0026 5FD0     		beq	.L864
5385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 13557              		.loc 1 5385 61 discriminator 1 view .LVU4749
 13558 0028 12F0400F 		tst	r2, #64
 13559 002c 5CD0     		beq	.L864
5389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13560              		.loc 1 5389 5 is_stmt 1 view .LVU4750
 13561 002e 2268     		ldr	r2, [r4]
 13562              	.LVL997:
5389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13563              		.loc 1 5389 5 is_stmt 0 view .LVU4751
 13564 0030 1368     		ldr	r3, [r2]
 13565 0032 23F04003 		bic	r3, r3, #64
 13566 0036 1360     		str	r3, [r2]
5391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13567              		.loc 1 5391 5 is_stmt 1 view .LVU4752
5391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13568              		.loc 1 5391 13 is_stmt 0 view .LVU4753
 13569 0038 638D     		ldrh	r3, [r4, #42]
 13570 003a 9BB2     		uxth	r3, r3
5391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13571              		.loc 1 5391 8 view .LVU4754
 13572 003c 002B     		cmp	r3, #0
 13573 003e 45D0     		beq	.L865
5394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13574              		.loc 1 5394 7 is_stmt 1 view .LVU4755
5394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13575              		.loc 1 5394 35 is_stmt 0 view .LVU4756
 13576 0040 2368     		ldr	r3, [r4]
5394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13577              		.loc 1 5394 45 view .LVU4757
 13578 0042 5968     		ldr	r1, [r3, #4]
 13579              	.LVL998:
5394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13580              		.loc 1 5394 18 view .LVU4758
 13581 0044 C1F30901 		ubfx	r1, r1, #0, #10
 13582              	.LVL999:
5397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13583              		.loc 1 5397 7 is_stmt 1 view .LVU4759
5397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13584              		.loc 1 5397 15 is_stmt 0 view .LVU4760
 13585 0048 638D     		ldrh	r3, [r4, #42]
 13586 004a 9BB2     		uxth	r3, r3
5397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13587              		.loc 1 5397 10 view .LVU4761
 13588 004c FF2B     		cmp	r3, #255
 13589 004e 2CD9     		bls	.L866
5399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         xfermode = I2C_RELOAD_MODE;
 13590              		.loc 1 5399 9 is_stmt 1 view .LVU4762
5399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         xfermode = I2C_RELOAD_MODE;
 13591              		.loc 1 5399 24 is_stmt 0 view .LVU4763
 13592 0050 FF23     		movs	r3, #255
 13593 0052 2385     		strh	r3, [r4, #40]	@ movhi
5400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13594              		.loc 1 5400 9 is_stmt 1 view .LVU4764
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 450


 13595              	.LVL1000:
5400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13596              		.loc 1 5400 18 is_stmt 0 view .LVU4765
 13597 0054 4FF08073 		mov	r3, #16777216
 13598              	.LVL1001:
 13599              	.L867:
5416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13600              		.loc 1 5416 7 is_stmt 1 view .LVU4766
 13601 0058 0022     		movs	r2, #0
 13602 005a 0092     		str	r2, [sp]
 13603 005c 94F82820 		ldrb	r2, [r4, #40]	@ zero_extendqisi2
 13604 0060 2046     		mov	r0, r4
 13605              	.LVL1002:
5416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13606              		.loc 1 5416 7 is_stmt 0 view .LVU4767
 13607 0062 FFF7FEFF 		bl	I2C_TransferConfig
 13608              	.LVL1003:
5419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13609              		.loc 1 5419 7 is_stmt 1 view .LVU4768
5419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13610              		.loc 1 5419 11 is_stmt 0 view .LVU4769
 13611 0066 638D     		ldrh	r3, [r4, #42]
 13612 0068 9BB2     		uxth	r3, r3
5419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13613              		.loc 1 5419 30 view .LVU4770
 13614 006a 228D     		ldrh	r2, [r4, #40]
5419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13615              		.loc 1 5419 23 view .LVU4771
 13616 006c 9B1A     		subs	r3, r3, r2
 13617 006e 9BB2     		uxth	r3, r3
 13618 0070 6385     		strh	r3, [r4, #42]	@ movhi
5422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13619              		.loc 1 5422 7 is_stmt 1 view .LVU4772
5422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13620              		.loc 1 5422 15 is_stmt 0 view .LVU4773
 13621 0072 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
5422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13622              		.loc 1 5422 10 view .LVU4774
 13623 0076 222B     		cmp	r3, #34
 13624 0078 22D0     		beq	.L880
5428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13625              		.loc 1 5428 9 is_stmt 1 view .LVU4775
5428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13626              		.loc 1 5428 13 is_stmt 0 view .LVU4776
 13627 007a 2268     		ldr	r2, [r4]
5428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13628              		.loc 1 5428 23 view .LVU4777
 13629 007c 1368     		ldr	r3, [r2]
5428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13630              		.loc 1 5428 29 view .LVU4778
 13631 007e 43F48043 		orr	r3, r3, #16384
 13632 0082 1360     		str	r3, [r2]
 13633 0084 0CE0     		b	.L863
 13634              	.LVL1004:
 13635              	.L879:
5372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13636              		.loc 1 5372 5 is_stmt 1 view .LVU4779
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 451


 13637 0086 0368     		ldr	r3, [r0]
 13638 0088 1022     		movs	r2, #16
 13639              	.LVL1005:
5372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13640              		.loc 1 5372 5 is_stmt 0 view .LVU4780
 13641 008a DA61     		str	r2, [r3, #28]
5375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13642              		.loc 1 5375 5 is_stmt 1 view .LVU4781
5375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13643              		.loc 1 5375 9 is_stmt 0 view .LVU4782
 13644 008c 436C     		ldr	r3, [r0, #68]
5375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13645              		.loc 1 5375 21 view .LVU4783
 13646 008e 43F00403 		orr	r3, r3, #4
 13647 0092 4364     		str	r3, [r0, #68]
5380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13648              		.loc 1 5380 5 is_stmt 1 view .LVU4784
 13649 0094 2021     		movs	r1, #32
 13650              	.LVL1006:
5380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13651              		.loc 1 5380 5 is_stmt 0 view .LVU4785
 13652 0096 FFF7FEFF 		bl	I2C_Enable_IRQ
 13653              	.LVL1007:
5383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 13654              		.loc 1 5383 5 is_stmt 1 view .LVU4786
 13655 009a 2046     		mov	r0, r4
 13656 009c FFF7FEFF 		bl	I2C_Flush_TXDR
 13657              	.LVL1008:
 13658              	.L863:
5483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13659              		.loc 1 5483 3 view .LVU4787
5486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13660              		.loc 1 5486 3 view .LVU4788
5486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13661              		.loc 1 5486 3 view .LVU4789
 13662 00a0 0020     		movs	r0, #0
 13663 00a2 84F84000 		strb	r0, [r4, #64]
5486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13664              		.loc 1 5486 3 view .LVU4790
5488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 13665              		.loc 1 5488 3 view .LVU4791
5489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13666              		.loc 1 5489 1 is_stmt 0 view .LVU4792
 13667 00a6 02B0     		add	sp, sp, #8
 13668              		.cfi_remember_state
 13669              		.cfi_def_cfa_offset 8
 13670              		@ sp needed
 13671 00a8 10BD     		pop	{r4, pc}
 13672              	.LVL1009:
 13673              	.L866:
 13674              		.cfi_restore_state
5404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
 13675              		.loc 1 5404 9 is_stmt 1 view .LVU4793
5404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
 13676              		.loc 1 5404 30 is_stmt 0 view .LVU4794
 13677 00aa 638D     		ldrh	r3, [r4, #42]
5404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 452


 13678              		.loc 1 5404 24 view .LVU4795
 13679 00ac 2385     		strh	r3, [r4, #40]	@ movhi
5405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13680              		.loc 1 5405 9 is_stmt 1 view .LVU4796
5405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13681              		.loc 1 5405 17 is_stmt 0 view .LVU4797
 13682 00ae E36A     		ldr	r3, [r4, #44]
5405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13683              		.loc 1 5405 12 view .LVU4798
 13684 00b0 13F5803F 		cmn	r3, #65536
 13685 00b4 01D0     		beq	.L874
5407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13686              		.loc 1 5407 11 is_stmt 1 view .LVU4799
5407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13687              		.loc 1 5407 20 is_stmt 0 view .LVU4800
 13688 00b6 E36A     		ldr	r3, [r4, #44]
 13689              	.LVL1010:
5407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13690              		.loc 1 5407 20 view .LVU4801
 13691 00b8 CEE7     		b	.L867
 13692              	.LVL1011:
 13693              	.L874:
5411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13694              		.loc 1 5411 20 view .LVU4802
 13695 00ba 4FF00073 		mov	r3, #33554432
 13696 00be CBE7     		b	.L867
 13697              	.LVL1012:
 13698              	.L880:
5424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13699              		.loc 1 5424 9 is_stmt 1 view .LVU4803
5424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13700              		.loc 1 5424 13 is_stmt 0 view .LVU4804
 13701 00c0 2268     		ldr	r2, [r4]
5424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13702              		.loc 1 5424 23 view .LVU4805
 13703 00c2 1368     		ldr	r3, [r2]
5424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13704              		.loc 1 5424 29 view .LVU4806
 13705 00c4 43F40043 		orr	r3, r3, #32768
 13706 00c8 1360     		str	r3, [r2]
 13707 00ca E9E7     		b	.L863
 13708              	.LVL1013:
 13709              	.L865:
5434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13710              		.loc 1 5434 7 is_stmt 1 view .LVU4807
5434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13711              		.loc 1 5434 11 is_stmt 0 view .LVU4808
 13712 00cc 2368     		ldr	r3, [r4]
 13713 00ce 5B68     		ldr	r3, [r3, #4]
5434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13714              		.loc 1 5434 10 view .LVU4809
 13715 00d0 13F0007F 		tst	r3, #33554432
 13716 00d4 03D1     		bne	.L869
5437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13717              		.loc 1 5437 9 is_stmt 1 view .LVU4810
 13718 00d6 2046     		mov	r0, r4
 13719              	.LVL1014:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 453


5437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13720              		.loc 1 5437 9 is_stmt 0 view .LVU4811
 13721 00d8 FFF7FEFF 		bl	I2C_ITMasterSeqCplt
 13722              	.LVL1015:
5437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13723              		.loc 1 5437 9 view .LVU4812
 13724 00dc E0E7     		b	.L863
 13725              	.LVL1016:
 13726              	.L869:
5443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13727              		.loc 1 5443 9 is_stmt 1 view .LVU4813
 13728 00de 4021     		movs	r1, #64
 13729              	.LVL1017:
5443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13730              		.loc 1 5443 9 is_stmt 0 view .LVU4814
 13731 00e0 2046     		mov	r0, r4
 13732              	.LVL1018:
5443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       }
 13733              		.loc 1 5443 9 view .LVU4815
 13734 00e2 FFF7FEFF 		bl	I2C_ITError
 13735              	.LVL1019:
 13736 00e6 DBE7     		b	.L863
 13737              	.LVL1020:
 13738              	.L864:
5447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 13739              		.loc 1 5447 8 is_stmt 1 view .LVU4816
5447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 13740              		.loc 1 5447 11 is_stmt 0 view .LVU4817
 13741 00e8 11F0400F 		tst	r1, #64
 13742 00ec 1CD0     		beq	.L870
5447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 13743              		.loc 1 5447 60 discriminator 1 view .LVU4818
 13744 00ee 12F0400F 		tst	r2, #64
 13745 00f2 19D0     		beq	.L870
5450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13746              		.loc 1 5450 5 is_stmt 1 view .LVU4819
5450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13747              		.loc 1 5450 13 is_stmt 0 view .LVU4820
 13748 00f4 638D     		ldrh	r3, [r4, #42]
 13749 00f6 9BB2     		uxth	r3, r3
5450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13750              		.loc 1 5450 8 view .LVU4821
 13751 00f8 8BB9     		cbnz	r3, .L871
5452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13752              		.loc 1 5452 7 is_stmt 1 view .LVU4822
5452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13753              		.loc 1 5452 11 is_stmt 0 view .LVU4823
 13754 00fa 2368     		ldr	r3, [r4]
 13755 00fc 5A68     		ldr	r2, [r3, #4]
 13756              	.LVL1021:
5452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 13757              		.loc 1 5452 10 view .LVU4824
 13758 00fe 12F0007F 		tst	r2, #33554432
 13759 0102 CDD1     		bne	.L863
5455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13760              		.loc 1 5455 9 is_stmt 1 view .LVU4825
5455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 454


 13761              		.loc 1 5455 17 is_stmt 0 view .LVU4826
 13762 0104 E26A     		ldr	r2, [r4, #44]
5455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         {
 13763              		.loc 1 5455 12 view .LVU4827
 13764 0106 12F5803F 		cmn	r2, #65536
 13765 010a 04D1     		bne	.L872
5458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13766              		.loc 1 5458 11 is_stmt 1 view .LVU4828
5458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13767              		.loc 1 5458 25 is_stmt 0 view .LVU4829
 13768 010c 5A68     		ldr	r2, [r3, #4]
5458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13769              		.loc 1 5458 31 view .LVU4830
 13770 010e 42F48042 		orr	r2, r2, #16384
 13771 0112 5A60     		str	r2, [r3, #4]
 13772 0114 C4E7     		b	.L863
 13773              	.L872:
5463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13774              		.loc 1 5463 11 is_stmt 1 view .LVU4831
 13775 0116 2046     		mov	r0, r4
 13776              	.LVL1022:
5463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13777              		.loc 1 5463 11 is_stmt 0 view .LVU4832
 13778 0118 FFF7FEFF 		bl	I2C_ITMasterSeqCplt
 13779              	.LVL1023:
5463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         }
 13780              		.loc 1 5463 11 view .LVU4833
 13781 011c C0E7     		b	.L863
 13782              	.LVL1024:
 13783              	.L871:
5471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13784              		.loc 1 5471 7 is_stmt 1 view .LVU4834
 13785 011e 4021     		movs	r1, #64
 13786              	.LVL1025:
5471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13787              		.loc 1 5471 7 is_stmt 0 view .LVU4835
 13788 0120 2046     		mov	r0, r4
 13789              	.LVL1026:
5471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13790              		.loc 1 5471 7 view .LVU4836
 13791 0122 FFF7FEFF 		bl	I2C_ITError
 13792              	.LVL1027:
5471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 13793              		.loc 1 5471 7 view .LVU4837
 13794 0126 BBE7     		b	.L863
 13795              	.LVL1028:
 13796              	.L870:
5474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 13797              		.loc 1 5474 8 is_stmt 1 view .LVU4838
5474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 13798              		.loc 1 5474 11 is_stmt 0 view .LVU4839
 13799 0128 11F0200F 		tst	r1, #32
 13800 012c B8D0     		beq	.L863
5474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 13801              		.loc 1 5474 63 discriminator 1 view .LVU4840
 13802 012e 12F0200F 		tst	r2, #32
 13803 0132 B5D0     		beq	.L863
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 455


5478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 13804              		.loc 1 5478 5 is_stmt 1 view .LVU4841
 13805 0134 2046     		mov	r0, r4
 13806              	.LVL1029:
5478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 13807              		.loc 1 5478 5 is_stmt 0 view .LVU4842
 13808 0136 FFF7FEFF 		bl	I2C_ITMasterCplt
 13809              	.LVL1030:
5478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 13810              		.loc 1 5478 5 view .LVU4843
 13811 013a B1E7     		b	.L863
 13812              	.LVL1031:
 13813              	.L873:
 13814              		.cfi_def_cfa_offset 0
 13815              		.cfi_restore 4
 13816              		.cfi_restore 14
5366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13817              		.loc 1 5366 3 discriminator 1 view .LVU4844
 13818 013c 0220     		movs	r0, #2
 13819              	.LVL1032:
5489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13820              		.loc 1 5489 1 view .LVU4845
 13821 013e 7047     		bx	lr
 13822              		.cfi_endproc
 13823              	.LFE387:
 13825              		.section	.text.I2C_DMAError,"ax",%progbits
 13826              		.align	1
 13827              		.syntax unified
 13828              		.thumb
 13829              		.thumb_func
 13831              	I2C_DMAError:
 13832              	.LVL1033:
 13833              	.LFB405:
6878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t treatdmaerror = 0U;
 13834              		.loc 1 6878 1 is_stmt 1 view -0
 13835              		.cfi_startproc
 13836              		@ args = 0, pretend = 0, frame = 0
 13837              		@ frame_needed = 0, uses_anonymous_args = 0
6878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t treatdmaerror = 0U;
 13838              		.loc 1 6878 1 is_stmt 0 view .LVU4847
 13839 0000 38B5     		push	{r3, r4, r5, lr}
 13840              		.cfi_def_cfa_offset 16
 13841              		.cfi_offset 3, -16
 13842              		.cfi_offset 4, -12
 13843              		.cfi_offset 5, -8
 13844              		.cfi_offset 14, -4
6879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 13845              		.loc 1 6879 3 is_stmt 1 view .LVU4848
 13846              	.LVL1034:
6881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13847              		.loc 1 6881 3 view .LVU4849
6881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 13848              		.loc 1 6881 22 is_stmt 0 view .LVU4850
 13849 0002 846B     		ldr	r4, [r0, #56]
 13850              	.LVL1035:
6883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 13851              		.loc 1 6883 3 is_stmt 1 view .LVU4851
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 456


6883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 13852              		.loc 1 6883 11 is_stmt 0 view .LVU4852
 13853 0004 A36B     		ldr	r3, [r4, #56]
6883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 13854              		.loc 1 6883 6 view .LVU4853
 13855 0006 002B     		cmp	r3, #0
 13856 0008 77D0     		beq	.L891
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13857              		.loc 1 6885 5 is_stmt 1 view .LVU4854
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13858              		.loc 1 6885 9 is_stmt 0 view .LVU4855
 13859 000a 1B68     		ldr	r3, [r3]
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13860              		.loc 1 6885 47 view .LVU4856
 13861 000c 4849     		ldr	r1, .L896
 13862 000e 494A     		ldr	r2, .L896+4
 13863 0010 9342     		cmp	r3, r2
 13864 0012 18BF     		it	ne
 13865 0014 8B42     		cmpne	r3, r1
 13866 0016 2FD0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13867              		.loc 1 6885 9 discriminator 2 view .LVU4857
 13868 0018 1832     		adds	r2, r2, #24
 13869 001a 9342     		cmp	r3, r2
 13870 001c 2CD0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13871              		.loc 1 6885 9 discriminator 4 view .LVU4858
 13872 001e 1832     		adds	r2, r2, #24
 13873 0020 9342     		cmp	r3, r2
 13874 0022 29D0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13875              		.loc 1 6885 9 discriminator 6 view .LVU4859
 13876 0024 1832     		adds	r2, r2, #24
 13877 0026 9342     		cmp	r3, r2
 13878 0028 26D0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13879              		.loc 1 6885 9 discriminator 8 view .LVU4860
 13880 002a 1832     		adds	r2, r2, #24
 13881 002c 9342     		cmp	r3, r2
 13882 002e 23D0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13883              		.loc 1 6885 9 discriminator 10 view .LVU4861
 13884 0030 1832     		adds	r2, r2, #24
 13885 0032 9342     		cmp	r3, r2
 13886 0034 20D0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13887              		.loc 1 6885 9 discriminator 12 view .LVU4862
 13888 0036 1832     		adds	r2, r2, #24
 13889 0038 9342     		cmp	r3, r2
 13890 003a 1DD0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13891              		.loc 1 6885 9 discriminator 14 view .LVU4863
 13892 003c 02F55672 		add	r2, r2, #856
 13893 0040 9342     		cmp	r3, r2
 13894 0042 19D0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13895              		.loc 1 6885 9 discriminator 16 view .LVU4864
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 457


 13896 0044 1832     		adds	r2, r2, #24
 13897 0046 9342     		cmp	r3, r2
 13898 0048 16D0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13899              		.loc 1 6885 9 discriminator 18 view .LVU4865
 13900 004a 1832     		adds	r2, r2, #24
 13901 004c 9342     		cmp	r3, r2
 13902 004e 13D0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13903              		.loc 1 6885 9 discriminator 20 view .LVU4866
 13904 0050 1832     		adds	r2, r2, #24
 13905 0052 9342     		cmp	r3, r2
 13906 0054 10D0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13907              		.loc 1 6885 9 discriminator 22 view .LVU4867
 13908 0056 1832     		adds	r2, r2, #24
 13909 0058 9342     		cmp	r3, r2
 13910 005a 0DD0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13911              		.loc 1 6885 9 discriminator 24 view .LVU4868
 13912 005c 1832     		adds	r2, r2, #24
 13913 005e 9342     		cmp	r3, r2
 13914 0060 0AD0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13915              		.loc 1 6885 9 discriminator 26 view .LVU4869
 13916 0062 1832     		adds	r2, r2, #24
 13917 0064 9342     		cmp	r3, r2
 13918 0066 07D0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13919              		.loc 1 6885 9 discriminator 28 view .LVU4870
 13920 0068 1832     		adds	r2, r2, #24
 13921 006a 9342     		cmp	r3, r2
 13922 006c 04D0     		beq	.L883
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13923              		.loc 1 6885 9 discriminator 30 view .LVU4871
 13924 006e 5B68     		ldr	r3, [r3, #4]
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13925              		.loc 1 6885 47 discriminator 30 view .LVU4872
 13926 0070 B3FA83F3 		clz	r3, r3
 13927 0074 5B09     		lsrs	r3, r3, #5
 13928 0076 03E0     		b	.L885
 13929              	.L883:
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13930              		.loc 1 6885 9 discriminator 29 view .LVU4873
 13931 0078 5B68     		ldr	r3, [r3, #4]
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13932              		.loc 1 6885 47 discriminator 29 view .LVU4874
 13933 007a B3FA83F3 		clz	r3, r3
 13934 007e 5B09     		lsrs	r3, r3, #5
 13935              	.L885:
6885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13936              		.loc 1 6885 8 discriminator 32 view .LVU4875
 13937 0080 002B     		cmp	r3, #0
 13938 0082 3CD1     		bne	.L892
6879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 13939              		.loc 1 6879 12 view .LVU4876
 13940 0084 0025     		movs	r5, #0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 458


 13941              	.L882:
 13942              	.LVL1036:
6891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 13943              		.loc 1 6891 3 is_stmt 1 view .LVU4877
6891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 13944              		.loc 1 6891 11 is_stmt 0 view .LVU4878
 13945 0086 E36B     		ldr	r3, [r4, #60]
6891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 13946              		.loc 1 6891 6 view .LVU4879
 13947 0088 002B     		cmp	r3, #0
 13948 008a 40D0     		beq	.L886
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13949              		.loc 1 6893 5 is_stmt 1 view .LVU4880
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13950              		.loc 1 6893 9 is_stmt 0 view .LVU4881
 13951 008c 1B68     		ldr	r3, [r3]
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13952              		.loc 1 6893 47 view .LVU4882
 13953 008e 2849     		ldr	r1, .L896
 13954 0090 284A     		ldr	r2, .L896+4
 13955 0092 9342     		cmp	r3, r2
 13956 0094 18BF     		it	ne
 13957 0096 8B42     		cmpne	r3, r1
 13958 0098 33D0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13959              		.loc 1 6893 9 discriminator 2 view .LVU4883
 13960 009a 1832     		adds	r2, r2, #24
 13961 009c 9342     		cmp	r3, r2
 13962 009e 30D0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13963              		.loc 1 6893 9 discriminator 4 view .LVU4884
 13964 00a0 1832     		adds	r2, r2, #24
 13965 00a2 9342     		cmp	r3, r2
 13966 00a4 2DD0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13967              		.loc 1 6893 9 discriminator 6 view .LVU4885
 13968 00a6 1832     		adds	r2, r2, #24
 13969 00a8 9342     		cmp	r3, r2
 13970 00aa 2AD0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13971              		.loc 1 6893 9 discriminator 8 view .LVU4886
 13972 00ac 1832     		adds	r2, r2, #24
 13973 00ae 9342     		cmp	r3, r2
 13974 00b0 27D0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13975              		.loc 1 6893 9 discriminator 10 view .LVU4887
 13976 00b2 1832     		adds	r2, r2, #24
 13977 00b4 9342     		cmp	r3, r2
 13978 00b6 24D0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13979              		.loc 1 6893 9 discriminator 12 view .LVU4888
 13980 00b8 1832     		adds	r2, r2, #24
 13981 00ba 9342     		cmp	r3, r2
 13982 00bc 21D0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13983              		.loc 1 6893 9 discriminator 14 view .LVU4889
 13984 00be 02F55672 		add	r2, r2, #856
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 459


 13985 00c2 9342     		cmp	r3, r2
 13986 00c4 1DD0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13987              		.loc 1 6893 9 discriminator 16 view .LVU4890
 13988 00c6 1832     		adds	r2, r2, #24
 13989 00c8 9342     		cmp	r3, r2
 13990 00ca 1AD0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13991              		.loc 1 6893 9 discriminator 18 view .LVU4891
 13992 00cc 1832     		adds	r2, r2, #24
 13993 00ce 9342     		cmp	r3, r2
 13994 00d0 17D0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13995              		.loc 1 6893 9 discriminator 20 view .LVU4892
 13996 00d2 1832     		adds	r2, r2, #24
 13997 00d4 9342     		cmp	r3, r2
 13998 00d6 14D0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 13999              		.loc 1 6893 9 discriminator 22 view .LVU4893
 14000 00d8 1832     		adds	r2, r2, #24
 14001 00da 9342     		cmp	r3, r2
 14002 00dc 11D0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14003              		.loc 1 6893 9 discriminator 24 view .LVU4894
 14004 00de 1832     		adds	r2, r2, #24
 14005 00e0 9342     		cmp	r3, r2
 14006 00e2 0ED0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14007              		.loc 1 6893 9 discriminator 26 view .LVU4895
 14008 00e4 1832     		adds	r2, r2, #24
 14009 00e6 9342     		cmp	r3, r2
 14010 00e8 0BD0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14011              		.loc 1 6893 9 discriminator 28 view .LVU4896
 14012 00ea 1832     		adds	r2, r2, #24
 14013 00ec 9342     		cmp	r3, r2
 14014 00ee 08D0     		beq	.L887
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14015              		.loc 1 6893 9 discriminator 30 view .LVU4897
 14016 00f0 5B68     		ldr	r3, [r3, #4]
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14017              		.loc 1 6893 47 discriminator 30 view .LVU4898
 14018 00f2 B3FA83F3 		clz	r3, r3
 14019 00f6 5B09     		lsrs	r3, r3, #5
 14020 00f8 07E0     		b	.L889
 14021              	.LVL1037:
 14022              	.L891:
6879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 14023              		.loc 1 6879 12 view .LVU4899
 14024 00fa 0025     		movs	r5, #0
 14025 00fc C3E7     		b	.L882
 14026              	.L892:
6887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14027              		.loc 1 6887 21 view .LVU4900
 14028 00fe 0125     		movs	r5, #1
 14029 0100 C1E7     		b	.L882
 14030              	.LVL1038:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 460


 14031              	.L887:
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14032              		.loc 1 6893 9 discriminator 29 view .LVU4901
 14033 0102 5B68     		ldr	r3, [r3, #4]
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14034              		.loc 1 6893 47 discriminator 29 view .LVU4902
 14035 0104 B3FA83F3 		clz	r3, r3
 14036 0108 5B09     		lsrs	r3, r3, #5
 14037              	.L889:
6893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14038              		.loc 1 6893 8 discriminator 32 view .LVU4903
 14039 010a 03B1     		cbz	r3, .L886
6895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14040              		.loc 1 6895 21 view .LVU4904
 14041 010c 0125     		movs	r5, #1
 14042              	.LVL1039:
 14043              	.L886:
6900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14044              		.loc 1 6900 3 is_stmt 1 view .LVU4905
6900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14045              		.loc 1 6900 10 is_stmt 0 view .LVU4906
 14046 010e FFF7FEFF 		bl	HAL_DMA_GetError
 14047              	.LVL1040:
6900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14048              		.loc 1 6900 6 discriminator 1 view .LVU4907
 14049 0112 0228     		cmp	r0, #2
 14050 0114 00D0     		beq	.L881
6900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14051              		.loc 1 6900 55 discriminator 1 view .LVU4908
 14052 0116 05B9     		cbnz	r5, .L895
 14053              	.L881:
6908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14054              		.loc 1 6908 1 view .LVU4909
 14055 0118 38BD     		pop	{r3, r4, r5, pc}
 14056              	.LVL1041:
 14057              	.L895:
6903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14058              		.loc 1 6903 5 is_stmt 1 view .LVU4910
6903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14059              		.loc 1 6903 9 is_stmt 0 view .LVU4911
 14060 011a 2268     		ldr	r2, [r4]
6903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14061              		.loc 1 6903 19 view .LVU4912
 14062 011c 5368     		ldr	r3, [r2, #4]
6903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14063              		.loc 1 6903 25 view .LVU4913
 14064 011e 43F40043 		orr	r3, r3, #32768
 14065 0122 5360     		str	r3, [r2, #4]
6906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14066              		.loc 1 6906 5 is_stmt 1 view .LVU4914
 14067 0124 1021     		movs	r1, #16
 14068 0126 2046     		mov	r0, r4
 14069 0128 FFF7FEFF 		bl	I2C_ITError
 14070              	.LVL1042:
6908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14071              		.loc 1 6908 1 is_stmt 0 view .LVU4915
 14072 012c F4E7     		b	.L881
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 461


 14073              	.L897:
 14074 012e 00BF     		.align	2
 14075              	.L896:
 14076 0130 10000240 		.word	1073872912
 14077 0134 28000240 		.word	1073872936
 14078              		.cfi_endproc
 14079              	.LFE405:
 14081              		.section	.text.I2C_DMAMasterTransmitCplt,"ax",%progbits
 14082              		.align	1
 14083              		.syntax unified
 14084              		.thumb
 14085              		.thumb_func
 14087              	I2C_DMAMasterTransmitCplt:
 14088              	.LVL1043:
 14089              	.LFB401:
6718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 14090              		.loc 1 6718 1 is_stmt 1 view -0
 14091              		.cfi_startproc
 14092              		@ args = 0, pretend = 0, frame = 0
 14093              		@ frame_needed = 0, uses_anonymous_args = 0
6718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 14094              		.loc 1 6718 1 is_stmt 0 view .LVU4917
 14095 0000 10B5     		push	{r4, lr}
 14096              		.cfi_def_cfa_offset 8
 14097              		.cfi_offset 4, -8
 14098              		.cfi_offset 14, -4
6720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14099              		.loc 1 6720 3 is_stmt 1 view .LVU4918
6720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14100              		.loc 1 6720 22 is_stmt 0 view .LVU4919
 14101 0002 846B     		ldr	r4, [r0, #56]
 14102              	.LVL1044:
6723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14103              		.loc 1 6723 3 is_stmt 1 view .LVU4920
6723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14104              		.loc 1 6723 7 is_stmt 0 view .LVU4921
 14105 0004 2268     		ldr	r2, [r4]
6723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14106              		.loc 1 6723 17 view .LVU4922
 14107 0006 1368     		ldr	r3, [r2]
6723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14108              		.loc 1 6723 23 view .LVU4923
 14109 0008 23F48043 		bic	r3, r3, #16384
 14110 000c 1360     		str	r3, [r2]
6726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14111              		.loc 1 6726 3 is_stmt 1 view .LVU4924
6726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14112              		.loc 1 6726 11 is_stmt 0 view .LVU4925
 14113 000e 638D     		ldrh	r3, [r4, #42]
 14114 0010 9BB2     		uxth	r3, r3
6726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14115              		.loc 1 6726 6 view .LVU4926
 14116 0012 ABB1     		cbz	r3, .L905
6735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14117              		.loc 1 6735 5 is_stmt 1 view .LVU4927
6735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14118              		.loc 1 6735 9 is_stmt 0 view .LVU4928
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 462


 14119 0014 616A     		ldr	r1, [r4, #36]
6735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14120              		.loc 1 6735 27 view .LVU4929
 14121 0016 238D     		ldrh	r3, [r4, #40]
6735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14122              		.loc 1 6735 20 view .LVU4930
 14123 0018 1944     		add	r1, r1, r3
 14124 001a 6162     		str	r1, [r4, #36]
6738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14125              		.loc 1 6738 5 is_stmt 1 view .LVU4931
6738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14126              		.loc 1 6738 13 is_stmt 0 view .LVU4932
 14127 001c 638D     		ldrh	r3, [r4, #42]
 14128 001e 9BB2     		uxth	r3, r3
6738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14129              		.loc 1 6738 8 view .LVU4933
 14130 0020 FF2B     		cmp	r3, #255
 14131 0022 12D9     		bls	.L901
6740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14132              		.loc 1 6740 7 is_stmt 1 view .LVU4934
6740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14133              		.loc 1 6740 22 is_stmt 0 view .LVU4935
 14134 0024 FF23     		movs	r3, #255
 14135 0026 2385     		strh	r3, [r4, #40]	@ movhi
 14136              	.L902:
6748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
 14137              		.loc 1 6748 5 is_stmt 1 view .LVU4936
6748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
 14138              		.loc 1 6748 81 is_stmt 0 view .LVU4937
 14139 0028 2268     		ldr	r2, [r4]
6748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
 14140              		.loc 1 6748 9 view .LVU4938
 14141 002a 238D     		ldrh	r3, [r4, #40]
 14142 002c 2832     		adds	r2, r2, #40
 14143 002e A06B     		ldr	r0, [r4, #56]
 14144              	.LVL1045:
6748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
 14145              		.loc 1 6748 9 view .LVU4939
 14146 0030 FFF7FEFF 		bl	HAL_DMA_Start_IT
 14147              	.LVL1046:
6748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
 14148              		.loc 1 6748 8 discriminator 1 view .LVU4940
 14149 0034 60B1     		cbz	r0, .L903
6752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14150              		.loc 1 6752 7 is_stmt 1 view .LVU4941
 14151 0036 1021     		movs	r1, #16
 14152 0038 2046     		mov	r0, r4
 14153 003a FFF7FEFF 		bl	I2C_ITError
 14154              	.LVL1047:
 14155              	.L898:
6760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14156              		.loc 1 6760 1 is_stmt 0 view .LVU4942
 14157 003e 10BD     		pop	{r4, pc}
 14158              	.LVL1048:
 14159              	.L905:
6729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14160              		.loc 1 6729 5 is_stmt 1 view .LVU4943
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 463


 14161 0040 2021     		movs	r1, #32
 14162 0042 2046     		mov	r0, r4
 14163              	.LVL1049:
6729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14164              		.loc 1 6729 5 is_stmt 0 view .LVU4944
 14165 0044 FFF7FEFF 		bl	I2C_Enable_IRQ
 14166              	.LVL1050:
 14167 0048 F9E7     		b	.L898
 14168              	.LVL1051:
 14169              	.L901:
6744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14170              		.loc 1 6744 7 is_stmt 1 view .LVU4945
6744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14171              		.loc 1 6744 28 is_stmt 0 view .LVU4946
 14172 004a 638D     		ldrh	r3, [r4, #42]
6744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14173              		.loc 1 6744 22 view .LVU4947
 14174 004c 2385     		strh	r3, [r4, #40]	@ movhi
 14175 004e EBE7     		b	.L902
 14176              	.LVL1052:
 14177              	.L903:
6757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14178              		.loc 1 6757 7 is_stmt 1 view .LVU4948
 14179 0050 4021     		movs	r1, #64
 14180 0052 2046     		mov	r0, r4
 14181 0054 FFF7FEFF 		bl	I2C_Enable_IRQ
 14182              	.LVL1053:
6760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14183              		.loc 1 6760 1 is_stmt 0 view .LVU4949
 14184 0058 F1E7     		b	.L898
 14185              		.cfi_endproc
 14186              	.LFE401:
 14188              		.section	.text.I2C_DMAMasterReceiveCplt,"ax",%progbits
 14189              		.align	1
 14190              		.syntax unified
 14191              		.thumb
 14192              		.thumb_func
 14194              	I2C_DMAMasterReceiveCplt:
 14195              	.LVL1054:
 14196              	.LFB403:
6798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 14197              		.loc 1 6798 1 is_stmt 1 view -0
 14198              		.cfi_startproc
 14199              		@ args = 0, pretend = 0, frame = 0
 14200              		@ frame_needed = 0, uses_anonymous_args = 0
6798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 14201              		.loc 1 6798 1 is_stmt 0 view .LVU4951
 14202 0000 10B5     		push	{r4, lr}
 14203              		.cfi_def_cfa_offset 8
 14204              		.cfi_offset 4, -8
 14205              		.cfi_offset 14, -4
6800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14206              		.loc 1 6800 3 is_stmt 1 view .LVU4952
6800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14207              		.loc 1 6800 22 is_stmt 0 view .LVU4953
 14208 0002 846B     		ldr	r4, [r0, #56]
 14209              	.LVL1055:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 464


6803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14210              		.loc 1 6803 3 is_stmt 1 view .LVU4954
6803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14211              		.loc 1 6803 7 is_stmt 0 view .LVU4955
 14212 0004 2268     		ldr	r2, [r4]
6803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14213              		.loc 1 6803 17 view .LVU4956
 14214 0006 1368     		ldr	r3, [r2]
6803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14215              		.loc 1 6803 23 view .LVU4957
 14216 0008 23F40043 		bic	r3, r3, #32768
 14217 000c 1360     		str	r3, [r2]
6806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14218              		.loc 1 6806 3 is_stmt 1 view .LVU4958
6806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14219              		.loc 1 6806 11 is_stmt 0 view .LVU4959
 14220 000e 638D     		ldrh	r3, [r4, #42]
 14221 0010 9BB2     		uxth	r3, r3
6806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14222              		.loc 1 6806 6 view .LVU4960
 14223 0012 ABB1     		cbz	r3, .L913
6815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14224              		.loc 1 6815 5 is_stmt 1 view .LVU4961
6815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14225              		.loc 1 6815 9 is_stmt 0 view .LVU4962
 14226 0014 626A     		ldr	r2, [r4, #36]
6815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14227              		.loc 1 6815 27 view .LVU4963
 14228 0016 238D     		ldrh	r3, [r4, #40]
6815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14229              		.loc 1 6815 20 view .LVU4964
 14230 0018 1A44     		add	r2, r2, r3
 14231 001a 6262     		str	r2, [r4, #36]
6818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14232              		.loc 1 6818 5 is_stmt 1 view .LVU4965
6818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14233              		.loc 1 6818 13 is_stmt 0 view .LVU4966
 14234 001c 638D     		ldrh	r3, [r4, #42]
 14235 001e 9BB2     		uxth	r3, r3
6818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14236              		.loc 1 6818 8 view .LVU4967
 14237 0020 FF2B     		cmp	r3, #255
 14238 0022 12D9     		bls	.L909
6820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14239              		.loc 1 6820 7 is_stmt 1 view .LVU4968
6820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14240              		.loc 1 6820 22 is_stmt 0 view .LVU4969
 14241 0024 FF23     		movs	r3, #255
 14242 0026 2385     		strh	r3, [r4, #40]	@ movhi
 14243              	.L910:
6828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
 14244              		.loc 1 6828 5 is_stmt 1 view .LVU4970
6828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
 14245              		.loc 1 6828 55 is_stmt 0 view .LVU4971
 14246 0028 2168     		ldr	r1, [r4]
6828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
 14247              		.loc 1 6828 9 view .LVU4972
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 465


 14248 002a 238D     		ldrh	r3, [r4, #40]
 14249 002c 2431     		adds	r1, r1, #36
 14250 002e E06B     		ldr	r0, [r4, #60]
 14251              	.LVL1056:
6828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
 14252              		.loc 1 6828 9 view .LVU4973
 14253 0030 FFF7FEFF 		bl	HAL_DMA_Start_IT
 14254              	.LVL1057:
6828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          hi2c->XferSize) != HAL_OK)
 14255              		.loc 1 6828 8 discriminator 1 view .LVU4974
 14256 0034 60B1     		cbz	r0, .L911
6832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14257              		.loc 1 6832 7 is_stmt 1 view .LVU4975
 14258 0036 1021     		movs	r1, #16
 14259 0038 2046     		mov	r0, r4
 14260 003a FFF7FEFF 		bl	I2C_ITError
 14261              	.LVL1058:
 14262              	.L906:
6840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14263              		.loc 1 6840 1 is_stmt 0 view .LVU4976
 14264 003e 10BD     		pop	{r4, pc}
 14265              	.LVL1059:
 14266              	.L913:
6809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14267              		.loc 1 6809 5 is_stmt 1 view .LVU4977
 14268 0040 2021     		movs	r1, #32
 14269 0042 2046     		mov	r0, r4
 14270              	.LVL1060:
6809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14271              		.loc 1 6809 5 is_stmt 0 view .LVU4978
 14272 0044 FFF7FEFF 		bl	I2C_Enable_IRQ
 14273              	.LVL1061:
 14274 0048 F9E7     		b	.L906
 14275              	.LVL1062:
 14276              	.L909:
6824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14277              		.loc 1 6824 7 is_stmt 1 view .LVU4979
6824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14278              		.loc 1 6824 28 is_stmt 0 view .LVU4980
 14279 004a 638D     		ldrh	r3, [r4, #42]
6824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14280              		.loc 1 6824 22 view .LVU4981
 14281 004c 2385     		strh	r3, [r4, #40]	@ movhi
 14282 004e EBE7     		b	.L910
 14283              	.LVL1063:
 14284              	.L911:
6837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14285              		.loc 1 6837 7 is_stmt 1 view .LVU4982
 14286 0050 4021     		movs	r1, #64
 14287 0052 2046     		mov	r0, r4
 14288 0054 FFF7FEFF 		bl	I2C_Enable_IRQ
 14289              	.LVL1064:
6840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14290              		.loc 1 6840 1 is_stmt 0 view .LVU4983
 14291 0058 F1E7     		b	.L906
 14292              		.cfi_endproc
 14293              	.LFE403:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 466


 14295              		.section	.text.I2C_Mem_ISR_IT,"ax",%progbits
 14296              		.align	1
 14297              		.syntax unified
 14298              		.thumb
 14299              		.thumb_func
 14301              	I2C_Mem_ISR_IT:
 14302              	.LVL1065:
 14303              	.LFB385:
5078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t direction = I2C_GENERATE_START_WRITE;
 14304              		.loc 1 5078 1 is_stmt 1 view -0
 14305              		.cfi_startproc
 14306              		@ args = 0, pretend = 0, frame = 0
 14307              		@ frame_needed = 0, uses_anonymous_args = 0
5079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
 14308              		.loc 1 5079 3 view .LVU4985
5080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14309              		.loc 1 5080 3 view .LVU4986
5083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14310              		.loc 1 5083 3 view .LVU4987
5083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14311              		.loc 1 5083 3 view .LVU4988
 14312 0000 90F84030 		ldrb	r3, [r0, #64]	@ zero_extendqisi2
 14313 0004 012B     		cmp	r3, #1
 14314 0006 00F0C080 		beq	.L927
5078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t direction = I2C_GENERATE_START_WRITE;
 14315              		.loc 1 5078 1 is_stmt 0 view .LVU4989
 14316 000a 70B5     		push	{r4, r5, r6, lr}
 14317              		.cfi_def_cfa_offset 16
 14318              		.cfi_offset 4, -16
 14319              		.cfi_offset 5, -12
 14320              		.cfi_offset 6, -8
 14321              		.cfi_offset 14, -4
 14322 000c 82B0     		sub	sp, sp, #8
 14323              		.cfi_def_cfa_offset 24
 14324 000e 0446     		mov	r4, r0
 14325 0010 0D46     		mov	r5, r1
 14326 0012 1646     		mov	r6, r2
5083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14327              		.loc 1 5083 3 is_stmt 1 discriminator 2 view .LVU4990
 14328 0014 0123     		movs	r3, #1
 14329 0016 80F84030 		strb	r3, [r0, #64]
5083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14330              		.loc 1 5083 3 view .LVU4991
5085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 14331              		.loc 1 5085 3 view .LVU4992
5085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 14332              		.loc 1 5085 6 is_stmt 0 view .LVU4993
 14333 001a 11F0100F 		tst	r1, #16
 14334 001e 02D0     		beq	.L916
5085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
 14335              		.loc 1 5085 58 discriminator 1 view .LVU4994
 14336 0020 12F0100F 		tst	r2, #16
 14337 0024 22D1     		bne	.L933
 14338              	.L916:
5099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
 14339              		.loc 1 5099 8 is_stmt 1 view .LVU4995
5099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 467


 14340              		.loc 1 5099 11 is_stmt 0 view .LVU4996
 14341 0026 15F0040F 		tst	r5, #4
 14342 002a 29D0     		beq	.L918
5099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
 14343              		.loc 1 5099 65 discriminator 1 view .LVU4997
 14344 002c 16F0040F 		tst	r6, #4
 14345 0030 26D0     		beq	.L918
5103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14346              		.loc 1 5103 5 is_stmt 1 view .LVU4998
5103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14347              		.loc 1 5103 16 is_stmt 0 view .LVU4999
 14348 0032 25F00405 		bic	r5, r5, #4
 14349              	.LVL1066:
5106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14350              		.loc 1 5106 5 is_stmt 1 view .LVU5000
5106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14351              		.loc 1 5106 36 is_stmt 0 view .LVU5001
 14352 0036 2368     		ldr	r3, [r4]
5106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14353              		.loc 1 5106 46 view .LVU5002
 14354 0038 5A6A     		ldr	r2, [r3, #36]
 14355              	.LVL1067:
5106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14356              		.loc 1 5106 10 view .LVU5003
 14357 003a 636A     		ldr	r3, [r4, #36]
5106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14358              		.loc 1 5106 21 view .LVU5004
 14359 003c 1A70     		strb	r2, [r3]
5109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14360              		.loc 1 5109 5 is_stmt 1 view .LVU5005
5109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14361              		.loc 1 5109 9 is_stmt 0 view .LVU5006
 14362 003e 636A     		ldr	r3, [r4, #36]
5109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14363              		.loc 1 5109 19 view .LVU5007
 14364 0040 0133     		adds	r3, r3, #1
 14365 0042 6362     		str	r3, [r4, #36]
5111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount--;
 14366              		.loc 1 5111 5 is_stmt 1 view .LVU5008
5111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount--;
 14367              		.loc 1 5111 9 is_stmt 0 view .LVU5009
 14368 0044 238D     		ldrh	r3, [r4, #40]
5111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     hi2c->XferCount--;
 14369              		.loc 1 5111 19 view .LVU5010
 14370 0046 013B     		subs	r3, r3, #1
 14371 0048 2385     		strh	r3, [r4, #40]	@ movhi
5112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14372              		.loc 1 5112 5 is_stmt 1 view .LVU5011
5112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14373              		.loc 1 5112 9 is_stmt 0 view .LVU5012
 14374 004a 638D     		ldrh	r3, [r4, #42]
 14375 004c 9BB2     		uxth	r3, r3
5112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14376              		.loc 1 5112 20 view .LVU5013
 14377 004e 013B     		subs	r3, r3, #1
 14378 0050 9BB2     		uxth	r3, r3
 14379 0052 6385     		strh	r3, [r4, #42]	@ movhi
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 468


 14380              	.LVL1068:
 14381              	.L917:
5196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14382              		.loc 1 5196 3 is_stmt 1 view .LVU5014
5198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 14383              		.loc 1 5198 3 view .LVU5015
5198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 14384              		.loc 1 5198 6 is_stmt 0 view .LVU5016
 14385 0054 15F0200F 		tst	r5, #32
 14386 0058 03D0     		beq	.L926
5198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
 14387              		.loc 1 5198 61 discriminator 1 view .LVU5017
 14388 005a 16F0200F 		tst	r6, #32
 14389 005e 40F08F80 		bne	.L934
 14390              	.L926:
5206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14391              		.loc 1 5206 3 is_stmt 1 view .LVU5018
5206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14392              		.loc 1 5206 3 view .LVU5019
 14393 0062 0020     		movs	r0, #0
 14394 0064 84F84000 		strb	r0, [r4, #64]
5206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14395              		.loc 1 5206 3 view .LVU5020
5208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 14396              		.loc 1 5208 3 view .LVU5021
5209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14397              		.loc 1 5209 1 is_stmt 0 view .LVU5022
 14398 0068 02B0     		add	sp, sp, #8
 14399              		.cfi_remember_state
 14400              		.cfi_def_cfa_offset 16
 14401              		@ sp needed
 14402 006a 70BD     		pop	{r4, r5, r6, pc}
 14403              	.LVL1069:
 14404              	.L933:
 14405              		.cfi_restore_state
5089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14406              		.loc 1 5089 5 is_stmt 1 view .LVU5023
 14407 006c 0368     		ldr	r3, [r0]
 14408 006e 1022     		movs	r2, #16
 14409              	.LVL1070:
5089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14410              		.loc 1 5089 5 is_stmt 0 view .LVU5024
 14411 0070 DA61     		str	r2, [r3, #28]
5094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14412              		.loc 1 5094 5 is_stmt 1 view .LVU5025
5094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14413              		.loc 1 5094 9 is_stmt 0 view .LVU5026
 14414 0072 436C     		ldr	r3, [r0, #68]
5094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14415              		.loc 1 5094 21 view .LVU5027
 14416 0074 43F00403 		orr	r3, r3, #4
 14417 0078 4364     		str	r3, [r0, #68]
5097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14418              		.loc 1 5097 5 is_stmt 1 view .LVU5028
 14419 007a FFF7FEFF 		bl	I2C_Flush_TXDR
 14420              	.LVL1071:
5097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 469


 14421              		.loc 1 5097 5 is_stmt 0 view .LVU5029
 14422 007e E9E7     		b	.L917
 14423              	.LVL1072:
 14424              	.L918:
5114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
 14425              		.loc 1 5114 8 is_stmt 1 view .LVU5030
5114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
 14426              		.loc 1 5114 11 is_stmt 0 view .LVU5031
 14427 0080 15F0020F 		tst	r5, #2
 14428 0084 1DD0     		beq	.L919
5114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
 14429              		.loc 1 5114 65 discriminator 1 view .LVU5032
 14430 0086 16F0020F 		tst	r6, #2
 14431 008a 1AD0     		beq	.L919
5117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14432              		.loc 1 5117 5 is_stmt 1 view .LVU5033
5117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14433              		.loc 1 5117 13 is_stmt 0 view .LVU5034
 14434 008c 236D     		ldr	r3, [r4, #80]
5117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14435              		.loc 1 5117 8 view .LVU5035
 14436 008e B3F1FF3F 		cmp	r3, #-1
 14437 0092 06D0     		beq	.L935
5131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14438              		.loc 1 5131 7 is_stmt 1 view .LVU5036
5131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14439              		.loc 1 5131 11 is_stmt 0 view .LVU5037
 14440 0094 2368     		ldr	r3, [r4]
5131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14441              		.loc 1 5131 34 view .LVU5038
 14442 0096 226D     		ldr	r2, [r4, #80]
 14443              	.LVL1073:
5131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14444              		.loc 1 5131 28 view .LVU5039
 14445 0098 9A62     		str	r2, [r3, #40]
5134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14446              		.loc 1 5134 7 is_stmt 1 view .LVU5040
5134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14447              		.loc 1 5134 24 is_stmt 0 view .LVU5041
 14448 009a 4FF0FF33 		mov	r3, #-1
 14449 009e 2365     		str	r3, [r4, #80]
 14450 00a0 D8E7     		b	.L917
 14451              	.LVL1074:
 14452              	.L935:
5120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14453              		.loc 1 5120 7 is_stmt 1 view .LVU5042
5120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14454              		.loc 1 5120 35 is_stmt 0 view .LVU5043
 14455 00a2 626A     		ldr	r2, [r4, #36]
 14456              	.LVL1075:
5120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14457              		.loc 1 5120 11 view .LVU5044
 14458 00a4 2368     		ldr	r3, [r4]
5120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14459              		.loc 1 5120 30 view .LVU5045
 14460 00a6 1278     		ldrb	r2, [r2]	@ zero_extendqisi2
5120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 470


 14461              		.loc 1 5120 28 view .LVU5046
 14462 00a8 9A62     		str	r2, [r3, #40]
5123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14463              		.loc 1 5123 7 is_stmt 1 view .LVU5047
5123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14464              		.loc 1 5123 11 is_stmt 0 view .LVU5048
 14465 00aa 636A     		ldr	r3, [r4, #36]
5123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14466              		.loc 1 5123 21 view .LVU5049
 14467 00ac 0133     		adds	r3, r3, #1
 14468 00ae 6362     		str	r3, [r4, #36]
5125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 14469              		.loc 1 5125 7 is_stmt 1 view .LVU5050
5125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 14470              		.loc 1 5125 11 is_stmt 0 view .LVU5051
 14471 00b0 238D     		ldrh	r3, [r4, #40]
5125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       hi2c->XferCount--;
 14472              		.loc 1 5125 21 view .LVU5052
 14473 00b2 013B     		subs	r3, r3, #1
 14474 00b4 2385     		strh	r3, [r4, #40]	@ movhi
5126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14475              		.loc 1 5126 7 is_stmt 1 view .LVU5053
5126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14476              		.loc 1 5126 11 is_stmt 0 view .LVU5054
 14477 00b6 638D     		ldrh	r3, [r4, #42]
 14478 00b8 9BB2     		uxth	r3, r3
5126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14479              		.loc 1 5126 22 view .LVU5055
 14480 00ba 013B     		subs	r3, r3, #1
 14481 00bc 9BB2     		uxth	r3, r3
 14482 00be 6385     		strh	r3, [r4, #42]	@ movhi
 14483 00c0 C8E7     		b	.L917
 14484              	.LVL1076:
 14485              	.L919:
5137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 14486              		.loc 1 5137 8 is_stmt 1 view .LVU5056
5137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 14487              		.loc 1 5137 11 is_stmt 0 view .LVU5057
 14488 00c2 15F0800F 		tst	r5, #128
 14489 00c6 2AD0     		beq	.L921
5137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 14490              		.loc 1 5137 64 discriminator 1 view .LVU5058
 14491 00c8 16F0400F 		tst	r6, #64
 14492 00cc 27D0     		beq	.L921
5140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14493              		.loc 1 5140 5 is_stmt 1 view .LVU5059
5140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14494              		.loc 1 5140 14 is_stmt 0 view .LVU5060
 14495 00ce 638D     		ldrh	r3, [r4, #42]
 14496 00d0 9BB2     		uxth	r3, r3
5140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14497              		.loc 1 5140 8 view .LVU5061
 14498 00d2 FBB1     		cbz	r3, .L922
5140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14499              		.loc 1 5140 41 discriminator 1 view .LVU5062
 14500 00d4 238D     		ldrh	r3, [r4, #40]
5140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 471


 14501              		.loc 1 5140 33 discriminator 1 view .LVU5063
 14502 00d6 EBB9     		cbnz	r3, .L922
5142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 14503              		.loc 1 5142 7 is_stmt 1 view .LVU5064
5142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 14504              		.loc 1 5142 15 is_stmt 0 view .LVU5065
 14505 00d8 638D     		ldrh	r3, [r4, #42]
 14506 00da 9BB2     		uxth	r3, r3
5142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       {
 14507              		.loc 1 5142 10 view .LVU5066
 14508 00dc FF2B     		cmp	r3, #255
 14509 00de 0BD9     		bls	.L923
5144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 14510              		.loc 1 5144 9 is_stmt 1 view .LVU5067
5144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 14511              		.loc 1 5144 24 is_stmt 0 view .LVU5068
 14512 00e0 FF22     		movs	r2, #255
 14513              	.LVL1077:
5144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 14514              		.loc 1 5144 24 view .LVU5069
 14515 00e2 2285     		strh	r2, [r4, #40]	@ movhi
5145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
 14516              		.loc 1 5145 9 is_stmt 1 view .LVU5070
5145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
 14517              		.loc 1 5145 48 is_stmt 0 view .LVU5071
 14518 00e4 E16C     		ldr	r1, [r4, #76]
 14519              	.LVL1078:
5145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
 14520              		.loc 1 5145 9 view .LVU5072
 14521 00e6 0023     		movs	r3, #0
 14522 00e8 0093     		str	r3, [sp]
 14523 00ea 4FF08073 		mov	r3, #16777216
 14524 00ee 89B2     		uxth	r1, r1
 14525 00f0 2046     		mov	r0, r4
 14526              	.LVL1079:
5145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
 14527              		.loc 1 5145 9 view .LVU5073
 14528 00f2 FFF7FEFF 		bl	I2C_TransferConfig
 14529              	.LVL1080:
 14530 00f6 ADE7     		b	.L917
 14531              	.LVL1081:
 14532              	.L923:
5150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 14533              		.loc 1 5150 9 is_stmt 1 view .LVU5074
5150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 14534              		.loc 1 5150 30 is_stmt 0 view .LVU5075
 14535 00f8 628D     		ldrh	r2, [r4, #42]
 14536              	.LVL1082:
5150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 14537              		.loc 1 5150 30 view .LVU5076
 14538 00fa 92B2     		uxth	r2, r2
5150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****         I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
 14539              		.loc 1 5150 24 view .LVU5077
 14540 00fc 2285     		strh	r2, [r4, #40]	@ movhi
5151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
 14541              		.loc 1 5151 9 is_stmt 1 view .LVU5078
5151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 472


 14542              		.loc 1 5151 48 is_stmt 0 view .LVU5079
 14543 00fe E16C     		ldr	r1, [r4, #76]
 14544              	.LVL1083:
5151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
 14545              		.loc 1 5151 9 view .LVU5080
 14546 0100 0023     		movs	r3, #0
 14547 0102 0093     		str	r3, [sp]
 14548 0104 4FF00073 		mov	r3, #33554432
 14549 0108 D2B2     		uxtb	r2, r2
 14550 010a 89B2     		uxth	r1, r1
 14551 010c 2046     		mov	r0, r4
 14552              	.LVL1084:
5151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                            I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
 14553              		.loc 1 5151 9 view .LVU5081
 14554 010e FFF7FEFF 		bl	I2C_TransferConfig
 14555              	.LVL1085:
 14556 0112 9FE7     		b	.L917
 14557              	.LVL1086:
 14558              	.L922:
5159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14559              		.loc 1 5159 7 is_stmt 1 view .LVU5082
 14560 0114 4021     		movs	r1, #64
 14561              	.LVL1087:
5159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14562              		.loc 1 5159 7 is_stmt 0 view .LVU5083
 14563 0116 2046     		mov	r0, r4
 14564              	.LVL1088:
5159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14565              		.loc 1 5159 7 view .LVU5084
 14566 0118 FFF7FEFF 		bl	I2C_ITError
 14567              	.LVL1089:
5159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14568              		.loc 1 5159 7 view .LVU5085
 14569 011c 9AE7     		b	.L917
 14570              	.LVL1090:
 14571              	.L921:
5162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 14572              		.loc 1 5162 8 is_stmt 1 view .LVU5086
5162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 14573              		.loc 1 5162 11 is_stmt 0 view .LVU5087
 14574 011e 15F0400F 		tst	r5, #64
 14575 0122 97D0     		beq	.L917
5162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****            (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
 14576              		.loc 1 5162 63 discriminator 1 view .LVU5088
 14577 0124 16F0400F 		tst	r6, #64
 14578 0128 94D0     		beq	.L917
5166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14579              		.loc 1 5166 5 is_stmt 1 view .LVU5089
 14580 012a 0121     		movs	r1, #1
 14581              	.LVL1091:
5166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14582              		.loc 1 5166 5 is_stmt 0 view .LVU5090
 14583 012c 2046     		mov	r0, r4
 14584              	.LVL1092:
5166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14585              		.loc 1 5166 5 view .LVU5091
 14586 012e FFF7FEFF 		bl	I2C_Disable_IRQ
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 473


 14587              	.LVL1093:
5169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14588              		.loc 1 5169 5 is_stmt 1 view .LVU5092
 14589 0132 0221     		movs	r1, #2
 14590 0134 2046     		mov	r0, r4
 14591 0136 FFF7FEFF 		bl	I2C_Enable_IRQ
 14592              	.LVL1094:
5171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14593              		.loc 1 5171 5 view .LVU5093
5171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14594              		.loc 1 5171 13 is_stmt 0 view .LVU5094
 14595 013a 94F84130 		ldrb	r3, [r4, #65]	@ zero_extendqisi2
5171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14596              		.loc 1 5171 8 view .LVU5095
 14597 013e 222B     		cmp	r3, #34
 14598 0140 0FD0     		beq	.L928
5079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmpITFlags = ITFlags;
 14599              		.loc 1 5079 12 view .LVU5096
 14600 0142 1348     		ldr	r0, .L936
 14601              	.L924:
 14602              	.LVL1095:
5176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14603              		.loc 1 5176 5 is_stmt 1 view .LVU5097
5176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14604              		.loc 1 5176 13 is_stmt 0 view .LVU5098
 14605 0144 638D     		ldrh	r3, [r4, #42]
 14606 0146 9BB2     		uxth	r3, r3
5176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     {
 14607              		.loc 1 5176 8 view .LVU5099
 14608 0148 FF2B     		cmp	r3, #255
 14609 014a 0CD9     		bls	.L925
5178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14610              		.loc 1 5178 7 is_stmt 1 view .LVU5100
5178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14611              		.loc 1 5178 22 is_stmt 0 view .LVU5101
 14612 014c FF22     		movs	r2, #255
 14613 014e 2285     		strh	r2, [r4, #40]	@ movhi
5181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
 14614              		.loc 1 5181 7 is_stmt 1 view .LVU5102
5181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
 14615              		.loc 1 5181 46 is_stmt 0 view .LVU5103
 14616 0150 E16C     		ldr	r1, [r4, #76]
5181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
 14617              		.loc 1 5181 7 view .LVU5104
 14618 0152 0090     		str	r0, [sp]
 14619 0154 4FF08073 		mov	r3, #16777216
 14620 0158 89B2     		uxth	r1, r1
 14621 015a 2046     		mov	r0, r4
 14622              	.LVL1096:
5181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
 14623              		.loc 1 5181 7 view .LVU5105
 14624 015c FFF7FEFF 		bl	I2C_TransferConfig
 14625              	.LVL1097:
5181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_RELOAD_MODE, direction);
 14626              		.loc 1 5181 7 view .LVU5106
 14627 0160 78E7     		b	.L917
 14628              	.LVL1098:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 474


 14629              	.L928:
5173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****     }
 14630              		.loc 1 5173 17 view .LVU5107
 14631 0162 0C48     		ldr	r0, .L936+4
 14632 0164 EEE7     		b	.L924
 14633              	.LVL1099:
 14634              	.L925:
5186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14635              		.loc 1 5186 7 is_stmt 1 view .LVU5108
5186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14636              		.loc 1 5186 28 is_stmt 0 view .LVU5109
 14637 0166 628D     		ldrh	r2, [r4, #42]
 14638 0168 92B2     		uxth	r2, r2
5186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14639              		.loc 1 5186 22 view .LVU5110
 14640 016a 2285     		strh	r2, [r4, #40]	@ movhi
5189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
 14641              		.loc 1 5189 7 is_stmt 1 view .LVU5111
5189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
 14642              		.loc 1 5189 46 is_stmt 0 view .LVU5112
 14643 016c E16C     		ldr	r1, [r4, #76]
5189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
 14644              		.loc 1 5189 7 view .LVU5113
 14645 016e 0090     		str	r0, [sp]
 14646 0170 4FF00073 		mov	r3, #33554432
 14647 0174 D2B2     		uxtb	r2, r2
 14648 0176 89B2     		uxth	r1, r1
 14649 0178 2046     		mov	r0, r4
 14650              	.LVL1100:
5189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
 14651              		.loc 1 5189 7 view .LVU5114
 14652 017a FFF7FEFF 		bl	I2C_TransferConfig
 14653              	.LVL1101:
5189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****                          I2C_AUTOEND_MODE, direction);
 14654              		.loc 1 5189 7 view .LVU5115
 14655 017e 69E7     		b	.L917
 14656              	.LVL1102:
 14657              	.L934:
5202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14658              		.loc 1 5202 5 is_stmt 1 view .LVU5116
 14659 0180 2946     		mov	r1, r5
 14660 0182 2046     		mov	r0, r4
 14661 0184 FFF7FEFF 		bl	I2C_ITMasterCplt
 14662              	.LVL1103:
 14663 0188 6BE7     		b	.L926
 14664              	.LVL1104:
 14665              	.L927:
 14666              		.cfi_def_cfa_offset 0
 14667              		.cfi_restore 4
 14668              		.cfi_restore 5
 14669              		.cfi_restore 6
 14670              		.cfi_restore 14
5083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14671              		.loc 1 5083 3 is_stmt 0 discriminator 1 view .LVU5117
 14672 018a 0220     		movs	r0, #2
 14673              	.LVL1105:
5209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 475


 14674              		.loc 1 5209 1 view .LVU5118
 14675 018c 7047     		bx	lr
 14676              	.L937:
 14677 018e 00BF     		.align	2
 14678              	.L936:
 14679 0190 00200080 		.word	-2147475456
 14680 0194 00240080 		.word	-2147474432
 14681              		.cfi_endproc
 14682              	.LFE385:
 14684              		.section	.text.HAL_I2C_ER_IRQHandler,"ax",%progbits
 14685              		.align	1
 14686              		.global	HAL_I2C_ER_IRQHandler
 14687              		.syntax unified
 14688              		.thumb
 14689              		.thumb_func
 14691              	HAL_I2C_ER_IRQHandler:
 14692              	.LVL1106:
 14693              	.LFB370:
4644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itflags   = READ_REG(hi2c->Instance->ISR);
 14694              		.loc 1 4644 1 is_stmt 1 view -0
 14695              		.cfi_startproc
 14696              		@ args = 0, pretend = 0, frame = 0
 14697              		@ frame_needed = 0, uses_anonymous_args = 0
4644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itflags   = READ_REG(hi2c->Instance->ISR);
 14698              		.loc 1 4644 1 is_stmt 0 view .LVU5120
 14699 0000 10B5     		push	{r4, lr}
 14700              		.cfi_def_cfa_offset 8
 14701              		.cfi_offset 4, -8
 14702              		.cfi_offset 14, -4
4645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itsources = READ_REG(hi2c->Instance->CR1);
 14703              		.loc 1 4645 3 is_stmt 1 view .LVU5121
4645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itsources = READ_REG(hi2c->Instance->CR1);
 14704              		.loc 1 4645 24 is_stmt 0 view .LVU5122
 14705 0002 0268     		ldr	r2, [r0]
4645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t itsources = READ_REG(hi2c->Instance->CR1);
 14706              		.loc 1 4645 12 view .LVU5123
 14707 0004 9369     		ldr	r3, [r2, #24]
 14708              	.LVL1107:
4646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmperror;
 14709              		.loc 1 4646 3 is_stmt 1 view .LVU5124
4646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   uint32_t tmperror;
 14710              		.loc 1 4646 12 is_stmt 0 view .LVU5125
 14711 0006 1168     		ldr	r1, [r2]
 14712              	.LVL1108:
4647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14713              		.loc 1 4647 3 is_stmt 1 view .LVU5126
4650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
 14714              		.loc 1 4650 3 view .LVU5127
4650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
 14715              		.loc 1 4650 6 is_stmt 0 view .LVU5128
 14716 0008 13F4807F 		tst	r3, #256
 14717 000c 09D0     		beq	.L939
4650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
 14718              		.loc 1 4650 57 discriminator 1 view .LVU5129
 14719 000e 11F0800F 		tst	r1, #128
 14720 0012 06D0     		beq	.L939
4653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 476


 14721              		.loc 1 4653 5 is_stmt 1 view .LVU5130
4653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14722              		.loc 1 4653 9 is_stmt 0 view .LVU5131
 14723 0014 446C     		ldr	r4, [r0, #68]
4653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14724              		.loc 1 4653 21 view .LVU5132
 14725 0016 44F00104 		orr	r4, r4, #1
 14726 001a 4464     		str	r4, [r0, #68]
4656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14727              		.loc 1 4656 5 is_stmt 1 view .LVU5133
 14728 001c 4FF48074 		mov	r4, #256
 14729 0020 D461     		str	r4, [r2, #28]
 14730              	.L939:
4660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
 14731              		.loc 1 4660 3 view .LVU5134
4660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
 14732              		.loc 1 4660 6 is_stmt 0 view .LVU5135
 14733 0022 13F4806F 		tst	r3, #1024
 14734 0026 0AD0     		beq	.L940
4660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
 14735              		.loc 1 4660 56 discriminator 1 view .LVU5136
 14736 0028 11F0800F 		tst	r1, #128
 14737 002c 07D0     		beq	.L940
4663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14738              		.loc 1 4663 5 is_stmt 1 view .LVU5137
4663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14739              		.loc 1 4663 9 is_stmt 0 view .LVU5138
 14740 002e 426C     		ldr	r2, [r0, #68]
4663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14741              		.loc 1 4663 21 view .LVU5139
 14742 0030 42F00802 		orr	r2, r2, #8
 14743 0034 4264     		str	r2, [r0, #68]
4666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14744              		.loc 1 4666 5 is_stmt 1 view .LVU5140
 14745 0036 0268     		ldr	r2, [r0]
 14746 0038 4FF48064 		mov	r4, #1024
 14747 003c D461     		str	r4, [r2, #28]
 14748              	.L940:
4670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
 14749              		.loc 1 4670 3 view .LVU5141
4670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
 14750              		.loc 1 4670 6 is_stmt 0 view .LVU5142
 14751 003e 13F4007F 		tst	r3, #512
 14752 0042 0AD0     		beq	.L941
4670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****       (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
 14753              		.loc 1 4670 57 discriminator 1 view .LVU5143
 14754 0044 11F0800F 		tst	r1, #128
 14755 0048 07D0     		beq	.L941
4673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14756              		.loc 1 4673 5 is_stmt 1 view .LVU5144
4673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14757              		.loc 1 4673 9 is_stmt 0 view .LVU5145
 14758 004a 436C     		ldr	r3, [r0, #68]
 14759              	.LVL1109:
4673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14760              		.loc 1 4673 21 view .LVU5146
 14761 004c 43F00203 		orr	r3, r3, #2
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 477


 14762 0050 4364     		str	r3, [r0, #68]
4676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14763              		.loc 1 4676 5 is_stmt 1 view .LVU5147
 14764 0052 0368     		ldr	r3, [r0]
 14765 0054 4FF40072 		mov	r2, #512
 14766 0058 DA61     		str	r2, [r3, #28]
 14767              	.L941:
4680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14768              		.loc 1 4680 3 view .LVU5148
4680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14769              		.loc 1 4680 12 is_stmt 0 view .LVU5149
 14770 005a 416C     		ldr	r1, [r0, #68]
 14771              	.LVL1110:
4683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14772              		.loc 1 4683 3 is_stmt 1 view .LVU5150
4683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14773              		.loc 1 4683 6 is_stmt 0 view .LVU5151
 14774 005c 11F00B0F 		tst	r1, #11
 14775 0060 00D1     		bne	.L944
 14776              	.LVL1111:
 14777              	.L938:
4687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14778              		.loc 1 4687 1 view .LVU5152
 14779 0062 10BD     		pop	{r4, pc}
 14780              	.LVL1112:
 14781              	.L944:
4685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14782              		.loc 1 4685 5 is_stmt 1 view .LVU5153
 14783 0064 FFF7FEFF 		bl	I2C_ITError
 14784              	.LVL1113:
4687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14785              		.loc 1 4687 1 is_stmt 0 view .LVU5154
 14786 0068 FBE7     		b	.L938
 14787              		.cfi_endproc
 14788              	.LFE370:
 14790              		.section	.text.I2C_DMAAbort,"ax",%progbits
 14791              		.align	1
 14792              		.syntax unified
 14793              		.thumb
 14794              		.thumb_func
 14796              	I2C_DMAAbort:
 14797              	.LVL1114:
 14798              	.LFB406:
6918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 14799              		.loc 1 6918 1 is_stmt 1 view -0
 14800              		.cfi_startproc
 14801              		@ args = 0, pretend = 0, frame = 0
 14802              		@ frame_needed = 0, uses_anonymous_args = 0
6918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Derogation MISRAC2012-Rule-11.5 */
 14803              		.loc 1 6918 1 is_stmt 0 view .LVU5156
 14804 0000 08B5     		push	{r3, lr}
 14805              		.cfi_def_cfa_offset 8
 14806              		.cfi_offset 3, -8
 14807              		.cfi_offset 14, -4
6920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14808              		.loc 1 6920 3 is_stmt 1 view .LVU5157
6920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 478


 14809              		.loc 1 6920 22 is_stmt 0 view .LVU5158
 14810 0002 806B     		ldr	r0, [r0, #56]
 14811              	.LVL1115:
6923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14812              		.loc 1 6923 3 is_stmt 1 view .LVU5159
6923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14813              		.loc 1 6923 11 is_stmt 0 view .LVU5160
 14814 0004 836B     		ldr	r3, [r0, #56]
6923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14815              		.loc 1 6923 6 view .LVU5161
 14816 0006 0BB1     		cbz	r3, .L946
6925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14817              		.loc 1 6925 5 is_stmt 1 view .LVU5162
6925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14818              		.loc 1 6925 37 is_stmt 0 view .LVU5163
 14819 0008 0022     		movs	r2, #0
 14820 000a 1A65     		str	r2, [r3, #80]
 14821              	.L946:
6927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14822              		.loc 1 6927 3 is_stmt 1 view .LVU5164
6927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14823              		.loc 1 6927 11 is_stmt 0 view .LVU5165
 14824 000c C36B     		ldr	r3, [r0, #60]
6927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   {
 14825              		.loc 1 6927 6 view .LVU5166
 14826 000e 0BB1     		cbz	r3, .L947
6929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14827              		.loc 1 6929 5 is_stmt 1 view .LVU5167
6929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   }
 14828              		.loc 1 6929 37 is_stmt 0 view .LVU5168
 14829 0010 0022     		movs	r2, #0
 14830 0012 1A65     		str	r2, [r3, #80]
 14831              	.L947:
6932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 14832              		.loc 1 6932 3 is_stmt 1 view .LVU5169
 14833 0014 FFF7FEFF 		bl	I2C_TreatErrorCallback
 14834              	.LVL1116:
6933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14835              		.loc 1 6933 1 is_stmt 0 view .LVU5170
 14836 0018 08BD     		pop	{r3, pc}
 14837              		.cfi_endproc
 14838              	.LFE406:
 14840              		.section	.text.HAL_I2C_GetState,"ax",%progbits
 14841              		.align	1
 14842              		.global	HAL_I2C_GetState
 14843              		.syntax unified
 14844              		.thumb
 14845              		.thumb_func
 14847              	HAL_I2C_GetState:
 14848              	.LVL1117:
 14849              	.LFB381:
4878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   /* Return I2C handle state */
 14850              		.loc 1 4878 1 is_stmt 1 view -0
 14851              		.cfi_startproc
 14852              		@ args = 0, pretend = 0, frame = 0
 14853              		@ frame_needed = 0, uses_anonymous_args = 0
 14854              		@ link register save eliminated.
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 479


4880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 14855              		.loc 1 4880 3 view .LVU5172
4880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 14856              		.loc 1 4880 14 is_stmt 0 view .LVU5173
 14857 0000 90F84100 		ldrb	r0, [r0, #65]	@ zero_extendqisi2
 14858              	.LVL1118:
4881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14859              		.loc 1 4881 1 view .LVU5174
 14860 0004 7047     		bx	lr
 14861              		.cfi_endproc
 14862              	.LFE381:
 14864              		.section	.text.HAL_I2C_GetMode,"ax",%progbits
 14865              		.align	1
 14866              		.global	HAL_I2C_GetMode
 14867              		.syntax unified
 14868              		.thumb
 14869              		.thumb_func
 14871              	HAL_I2C_GetMode:
 14872              	.LVL1119:
 14873              	.LFB382:
4890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return hi2c->Mode;
 14874              		.loc 1 4890 1 is_stmt 1 view -0
 14875              		.cfi_startproc
 14876              		@ args = 0, pretend = 0, frame = 0
 14877              		@ frame_needed = 0, uses_anonymous_args = 0
 14878              		@ link register save eliminated.
4891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 14879              		.loc 1 4891 3 view .LVU5176
4891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 14880              		.loc 1 4891 14 is_stmt 0 view .LVU5177
 14881 0000 90F84200 		ldrb	r0, [r0, #66]	@ zero_extendqisi2
 14882              	.LVL1120:
4892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14883              		.loc 1 4892 1 view .LVU5178
 14884 0004 7047     		bx	lr
 14885              		.cfi_endproc
 14886              	.LFE382:
 14888              		.section	.text.HAL_I2C_GetError,"ax",%progbits
 14889              		.align	1
 14890              		.global	HAL_I2C_GetError
 14891              		.syntax unified
 14892              		.thumb
 14893              		.thumb_func
 14895              	HAL_I2C_GetError:
 14896              	.LVL1121:
 14897              	.LFB383:
4901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c ****   return hi2c->ErrorCode;
 14898              		.loc 1 4901 1 is_stmt 1 view -0
 14899              		.cfi_startproc
 14900              		@ args = 0, pretend = 0, frame = 0
 14901              		@ frame_needed = 0, uses_anonymous_args = 0
 14902              		@ link register save eliminated.
4902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 14903              		.loc 1 4902 3 view .LVU5180
4902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** }
 14904              		.loc 1 4902 14 is_stmt 0 view .LVU5181
 14905 0000 406C     		ldr	r0, [r0, #68]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 480


 14906              	.LVL1122:
4903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c **** 
 14907              		.loc 1 4903 1 view .LVU5182
 14908 0002 7047     		bx	lr
 14909              		.cfi_endproc
 14910              	.LFE383:
 14912              		.text
 14913              	.Letext0:
 14914              		.file 2 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to
 14915              		.file 3 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to
 14916              		.file 4 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xx.h"
 14917              		.file 5 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h"
 14918              		.file 6 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h"
 14919              		.file 7 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h"
 14920              		.file 8 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h"
 14921              		.file 9 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h"
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 481


DEFINED SYMBOLS
                            *ABS*:00000000 stm32h7xx_hal_i2c.c
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:20     .text.I2C_Flush_TXDR:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:25     .text.I2C_Flush_TXDR:00000000 I2C_Flush_TXDR
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:63     .text.I2C_TransferConfig:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:68     .text.I2C_TransferConfig:00000000 I2C_TransferConfig
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:124    .text.I2C_Enable_IRQ:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:129    .text.I2C_Enable_IRQ:00000000 I2C_Enable_IRQ
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:292    .text.I2C_Enable_IRQ:00000090 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:13519  .text.I2C_Master_ISR_DMA:00000000 I2C_Master_ISR_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:13065  .text.I2C_Slave_ISR_DMA:00000000 I2C_Slave_ISR_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:12694  .text.I2C_Mem_ISR_DMA:00000000 I2C_Mem_ISR_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:299    .text.I2C_Disable_IRQ:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:304    .text.I2C_Disable_IRQ:00000000 I2C_Disable_IRQ
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:427    .text.I2C_ConvertOtherXferOptions:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:432    .text.I2C_ConvertOtherXferOptions:00000000 I2C_ConvertOtherXferOptions
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:473    .text.I2C_IsErrorOccurred:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:478    .text.I2C_IsErrorOccurred:00000000 I2C_IsErrorOccurred
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:758    .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:763    .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 I2C_WaitOnTXISFlagUntilTimeout
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:860    .text.I2C_WaitOnFlagUntilTimeout:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:865    .text.I2C_WaitOnFlagUntilTimeout:00000000 I2C_WaitOnFlagUntilTimeout
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:976    .text.I2C_RequestMemoryWrite:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:981    .text.I2C_RequestMemoryWrite:00000000 I2C_RequestMemoryWrite
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1096   .text.I2C_RequestMemoryWrite:00000078 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1101   .text.I2C_RequestMemoryRead:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1106   .text.I2C_RequestMemoryRead:00000000 I2C_RequestMemoryRead
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1221   .text.I2C_RequestMemoryRead:00000074 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1226   .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1231   .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 I2C_WaitOnSTOPFlagUntilTimeout
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1328   .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1333   .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 I2C_WaitOnRXNEFlagUntilTimeout
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1497   .text.HAL_I2C_MspInit:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1503   .text.HAL_I2C_MspInit:00000000 HAL_I2C_MspInit
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1518   .text.HAL_I2C_Init:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1524   .text.HAL_I2C_Init:00000000 HAL_I2C_Init
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1717   .text.HAL_I2C_Init:000000c4 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1722   .text.HAL_I2C_MspDeInit:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1728   .text.HAL_I2C_MspDeInit:00000000 HAL_I2C_MspDeInit
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1743   .text.HAL_I2C_DeInit:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1749   .text.HAL_I2C_DeInit:00000000 HAL_I2C_DeInit
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1812   .text.HAL_I2C_Master_Transmit:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:1818   .text.HAL_I2C_Master_Transmit:00000000 HAL_I2C_Master_Transmit
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:2172   .text.HAL_I2C_Master_Transmit:000001a0 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:2177   .text.HAL_I2C_Master_Receive:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:2183   .text.HAL_I2C_Master_Receive:00000000 HAL_I2C_Master_Receive
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:2486   .text.HAL_I2C_Master_Receive:00000174 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:2491   .text.HAL_I2C_Slave_Transmit:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:2497   .text.HAL_I2C_Slave_Transmit:00000000 HAL_I2C_Slave_Transmit
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:2930   .text.HAL_I2C_Slave_Receive:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:2936   .text.HAL_I2C_Slave_Receive:00000000 HAL_I2C_Slave_Receive
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3281   .text.HAL_I2C_Master_Transmit_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3287   .text.HAL_I2C_Master_Transmit_IT:00000000 HAL_I2C_Master_Transmit_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3480   .text.HAL_I2C_Master_Transmit_IT:000000b8 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:12308  .text.I2C_Master_ISR_IT:00000000 I2C_Master_ISR_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3487   .text.HAL_I2C_Master_Receive_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3493   .text.HAL_I2C_Master_Receive_IT:00000000 HAL_I2C_Master_Receive_IT
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 482


C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3640   .text.HAL_I2C_Master_Receive_IT:0000008c $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3647   .text.HAL_I2C_Slave_Transmit_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3653   .text.HAL_I2C_Slave_Transmit_IT:00000000 HAL_I2C_Slave_Transmit_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3794   .text.HAL_I2C_Slave_Transmit_IT:00000084 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:11729  .text.I2C_Slave_ISR_IT:00000000 I2C_Slave_ISR_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3800   .text.HAL_I2C_Slave_Receive_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3806   .text.HAL_I2C_Slave_Receive_IT:00000000 HAL_I2C_Slave_Receive_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3907   .text.HAL_I2C_Slave_Receive_IT:0000005c $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3913   .text.HAL_I2C_Master_Transmit_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:3919   .text.HAL_I2C_Master_Transmit_DMA:00000000 HAL_I2C_Master_Transmit_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:4261   .text.HAL_I2C_Master_Transmit_DMA:00000158 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14087  .text.I2C_DMAMasterTransmitCplt:00000000 I2C_DMAMasterTransmitCplt
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:13831  .text.I2C_DMAError:00000000 I2C_DMAError
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:4271   .text.HAL_I2C_Master_Receive_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:4277   .text.HAL_I2C_Master_Receive_DMA:00000000 HAL_I2C_Master_Receive_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:4573   .text.HAL_I2C_Master_Receive_DMA:00000138 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14194  .text.I2C_DMAMasterReceiveCplt:00000000 I2C_DMAMasterReceiveCplt
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:4583   .text.HAL_I2C_Slave_Transmit_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:4589   .text.HAL_I2C_Slave_Transmit_DMA:00000000 HAL_I2C_Slave_Transmit_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:4890   .text.HAL_I2C_Slave_Transmit_DMA:0000012c $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10207  .text.I2C_DMASlaveTransmitCplt:00000000 I2C_DMASlaveTransmitCplt
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:4898   .text.HAL_I2C_Slave_Receive_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:4904   .text.HAL_I2C_Slave_Receive_DMA:00000000 HAL_I2C_Slave_Receive_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:5124   .text.HAL_I2C_Slave_Receive_DMA:000000e0 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10263  .text.I2C_DMASlaveReceiveCplt:00000000 I2C_DMASlaveReceiveCplt
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:5132   .text.HAL_I2C_Mem_Write:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:5138   .text.HAL_I2C_Mem_Write:00000000 HAL_I2C_Mem_Write
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:5490   .text.HAL_I2C_Mem_Read:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:5496   .text.HAL_I2C_Mem_Read:00000000 HAL_I2C_Mem_Read
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:5848   .text.HAL_I2C_Mem_Read:000001ac $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:5853   .text.HAL_I2C_Mem_Write_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:5859   .text.HAL_I2C_Mem_Write_IT:00000000 HAL_I2C_Mem_Write_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6030   .text.HAL_I2C_Mem_Write_IT:000000ac $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14301  .text.I2C_Mem_ISR_IT:00000000 I2C_Mem_ISR_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6037   .text.HAL_I2C_Mem_Read_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6043   .text.HAL_I2C_Mem_Read_IT:00000000 HAL_I2C_Mem_Read_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6211   .text.HAL_I2C_Mem_Read_IT:000000a8 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6218   .text.HAL_I2C_Mem_Write_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6224   .text.HAL_I2C_Mem_Write_DMA:00000000 HAL_I2C_Mem_Write_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6503   .text.HAL_I2C_Mem_Write_DMA:00000120 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6512   .text.HAL_I2C_Mem_Read_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6518   .text.HAL_I2C_Mem_Read_DMA:00000000 HAL_I2C_Mem_Read_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6799   .text.HAL_I2C_Mem_Read_DMA:00000120 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6808   .text.HAL_I2C_IsDeviceReady:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:6814   .text.HAL_I2C_IsDeviceReady:00000000 HAL_I2C_IsDeviceReady
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:7100   .text.HAL_I2C_IsDeviceReady:00000130 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:7106   .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:7112   .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 HAL_I2C_Master_Seq_Transmit_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:7372   .text.HAL_I2C_Master_Seq_Transmit_IT:00000104 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:7378   .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:7384   .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 HAL_I2C_Master_Seq_Transmit_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:7799   .text.HAL_I2C_Master_Seq_Transmit_DMA:000001d0 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:7808   .text.HAL_I2C_Master_Seq_Receive_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:7814   .text.HAL_I2C_Master_Seq_Receive_IT:00000000 HAL_I2C_Master_Seq_Receive_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:7995   .text.HAL_I2C_Master_Seq_Receive_IT:000000a8 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8001   .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8007   .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 HAL_I2C_Master_Seq_Receive_DMA
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 483


C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8335   .text.HAL_I2C_Master_Seq_Receive_DMA:0000015c $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8344   .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8350   .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 HAL_I2C_Slave_Seq_Transmit_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8559   .text.HAL_I2C_Slave_Seq_Transmit_IT:000000d8 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14796  .text.I2C_DMAAbort:00000000 I2C_DMAAbort
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8565   .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8571   .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 HAL_I2C_Slave_Seq_Transmit_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8958   .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000198 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8966   .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:8972   .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 HAL_I2C_Slave_Seq_Receive_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9181   .text.HAL_I2C_Slave_Seq_Receive_IT:000000d8 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9187   .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9193   .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 HAL_I2C_Slave_Seq_Receive_DMA
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9578   .text.HAL_I2C_Slave_Seq_Receive_DMA:00000198 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9586   .text.HAL_I2C_EnableListen_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9592   .text.HAL_I2C_EnableListen_IT:00000000 HAL_I2C_EnableListen_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9637   .text.HAL_I2C_EnableListen_IT:00000024 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9642   .text.HAL_I2C_DisableListen_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9648   .text.HAL_I2C_DisableListen_IT:00000000 HAL_I2C_DisableListen_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9712   .text.HAL_I2C_Master_Abort_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9718   .text.HAL_I2C_Master_Abort_IT:00000000 HAL_I2C_Master_Abort_IT
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9852   .text.HAL_I2C_Master_Abort_IT:0000007c $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9857   .text.HAL_I2C_EV_IRQHandler:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9863   .text.HAL_I2C_EV_IRQHandler:00000000 HAL_I2C_EV_IRQHandler
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9900   .text.HAL_I2C_MasterTxCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9906   .text.HAL_I2C_MasterTxCpltCallback:00000000 HAL_I2C_MasterTxCpltCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9921   .text.HAL_I2C_MasterRxCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9927   .text.HAL_I2C_MasterRxCpltCallback:00000000 HAL_I2C_MasterRxCpltCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9942   .text.I2C_ITMasterSeqCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:9947   .text.I2C_ITMasterSeqCplt:00000000 I2C_ITMasterSeqCplt
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10030  .text.HAL_I2C_SlaveTxCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10036  .text.HAL_I2C_SlaveTxCpltCallback:00000000 HAL_I2C_SlaveTxCpltCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10051  .text.HAL_I2C_SlaveRxCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10057  .text.HAL_I2C_SlaveRxCpltCallback:00000000 HAL_I2C_SlaveRxCpltCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10072  .text.I2C_ITSlaveSeqCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10077  .text.I2C_ITSlaveSeqCplt:00000000 I2C_ITSlaveSeqCplt
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10202  .text.I2C_DMASlaveTransmitCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10258  .text.I2C_DMASlaveReceiveCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10391  .text.I2C_DMASlaveReceiveCplt:00000098 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10397  .text.HAL_I2C_AddrCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10403  .text.HAL_I2C_AddrCallback:00000000 HAL_I2C_AddrCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10420  .text.I2C_ITAddrCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10425  .text.I2C_ITAddrCplt:00000000 I2C_ITAddrCplt
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10584  .text.HAL_I2C_ListenCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10590  .text.HAL_I2C_ListenCpltCallback:00000000 HAL_I2C_ListenCpltCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10605  .text.I2C_ITListenCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10610  .text.I2C_ITListenCplt:00000000 I2C_ITListenCplt
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10713  .text.I2C_ITListenCplt:00000064 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10718  .text.HAL_I2C_MemTxCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10724  .text.HAL_I2C_MemTxCpltCallback:00000000 HAL_I2C_MemTxCpltCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10739  .text.HAL_I2C_MemRxCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10745  .text.HAL_I2C_MemRxCpltCallback:00000000 HAL_I2C_MemRxCpltCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10760  .text.HAL_I2C_ErrorCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10766  .text.HAL_I2C_ErrorCallback:00000000 HAL_I2C_ErrorCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10781  .text.HAL_I2C_AbortCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10787  .text.HAL_I2C_AbortCpltCallback:00000000 HAL_I2C_AbortCpltCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10802  .text.I2C_TreatErrorCallback:00000000 $t
ARM GAS  C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s 			page 484


C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10807  .text.I2C_TreatErrorCallback:00000000 I2C_TreatErrorCallback
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10862  .text.I2C_ITError:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:10867  .text.I2C_ITError:00000000 I2C_ITError
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:11143  .text.I2C_ITError:00000124 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:11150  .text.I2C_ITSlaveCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:11155  .text.I2C_ITSlaveCplt:00000000 I2C_ITSlaveCplt
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:11201  .text.I2C_ITSlaveCplt:0000001e $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:11211  .text.I2C_ITSlaveCplt:00000028 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:11717  .text.I2C_ITSlaveCplt:000002c0 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:11724  .text.I2C_Slave_ISR_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:12038  .text.I2C_ITMasterCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:12043  .text.I2C_ITMasterCplt:00000000 I2C_ITMasterCplt
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:12303  .text.I2C_Master_ISR_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:12689  .text.I2C_Mem_ISR_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:13054  .text.I2C_Mem_ISR_DMA:00000198 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:13060  .text.I2C_Slave_ISR_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:13364  .text.I2C_Slave_ISR_DMA:0000018c $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:13375  .text.I2C_Slave_ISR_DMA:00000196 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:13508  .text.I2C_Slave_ISR_DMA:00000214 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:13514  .text.I2C_Master_ISR_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:13826  .text.I2C_DMAError:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14076  .text.I2C_DMAError:00000130 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14082  .text.I2C_DMAMasterTransmitCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14189  .text.I2C_DMAMasterReceiveCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14296  .text.I2C_Mem_ISR_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14679  .text.I2C_Mem_ISR_IT:00000190 $d
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14685  .text.HAL_I2C_ER_IRQHandler:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14691  .text.HAL_I2C_ER_IRQHandler:00000000 HAL_I2C_ER_IRQHandler
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14791  .text.I2C_DMAAbort:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14841  .text.HAL_I2C_GetState:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14847  .text.HAL_I2C_GetState:00000000 HAL_I2C_GetState
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14865  .text.HAL_I2C_GetMode:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14871  .text.HAL_I2C_GetMode:00000000 HAL_I2C_GetMode
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14889  .text.HAL_I2C_GetError:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccPDLBc8.s:14895  .text.HAL_I2C_GetError:00000000 HAL_I2C_GetError

UNDEFINED SYMBOLS
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort_IT
HAL_DMA_GetState
HAL_DMA_GetError